vcomply-workflow-engine 6.3.6 → 6.3.8
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/esm2022/lib/services/more-options.service.mjs +1 -3
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +8 -34
- package/esm2022/lib/workflow-engine.module.mjs +1 -4
- package/esm2022/lib/workflow-services/responsibility.service.mjs +1 -17
- package/fesm2022/vcomply-workflow-engine.mjs +4 -102
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -2
- package/lib/workflow-engine.module.d.ts +78 -79
- package/lib/workflow-services/responsibility.service.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +0 -63
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +0 -2
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +0 -77
- package/lib/sharedComponents/audit-category-list/audit-category.model.d.ts +0 -6
|
@@ -73,7 +73,6 @@ import { rcTreeToolTipPipe } from './sharedComponents/pipes/rcTreeToolTip.pipe';
|
|
|
73
73
|
import { PopoverHoverModule } from './ui-kit/popover-hover/popover-hover.module';
|
|
74
74
|
import { ResponsibilityRiskSelectorComponent } from './sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component';
|
|
75
75
|
import { ArrayFilterPipe } from './sharedComponents/pipes/array-filter.pipe';
|
|
76
|
-
import { AuditCategoryListComponent } from './sharedComponents/audit-category-list/audit-category-list.component';
|
|
77
76
|
import { DocumentSectionComponent } from './sharedComponents/document-section/document-section.component';
|
|
78
77
|
import { WorkflowAssessmentComponent } from './workflow-assessment/workflow-assessment.component';
|
|
79
78
|
import { ImportAnAssessmentComponent } from './workflow-assessment/import-an-assessment/import-an-assessment.component';
|
|
@@ -196,7 +195,6 @@ export class VComplyWorkflowEngineModule {
|
|
|
196
195
|
rcTreeToolTipPipe,
|
|
197
196
|
ResponsibilityRiskSelectorComponent,
|
|
198
197
|
ArrayFilterPipe,
|
|
199
|
-
AuditCategoryListComponent,
|
|
200
198
|
DocumentSectionComponent,
|
|
201
199
|
DocumentSectionComponent,
|
|
202
200
|
WorkflowAssessmentComponent,
|
|
@@ -381,7 +379,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
381
379
|
rcTreeToolTipPipe,
|
|
382
380
|
ResponsibilityRiskSelectorComponent,
|
|
383
381
|
ArrayFilterPipe,
|
|
384
|
-
AuditCategoryListComponent,
|
|
385
382
|
DocumentSectionComponent,
|
|
386
383
|
DocumentSectionComponent,
|
|
387
384
|
WorkflowAssessmentComponent,
|
|
@@ -470,4 +467,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
470
467
|
exports: [WorkflowEngineContainerComponent],
|
|
471
468
|
}]
|
|
472
469
|
}] });
|
|
473
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFD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QTZCO3dCQUM3QiwyQkFBMkI7d0JBQzNCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3JrZmxvd1Jpc2tDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXJpc2svd29ya2Zsb3ctcmlzay5jb21wb25lbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1jb21wbGlhbmNlL3dvcmtmbG93LWNvbXBsaWFuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93UG9saWN5Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1wb2xpY3kvd29ya2Zsb3ctcG9saWN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9yZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucyc7XG5pbXBvcnQgeyBPd25lckxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvb3duZXItbGlzdC9vd25lci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2F0ZWdvcnktbGlzdC9jYXRlZ29yeS1saXN0LmNvbXBvbmVudCc7XG4vLyBpbXBvcnQgeyBGbG9hdGluZ0JhckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFZjb21wbHlFZGl0b3JNb2R1bGUgfSBmcm9tICdAdmNvbXBseS9lZGl0b3InO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3JrZmxvd1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXBhZ2luYXRpb24vd29ya2Zsb3ctcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZUxvYWRlck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L2xpbmUtbG9hZGVyL2xpbmUtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuL2FkZC1tdWx0aXBsZS1yaXNrL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdWxrVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9idWxrLXZpZXcvYnVsay12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50c0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzL2NoZWNrcG9pbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybWF0aW9uLWFsZXJ0L2NvbmZpcm1hdGlvbi1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2twb2ludHNRdWVzdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC9jaGVja3BvaW50cy1xdWVzdGlvbnMvY2hlY2twb2ludHMtcXVlc3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoZWNrcG9pbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzLWxpc3QvY2hlY2twb2ludHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi9mb3JtZ3JvdXAvc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURhaWx5Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZGFpbHkvZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS13ZWVrbHkvZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeVF1YXJ0ZXJseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lCaWFubnVhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWJpYW5udWFsL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmUtdGltZS9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeVJhbmRvbUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lPbkNvbXBsZXRpb25PZkNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmdvaW5nL2ZyZXF1ZW5jeS1vbmdvaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcic7XG5pbXBvcnQgeyBGcmVxdWVuY3lUb3BDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS10b3AvZnJlcXVlbmN5LXRvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5TGlmZWN5Y2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktbGlmZWN5Y2xlL2ZyZXF1ZW5jeS1saWZlY3ljbGUuY29tcG9uZW50JztcbmltcG9ydCB7IERwRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZHVlLWRhdGUvZnJlcXVlbmN5LWR1ZS1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lDaGVja2JveExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lSYWRpb0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1yYWRpby1saXN0L2ZyZXF1ZW5jeS1yYWRpby1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHkvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvdi1sb2FkZXIvdi1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IENoZWNrcG9pbnRzUG9saWN5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1jb250YWluZXIvY2hlY2twb2ludHMtcG9saWN5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2twb2ludHNQb2xpY3lMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50c1BvbGljeVF1ZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LXBvbGljeS9jaGVja3BvaW50cy1wb2xpY3ktcXVlc3Rpb25zL2NoZWNrcG9pbnRzLXBvbGljeS1xdWVzdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93U3VydmV5Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctc3VydmV5LWZvcm0vd29ya2Zsb3ctc3VydmV5LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IExvZ0FuSXNzdWVDb21wb25lbnQgfSBmcm9tICcuL2xvZy1hbi1pc3N1ZS9sb2ctYW4taXNzdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvZmlsdGVyUGlwZSc7XG5pbXBvcnQgeyBTbWlsZXlEaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbWlsZXktZGlhbG9nL3NtaWxleS1kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IFJhZGlvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yYWRpby1saXN0L3JhZGlvLWxpc3QuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ3JlYXRlRG9jdW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUtZG9jdW1lbnRzL2NyZWF0ZS1kb2N1bWVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1tdWx0aXNlbGVjdC9jYXRlZ29yeS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZyYW1ld29ya0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L3BhcmVudC10YWJsZS9wYXJlbnQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJSYWRpb0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvdXNlcnMtcmFkaW8tbGlzdC91c2Vycy1yYWRpby1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50RmxvYXRpbmdCYXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC1mbG9hdGluZy1iYXIvY2hlY2twb2ludC1mbG9hdGluZy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jpc2stY2xhc3NpZmljYXRpb24vcmlzay1jbGFzc2lmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBSZXZpZXdGcmVxdWVuY3lDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmV2aWV3LWZyZXF1ZW5jeS9yZXZpZXctZnJlcXVlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xuaW1wb3J0IHsgU21pbGV5RGlhbG9nSW5saW5lTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc21pbGV5LWRpYWxvZy1pbmxpbmUvc21pbGV5LWRpYWxvZy1pbmxpbmUubW9kdWxlJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4vdWkta2l0L2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUnO1xuaW1wb3J0IHsgU2hvcnRNZXJnZVBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvc2hvcnQtbWVyZ2UucGlwZSc7XG5cbmltcG9ydCB7IEZvcm1hdEh0bWxQaXBlIH0gZnJvbSAnLi91aS1raXQvZm9ybWF0LWh0bWwucGlwZSc7XG5pbXBvcnQgeyBXaXRoaW5EYXRhUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy93aXRoaW4tZGF0YS5waXBlJztcbmltcG9ydCB7IHJjVHJlZVRvb2xUaXBQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3JjVHJlZVRvb2xUaXAucGlwZSc7XG5pbXBvcnQgeyBQb3BvdmVySG92ZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9wb3BvdmVyLWhvdmVyL3BvcG92ZXItaG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5Umlza1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jlc3BvbnNpYmlsaXR5LXJpc2stc2VsZWN0b3IvcmVzcG9uc2liaWxpdHktcmlzay1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlGaWx0ZXJQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL2FycmF5LWZpbHRlci5waXBlJztcbmltcG9ydCB7IEF1ZGl0Q2F0ZWdvcnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2F1ZGl0LWNhdGVnb3J5LWxpc3QvYXVkaXQtY2F0ZWdvcnktbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1hc3Nlc3NtZW50L3dvcmtmbG93LWFzc2Vzc21lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1sb2FkZXIvYXNzZXNzbWVudC1saXN0LWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RTdWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyL2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3Nlc3NtZW50UHJldmlld01vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvYXNzZXNzbWVudC1wcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgeyBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtZWRpdG9yL2NyZWF0ZS1hc3Nlc3NtZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBBY3Rpb25EaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2FjdGlvbi1kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IFByb2dyYW1MaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdGluZy9wcm9ncmFtLWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS93b3JrZmxvdy1wcm9ncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcm9sZXMtbGlzdC9yb2xlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcmVhdGVQcm9ncmFtVWlNb2R1bGUgfSBmcm9tICcuL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlJztcbmltcG9ydCB7IEFycmF5Q29uY2F0UGlwZSB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9waXBlcy9hcnJheS1jb25jYXQucGlwZSc7XG5pbXBvcnQgeyBGcmFtZXdvcmtMaXN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyYW1ld29ya1Jlc3BvbnNpYmlsaXR5VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlL2ZyYW1ld29yay1yZXNwb25zaWJpbGl0eS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJhbWV3b3JrVGFibGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLXRhYmxlLWxvYWRlci9mcmFtZXdvcmstdGFibGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGFjZVRyaW1QaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3NwYWNlVHJpbS5waXBlJztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dXZWVrbHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXdlZWtseS9mcmVxdWVuY3ktZGlhbG9nLXdlZWtseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nVG9wQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy10b3AvZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0R1ZURhdGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWR1ZS1kYXRlL2ZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0NoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY2hlY2tib3gtbGlzdC9mcmVxdWVuY3ktZGlhbG9nLWNoZWNrYm94LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ01vbnRobHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLW1vbnRobHkvZnJlcXVlbmN5LWRpYWxvZy1tb250aGx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dRdWFydGVybHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseS9mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nUmFkaW9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1yYWRpby1saXN0L2ZyZXF1ZW5jeS1kaWFsb2ctcmFkaW8tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nQmlhbm51YWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYmlhbm51YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0FubnVhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dPbmVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyL2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZE11bHRpcGxlUmVzcG9uc2liaWxpdHlXaXRoVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktd2l0aC10YWIvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LXdpdGgtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0L2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHByb3ZhbFdvcmtmbG93Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2FwcHJvdmFsLXdvcmtmbG93L2FwcHJvdmFsLXdvcmtmbG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RBcHByb3ZlcnNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvc2VsZWN0LWFwcHJvdmVycy9zZWxlY3QtYXBwcm92ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2xpY3lBY2Nlc3NDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LWFjY2Vzcy9wb2xpY3ktYWNjZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHByb3ZhbFdvcmtmbG93TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC13b3JrZmxvdy1saXN0L2FwcHJvdmFsLXdvcmtmbG93LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcHJvdmFsQ3JlYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQnO1xuLy8gaW1wb3J0IHsgTGlua1Byb2dyYW1Nb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS5tb2R1bGUnO1xuaW1wb3J0IHsgTGlua1Byb2dyYW1Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS9saW5rLXByb2dyYW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBWYWxpZGF0aW9uUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vdG9vbHRpcC12YWxpZGF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xuaW1wb3J0IHsgR3JjT2JqZWN0TW9kdWxlIH0gZnJvbSAnLi93b3JrZmxvdy9ncmMtb2JqZWN0L2dyYy1vYmplY3QubW9kdWxlJztcbmltcG9ydCB7IFJjTGlzdE1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QvcmMtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmNPYmplY3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9ncmMtb2JqZWN0LWxpc3QvZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IExpbmtSZXNwb25zaWJpbGl0eU1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9saW5rLXJlc3BvbnNpYmlsaXR5L2xpbmstcmVzcG9uc2liaWxpdHkubW9kdWxlJztcbmltcG9ydCB7IExpbmtSZWxhdGVkUG9saWNpZXNDb21wb25lbnQgfSBmcm9tICcuL2xpbmstcmVsYXRlZC1wb2xpY2llcy9saW5rLXJlbGF0ZWQtcG9saWNpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi91aS1raXQvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgUG9saWN5VGVtcGxhdGVNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3BvbGljeS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgUmVwb3J0Q2FzZU1vZHVsZSB9IGZyb20gJy4vcmVwb3J0LWEtY2FzZS9yZXBvcnQtY2FzZS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWF0QW5kRXZpZGVuY2VNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZm9ybWF0LWFuZC1ldmlkZW5jZS9mb3JtYXQtYW5kLWV2aWRlbmNlLm1vZHVsZSc7XG5pbXBvcnQgeyBDaGVja2JveExpc3RNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9jaGVja2JveC1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBSYWRpb0xpc3RXaXRoUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yYWRpby1saXN0LXdpdGgtcGFnaW5hdGlvbi9yYWRpby1saXN0LXdpdGgtcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUmlza0NsYXNzUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy9yaXNrLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NvbnRhaW5lci1sb2FkZXIvY29udGFpbmVyLWxvYWRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBXb3JrZmxvd1Jpc2tDb21wb25lbnQsXG4gICAgV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50LFxuICAgIFdvcmtmbG93UG9saWN5Q29tcG9uZW50LFxuICAgIE1vcmVPcHRpb25Db21wb25lbnQsXG4gICAgT3duZXJMaXN0Q29tcG9uZW50LFxuICAgIFVzZXJSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgQ2F0ZWdvcnlMaXN0Q29tcG9uZW50LFxuICAgIENhdGVnb3J5TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgLy8gRmxvYXRpbmdCYXJDb21wb25lbnQsXG4gICAgV29ya2Zsb3dQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCxcbiAgICBCdWxrVmlld0NvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c0NvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c1F1ZXN0aW9uc0NvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c0xpc3RDb21wb25lbnQsXG4gICAgUmV2aWV3RnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEYWlseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lRdWFydGVybHlDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5Qmlhbm51YWxDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5UmFuZG9tQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uQ29tcGxldGlvbk9mQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5VG9wQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUxpZmVjeWNsZUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUNoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbXBvbmVudCxcbiAgICBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50LFxuICAgIENoZWNrcG9pbnRzUG9saWN5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENoZWNrcG9pbnRzUG9saWN5TGlzdENvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c1BvbGljeVF1ZXN0aW9uc0NvbXBvbmVudCxcbiAgICBXb3JrZmxvd1N1cnZleUZvcm1Db21wb25lbnQsXG4gICAgTG9nQW5Jc3N1ZUNvbXBvbmVudCxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIFJhZGlvTGlzdENvbXBvbmVudCxcbiAgICBDcmVhdGVEb2N1bWVudHNDb21wb25lbnQsXG4gICAgRnJhbWV3b3JrTGlzdENvbXBvbmVudCxcbiAgICBQYXJlbnRUYWJsZUNvbXBvbmVudCxcbiAgICBDaGVja3BvaW50RmxvYXRpbmdCYXJDb21wb25lbnQsXG4gICAgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIFNob3J0TWVyZ2VQaXBlLFxuICAgIEZvcm1hdEh0bWxQaXBlLFxuICAgIFdpdGhpbkRhdGFQaXBlLFxuICAgIHJjVHJlZVRvb2xUaXBQaXBlLFxuICAgIFJlc3BvbnNpYmlsaXR5Umlza1NlbGVjdG9yQ29tcG9uZW50LFxuICAgIEFycmF5RmlsdGVyUGlwZSxcbiAgICBBdWRpdENhdGVnb3J5TGlzdENvbXBvbmVudCxcbiAgICBEb2N1bWVudFNlY3Rpb25Db21wb25lbnQsXG4gICAgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCxcbiAgICBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RTdWJMb2FkZXJDb21wb25lbnQsXG4gICAgUHJvZ3JhbUxpc3RpbmdDb21wb25lbnQsXG4gICAgV29ya2Zsb3dQcm9ncmFtQ29tcG9uZW50LFxuICAgIFJvbGVzTGlzdENvbXBvbmVudCxcbiAgICBGcmFtZXdvcmtMaXN0VGFibGVDb21wb25lbnQsXG4gICAgRnJhbWV3b3JrUmVzcG9uc2liaWxpdHlUYWJsZUNvbXBvbmVudCxcbiAgICBGcmFtZXdvcmtUYWJsZUxvYWRlckNvbXBvbmVudCxcbiAgICBBcnJheUNvbmNhdFBpcGUsXG4gICAgU3BhY2VUcmltUGlwZSxcbiAgICBGcmVxdWVuY3lEaWFsb2dDb250YWluZXJDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nV2Vla2x5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ1RvcENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dEdWVEYXRlQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ0NoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dNb250aGx5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ1F1YXJ0ZXJseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nQmlhbm51YWxDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nQW5udWFsQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ09uZVRpbWVDb21wb25lbnQsXG4gICAgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5V2l0aFRhYkNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQsXG4gICAgQXBwcm92YWxXb3JrZmxvd0NvbXBvbmVudCxcbiAgICBTZWxlY3RBcHByb3ZlcnNDb21wb25lbnQsXG4gICAgUG9saWN5QWNjZXNzQ29tcG9uZW50LFxuICAgIEFwcHJvdmFsV29ya2Zsb3dMaXN0Q29tcG9uZW50LFxuICAgIEFwcHJvdmFsQ3JlYXRlRm9ybUNvbXBvbmVudCxcbiAgICBMaW5rUHJvZ3JhbUNvbXBvbmVudCxcbiAgICBUb29sdGlwVmFsaWRhdGlvblBpcGUsXG4gICAgTGlua1JlbGF0ZWRQb2xpY2llc0NvbXBvbmVudCxcbiAgICBSaXNrQ2xhc3NQaXBlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlLFxuICAgIC8vIE1hcnhFZGl0b3JNb2R1bGUsXG4gICAgVmNvbXBseUVkaXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBMaW5lTG9hZGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgRHBEYXRlUGlja2VyTW9kdWxlLFxuICAgIE5vRGF0YU1vZHVsZSxcbiAgICBWTG9hZGVyTW9kdWxlLFxuICAgIFNtaWxleURpYWxvZ01vZHVsZSxcbiAgICBTbmFja0Jhck1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFNtaWxleURpYWxvZ0lubGluZU1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXG4gICAgUG9wb3ZlckhvdmVyTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgQ3JlYXRlQXNzZXNzbWVudE1vZHVsZSxcbiAgICBBY3Rpb25EaWFsb2dNb2R1bGUsXG4gICAgQXNzZXNzbWVudFByZXZpZXdNb2R1bGUsXG4gICAgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlLFxuICAgIERpcmVjdGl2ZU1vZHVsZSxcbiAgICBHcmNPYmplY3RNb2R1bGUsXG4gICAgUmNMaXN0TW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50LFxuICAgIC8vIExpbmtQcm9ncmFtTW9kdWxlXG4gICAgTGlzdExvYWRlck1vZHVsZSxcbiAgICBHcmNPYmplY3RMaXN0Q29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgUG9saWN5VGVtcGxhdGVNb2R1bGUsXG4gICAgUmVwb3J0Q2FzZU1vZHVsZSxcbiAgICBGb3JtYXRBbmRFdmlkZW5jZU1vZHVsZSxcbiAgICBDaGVja2JveExpc3RNb2R1bGUsXG4gICAgUmFkaW9MaXN0V2l0aFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgTGlua1Jlc3BvbnNpYmlsaXR5TW9kdWxlLFxuICAgIENvbnRhaW5lckxvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1dvcmtmbG93RW5naW5lQ29udGFpbmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZDb21wbHlXb3JrZmxvd0VuZ2luZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9ucywgdXNlVmFsdWU6IGVudmlyb25tZW50Q29uZmlnIH1dLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
470
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFD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cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3JrZmxvd1Jpc2tDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXJpc2svd29ya2Zsb3ctcmlzay5jb21wb25lbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1jb21wbGlhbmNlL3dvcmtmbG93LWNvbXBsaWFuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93UG9saWN5Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1wb2xpY3kvd29ya2Zsb3ctcG9saWN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9yZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucyc7XG5pbXBvcnQgeyBPd25lckxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvb3duZXItbGlzdC9vd25lci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2F0ZWdvcnktbGlzdC9jYXRlZ29yeS1saXN0LmNvbXBvbmVudCc7XG4vLyBpbXBvcnQgeyBGbG9hdGluZ0JhckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFZjb21wbHlFZGl0b3JNb2R1bGUgfSBmcm9tICdAdmNvbXBseS9lZGl0b3InO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXb3JrZmxvd1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXBhZ2luYXRpb24vd29ya2Zsb3ctcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZUxvYWRlck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L2xpbmUtbG9hZGVyL2xpbmUtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuL2FkZC1tdWx0aXBsZS1yaXNrL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdWxrVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9idWxrLXZpZXcvYnVsay12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50c0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzL2NoZWNrcG9pbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybWF0aW9uLWFsZXJ0L2NvbmZpcm1hdGlvbi1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2twb2ludHNRdWVzdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC9jaGVja3BvaW50cy1xdWVzdGlvbnMvY2hlY2twb2ludHMtcXVlc3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoZWNrcG9pbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzLWxpc3QvY2hlY2twb2ludHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi9mb3JtZ3JvdXAvc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURhaWx5Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZGFpbHkvZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS13ZWVrbHkvZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeVF1YXJ0ZXJseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lCaWFubnVhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWJpYW5udWFsL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmUtdGltZS9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeVJhbmRvbUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lPbkNvbXBsZXRpb25PZkNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmdvaW5nL2ZyZXF1ZW5jeS1vbmdvaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcic7XG5pbXBvcnQgeyBGcmVxdWVuY3lUb3BDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS10b3AvZnJlcXVlbmN5LXRvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5TGlmZWN5Y2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktbGlmZWN5Y2xlL2ZyZXF1ZW5jeS1saWZlY3ljbGUuY29tcG9uZW50JztcbmltcG9ydCB7IERwRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZHVlLWRhdGUvZnJlcXVlbmN5LWR1ZS1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lDaGVja2JveExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lSYWRpb0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1yYWRpby1saXN0L2ZyZXF1ZW5jeS1yYWRpby1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHkvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvdi1sb2FkZXIvdi1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IENoZWNrcG9pbnRzUG9saWN5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1jb250YWluZXIvY2hlY2twb2ludHMtcG9saWN5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2twb2ludHNQb2xpY3lMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50c1BvbGljeVF1ZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LXBvbGljeS9jaGVja3BvaW50cy1wb2xpY3ktcXVlc3Rpb25zL2NoZWNrcG9pbnRzLXBvbGljeS1xdWVzdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93U3VydmV5Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctc3VydmV5LWZvcm0vd29ya2Zsb3ctc3VydmV5LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IExvZ0FuSXNzdWVDb21wb25lbnQgfSBmcm9tICcuL2xvZy1hbi1pc3N1ZS9sb2ctYW4taXNzdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvZmlsdGVyUGlwZSc7XG5pbXBvcnQgeyBTbWlsZXlEaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbWlsZXktZGlhbG9nL3NtaWxleS1kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IFJhZGlvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yYWRpby1saXN0L3JhZGlvLWxpc3QuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ3JlYXRlRG9jdW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUtZG9jdW1lbnRzL2NyZWF0ZS1kb2N1bWVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1tdWx0aXNlbGVjdC9jYXRlZ29yeS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZyYW1ld29ya0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L3BhcmVudC10YWJsZS9wYXJlbnQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJSYWRpb0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvdXNlcnMtcmFkaW8tbGlzdC91c2Vycy1yYWRpby1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3BvaW50RmxvYXRpbmdCYXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC1mbG9hdGluZy1iYXIvY2hlY2twb2ludC1mbG9hdGluZy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jpc2stY2xhc3NpZmljYXRpb24vcmlzay1jbGFzc2lmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBSZXZpZXdGcmVxdWVuY3lDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmV2aWV3LWZyZXF1ZW5jeS9yZXZpZXctZnJlcXVlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWlsZXlEaWFsb2dJbmxpbmVNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbWlsZXktZGlhbG9nLWlubGluZS9zbWlsZXktZGlhbG9nLWlubGluZS5tb2R1bGUnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTaG9ydE1lcmdlUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy9zaG9ydC1tZXJnZS5waXBlJztcblxuaW1wb3J0IHsgRm9ybWF0SHRtbFBpcGUgfSBmcm9tICcuL3VpLWtpdC9mb3JtYXQtaHRtbC5waXBlJztcbmltcG9ydCB7IFdpdGhpbkRhdGFQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3dpdGhpbi1kYXRhLnBpcGUnO1xuaW1wb3J0IHsgcmNUcmVlVG9vbFRpcFBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvcmNUcmVlVG9vbFRpcC5waXBlJztcbmltcG9ydCB7IFBvcG92ZXJIb3Zlck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3BvcG92ZXItaG92ZXIvcG9wb3Zlci1ob3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlSaXNrU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmVzcG9uc2liaWxpdHktcmlzay1zZWxlY3Rvci9yZXNwb25zaWJpbGl0eS1yaXNrLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcnJheUZpbHRlclBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvYXJyYXktZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1hc3Nlc3NtZW50L3dvcmtmbG93LWFzc2Vzc21lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1sb2FkZXIvYXNzZXNzbWVudC1saXN0LWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RTdWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyL2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3Nlc3NtZW50UHJldmlld01vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvYXNzZXNzbWVudC1wcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgeyBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtZWRpdG9yL2NyZWF0ZS1hc3Nlc3NtZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBBY3Rpb25EaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2FjdGlvbi1kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IFByb2dyYW1MaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Byb2dyYW0tbGlzdGluZy9wcm9ncmFtLWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS93b3JrZmxvdy1wcm9ncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcm9sZXMtbGlzdC9yb2xlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcmVhdGVQcm9ncmFtVWlNb2R1bGUgfSBmcm9tICcuL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlJztcbmltcG9ydCB7IEFycmF5Q29uY2F0UGlwZSB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9waXBlcy9hcnJheS1jb25jYXQucGlwZSc7XG5pbXBvcnQgeyBGcmFtZXdvcmtMaXN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyYW1ld29ya1Jlc3BvbnNpYmlsaXR5VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlL2ZyYW1ld29yay1yZXNwb25zaWJpbGl0eS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJhbWV3b3JrVGFibGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLXRhYmxlLWxvYWRlci9mcmFtZXdvcmstdGFibGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGFjZVRyaW1QaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3NwYWNlVHJpbS5waXBlJztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyL2ZyZXF1ZW5jeS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dXZWVrbHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXdlZWtseS9mcmVxdWVuY3ktZGlhbG9nLXdlZWtseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nVG9wQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy10b3AvZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0R1ZURhdGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWR1ZS1kYXRlL2ZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0NoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctY2hlY2tib3gtbGlzdC9mcmVxdWVuY3ktZGlhbG9nLWNoZWNrYm94LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ01vbnRobHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLW1vbnRobHkvZnJlcXVlbmN5LWRpYWxvZy1tb250aGx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dRdWFydGVybHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseS9mcmVxdWVuY3ktZGlhbG9nLXF1YXJ0ZXJseS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nUmFkaW9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1yYWRpby1saXN0L2ZyZXF1ZW5jeS1kaWFsb2ctcmFkaW8tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5RGlhbG9nQmlhbm51YWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYmlhbm51YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZyZXF1ZW5jeURpYWxvZ0FubnVhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lEaWFsb2dPbmVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyL2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZE11bHRpcGxlUmVzcG9uc2liaWxpdHlXaXRoVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktd2l0aC10YWIvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LXdpdGgtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0L2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHByb3ZhbFdvcmtmbG93Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2FwcHJvdmFsLXdvcmtmbG93L2FwcHJvdmFsLXdvcmtmbG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RBcHByb3ZlcnNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvc2VsZWN0LWFwcHJvdmVycy9zZWxlY3QtYXBwcm92ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2xpY3lBY2Nlc3NDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LWFjY2Vzcy9wb2xpY3ktYWNjZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHByb3ZhbFdvcmtmbG93TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC13b3JrZmxvdy1saXN0L2FwcHJvdmFsLXdvcmtmbG93LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcHJvdmFsQ3JlYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQnO1xuLy8gaW1wb3J0IHsgTGlua1Byb2dyYW1Nb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS5tb2R1bGUnO1xuaW1wb3J0IHsgTGlua1Byb2dyYW1Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbGluay1wcm9ncmFtL2xpbmstcHJvZ3JhbS9saW5rLXByb2dyYW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBWYWxpZGF0aW9uUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vdG9vbHRpcC12YWxpZGF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xuaW1wb3J0IHsgR3JjT2JqZWN0TW9kdWxlIH0gZnJvbSAnLi93b3JrZmxvdy9ncmMtb2JqZWN0L2dyYy1vYmplY3QubW9kdWxlJztcbmltcG9ydCB7IFJjTGlzdE1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QvcmMtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmNPYmplY3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9ncmMtb2JqZWN0LWxpc3QvZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IExpbmtSZXNwb25zaWJpbGl0eU1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9saW5rLXJlc3BvbnNpYmlsaXR5L2xpbmstcmVzcG9uc2liaWxpdHkubW9kdWxlJztcbmltcG9ydCB7IExpbmtSZWxhdGVkUG9saWNpZXNDb21wb25lbnQgfSBmcm9tICcuL2xpbmstcmVsYXRlZC1wb2xpY2llcy9saW5rLXJlbGF0ZWQtcG9saWNpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi91aS1raXQvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgUG9saWN5VGVtcGxhdGVNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3BvbGljeS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgUmVwb3J0Q2FzZU1vZHVsZSB9IGZyb20gJy4vcmVwb3J0LWEtY2FzZS9yZXBvcnQtY2FzZS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWF0QW5kRXZpZGVuY2VNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZm9ybWF0LWFuZC1ldmlkZW5jZS9mb3JtYXQtYW5kLWV2aWRlbmNlLm1vZHVsZSc7XG5pbXBvcnQgeyBDaGVja2JveExpc3RNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9jaGVja2JveC1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBSYWRpb0xpc3RXaXRoUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yYWRpby1saXN0LXdpdGgtcGFnaW5hdGlvbi9yYWRpby1saXN0LXdpdGgtcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUmlza0NsYXNzUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy9yaXNrLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NvbnRhaW5lci1sb2FkZXIvY29udGFpbmVyLWxvYWRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBXb3JrZmxvd1Jpc2tDb21wb25lbnQsXG4gICAgV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50LFxuICAgIFdvcmtmbG93UG9saWN5Q29tcG9uZW50LFxuICAgIE1vcmVPcHRpb25Db21wb25lbnQsXG4gICAgT3duZXJMaXN0Q29tcG9uZW50LFxuICAgIFVzZXJSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgQ2F0ZWdvcnlMaXN0Q29tcG9uZW50LFxuICAgIENhdGVnb3J5TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgLy8gRmxvYXRpbmdCYXJDb21wb25lbnQsXG4gICAgV29ya2Zsb3dQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCxcbiAgICBCdWxrVmlld0NvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c0NvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c1F1ZXN0aW9uc0NvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c0xpc3RDb21wb25lbnQsXG4gICAgUmV2aWV3RnJlcXVlbmN5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEYWlseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lRdWFydGVybHlDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5Qmlhbm51YWxDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5UmFuZG9tQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uQ29tcGxldGlvbk9mQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5VG9wQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUxpZmVjeWNsZUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeUNoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbXBvbmVudCxcbiAgICBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50LFxuICAgIENoZWNrcG9pbnRzUG9saWN5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENoZWNrcG9pbnRzUG9saWN5TGlzdENvbXBvbmVudCxcbiAgICBDaGVja3BvaW50c1BvbGljeVF1ZXN0aW9uc0NvbXBvbmVudCxcbiAgICBXb3JrZmxvd1N1cnZleUZvcm1Db21wb25lbnQsXG4gICAgTG9nQW5Jc3N1ZUNvbXBvbmVudCxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIFJhZGlvTGlzdENvbXBvbmVudCxcbiAgICBDcmVhdGVEb2N1bWVudHNDb21wb25lbnQsXG4gICAgRnJhbWV3b3JrTGlzdENvbXBvbmVudCxcbiAgICBQYXJlbnRUYWJsZUNvbXBvbmVudCxcbiAgICBDaGVja3BvaW50RmxvYXRpbmdCYXJDb21wb25lbnQsXG4gICAgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIFNob3J0TWVyZ2VQaXBlLFxuICAgIEZvcm1hdEh0bWxQaXBlLFxuICAgIFdpdGhpbkRhdGFQaXBlLFxuICAgIHJjVHJlZVRvb2xUaXBQaXBlLFxuICAgIFJlc3BvbnNpYmlsaXR5Umlza1NlbGVjdG9yQ29tcG9uZW50LFxuICAgIEFycmF5RmlsdGVyUGlwZSxcbiAgICBEb2N1bWVudFNlY3Rpb25Db21wb25lbnQsXG4gICAgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCxcbiAgICBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQsXG4gICAgQXNzZXNzbWVudExpc3RTdWJMb2FkZXJDb21wb25lbnQsXG4gICAgUHJvZ3JhbUxpc3RpbmdDb21wb25lbnQsXG4gICAgV29ya2Zsb3dQcm9ncmFtQ29tcG9uZW50LFxuICAgIFJvbGVzTGlzdENvbXBvbmVudCxcbiAgICBGcmFtZXdvcmtMaXN0VGFibGVDb21wb25lbnQsXG4gICAgRnJhbWV3b3JrUmVzcG9uc2liaWxpdHlUYWJsZUNvbXBvbmVudCxcbiAgICBGcmFtZXdvcmtUYWJsZUxvYWRlckNvbXBvbmVudCxcbiAgICBBcnJheUNvbmNhdFBpcGUsXG4gICAgU3BhY2VUcmltUGlwZSxcbiAgICBGcmVxdWVuY3lEaWFsb2dDb250YWluZXJDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nV2Vla2x5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ1RvcENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dEdWVEYXRlQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ0NoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dNb250aGx5Q29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ1F1YXJ0ZXJseUNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lEaWFsb2dSYWRpb0xpc3RDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nQmlhbm51YWxDb21wb25lbnQsXG4gICAgRnJlcXVlbmN5RGlhbG9nQW5udWFsQ29tcG9uZW50LFxuICAgIEZyZXF1ZW5jeURpYWxvZ09uZVRpbWVDb21wb25lbnQsXG4gICAgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5V2l0aFRhYkNvbXBvbmVudCxcbiAgICBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQsXG4gICAgQXBwcm92YWxXb3JrZmxvd0NvbXBvbmVudCxcbiAgICBTZWxlY3RBcHByb3ZlcnNDb21wb25lbnQsXG4gICAgUG9saWN5QWNjZXNzQ29tcG9uZW50LFxuICAgIEFwcHJvdmFsV29ya2Zsb3dMaXN0Q29tcG9uZW50LFxuICAgIEFwcHJvdmFsQ3JlYXRlRm9ybUNvbXBvbmVudCxcbiAgICBMaW5rUHJvZ3JhbUNvbXBvbmVudCxcbiAgICBUb29sdGlwVmFsaWRhdGlvblBpcGUsXG4gICAgTGlua1JlbGF0ZWRQb2xpY2llc0NvbXBvbmVudCxcbiAgICBSaXNrQ2xhc3NQaXBlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlLFxuICAgIC8vIE1hcnhFZGl0b3JNb2R1bGUsXG4gICAgVmNvbXBseUVkaXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBMaW5lTG9hZGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgRHBEYXRlUGlja2VyTW9kdWxlLFxuICAgIE5vRGF0YU1vZHVsZSxcbiAgICBWTG9hZGVyTW9kdWxlLFxuICAgIFNtaWxleURpYWxvZ01vZHVsZSxcbiAgICBTbmFja0Jhck1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFNtaWxleURpYWxvZ0lubGluZU1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXG4gICAgUG9wb3ZlckhvdmVyTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgQ3JlYXRlQXNzZXNzbWVudE1vZHVsZSxcbiAgICBBY3Rpb25EaWFsb2dNb2R1bGUsXG4gICAgQXNzZXNzbWVudFByZXZpZXdNb2R1bGUsXG4gICAgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlLFxuICAgIERpcmVjdGl2ZU1vZHVsZSxcbiAgICBHcmNPYmplY3RNb2R1bGUsXG4gICAgUmNMaXN0TW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50LFxuICAgIC8vIExpbmtQcm9ncmFtTW9kdWxlXG4gICAgTGlzdExvYWRlck1vZHVsZSxcbiAgICBHcmNPYmplY3RMaXN0Q29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgUG9saWN5VGVtcGxhdGVNb2R1bGUsXG4gICAgUmVwb3J0Q2FzZU1vZHVsZSxcbiAgICBGb3JtYXRBbmRFdmlkZW5jZU1vZHVsZSxcbiAgICBDaGVja2JveExpc3RNb2R1bGUsXG4gICAgUmFkaW9MaXN0V2l0aFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgTGlua1Jlc3BvbnNpYmlsaXR5TW9kdWxlLFxuICAgIENvbnRhaW5lckxvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1dvcmtmbG93RW5naW5lQ29udGFpbmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZDb21wbHlXb3JrZmxvd0VuZ2luZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9ucywgdXNlVmFsdWU6IGVudmlyb25tZW50Q29uZmlnIH1dLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -185,21 +185,6 @@ export class ResponsibilityService {
|
|
|
185
185
|
}))
|
|
186
186
|
.pipe(retry(2));
|
|
187
187
|
}
|
|
188
|
-
getAssuranceForRequiresAudit() {
|
|
189
|
-
if (this.AssuranceListForAudit.getValue().length) {
|
|
190
|
-
return of(this.AssuranceListForAudit.getValue());
|
|
191
|
-
}
|
|
192
|
-
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
193
|
-
return this.http
|
|
194
|
-
.get(this.env.assuranceApi + 'Audit/Category/List/?mode=entrust_module', {
|
|
195
|
-
headers,
|
|
196
|
-
})
|
|
197
|
-
.pipe(map((res) => {
|
|
198
|
-
this.AssuranceListForAudit.next(res);
|
|
199
|
-
return res;
|
|
200
|
-
}))
|
|
201
|
-
.pipe(retry(2));
|
|
202
|
-
}
|
|
203
188
|
getRCDetailsOfFramework(rc_id, category_id) {
|
|
204
189
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
205
190
|
return this.http.get(this.env.complianceGet +
|
|
@@ -496,7 +481,6 @@ export class ResponsibilityService {
|
|
|
496
481
|
return required && !(form?.rc?.length > 0);
|
|
497
482
|
}
|
|
498
483
|
isProgramMissing(form, required) {
|
|
499
|
-
return false;
|
|
500
484
|
return required && !(form?.program?.length > 0);
|
|
501
485
|
}
|
|
502
486
|
isFormatAndEvidenceMissing(form, required) {
|
|
@@ -546,4 +530,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
546
530
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
|
|
547
531
|
type: Optional
|
|
548
532
|
}] }]; } });
|
|
549
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXhELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUt2RCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUNVLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ3BCLE1BQXVCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFqQmxDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGVBQVUsR0FBeUIsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDekQsV0FBTSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM1RCxpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUNsRSwwQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQ3RFLEVBQUUsQ0FDSCxDQUFDO1FBQ0ssY0FBUyxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUMvRCwwQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQ3RFLEVBQUUsQ0FDSCxDQUFDO1FBQ00saUJBQVksR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDcEUsaUJBQVks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QUFpQixFQUFFLGlCQUEwQjtRQUMxRSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUN6RCxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxZQUFZLENBQUMsSUFBUyxFQUFFLFFBQWlCLEVBQUUsaUJBQTBCO1FBQzNFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDNUIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFTLEVBQUUsUUFBaUI7UUFDL0MsT0FBTyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0F2eEJVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXFCSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBc3Nlc3NtZW50TGlzdCB9IGZyb20gJy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L3NlcnZpY2UvYXNzZXNzbWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Jlc3BvbnNpYmlsdHkuaW50ZXJmYWNlJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNwb25zaWJpbGl0eVNlcnZpY2Uge1xuICBlbnYhOiBhbnk7XG4gIGRhdGFQZXJQYWdlID0gMzA7XG5cbiAgZ3JjT3duZXJzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xuICBwdWJsaWMgUkNMaXN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihbXSk7XG4gIHB1YmxpYyBBc3NpZ25vckxpc3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFtdKTtcbiAgcHVibGljIEFzc3VyYW5jZUxpc3RGb3JBdWRpdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oXG4gICAgW11cbiAgKTtcbiAgcHVibGljIEdyb3VwTGlzdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xuICBwdWJsaWMgQXNzdXJhbmNlQ2F0ZWdvcnlMaXN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihcbiAgICBbXVxuICApO1xuICBwcml2YXRlIG92ZXJzZWVyTGlzdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIHByaXZhdGUgcG9saWN5R3JvdXBzOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbiAgKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xuICAgIH1cbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdChwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XG4gICAgaWYgKHRoaXMuUkNMaXN0LmdldFZhbHVlKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5SQ0xpc3QuZ2V0VmFsdWUoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudj8uY29tcGxpYW5jZUdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnLCB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLlJDTGlzdC5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldE9yZ2FuaXphdGlvbkdyb3VwcyhwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XG4gICAgaWYgKHRoaXMuR3JvdXBMaXN0LmdldFZhbHVlKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5Hcm91cExpc3QuZ2V0VmFsdWUoKSk7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZScsXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5Hcm91cExpc3QubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25Qb2xpY3lHcm91cHMocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgIGlmICh0aGlzLnBvbGljeUdyb3Vwcz8uZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMucG9saWN5R3JvdXBzPy52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArXG4gICAgICAgICAgJ2dyb3Vwc0xpc3QmcGVybVR5cGU9bWFuYWdlUG9saWNpZXMmZmV0Y2hfYWxsPXRydWUnLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMucG9saWN5R3JvdXBzLm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25PdmVyc2VlcnNHcm91cHMocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgIGlmICh0aGlzLm92ZXJzZWVyTGlzdD8uZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMub3ZlcnNlZXJMaXN0Py52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ2dyb3Vwc0xpc3QmZmV0Y2hfYWxsPXRydWUnLCB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLm92ZXJzZWVyTGlzdC5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uVXNlcnMoKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMnLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uUGVvcGxlKHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ3Blb3BsZScsIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEFzc2lnbm9yc0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgIGlmICh0aGlzLkFzc2lnbm9yTGlzdC5nZXRWYWx1ZSgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuQXNzaWdub3JMaXN0LmdldFZhbHVlKCkpO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXphdGlvblVzZXJzJmlzT25CZWhhbGY9MScsXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5Bc3NpZ25vckxpc3QubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRDYXRlZ29yaWVzTGlzdCgpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudj8uY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZScsXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cbiAgZ2V0UHJvZ3JhbXNMaXN0KHBhcmFtczogSHR0cFBhcmFtcywgaWRzPzogYW55KSB7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgY29uc3QgcHJvZ3JhbUlkID0geyBwcm9ncmFtSWQ6IGlkcyB9O1xuICAgIGlmIChpZHM/Lmxlbmd0aCkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCdwYXlsb2FkLW9iamVjdCcsIEpTT04uc3RyaW5naWZ5KHByb2dyYW1JZCkpO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5wb3N0PGFueVtdPihcbiAgICAgICAgICB0aGlzLmVudj8uY29tcGxpYW5jZVBvc3QgKyAnY29tcGxpYW5jZUNhdGVnb3J5L3Byb2dyYW1MaXN0JyxcbiAgICAgICAgICBwcm9ncmFtSWQsXG4gICAgICAgICAgeyBwYXJhbXMsIGhlYWRlcnMgfVxuICAgICAgICApXG4gICAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdCcsIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldFByb2dyYW1zTGlzdENvdW50KHBhcmFtczogSHR0cFBhcmFtcywgaWRzPzogYW55KSB7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L3Byb2dyYW1MaXN0Q291bnQnLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuICBnZXRDYXRlZ29yaWVzVW5kZXJQcm9ncmFtKHBhcmFtczogSHR0cFBhcmFtcykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuICBnZXRBc3N1cmFuY2UoKSB7XG4gICAgaWYgKHRoaXMuQXNzdXJhbmNlQ2F0ZWdvcnlMaXN0LmdldFZhbHVlKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5Bc3N1cmFuY2VDYXRlZ29yeUxpc3QuZ2V0VmFsdWUoKSk7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYuYXNzdXJhbmNlR2V0ICsgJ2NhdGVnb3J5L2xpc3QmaWQ9MScsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLkFzc3VyYW5jZUNhdGVnb3J5TGlzdC5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKSB7XG4gICAgaWYgKHRoaXMuQXNzdXJhbmNlTGlzdEZvckF1ZGl0LmdldFZhbHVlKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5Bc3N1cmFuY2VMaXN0Rm9yQXVkaXQuZ2V0VmFsdWUoKSk7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4oXG4gICAgICAgIHRoaXMuZW52LmFzc3VyYW5jZUFwaSArICdBdWRpdC9DYXRlZ29yeS9MaXN0Lz9tb2RlPWVudHJ1c3RfbW9kdWxlJyxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuQXNzdXJhbmNlTGlzdEZvckF1ZGl0Lm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0UkNEZXRhaWxzT2ZGcmFtZXdvcmsocmNfaWQ6IGFueSwgY2F0ZWdvcnlfaWQ6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLmVudi5jb21wbGlhbmNlR2V0ICtcbiAgICAgICAgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeVJDVHJlZUJ5SWQmaWQ9JyArXG4gICAgICAgIGNhdGVnb3J5X2lkICtcbiAgICAgICAgJyZyY19pZD0nICtcbiAgICAgICAgcmNfaWQsXG4gICAgICB7IGhlYWRlcnMgfVxuICAgICk7XG4gIH1cblxuICBzdWJtaXRFbnRydXN0KGVudHJ1c3RfYm9keTogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICB0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQnLFxuICAgICAgZW50cnVzdF9ib2R5LFxuICAgICAgeyBoZWFkZXJzIH1cbiAgICApO1xuICB9XG4gIHVwZGF0ZUVudHJ1c3QoZW50cnVzdF9ib2R5OiBhbnksIG9iamVjdF9pZDogYW55LCBpc0RlbGVnYXRlOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICtcbiAgICAgICAgJ2NyZWF0ZVJlcG9ydCZyZXBvcnRJZD0nICtcbiAgICAgICAgb2JqZWN0X2lkICtcbiAgICAgICAgJyZpc0RlbGVnYXRlPTAnLFxuICAgICAgZW50cnVzdF9ib2R5LFxuICAgICAgeyBoZWFkZXJzIH1cbiAgICApO1xuICB9XG5cbiAgZWRpdFJlc3BvbnNpYmlsaXR5KG9iamVjdElkOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoXG4gICAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZVJlcG9ydC9yZXBvcnRCeUlkJmlkPScgKyBvYmplY3RJZCxcbiAgICAgICAgeyBoZWFkZXJzIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGFkZEJ1bGtSZXNwb25zaWJpbGl0eShlbnRydXN0X2JvZHk6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgdGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnaW1wb3J0L2NyZWF0ZScsXG4gICAgICBlbnRydXN0X2JvZHksXG4gICAgICB7IGhlYWRlcnMgfVxuICAgICk7XG4gIH1cblxuICB1cGxvYWRUb05vZGUocGF5bG9hZDogYW55LCBkZXM6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyAncmlzay9yZXNwb25zaWJpbGl0eUNlbnRlckxpc3QnLCB7IHJjX2lkX2FycjogcmNBcnJheSA/PyBbXSB9LCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgZGVzLCBwYXlsb2FkLCB7XG4gICAgICBoZWFkZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgZmlsZXNVcGxvYWRpbmc6IGFueVtdID0gW107XG4gIGZpbGVzVXBsb2FkZWQ6IGFueVtdID0gW107XG4gIGZpbGVzVXBsb2FkZWRBbmRVcGxvYWRpbmc6IGFueVtdID0gW107XG5cbiAgZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpZDogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPihcbiAgICAgICAgdGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlUcmVlQnlJZCZpZD0nICsgaWQsXG4gICAgICAgIHsgaGVhZGVycyB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRGcmFtZVdvcmtDb3VudChwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHBhcmFtcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9mcmFtZXdvcmtjb3VudCcsIGh0dHBPcHRpb25zKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0RnJhbWVXb3JrTGlzdChwYXJhbXM6IEh0dHBQYXJhbXMpIHtcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2ZyYW1ld29yaycsIGh0dHBPcHRpb25zKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG4gIGdldEZyYW1ld29ya1N1YkNhdGVnb3JpZXMoaWQ6IGFueSwgcGFyYW1zOiBIdHRwUGFyYW1zKSB7XG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHBhcmFtcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9mcmFtZXdvcmsvJyArIGlkLCBodHRwT3B0aW9ucylcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEZyYW1ld29ya0NvbnRyb2xzKGlkOiBhbnksIHBhcmFtczogSHR0cFBhcmFtcykge1xuICAgIGxldCBodHRwT3B0aW9uczogYW55ID0ge307XG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY29udHJvbHMvJyArIGlkLCBodHRwT3B0aW9ucylcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGZpbGVVcGxvYWQoZmlsZTogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnZmlsZS91cGxvYWQnLCBmaWxlLCB7XG4gICAgICBoZWFkZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0QXNzZXNzbWVudENhdGVnb3J5KHBheWxvYWQ6IGFueSwgcHJvZ3JhbV9pZHM/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KFxuICAgICAgICB0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArXG4gICAgICAgICAgJ2NhdGVnb3J5L2xpc3QmaXNDcmVhdGVSZXNwb25zaWJpbGl0eT10cnVlJyArXG4gICAgICAgICAgKHByb2dyYW1faWRzID8gJyZwcm9ncmFtX2lkcz0nICsgcHJvZ3JhbV9pZHMgOiAnJyksXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHsgaGVhZGVycyB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRBc3Nlc3NtZW50TGlzdChwYXlsb2FkOiBhbnksIGlkOiBzdHJpbmcsIHByb2dyYW1faWRzPzogc3RyaW5nKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KFxuICAgICAgICB0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArXG4gICAgICAgICAgJ2Fzc2Vzc21lbnQvc2VsZWN0QXNzZXNzbWVudCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUmY2F0aWQ9JyArXG4gICAgICAgICAgaWQgK1xuICAgICAgICAgIChwcm9ncmFtX2lkcyA/ICcmcHJvZ3JhbV9pZHM9JyArIHByb2dyYW1faWRzIDogJycpLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICB7IGhlYWRlcnMgfVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0QXNzZXNzbWVudERldGFpbHNCeUlEKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4oXG4gICAgICAgIHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvZ2V0QXNzZXNzbWVudEJ5SWQmaWQ9JyArIGlkLFxuICAgICAgICB7fSxcbiAgICAgICAgeyBoZWFkZXJzIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEdSQ093bmVyTGlzdCgpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPihcbiAgICAgIHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArXG4gICAgICAgICdvcmdhbml6YXRpb25NZW1iZXJzJmlzR3JjT2JqZWN0PXRydWUmdHlwZT1hbGwnLFxuICAgICAgeyBoZWFkZXJzIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0T2JqZWN0VHlwZSgpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPihcbiAgICAgIHRoaXMuZW52LmdyY19nZXQgKyAnZ3JjT2JqZWN0L2dldEdSQ1R5cGVMaXN0JnByb2plY3RlZD0xJyxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0R1JDT2JqZWN0RGV0YWlscyhpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4oXG4gICAgICB0aGlzLmVudi5ncmNfZ2V0ICsgJ2dyYy9ncmNCeUlkJmlzRWRpdD10cnVlJmlkPScgKyBpZCxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYWRkR1JDT2JqZWN0KHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5ncmNfZ2V0ICsgJ2dyYy9zYXZlR1JDJywgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUdSQ09iamVjdChwYXlsb2FkOiBhbnksIF9pZDogc3RyaW5nKSB7XG4gICAgcGF5bG9hZC5faWQgPSBfaWQ7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnlbXT4odGhpcy5lbnYuZ3JjX2dldCArICdncmMvdXBkYXRlR1JDJywgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZvcm1Db25maWcoKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPihcbiAgICAgICAgdGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ2NvbXBsaWFuY2VPcHMmY29uZmlnVHlwZT1yZXNwb25zaWJpbGl0eScsXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgcmV0cnkoMiksXG4gICAgICAgIGNhdGNoRXJyb3IoKF9lcnJvcikgPT4ge1xuICAgICAgICAgIHJldHVybiBvZih7IGRhdGE6IHsgZmllbGRzOiB7fSB9IH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGJ1aWxkUmVzcG9uc2liaWxpdHlQYXlsb2FkKGV2ZW50OiBhbnkpOiBSZXNwb25zaWJpbGl0eSB8IG51bGwge1xuICAgIGNvbnNvbGUubG9nKGV2ZW50LCAnZXZlbnQnKTtcbiAgICBjb25zdCBwYXlsb2FkOiBSZXNwb25zaWJpbGl0eSA9IHtcbiAgICAgIHRpdGxlOiBldmVudC5yZXBvcnRfbmFtZSxcbiAgICAgIGtleTogZXZlbnQuaXNfa2V5X2NvbXBsaWFuY2UsXG4gICAgICByaXNrQ2xhc3M6IHRoaXMuZ2V0Umlza0NsYXNzKGV2ZW50LnJpc2tfY2xhc3MpLFxuICAgICAgbm90ZXM6IGV2ZW50LnJlbWFya3MsXG4gICAgICBvYmplY3RpdmU6IGV2ZW50Lm9iamVjdGl2ZSxcbiAgICAgIGZyZXF1ZW5jeTogZXZlbnQuZnJlcXVlbmN5LFxuICAgICAgYXNzaWdub3JJZDogZXZlbnQubWVtYmVyX2lkLFxuICAgICAgYXNzaWduZWU6IHtcbiAgICAgICAgdHlwZTogIGV2ZW50LmlzR3JvdXBBc3NpZ25UbyA/ICdhbnlfb25lJyA6ICdhbGwnLFxuICAgICAgICB1c2VySWQ6IGV2ZW50LmFzc2lnbmVlX21lbWJlcl9pZD8uc3BsaXQoJywnKS5tYXAoTnVtYmVyKSxcbiAgICAgICAgdXNlckdyb3VwSWQ6IGV2ZW50LmlzR3JvdXBBc3NpZ25UbyA/ZXZlbnQudXNlckdyb3VwSWRzPy5hc3NpZ25lZUFueW9uZUdyb3VwSWRzIDogIGV2ZW50LnVzZXJHcm91cElkcz8uYXNzaWduZWVBbGxHcm91cElkc3NcbiAgICAgIH0sXG4gICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjoge1xuICAgICAgICB0eXBlOiAgZXZlbnQucmVzcG9uc2liaWxpdHlDZW50ZXJUeXBlID8gJ2FueScgOiAnYWxsJyxcbiAgICAgICAgaWQ6IGV2ZW50LnJlc3BvbnNpYmlsaXR5Q2VudGVyQXJyXG4gICAgICB9LFxuICAgICAgcmV2aWV3ZXI6IHtcbiAgICAgICAgdHlwZTogZXZlbnQucmV2aWV3ZXJfYXJyPy50eXBlPy50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB1c2VySWQ6IGV2ZW50LnJldmlld2VyX2Fycj8ubGV2ZWwxPy5yZXZpZXdlcnM/Lm1hcCgocmV2aWV3ZXI6IGFueSkgPT4gcmV2aWV3ZXI/Lm1lbWJlcl9pZCksXG4gICAgICAgIGZyZXF1ZW5jeToge1xuICAgICAgICAgIGR1ZURheXM6IGV2ZW50Py5yZXZpZXdfYWZ0ZXJfZGF5cyxcbiAgICAgICAgICBleHRlbnNpb25EYXlzOiBldmVudD8ucmV2aWV3X2ZhaWxlZF9hZnRlcl9kYXlzXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvdmVyc2Vlcjoge1xuICAgICAgICBzdWNjZXNzOiB7XG4gICAgICAgICAgdXNlcklkOiBldmVudC5jY19tZW1iZXJfZW1haWw/LnNwbGl0KCcsJyk/LmZpbHRlcihCb29sZWFuKT8ubWFwKE51bWJlciksXG4gICAgICAgICAgdXNlckdyb3VwSWQ6IGV2ZW50LnVzZXJHcm91cElkcz8uY2NFbWFpbEdyb3VwSWRzXG4gICAgICAgIH0sXG4gICAgICAgIGZhaWw6IHtcbiAgICAgICAgICB1c2VySWQ6IGV2ZW50LmZhaWx1cmVfY2NfbWVtYmVyX2VtYWlsPy5zcGxpdCgnLCcpPy5maWx0ZXIoQm9vbGVhbik/Lm1hcChOdW1iZXIpLFxuICAgICAgICAgIHVzZXJHcm91cElkOiBldmVudC51c2VyR3JvdXBJZHM/LmZhaWx1cmVDQ0VtYWlsR3JvdXBJZHNcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGV2aWRlbmNlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBldmVudC5yZXBvcnRfdXBsb2FkX2ZsYWcsXG4gICAgICAgIGZvcm1hdDoge1xuICAgICAgICAgIHR5cGU6IGV2ZW50LnJlcG9ydF9mb3JtYXQ/Lmxlbmd0aCA/ICdmaWxlJyA6IChldmVudC5saW5rX2Zvcl9kZXRhaWxzPy5sZW5ndGggPyAnbGluaycgOiAnJyksXG4gICAgICAgICAgZGF0YTogZXZlbnQ/LnJlcG9ydF9mb3JtYXQ/Lmxlbmd0aCA/IGV2ZW50LnJlcG9ydF9mb3JtYXQgOiBldmVudD8ubGlua19mb3JfZGV0YWlsc1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGFnczogSlNPTi5wYXJzZShldmVudC5jdXN0b21fdGFncyksXG4gICAgICBwcm9ncmFtOiBldmVudC5jYXRlZ29yeV9pZD8uc3BsaXQoJywnKT8uZmlsdGVyKEJvb2xlYW4pPy5tYXAoTnVtYmVyKSxcbiAgICAgIGdyY09iamVjdElkOiBldmVudC5saW5rZWRfR1JDX2lkcyxcbiAgICAgIGFzc2Vzc21lbnRJZDogZXZlbnQuYXNzZXNzbWVudD8uYXNzZXNzbWVudF9pZCxcbiAgICAgIFxuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfVxuXG4gIGdldFJpc2tDbGFzcyhyaXNrQ2xhc3M6IDAgfCAxIHwgMiB8IDMpOiAnbG93JyB8ICdsb3ctbWVkaXVtJyB8ICdtZWRpdW0taGlnaCcgfCAnaGlnaCcgIHtcbiAgICBjb25zdCByaXNrQ2xhc3NlczogUmVjb3JkPG51bWJlciwgJ2xvdycgfCAnbG93LW1lZGl1bScgfCAnbWVkaXVtLWhpZ2gnIHwgJ2hpZ2gnPiA9IHtcbiAgICAgIDA6ICdsb3cnLFxuICAgICAgMTogJ2xvdy1tZWRpdW0nLFxuICAgICAgMjogJ21lZGl1bS1oaWdoJyxcbiAgICAgIDM6ICdoaWdoJ1xuICAgIH07XG4gICAgcmV0dXJuIHJpc2tDbGFzc2VzW3Jpc2tDbGFzc107XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBIVE1MIGVudGl0aWVzIGFuZCB0YWdzIGZyb20gYSBzdHJpbmcgYW5kIHRyaW1zIHdoaXRlc3BhY2UuXG4gICAqIFVzZWQgdG8gY2hlY2sgaWYgYSByaWNoIHRleHQgZmllbGQgaXMgZWZmZWN0aXZlbHkgYmxhbmsuXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHN0cmluZyB0byBjbGVhblxuICAgKiBAcmV0dXJucyBUaGUgY2xlYW5lZCBzdHJpbmcgb3IgZW1wdHkgc3RyaW5nIGlmIGlucHV0IGlzIGZhbHN5XG4gICAqL1xuICBjaGVja0JsYW5rKGRhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGxldCB0ZXh0ID0gZGF0YTtcbiAgICAgIHJldHVybiB0ZXh0XG4gICAgICAgIC5yZXBsYWNlKC9cXCZuYnNwOy9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoLzxiclxccypcXC8/Pig/OlxccyopfDxcXC9icj4vZ2ksICcnKVxuICAgICAgICAudHJpbSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgcmVzcG9uc2liaWxpdHkgZm9ybSBhZ2FpbnN0IHRoZSBjdXJyZW50IG1hbmRhdG9yeSBmaWVsZCBjb25maWd1cmF0aW9uLlxuICAgKiBcbiAgICogQHBhcmFtIHJlc3BvbnNpYmlsaXR5Rm9ybSAtIFRoZSByZXNwb25zaWJpbGl0eSBmb3JtIGRhdGEgdG8gdmFsaWRhdGVcbiAgICogQHBhcmFtIG1hbmRhdG9yeUZpZWxkc0xpc3QgLSBDb25maWd1cmF0aW9uIG9iamVjdCBkZWZpbmluZyB3aGljaCBmaWVsZHMgYXJlIG1hbmRhdG9yeVxuICAgKiBAcGFyYW0gZmVhdHVyZUZsYWdfZ3JvdXBzIC0gRmVhdHVyZSBmbGFnIGluZGljYXRpbmcgaWYgZ3JvdXAgYXNzaWdubWVudHMgYXJlIGVuYWJsZWRcbiAgICogQHJldHVybnMgT2JqZWN0IGNvbnRhaW5pbmcgdmFsaWRhdGlvbiByZXN1bHQgd2l0aCBgaXNWYWxpZGAgYm9vbGVhbiBhbmQgYGludmFsaWRUeXBlYCBzdHJpbmdcbiAgICogICAgICAgICAgaW5kaWNhdGluZyB3aGljaCBmaWVsZCBmYWlsZWQgdmFsaWRhdGlvbiAoZW1wdHkgc3RyaW5nIGlmIGFsbCB2YWxpZGF0aW9ucyBwYXNzKVxuICAgKi9cbiAgdmFsaWRhdGVSZXNwb25zaWJpbGl0eUJ5Q29uZmlnKFxuICAgIHJlc3BvbnNpYmlsaXR5Rm9ybTogYW55LFxuICAgIG1hbmRhdG9yeUZpZWxkc0xpc3Q6IGFueSxcbiAgICBmZWF0dXJlRmxhZ19ncm91cHM6IGJvb2xlYW5cbiAgKTogeyBpc1ZhbGlkOiBib29sZWFuOyBpbnZhbGlkVHlwZTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGZpZWxkcyA9IG1hbmRhdG9yeUZpZWxkc0xpc3QgfHwge307XG5cbiAgICBjb25zdCBjaGVja3M6IEFycmF5PHtcbiAgICAgIGtleTogc3RyaW5nO1xuICAgICAgcnVuOiAoKSA9PiBib29sZWFuO1xuICAgIH0+ID0gW1xuICAgICAgeyBrZXk6ICd3aG9tJywgcnVuOiAoKSA9PiB0aGlzLmlzT25CZWhhbGZNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/Lm9uQmVoYWxmPy5tYW5kYXRvcnkpIH0sXG4gICAgICB7IGtleTogJ3doYXQnLCBydW46ICgpID0+IHRoaXMuaXNOYW1lTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5uYW1lPy5tYW5kYXRvcnkpIH0sXG4gICAgICB7IGtleTogJ3dobycsIHJ1bjogKCkgPT4gdGhpcy5pc0Fzc2lnbmVlTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5hc3NpZ25lZT8ubWFuZGF0b3J5LCBmZWF0dXJlRmxhZ19ncm91cHMpIH0sXG4gICAgICB7IGtleTogJ3doZW4nLCBydW46ICgpID0+IHRoaXMuaXNGcmVxdWVuY3lNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LmZyZXF1ZW5jeT8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdub3RlcycsIHJ1bjogKCkgPT4gdGhpcy5pc05vdGVNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/Lm5vdGU/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAnb2JqZWN0aXZlJywgcnVuOiAoKSA9PiB0aGlzLmlzT2JqZWN0aXZlTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5vYmplY3RpdmU/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAncmMnLCBydW46ICgpID0+IHRoaXMuaXNSY01pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8ucmM/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAncHJvZ3JhbScsIHJ1bjogKCkgPT4gdGhpcy5pc1Byb2dyYW1NaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LnByb2dyYW0/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAnZm9ybWF0QW5kRXZpZGVuY2UnLCBydW46ICgpID0+IHRoaXMuaXNGb3JtYXRBbmRFdmlkZW5jZU1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8uZm9ybWF0QW5kRXZpZGVuY2U/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAnYXNzZXNzbWVudCcsIHJ1bjogKCkgPT4gdGhpcy5pc0Fzc2Vzc21lbnRNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LmFzc2Vzc21lbnQ/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAncmV2aWV3ZXInLCBydW46ICgpID0+IHRoaXMuaXNSZXZpZXdlck1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8ucmV2aWV3ZXI/Lm1hbmRhdG9yeSwgZmVhdHVyZUZsYWdfZ3JvdXBzKSB9LFxuICAgICAgeyBrZXk6ICdjYycsIHJ1bjogKCkgPT4gdGhpcy5pc0NjTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5jYz8ubWFuZGF0b3J5LCBmZWF0dXJlRmxhZ19ncm91cHMpIH0sXG4gICAgICB7IGtleTogJ2ZjYycsIHJ1bjogKCkgPT4gdGhpcy5pc0ZjY01pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8uZmNjPy5tYW5kYXRvcnksIGZlYXR1cmVGbGFnX2dyb3VwcykgfSxcbiAgICAgIHsga2V5OiAnZ3JjJywgcnVuOiAoKSA9PiB0aGlzLmlzR3JjTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5ncmM/Lm1hbmRhdG9yeSkgfSxcbiAgICBdO1xuXG4gICAgZm9yIChjb25zdCBjaGVjayBvZiBjaGVja3MpIHtcbiAgICAgIGlmIChjaGVjay5ydW4oKSkge1xuICAgICAgICByZXR1cm4geyBpc1ZhbGlkOiBmYWxzZSwgaW52YWxpZFR5cGU6IGNoZWNrLmtleSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGlzVmFsaWQ6IHRydWUsIGludmFsaWRUeXBlOiAnJyB9O1xuICB9XG5cbiAgLy8gLS0gUHJpdmF0ZSB2YWxpZGF0aW9uIGhlbHBlcnMgLS1cbiAgcHJpdmF0ZSB0ZXh0SXNCbGFuayh2YWx1ZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdmFsdWUgfHwgdGhpcy5jaGVja0JsYW5rKHZhbHVlKS50cmltKCkgPT09ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09uQmVoYWxmTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJlcXVpcmVkICYmXG4gICAgICBmb3JtPy5hc3NpZ25vcnM/LmVuYWJsZSAmJlxuICAgICAgZm9ybT8uYXNzaWdub3JzPy5saXN0Py5sZW5ndGggPT09IDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05hbWVNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVxdWlyZWQgJiYgdGhpcy50ZXh0SXNCbGFuayhmb3JtPy5yZXNwb25zaWJpbGl0eT8ubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGlzQXNzaWduZWVNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4sIGZlYXR1cmVGbGFnR3JvdXBzOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKCFyZXF1aXJlZCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGhhc1VzZXJBc3NpZ25lZXMgPSAhIWZvcm0/LmFzc2lnbmVlcz8ubGlzdD8ubGVuZ3RoO1xuICAgIGNvbnN0IGhhc0dyb3VwQXNzaWduZWVzID0gISFmb3JtPy5hc3NpZ25lZUdyb3Vwcz8ubGlzdD8ubGVuZ3RoO1xuICAgIHJldHVybiAhaGFzVXNlckFzc2lnbmVlcyAmJiAoIWZlYXR1cmVGbGFnR3JvdXBzIHx8ICFoYXNHcm91cEFzc2lnbmVlcyk7XG4gIH1cblxuICBwcml2YXRlIGlzRnJlcXVlbmN5TWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJlcXVpcmVkICYmXG4gICAgICAoIWZvcm0/LmZyZXF1ZW5jeSB8fCBmb3JtPy5mcmVxdWVuY3kgPT09ICcnIHx8IGZvcm0/LmZyZXF1ZW5jeSA9PT0gJzV+MH4wfjAnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzTm90ZU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXF1aXJlZCAmJiB0aGlzLnRleHRJc0JsYW5rKGZvcm0/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPYmplY3RpdmVNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVxdWlyZWQgJiYgdGhpcy50ZXh0SXNCbGFuayhmb3JtPy5vYmplY3RpdmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JjTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlcXVpcmVkICYmICEoZm9ybT8ucmM/Lmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Byb2dyYW1NaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHJlcXVpcmVkICYmICEoZm9ybT8ucHJvZ3JhbT8ubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gIHByaXZhdGUgaXNGb3JtYXRBbmRFdmlkZW5jZU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxdWlyZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBmZSA9IGZvcm0/LmZvcm1hdEFuZEV2aWRlbmNlO1xuICAgIGNvbnN0IGhhc0ZpbGVzID0gISFmZT8uZm9ybWF0RmlsZXM/Lmxlbmd0aDtcbiAgICBjb25zdCBoYXNMaW5rcyA9ICEhZmU/LmZvcm1hdExpbmtzPy5sZW5ndGg7XG4gICAgY29uc3QgcmVxdWlyZXNOb3RoaW5nID0gIWZlPy5mb3JtYXRSZXF1aXJlZCAmJiAhZmU/LmV2aWRlbmNlUmVxdWlyZWQ7XG4gICAgcmV0dXJuICFmZSB8fCAocmVxdWlyZXNOb3RoaW5nICYmICFoYXNGaWxlcyAmJiAhaGFzTGlua3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Fzc2Vzc21lbnRNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVxdWlyZWQgJiYgKCFmb3JtPy5hc3Nlc3NtZW50Py5hc3Nlc3NtZW50X2lkIHx8IGZvcm0/LmFzc2Vzc21lbnQ/LmFzc2Vzc21lbnRfaWQgPT09ICcnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUmV2aWV3ZXJNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4sIGZlYXR1cmVGbGFnR3JvdXBzOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKCFyZXF1aXJlZCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGhhc1Jldmlld2VycyA9ICEhZm9ybT8ucmV2aWV3ZXJzPy5saXN0Py5sZW5ndGg7XG4gICAgY29uc3QgaGFzR3JvdXBSZXZpZXdlcnMgPSAhIWZvcm0/Lmdyb3VwUmV2aWV3ZXJzPy5saXN0Py5sZW5ndGg7XG4gICAgcmV0dXJuICFoYXNSZXZpZXdlcnMgJiYgKCFmZWF0dXJlRmxhZ0dyb3VwcyB8fCAhaGFzR3JvdXBSZXZpZXdlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NjTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuLCBmZWF0dXJlRmxhZ0dyb3VwczogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxdWlyZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBoYXNDYyA9ICEhZm9ybT8ub3ZlcnNlZXJzPy5saXN0Py5sZW5ndGg7XG4gICAgY29uc3QgaGFzR3JvdXBDYyA9ICEhZm9ybT8ub3ZlcnNlZXJzR3JvdXBzPy5saXN0Py5sZW5ndGg7XG4gICAgcmV0dXJuICFoYXNDYyAmJiAoIWZlYXR1cmVGbGFnR3JvdXBzIHx8ICFoYXNHcm91cENjKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNGY2NNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4sIGZlYXR1cmVGbGFnR3JvdXBzOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKCFyZXF1aXJlZCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGhhc0ZjYyA9ICEhZm9ybT8ub3ZlcnNlZXJzPy5ub3RpZnlMaXN0Py5sZW5ndGg7XG4gICAgY29uc3QgaGFzR3JvdXBGY2MgPSAhIWZvcm0/Lm92ZXJzZWVyc0dyb3Vwcz8ubm90aWZ5TGlzdD8ubGVuZ3RoO1xuICAgIHJldHVybiAhaGFzRmNjICYmICghZmVhdHVyZUZsYWdHcm91cHMgfHwgIWhhc0dyb3VwRmNjKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNHcmNNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVxdWlyZWQgJiYgIShmb3JtPy5zZWxlY3RlZEdSQ09iamVjdHM/Lmxlbmd0aCA+IDApO1xuICB9XG59XG4iXX0=
|
|
533
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXhELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUt2RCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUNVLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ3BCLE1BQXVCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFqQmxDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGVBQVUsR0FBeUIsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDekQsV0FBTSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM1RCxpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUNsRSwwQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQ3RFLEVBQUUsQ0FDSCxDQUFDO1FBQ0ssY0FBUyxHQUF5QixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUMvRCwwQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQ3RFLEVBQUUsQ0FDSCxDQUFDO1FBQ00saUJBQVksR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDcEUsaUJBQVks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QVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxZQUFZLENBQUMsSUFBUyxFQUFFLFFBQWlCO1FBQy9DLE9BQU8sUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBOXZCVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxQkksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXNzbWVudExpc3QgfSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9zZXJ2aWNlL2Fzc2Vzc21lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXNwb25zaWJpbHR5LmludGVyZmFjZSc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIHtcbiAgZW52ITogYW55O1xuICBkYXRhUGVyUGFnZSA9IDMwO1xuXG4gIGdyY093bmVycyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFtdKTtcbiAgcHVibGljIFJDTGlzdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xuICBwdWJsaWMgQXNzaWdub3JMaXN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihbXSk7XG4gIHB1YmxpYyBBc3N1cmFuY2VMaXN0Rm9yQXVkaXQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFxuICAgIFtdXG4gICk7XG4gIHB1YmxpYyBHcm91cExpc3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFtdKTtcbiAgcHVibGljIEFzc3VyYW5jZUNhdGVnb3J5TGlzdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oXG4gICAgW11cbiAgKTtcbiAgcHJpdmF0ZSBvdmVyc2Vlckxpc3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICBwcml2YXRlIHBvbGljeUdyb3VwczogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcbiAgICB9XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgIGlmICh0aGlzLlJDTGlzdC5nZXRWYWx1ZSgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuUkNMaXN0LmdldFZhbHVlKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LmNvbXBsaWFuY2VHZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJywge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5SQ0xpc3QubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25Hcm91cHMocGFyYW1zPzogSHR0cFBhcmFtcykge1xuICAgIGlmICh0aGlzLkdyb3VwTGlzdC5nZXRWYWx1ZSgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuR3JvdXBMaXN0LmdldFZhbHVlKCkpO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnZ3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2UnLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuR3JvdXBMaXN0Lm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uUG9saWN5R3JvdXBzKHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcbiAgICBpZiAodGhpcy5wb2xpY3lHcm91cHM/LmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLnBvbGljeUdyb3Vwcz8udmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgK1xuICAgICAgICAgICdncm91cHNMaXN0JnBlcm1UeXBlPW1hbmFnZVBvbGljaWVzJmZldGNoX2FsbD10cnVlJyxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnBvbGljeUdyb3Vwcy5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0T3JnYW5pemF0aW9uT3ZlcnNlZXJzR3JvdXBzKHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcbiAgICBpZiAodGhpcy5vdmVyc2Vlckxpc3Q/LmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLm92ZXJzZWVyTGlzdD8udmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JmZldGNoX2FsbD10cnVlJywge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5vdmVyc2Vlckxpc3QubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldE9yZ2FuaXphdGlvblVzZXJzKCkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXphdGlvblVzZXJzJywge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldE9yZ2FuaXphdGlvblBlb3BsZShwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdwZW9wbGUnLCB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRBc3NpZ25vcnNMaXN0KHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcbiAgICBpZiAodGhpcy5Bc3NpZ25vckxpc3QuZ2V0VmFsdWUoKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLkFzc2lnbm9yTGlzdC5nZXRWYWx1ZSgpKTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPihcbiAgICAgICAgdGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbml6YXRpb25Vc2VycyZpc09uQmVoYWxmPTEnLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuQXNzaWdub3JMaXN0Lm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcmllc0xpc3QoKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPihcbiAgICAgICAgdGhpcy5lbnY/LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG4gIGdldFByb2dyYW1zTGlzdChwYXJhbXM6IEh0dHBQYXJhbXMsIGlkcz86IGFueSkge1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIGNvbnN0IHByb2dyYW1JZCA9IHsgcHJvZ3JhbUlkOiBpZHMgfTtcbiAgICBpZiAoaWRzPy5sZW5ndGgpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgncGF5bG9hZC1vYmplY3QnLCBKU09OLnN0cmluZ2lmeShwcm9ncmFtSWQpKTtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAucG9zdDxhbnlbXT4oXG4gICAgICAgICAgdGhpcy5lbnY/LmNvbXBsaWFuY2VQb3N0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdCcsXG4gICAgICAgICAgcHJvZ3JhbUlkLFxuICAgICAgICAgIHsgcGFyYW1zLCBoZWFkZXJzIH1cbiAgICAgICAgKVxuICAgICAgICAucGlwZShyZXRyeSgyKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvcHJvZ3JhbUxpc3QnLCB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRQcm9ncmFtc0xpc3RDb3VudChwYXJhbXM6IEh0dHBQYXJhbXMsIGlkcz86IGFueSkge1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdENvdW50JyxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cbiAgZ2V0Q2F0ZWdvcmllc1VuZGVyUHJvZ3JhbShwYXJhbXM6IEh0dHBQYXJhbXMpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeUxpc3RUcmVlJyxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cbiAgZ2V0QXNzdXJhbmNlKCkge1xuICAgIGlmICh0aGlzLkFzc3VyYW5jZUNhdGVnb3J5TGlzdC5nZXRWYWx1ZSgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuQXNzdXJhbmNlQ2F0ZWdvcnlMaXN0LmdldFZhbHVlKCkpO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUdldCArICdjYXRlZ29yeS9saXN0JmlkPTEnLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5Bc3N1cmFuY2VDYXRlZ29yeUxpc3QubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRSQ0RldGFpbHNPZkZyYW1ld29yayhyY19pZDogYW55LCBjYXRlZ29yeV9pZDogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgK1xuICAgICAgICAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5UkNUcmVlQnlJZCZpZD0nICtcbiAgICAgICAgY2F0ZWdvcnlfaWQgK1xuICAgICAgICAnJnJjX2lkPScgK1xuICAgICAgICByY19pZCxcbiAgICAgIHsgaGVhZGVycyB9XG4gICAgKTtcbiAgfVxuXG4gIHN1Ym1pdEVudHJ1c3QoZW50cnVzdF9ib2R5OiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2NyZWF0ZVJlcG9ydCcsXG4gICAgICBlbnRydXN0X2JvZHksXG4gICAgICB7IGhlYWRlcnMgfVxuICAgICk7XG4gIH1cbiAgdXBkYXRlRW50cnVzdChlbnRydXN0X2JvZHk6IGFueSwgb2JqZWN0X2lkOiBhbnksIGlzRGVsZWdhdGU6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgdGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgK1xuICAgICAgICAnY3JlYXRlUmVwb3J0JnJlcG9ydElkPScgK1xuICAgICAgICBvYmplY3RfaWQgK1xuICAgICAgICAnJmlzRGVsZWdhdGU9MCcsXG4gICAgICBlbnRydXN0X2JvZHksXG4gICAgICB7IGhlYWRlcnMgfVxuICAgICk7XG4gIH1cblxuICBlZGl0UmVzcG9uc2liaWxpdHkob2JqZWN0SWQ6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChcbiAgICAgICAgdGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlUmVwb3J0L3JlcG9ydEJ5SWQmaWQ9JyArIG9iamVjdElkLFxuICAgICAgICB7IGhlYWRlcnMgfVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgYWRkQnVsa1Jlc3BvbnNpYmlsaXR5KGVudHJ1c3RfYm9keTogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICB0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdpbXBvcnQvY3JlYXRlJyxcbiAgICAgIGVudHJ1c3RfYm9keSxcbiAgICAgIHsgaGVhZGVycyB9XG4gICAgKTtcbiAgfVxuXG4gIHVwbG9hZFRvTm9kZShwYXlsb2FkOiBhbnksIGRlczogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArICdyaXNrL3Jlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCcsIHsgcmNfaWRfYXJyOiByY0FycmF5ID8/IFtdIH0sIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyBkZXMsIHBheWxvYWQsIHtcbiAgICAgIGhlYWRlcnMsXG4gICAgfSk7XG4gIH1cblxuICBmaWxlc1VwbG9hZGluZzogYW55W10gPSBbXTtcbiAgZmlsZXNVcGxvYWRlZDogYW55W10gPSBbXTtcbiAgZmlsZXNVcGxvYWRlZEFuZFVwbG9hZGluZzogYW55W10gPSBbXTtcblxuICBnZXRDYXRlZ29yeURldGFpbHNCeUlkKGlkOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeVRyZWVCeUlkJmlkPScgKyBpZCxcbiAgICAgICAgeyBoZWFkZXJzIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEZyYW1lV29ya0NvdW50KHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2ZyYW1ld29ya2NvdW50JywgaHR0cE9wdGlvbnMpXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRGcmFtZVdvcmtMaXN0KHBhcmFtczogSHR0cFBhcmFtcykge1xuICAgIGxldCBodHRwT3B0aW9uczogYW55ID0ge307XG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvZnJhbWV3b3JrJywgaHR0cE9wdGlvbnMpXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cbiAgZ2V0RnJhbWV3b3JrU3ViQ2F0ZWdvcmllcyhpZDogYW55LCBwYXJhbXM6IEh0dHBQYXJhbXMpIHtcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2ZyYW1ld29yay8nICsgaWQsIGh0dHBPcHRpb25zKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0RnJhbWV3b3JrQ29udHJvbHMoaWQ6IGFueSwgcGFyYW1zOiBIdHRwUGFyYW1zKSB7XG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHBhcmFtcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9jb250cm9scy8nICsgaWQsIGh0dHBPcHRpb25zKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZmlsZVVwbG9hZChmaWxlOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdmaWxlL3VwbG9hZCcsIGZpbGUsIHtcbiAgICAgIGhlYWRlcnMsXG4gICAgfSk7XG4gIH1cblxuICBnZXRBc3Nlc3NtZW50Q2F0ZWdvcnkocGF5bG9hZDogYW55LCBwcm9ncmFtX2lkcz86IHN0cmluZykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoXG4gICAgICAgIHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICtcbiAgICAgICAgICAnY2F0ZWdvcnkvbGlzdCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUnICtcbiAgICAgICAgICAocHJvZ3JhbV9pZHMgPyAnJnByb2dyYW1faWRzPScgKyBwcm9ncmFtX2lkcyA6ICcnKSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgeyBoZWFkZXJzIH1cbiAgICAgIClcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcbiAgfVxuXG4gIGdldEFzc2Vzc21lbnRMaXN0KHBheWxvYWQ6IGFueSwgaWQ6IHN0cmluZywgcHJvZ3JhbV9pZHM/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4oXG4gICAgICAgIHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICtcbiAgICAgICAgICAnYXNzZXNzbWVudC9zZWxlY3RBc3Nlc3NtZW50JmlzQ3JlYXRlUmVzcG9uc2liaWxpdHk9dHJ1ZSZjYXRpZD0nICtcbiAgICAgICAgICBpZCArXG4gICAgICAgICAgKHByb2dyYW1faWRzID8gJyZwcm9ncmFtX2lkcz0nICsgcHJvZ3JhbV9pZHMgOiAnJyksXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHsgaGVhZGVycyB9XG4gICAgICApXG4gICAgICAucGlwZShyZXRyeSgyKSk7XG4gIH1cblxuICBnZXRBc3Nlc3NtZW50RGV0YWlsc0J5SUQoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8QXJyYXk8QXNzZXNzbWVudExpc3Q+PihcbiAgICAgICAgdGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnYXNzZXNzbWVudC9nZXRBc3Nlc3NtZW50QnlJZCZpZD0nICsgaWQsXG4gICAgICAgIHt9LFxuICAgICAgICB7IGhlYWRlcnMgfVxuICAgICAgKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgZ2V0R1JDT3duZXJMaXN0KCkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KFxuICAgICAgdGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICtcbiAgICAgICAgJ29yZ2FuaXphdGlvbk1lbWJlcnMmaXNHcmNPYmplY3Q9dHJ1ZSZ0eXBlPWFsbCcsXG4gICAgICB7IGhlYWRlcnMgfVxuICAgICk7XG4gIH1cblxuICBnZXRPYmplY3RUeXBlKCkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KFxuICAgICAgdGhpcy5lbnYuZ3JjX2dldCArICdncmNPYmplY3QvZ2V0R1JDVHlwZUxpc3QmcHJvamVjdGVkPTEnLFxuICAgICAge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRHUkNPYmplY3REZXRhaWxzKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPihcbiAgICAgIHRoaXMuZW52LmdyY19nZXQgKyAnZ3JjL2dyY0J5SWQmaXNFZGl0PXRydWUmaWQ9JyArIGlkLFxuICAgICAge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBhZGRHUkNPYmplY3QocGF5bG9hZDogYW55KSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LmdyY19nZXQgKyAnZ3JjL3NhdmVHUkMnLCBwYXlsb2FkLCB7XG4gICAgICBoZWFkZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlR1JDT2JqZWN0KHBheWxvYWQ6IGFueSwgX2lkOiBzdHJpbmcpIHtcbiAgICBwYXlsb2FkLl9pZCA9IF9pZDtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueVtdPih0aGlzLmVudi5ncmNfZ2V0ICsgJ2dyYy91cGRhdGVHUkMnLCBwYXlsb2FkLCB7XG4gICAgICBoZWFkZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9ybUNvbmZpZygpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8YW55W10+KFxuICAgICAgICB0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnY29tcGxpYW5jZU9wcyZjb25maWdUeXBlPXJlc3BvbnNpYmlsaXR5JyxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICByZXRyeSgyKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoX2Vycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKHsgZGF0YTogeyBmaWVsZHM6IHt9IH0gfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgYnVpbGRSZXNwb25zaWJpbGl0eVBheWxvYWQoZXZlbnQ6IGFueSk6IFJlc3BvbnNpYmlsaXR5IHwgbnVsbCB7XG4gICAgY29uc29sZS5sb2coZXZlbnQsICdldmVudCcpO1xuICAgIGNvbnN0IHBheWxvYWQ6IFJlc3BvbnNpYmlsaXR5ID0ge1xuICAgICAgdGl0bGU6IGV2ZW50LnJlcG9ydF9uYW1lLFxuICAgICAga2V5OiBldmVudC5pc19rZXlfY29tcGxpYW5jZSxcbiAgICAgIHJpc2tDbGFzczogdGhpcy5nZXRSaXNrQ2xhc3MoZXZlbnQucmlza19jbGFzcyksXG4gICAgICBub3RlczogZXZlbnQucmVtYXJrcyxcbiAgICAgIG9iamVjdGl2ZTogZXZlbnQub2JqZWN0aXZlLFxuICAgICAgZnJlcXVlbmN5OiBldmVudC5mcmVxdWVuY3ksXG4gICAgICBhc3NpZ25vcklkOiBldmVudC5tZW1iZXJfaWQsXG4gICAgICBhc3NpZ25lZToge1xuICAgICAgICB0eXBlOiAgZXZlbnQuaXNHcm91cEFzc2lnblRvID8gJ2FueV9vbmUnIDogJ2FsbCcsXG4gICAgICAgIHVzZXJJZDogZXZlbnQuYXNzaWduZWVfbWVtYmVyX2lkPy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpLFxuICAgICAgICB1c2VyR3JvdXBJZDogZXZlbnQuaXNHcm91cEFzc2lnblRvID9ldmVudC51c2VyR3JvdXBJZHM/LmFzc2lnbmVlQW55b25lR3JvdXBJZHMgOiAgZXZlbnQudXNlckdyb3VwSWRzPy5hc3NpZ25lZUFsbEdyb3VwSWRzc1xuICAgICAgfSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB7XG4gICAgICAgIHR5cGU6ICBldmVudC5yZXNwb25zaWJpbGl0eUNlbnRlclR5cGUgPyAnYW55JyA6ICdhbGwnLFxuICAgICAgICBpZDogZXZlbnQucmVzcG9uc2liaWxpdHlDZW50ZXJBcnJcbiAgICAgIH0sXG4gICAgICByZXZpZXdlcjoge1xuICAgICAgICB0eXBlOiBldmVudC5yZXZpZXdlcl9hcnI/LnR5cGU/LnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHVzZXJJZDogZXZlbnQucmV2aWV3ZXJfYXJyPy5sZXZlbDE/LnJldmlld2Vycz8ubWFwKChyZXZpZXdlcjogYW55KSA9PiByZXZpZXdlcj8ubWVtYmVyX2lkKSxcbiAgICAgICAgZnJlcXVlbmN5OiB7XG4gICAgICAgICAgZHVlRGF5czogZXZlbnQ/LnJldmlld19hZnRlcl9kYXlzLFxuICAgICAgICAgIGV4dGVuc2lvbkRheXM6IGV2ZW50Py5yZXZpZXdfZmFpbGVkX2FmdGVyX2RheXNcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG92ZXJzZWVyOiB7XG4gICAgICAgIHN1Y2Nlc3M6IHtcbiAgICAgICAgICB1c2VySWQ6IGV2ZW50LmNjX21lbWJlcl9lbWFpbD8uc3BsaXQoJywnKT8uZmlsdGVyKEJvb2xlYW4pPy5tYXAoTnVtYmVyKSxcbiAgICAgICAgICB1c2VyR3JvdXBJZDogZXZlbnQudXNlckdyb3VwSWRzPy5jY0VtYWlsR3JvdXBJZHNcbiAgICAgICAgfSxcbiAgICAgICAgZmFpbDoge1xuICAgICAgICAgIHVzZXJJZDogZXZlbnQuZmFpbHVyZV9jY19tZW1iZXJfZW1haWw/LnNwbGl0KCcsJyk/LmZpbHRlcihCb29sZWFuKT8ubWFwKE51bWJlciksXG4gICAgICAgICAgdXNlckdyb3VwSWQ6IGV2ZW50LnVzZXJHcm91cElkcz8uZmFpbHVyZUNDRW1haWxHcm91cElkc1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXZpZGVuY2U6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGV2ZW50LnJlcG9ydF91cGxvYWRfZmxhZyxcbiAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgdHlwZTogZXZlbnQucmVwb3J0X2Zvcm1hdD8ubGVuZ3RoID8gJ2ZpbGUnIDogKGV2ZW50LmxpbmtfZm9yX2RldGFpbHM/Lmxlbmd0aCA/ICdsaW5rJyA6ICcnKSxcbiAgICAgICAgICBkYXRhOiBldmVudD8ucmVwb3J0X2Zvcm1hdD8ubGVuZ3RoID8gZXZlbnQucmVwb3J0X2Zvcm1hdCA6IGV2ZW50Py5saW5rX2Zvcl9kZXRhaWxzXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0YWdzOiBKU09OLnBhcnNlKGV2ZW50LmN1c3RvbV90YWdzKSxcbiAgICAgIHByb2dyYW06IGV2ZW50LmNhdGVnb3J5X2lkPy5zcGxpdCgnLCcpPy5maWx0ZXIoQm9vbGVhbik/Lm1hcChOdW1iZXIpLFxuICAgICAgZ3JjT2JqZWN0SWQ6IGV2ZW50LmxpbmtlZF9HUkNfaWRzLFxuICAgICAgYXNzZXNzbWVudElkOiBldmVudC5hc3Nlc3NtZW50Py5hc3Nlc3NtZW50X2lkLFxuICAgICAgXG4gICAgfVxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9XG5cbiAgZ2V0Umlza0NsYXNzKHJpc2tDbGFzczogMCB8IDEgfCAyIHwgMyk6ICdsb3cnIHwgJ2xvdy1tZWRpdW0nIHwgJ21lZGl1bS1oaWdoJyB8ICdoaWdoJyAge1xuICAgIGNvbnN0IHJpc2tDbGFzc2VzOiBSZWNvcmQ8bnVtYmVyLCAnbG93JyB8ICdsb3ctbWVkaXVtJyB8ICdtZWRpdW0taGlnaCcgfCAnaGlnaCc+ID0ge1xuICAgICAgMDogJ2xvdycsXG4gICAgICAxOiAnbG93LW1lZGl1bScsXG4gICAgICAyOiAnbWVkaXVtLWhpZ2gnLFxuICAgICAgMzogJ2hpZ2gnXG4gICAgfTtcbiAgICByZXR1cm4gcmlza0NsYXNzZXNbcmlza0NsYXNzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIEhUTUwgZW50aXRpZXMgYW5kIHRhZ3MgZnJvbSBhIHN0cmluZyBhbmQgdHJpbXMgd2hpdGVzcGFjZS5cbiAgICogVXNlZCB0byBjaGVjayBpZiBhIHJpY2ggdGV4dCBmaWVsZCBpcyBlZmZlY3RpdmVseSBibGFuay5cbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgc3RyaW5nIHRvIGNsZWFuXG4gICAqIEByZXR1cm5zIFRoZSBjbGVhbmVkIHN0cmluZyBvciBlbXB0eSBzdHJpbmcgaWYgaW5wdXQgaXMgZmFsc3lcbiAgICovXG4gIGNoZWNrQmxhbmsoZGF0YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IHRleHQgPSBkYXRhO1xuICAgICAgcmV0dXJuIHRleHRcbiAgICAgICAgLnJlcGxhY2UoL1xcJm5ic3A7L2csICcnKVxuICAgICAgICAucmVwbGFjZSgvPGJyXFxzKlxcLz8+KD86XFxzKil8PFxcL2JyPi9naSwgJycpXG4gICAgICAgIC50cmltKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSByZXNwb25zaWJpbGl0eSBmb3JtIGFnYWluc3QgdGhlIGN1cnJlbnQgbWFuZGF0b3J5IGZpZWxkIGNvbmZpZ3VyYXRpb24uXG4gICAqIFxuICAgKiBAcGFyYW0gcmVzcG9uc2liaWxpdHlGb3JtIC0gVGhlIHJlc3BvbnNpYmlsaXR5IGZvcm0gZGF0YSB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0gbWFuZGF0b3J5RmllbGRzTGlzdCAtIENvbmZpZ3VyYXRpb24gb2JqZWN0IGRlZmluaW5nIHdoaWNoIGZpZWxkcyBhcmUgbWFuZGF0b3J5XG4gICAqIEBwYXJhbSBmZWF0dXJlRmxhZ19ncm91cHMgLSBGZWF0dXJlIGZsYWcgaW5kaWNhdGluZyBpZiBncm91cCBhc3NpZ25tZW50cyBhcmUgZW5hYmxlZFxuICAgKiBAcmV0dXJucyBPYmplY3QgY29udGFpbmluZyB2YWxpZGF0aW9uIHJlc3VsdCB3aXRoIGBpc1ZhbGlkYCBib29sZWFuIGFuZCBgaW52YWxpZFR5cGVgIHN0cmluZ1xuICAgKiAgICAgICAgICBpbmRpY2F0aW5nIHdoaWNoIGZpZWxkIGZhaWxlZCB2YWxpZGF0aW9uIChlbXB0eSBzdHJpbmcgaWYgYWxsIHZhbGlkYXRpb25zIHBhc3MpXG4gICAqL1xuICB2YWxpZGF0ZVJlc3BvbnNpYmlsaXR5QnlDb25maWcoXG4gICAgcmVzcG9uc2liaWxpdHlGb3JtOiBhbnksXG4gICAgbWFuZGF0b3J5RmllbGRzTGlzdDogYW55LFxuICAgIGZlYXR1cmVGbGFnX2dyb3VwczogYm9vbGVhblxuICApOiB7IGlzVmFsaWQ6IGJvb2xlYW47IGludmFsaWRUeXBlOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgZmllbGRzID0gbWFuZGF0b3J5RmllbGRzTGlzdCB8fCB7fTtcblxuICAgIGNvbnN0IGNoZWNrczogQXJyYXk8e1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICBydW46ICgpID0+IGJvb2xlYW47XG4gICAgfT4gPSBbXG4gICAgICB7IGtleTogJ3dob20nLCBydW46ICgpID0+IHRoaXMuaXNPbkJlaGFsZk1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8ub25CZWhhbGY/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAnd2hhdCcsIHJ1bjogKCkgPT4gdGhpcy5pc05hbWVNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/Lm5hbWU/Lm1hbmRhdG9yeSkgfSxcbiAgICAgIHsga2V5OiAnd2hvJywgcnVuOiAoKSA9PiB0aGlzLmlzQXNzaWduZWVNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LmFzc2lnbmVlPy5tYW5kYXRvcnksIGZlYXR1cmVGbGFnX2dyb3VwcykgfSxcbiAgICAgIHsga2V5OiAnd2hlbicsIHJ1bjogKCkgPT4gdGhpcy5pc0ZyZXF1ZW5jeU1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8uZnJlcXVlbmN5Py5tYW5kYXRvcnkpIH0sXG4gICAgICB7IGtleTogJ25vdGVzJywgcnVuOiAoKSA9PiB0aGlzLmlzTm90ZU1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8ubm90ZT8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdvYmplY3RpdmUnLCBydW46ICgpID0+IHRoaXMuaXNPYmplY3RpdmVNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/Lm9iamVjdGl2ZT8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdyYycsIHJ1bjogKCkgPT4gdGhpcy5pc1JjTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5yYz8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdwcm9ncmFtJywgcnVuOiAoKSA9PiB0aGlzLmlzUHJvZ3JhbU1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8ucHJvZ3JhbT8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdmb3JtYXRBbmRFdmlkZW5jZScsIHJ1bjogKCkgPT4gdGhpcy5pc0Zvcm1hdEFuZEV2aWRlbmNlTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5mb3JtYXRBbmRFdmlkZW5jZT8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdhc3Nlc3NtZW50JywgcnVuOiAoKSA9PiB0aGlzLmlzQXNzZXNzbWVudE1pc3NpbmcocmVzcG9uc2liaWxpdHlGb3JtLCAhIWZpZWxkcz8uYXNzZXNzbWVudD8ubWFuZGF0b3J5KSB9LFxuICAgICAgeyBrZXk6ICdyZXZpZXdlcicsIHJ1bjogKCkgPT4gdGhpcy5pc1Jldmlld2VyTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5yZXZpZXdlcj8ubWFuZGF0b3J5LCBmZWF0dXJlRmxhZ19ncm91cHMpIH0sXG4gICAgICB7IGtleTogJ2NjJywgcnVuOiAoKSA9PiB0aGlzLmlzQ2NNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LmNjPy5tYW5kYXRvcnksIGZlYXR1cmVGbGFnX2dyb3VwcykgfSxcbiAgICAgIHsga2V5OiAnZmNjJywgcnVuOiAoKSA9PiB0aGlzLmlzRmNjTWlzc2luZyhyZXNwb25zaWJpbGl0eUZvcm0sICEhZmllbGRzPy5mY2M/Lm1hbmRhdG9yeSwgZmVhdHVyZUZsYWdfZ3JvdXBzKSB9LFxuICAgICAgeyBrZXk6ICdncmMnLCBydW46ICgpID0+IHRoaXMuaXNHcmNNaXNzaW5nKHJlc3BvbnNpYmlsaXR5Rm9ybSwgISFmaWVsZHM/LmdyYz8ubWFuZGF0b3J5KSB9LFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIGNoZWNrcykge1xuICAgICAgaWYgKGNoZWNrLnJ1bigpKSB7XG4gICAgICAgIHJldHVybiB7IGlzVmFsaWQ6IGZhbHNlLCBpbnZhbGlkVHlwZTogY2hlY2sua2V5IH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgaXNWYWxpZDogdHJ1ZSwgaW52YWxpZFR5cGU6ICcnIH07XG4gIH1cblxuICAvLyAtLSBQcml2YXRlIHZhbGlkYXRpb24gaGVscGVycyAtLVxuICBwcml2YXRlIHRleHRJc0JsYW5rKHZhbHVlPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF2YWx1ZSB8fCB0aGlzLmNoZWNrQmxhbmsodmFsdWUpLnRyaW0oKSA9PT0gJyc7XG4gIH1cblxuICBwcml2YXRlIGlzT25CZWhhbGZNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVxdWlyZWQgJiZcbiAgICAgIGZvcm0/LmFzc2lnbm9ycz8uZW5hYmxlICYmXG4gICAgICBmb3JtPy5hc3NpZ25vcnM/Lmxpc3Q/Lmxlbmd0aCA9PT0gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzTmFtZU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXF1aXJlZCAmJiB0aGlzLnRleHRJc0JsYW5rKGZvcm0/LnJlc3BvbnNpYmlsaXR5Py5uYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBc3NpZ25lZU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbiwgZmVhdHVyZUZsYWdHcm91cHM6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgaGFzVXNlckFzc2lnbmVlcyA9ICEhZm9ybT8uYXNzaWduZWVzPy5saXN0Py5sZW5ndGg7XG4gICAgY29uc3QgaGFzR3JvdXBBc3NpZ25lZXMgPSAhIWZvcm0/LmFzc2lnbmVlR3JvdXBzPy5saXN0Py5sZW5ndGg7XG4gICAgcmV0dXJuICFoYXNVc2VyQXNzaWduZWVzICYmICghZmVhdHVyZUZsYWdHcm91cHMgfHwgIWhhc0dyb3VwQXNzaWduZWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNGcmVxdWVuY3lNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVxdWlyZWQgJiZcbiAgICAgICghZm9ybT8uZnJlcXVlbmN5IHx8IGZvcm0/LmZyZXF1ZW5jeSA9PT0gJycgfHwgZm9ybT8uZnJlcXVlbmN5ID09PSAnNX4wfjB+MCcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOb3RlTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlcXVpcmVkICYmIHRoaXMudGV4dElzQmxhbmsoZm9ybT8uZGVzY3JpcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09iamVjdGl2ZU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXF1aXJlZCAmJiB0aGlzLnRleHRJc0JsYW5rKGZvcm0/Lm9iamVjdGl2ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzUmNNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVxdWlyZWQgJiYgIShmb3JtPy5yYz8ubGVuZ3RoID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGlzUHJvZ3JhbU1pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXF1aXJlZCAmJiAhKGZvcm0/LnByb2dyYW0/Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICBwcml2YXRlIGlzRm9ybWF0QW5kRXZpZGVuY2VNaXNzaW5nKGZvcm06IGFueSwgcmVxdWlyZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgZmUgPSBmb3JtPy5mb3JtYXRBbmRFdmlkZW5jZTtcbiAgICBjb25zdCBoYXNGaWxlcyA9ICEhZmU/LmZvcm1hdEZpbGVzPy5sZW5ndGg7XG4gICAgY29uc3QgaGFzTGlua3MgPSAhIWZlPy5mb3JtYXRMaW5rcz8ubGVuZ3RoO1xuICAgIGNvbnN0IHJlcXVpcmVzTm90aGluZyA9ICFmZT8uZm9ybWF0UmVxdWlyZWQgJiYgIWZlPy5ldmlkZW5jZVJlcXVpcmVkO1xuICAgIHJldHVybiAhZmUgfHwgKHJlcXVpcmVzTm90aGluZyAmJiAhaGFzRmlsZXMgJiYgIWhhc0xpbmtzKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBc3Nlc3NtZW50TWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJlcXVpcmVkICYmICghZm9ybT8uYXNzZXNzbWVudD8uYXNzZXNzbWVudF9pZCB8fCBmb3JtPy5hc3Nlc3NtZW50Py5hc3Nlc3NtZW50X2lkID09PSAnJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Jldmlld2VyTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuLCBmZWF0dXJlRmxhZ0dyb3VwczogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxdWlyZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBoYXNSZXZpZXdlcnMgPSAhIWZvcm0/LnJldmlld2Vycz8ubGlzdD8ubGVuZ3RoO1xuICAgIGNvbnN0IGhhc0dyb3VwUmV2aWV3ZXJzID0gISFmb3JtPy5ncm91cFJldmlld2Vycz8ubGlzdD8ubGVuZ3RoO1xuICAgIHJldHVybiAhaGFzUmV2aWV3ZXJzICYmICghZmVhdHVyZUZsYWdHcm91cHMgfHwgIWhhc0dyb3VwUmV2aWV3ZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDY01pc3NpbmcoZm9ybTogYW55LCByZXF1aXJlZDogYm9vbGVhbiwgZmVhdHVyZUZsYWdHcm91cHM6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgaGFzQ2MgPSAhIWZvcm0/Lm92ZXJzZWVycz8ubGlzdD8ubGVuZ3RoO1xuICAgIGNvbnN0IGhhc0dyb3VwQ2MgPSAhIWZvcm0/Lm92ZXJzZWVyc0dyb3Vwcz8ubGlzdD8ubGVuZ3RoO1xuICAgIHJldHVybiAhaGFzQ2MgJiYgKCFmZWF0dXJlRmxhZ0dyb3VwcyB8fCAhaGFzR3JvdXBDYyk7XG4gIH1cblxuICBwcml2YXRlIGlzRmNjTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuLCBmZWF0dXJlRmxhZ0dyb3VwczogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxdWlyZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBoYXNGY2MgPSAhIWZvcm0/Lm92ZXJzZWVycz8ubm90aWZ5TGlzdD8ubGVuZ3RoO1xuICAgIGNvbnN0IGhhc0dyb3VwRmNjID0gISFmb3JtPy5vdmVyc2VlcnNHcm91cHM/Lm5vdGlmeUxpc3Q/Lmxlbmd0aDtcbiAgICByZXR1cm4gIWhhc0ZjYyAmJiAoIWZlYXR1cmVGbGFnR3JvdXBzIHx8ICFoYXNHcm91cEZjYyk7XG4gIH1cblxuICBwcml2YXRlIGlzR3JjTWlzc2luZyhmb3JtOiBhbnksIHJlcXVpcmVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlcXVpcmVkICYmICEoZm9ybT8uc2VsZWN0ZWRHUkNPYmplY3RzPy5sZW5ndGggPiAwKTtcbiAgfVxufVxuIl19
|