ngx-histaff-alpha 3.9.2 → 3.9.3
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/app/libraries/core-page-edit/core-page-edit.component.mjs +11 -7
- package/esm2022/lib/app/libraries/core-qrcode/core-qrcode.component.mjs +39 -0
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/ngx-histaff-alpha.mjs +48 -7
- package/fesm2022/ngx-histaff-alpha.mjs.map +1 -1
- package/lib/app/libraries/core-qrcode/core-qrcode.component.d.ts +14 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
|
@@ -322,7 +322,9 @@ export class CorePageEditComponent {
|
|
|
322
322
|
if (this.forceListRefreshOnCreateOrUpdate) {
|
|
323
323
|
this.corePageListService.instanceRequery(this.listInstance);
|
|
324
324
|
}
|
|
325
|
-
|
|
325
|
+
if (!this.stayAfterSubmit) {
|
|
326
|
+
this.router.navigate(['../'], { /* experiment*/ replaceUrl: true, relativeTo: this.route, state: { id: body.innerBody.id || 0, instanceNumber: this.listInstance } });
|
|
327
|
+
}
|
|
326
328
|
}
|
|
327
329
|
}
|
|
328
330
|
else {
|
|
@@ -367,11 +369,13 @@ export class CorePageEditComponent {
|
|
|
367
369
|
if (this.forceListRefreshOnCreateOrUpdate) {
|
|
368
370
|
this.corePageListService.instanceRequery(this.listInstance);
|
|
369
371
|
}
|
|
370
|
-
if (this.
|
|
371
|
-
this.
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
372
|
+
if (!this.stayAfterSubmit) {
|
|
373
|
+
if (this.appConfigService.APP_TYPE === "MOBILE") {
|
|
374
|
+
this.router.navigate(['../'], { /* experiment*/ replaceUrl: true, relativeTo: this.route, state: { id: body.innerBody.id, instanceNumber: this.listInstance } });
|
|
375
|
+
}
|
|
376
|
+
else if (this.appConfigService.APP_TYPE === "WEBAPP") {
|
|
377
|
+
this.router.navigate(['../'], { relativeTo: this.route, state: { id: body.innerBody.id, instanceNumber: this.listInstance } });
|
|
378
|
+
}
|
|
375
379
|
}
|
|
376
380
|
}
|
|
377
381
|
}
|
|
@@ -507,4 +511,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
507
511
|
type: ViewChild,
|
|
508
512
|
args: ['containerBigger']
|
|
509
513
|
}] } });
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wYWdlLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L2NvcmUtcGFnZS1lZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9jb3JlLXBhZ2UtZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUE0QixNQUFNLGVBQWUsQ0FBQztBQU85SSxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWlDLE1BQU0sNENBQTRDLENBQUM7QUFDOUcsT0FBTyxFQUFhLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQjFHLE1BQU0sT0FBTyxxQkFBcUI7SUEyRGhDLFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4Qyx3QkFBa0QsRUFDbEQsbUJBQXdDLEVBQ3hDLEdBQXlCLEVBQ3pCLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxvQkFBMEMsRUFDMUMsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBZGxDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBMURuQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBTWpELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLbEMsdUJBQWtCLEdBQ3pCLEVBQUUsQ0FBQyxDQUFDLDZEQUE2RDtRQUN6RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBTWpFLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FDekIsb0JBQW9CLENBQUMsTUFBTSxDQUM1QixDQUFDO1FBSUYsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBVW5DLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQXFCaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBRSxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFTO1FBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNoQixNQUFNLE9BQU8sR0FBMkI7Z0JBQ3RDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRztnQkFDdEMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFTO2dCQUNqRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU87Z0JBQzdDLFVBQVUsRUFBRSxlQUFlLENBQUMsY0FBYztnQkFDMUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSztvQkFDdEMsRUFBRSxRQUFTLHVCQUF1QixJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVU7Z0JBQ25ELElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQztZQUNGLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLEtBQUssQ0FDSCx3REFBd0Q7Z0JBQ3hELElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7WUFDRixPQUFPLENBQUMsS0FBSyxDQUNYLHdEQUF3RDtnQkFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUM1QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQ2xCLENBQUM7YUFDSDtZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ2xELFVBQVUsRUFDVixLQUFLLENBQ04sQ0FBQTtTQUNGO1FBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQTtRQUNyRyxDQUFDLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBRTdDLElBQUksRUFBRSxHQUFXLEdBQUcsQ0FBQztvQkFDckIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7d0JBQzFCLElBQUk7NEJBQ0YsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt5QkFDcEI7d0JBQUMsTUFBTTs0QkFBRSxPQUFNO3lCQUFFO3FCQUNuQjt5QkFBTTt3QkFDTCxJQUFJOzRCQUNGLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7eUJBQ3ZDO3dCQUFDLE1BQU07NEJBQUUsT0FBTTt5QkFBRTtxQkFDbkI7b0JBRUQsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFO3dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUU3QyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDO3dCQUU1RCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7NEJBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDOzRCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQ0FDaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0NBQ3JCLE1BQU0sSUFBSSxHQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDO2dDQUN2QyxxQ0FBcUM7Z0NBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxFQUFFO29DQUMzQix5REFBeUQ7b0NBQ3pELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFO3dDQUN2QiwyQ0FBMkM7d0NBQzNDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzlDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FDdkIsQ0FBQzt3Q0FDRixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFOzRDQUM3QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0RBQzdDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO29EQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnREFDcEQsQ0FBQyxDQUFDLENBQUM7NENBQ0wsQ0FBQyxDQUFDLENBQUM7d0NBQ0wsQ0FBQyxDQUFDLENBQUM7d0NBRUgsOENBQThDO3dDQUM5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dDQUNsRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQzt3Q0FDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FDQUNwQztvQ0FDRCw0REFBNEQ7b0NBRTVELDhFQUE4RTtvQ0FDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTt3Q0FDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0Q0FDdkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dEQUNsQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssc0JBQXNCLENBQUMsVUFBVSxFQUFFO29EQUM3RCxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVMsQ0FBQyxDQUFBO2lEQUN4RDs0Q0FDSCxDQUFDLENBQUMsQ0FBQzt3Q0FDTCxDQUFDLENBQUMsQ0FBQztvQ0FDTCxDQUFDLENBQUMsQ0FBQztvQ0FFSCw0RUFBNEU7b0NBRTVFLG1EQUFtRDtvQ0FDbkQsdUNBQXVDO29DQUV2QyxtRUFBbUU7b0NBQ25FLHFDQUFxQztvQ0FFckMsaUNBQWlDO29DQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7b0NBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQ0FFeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTt3Q0FDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0Q0FDdkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dEQUNsQixJQUNFO29EQUNFLHNCQUFzQixDQUFDLE1BQU07b0RBQzdCLHNCQUFzQixDQUFDLFFBQVE7b0RBQy9CLHNCQUFzQixDQUFDLFNBQVM7aURBQ2pDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFDL0I7b0RBQ0EsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7d0RBRXRDLElBQUksU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTs0REFDeEMsUUFBUSxPQUFPLENBQUMsV0FBVyxFQUFFO2dFQUMzQixLQUFLLHNCQUFzQixDQUFDLE1BQU07b0VBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO3dFQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLDBCQUEwQixDQUFDLENBQUE7cUVBQ3RHO29FQUNELE1BQU07Z0VBRVIsS0FBSyxzQkFBc0IsQ0FBQyxRQUFRO29FQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUU7d0VBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtxRUFDdEc7b0VBQ0QsTUFBTTtnRUFDUixLQUFLLHNCQUFzQixDQUFDLFNBQVM7b0VBQ25DLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRTt3RUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxDQUFBO3FFQUN0RztvRUFDRCxNQUFNO2dFQUNSO29FQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtvRUFDckcsTUFBTTs2REFDVDt5REFFRjt3REFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLHdCQUF3Qjs2REFDMUIsY0FBYyxDQUNiLFNBQVMsRUFDVCxPQUFPLENBQUMsVUFBVTs0REFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUMxQzs2REFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0REFDZixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTs0REFDdkQsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dFQUM1QixNQUFNLElBQUksR0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQztnRUFDdkMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTtvRUFDM0IsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lFQUM5QztxRUFBTTtvRUFDTCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpRUFDcEM7NkRBQ0Y7d0RBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztxREFDSDtpREFDRjtnREFFRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssc0JBQXNCLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7b0RBQzlFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFrQixDQUFDLENBQUMsQ0FBQTtpREFDdEU7NENBRUgsQ0FBQyxDQUFDLENBQUM7d0NBQ0wsQ0FBQyxDQUFDLENBQUM7b0NBQ0wsQ0FBQyxDQUFDLENBQUM7b0NBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29DQUVuQyxzREFBc0Q7aUNBQ3ZEO2dDQUNELDJDQUEyQztnQ0FDM0MsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3hDLENBQUM7NEJBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQzt5QkFDSDtxQkFDRjt5QkFDSTt3QkFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQztxQkFDNUQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTthQUNGO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQzdDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxFQUFVO1FBRTdDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUMvRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM1QixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEIsa0ZBQWtGO1lBRWxGLElBQUksU0FBUyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxZQUFZLG1CQUFtQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFBO2FBQy9IO1NBRUY7YUFBTTtZQUNMLElBQUksU0FBUyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0RBQWdELElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQTthQUMxRztTQUNGO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQVM7UUFDMUIsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUNmLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxvREFBb0QsRUFBRSwwQkFBMEIsQ0FBQyxDQUFBO2FBQzFHO2lCQUFNO2dCQUNMLGlGQUFpRjthQUNsRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFFTiwrQ0FBK0M7UUFFL0MsMERBQTBEO1FBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQixHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLHNCQUFzQixDQUFDLFVBQVUsRUFBRTt3QkFDN0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQzt3QkFDNUQsK0JBQStCO3dCQUMvQixlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzt3QkFDckQsNEJBQTRCO3FCQUM3QjtnQkFDSCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQjtnQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSztnQkFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2FBQ25DLENBQ0YsQ0FBQztZQUNGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM3QixxQkFBcUI7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRCxPQUFPO1NBQ1I7YUFFSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDLEtBQUssRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVwQixNQUFNLGdDQUFnQyxHQUFzQztnQkFDMUUsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxXQUFXO2dCQUNoRixhQUFhLEVBQUUscUJBQXFCLENBQUMsYUFBYTtnQkFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUk7Z0JBQ2pELEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUzthQUNsRCxDQUFBO1lBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQzlELENBQUM7WUFFRixJQUFJLENBQUMsd0JBQXdCO2lCQUMxQixlQUFlLENBQ2QsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBRSxFQUNaO2dCQUNFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzFCLGdDQUFnQzthQUNqQyxDQUNGO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxHQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDO29CQUN2QyxxQ0FBcUM7b0JBQ3JDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7d0JBQzNCLElBQUksU0FBUyxFQUFFLEVBQUU7NEJBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQ2pDO3dCQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUVoQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDeEMsQ0FBQzt3QkFFRjs7d0JBRUE7d0JBQ0EsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUMxRCxJQUFJLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTs0QkFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7eUJBQzdEO3dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUN2SztpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBTSxnQ0FBZ0MsR0FBc0M7Z0JBQzFFLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksV0FBVztnQkFDaEYsYUFBYSxFQUFFLHFCQUFxQixDQUFDLFdBQVc7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJO2dCQUNqRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM5QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVM7YUFDbEQsQ0FBQTtZQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDM0csTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEcsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDLENBQ2hFLENBQUM7WUFDRixJQUFJLENBQUMsd0JBQXdCO2lCQUMxQixlQUFlLENBQ2QsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNYO2dCQUNFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzFCLGdDQUFnQztnQkFDaEMsd0JBQXdCO2FBQ3pCLENBQ0Y7aUJBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDNUIsTUFBTSxJQUFJLEdBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQ3ZDLHFDQUFxQztvQkFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDM0IsSUFBSSxTQUFTLEVBQUUsRUFBRTs0QkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzt5QkFDakM7d0JBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBRWhDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO3dCQUNGOzt3QkFFQTt3QkFDQSxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDckQsSUFBSSxJQUFJLENBQUMsZ0NBQWdDLEVBQUU7NEJBQ3pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUM3RDt3QkFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFOzRCQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3lCQUNsSzs2QkFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFOzRCQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3lCQUNoSTtxQkFDRjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFHRDs7O09BR0c7SUFFSCxNQUFNLENBQUMsQ0FBTTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUM5RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtZQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsd0JBQXdCO2FBQzFCLGVBQWUsQ0FDZCxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFFLEVBQ1osQ0FBQyxDQUNGO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLElBQUksR0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7Z0JBQ3ZELElBQUksU0FBUyxFQUFFLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ2pDO2dCQUVELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2xCLENBQUM7Z0JBRUY7O2tCQUVFO2dCQUNGLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUVyRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixPQUFNO1NBQ1A7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBaUI7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQWdDO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDeEMsQ0FBQztJQUNKLENBQUM7OEdBemlCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrdkNDcERsQyw2NEVBMENDLHcyQkRERyxZQUFZLG9IQUNaLFdBQVcsOEJBQ1gsbUJBQW1CLCtCQUNuQixpQkFBaUIsdVhBRWpCLDhCQUE4Qiw2RkFDOUIsdUJBQXVCOzsyRkFLZCxxQkFBcUI7a0JBZmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYiw4QkFBOEI7d0JBQzlCLHVCQUF1QjtxQkFDeEI7c2dCQUtRLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBSUUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSx5QkFBeUI7c0JBQWxDLE1BQU07Z0JBRWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDUSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGlzRGV2TW9kZSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBUZW1wbGF0ZVJlZiwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBDb3JlUGFnZUVkaXRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlLXBhZ2UtZWRpdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5pbWF0ZWRUZXh0U2VydmljZSB9IGZyb20gJy4uL2FuaW1hdGVkLXRleHQvYW5pbWF0ZWQtdGV4dC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVGb3JtU2VydmljZSB9IGZyb20gJy4uL2NvcmUtZm9ybS9jb3JlLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IElDb3JlRm9ybVNlY3Rpb24sIH0gZnJvbSAnLi4vY29yZS1mb3JtL2NvcmUtZm9ybS9lbnVtLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDb3JlRm9ybUNvbXBvbmVudCwgSUR5bmFtaWNGb3JtRW1pdE9uRm9ybUNyZWF0ZWQgfSBmcm9tICcuLi9jb3JlLWZvcm0vY29yZS1mb3JtL2NvcmUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZUJ1dHRvblZOU0NvZGUgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0VudW1Db3JlQnV0dG9uVk5TQ29kZSc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBDb21tb25IdHRwUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24taHR0cC1yZXF1ZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNdWx0aUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h1Yi1jb25uZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91cmwuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcm91dGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUh1YkNvbm5lY3Rpb25BY3Rpdml0eSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUh1YkNvbm5lY3Rpb25BY3Rpdml0eSc7XHJcbmltcG9ydCB7IEVudW1TaWduYWxSVHlwZSB9IGZyb20gJy4uLy4uL2VudW0vRW51bVNpZ25hbFJUeXBlJztcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgYWxlcnRPcHRpb25zLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hbGVydE9wdGlvbnMnO1xyXG5pbXBvcnQgeyBJU3lzTXV0YXRpb25Mb2dCZWZvcmVBZnRlclJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdCc7XHJcbmltcG9ydCB7IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtL0VudW1Gb3JtQmFzZUNvbnRvbFR5cGUnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVBhZ2VFZGl0TW9kZSB9IGZyb20gJy4vRW51bUNvcmVQYWdlRWRpdE1vZGUnO1xyXG5pbXBvcnQgeyBJQ29yZVBhZ2VFZGl0Q1JVRCB9IGZyb20gJy4vSUNvcmVQYWdlRWRpdENSVUQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZnVsbHNjcmVlbi1tb2RhbC1sb2FkZXIvZnVsbHNjcmVlbi1tb2RhbC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVBhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLXBhZ2UtaGVhZGVyL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXNwb25zZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNwb25zZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcC1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IElDb3JlQnV0dG9uVk5TIH0gZnJvbSAnLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9JQ29yZUJ1dHRvblZOUyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtcGFnZS1lZGl0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVGb3JtQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1wYWdlLWVkaXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtcGFnZS1lZGl0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlUGFnZUVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHN0YXlBZnRlclN1Ym1pdCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgd2lkdGghOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZW50aXR5VGFibGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGFzSWRPZlN0cmluZ1R5cGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNhcHRpb25Db2RlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxlZnRJbnB1dFNlY3Rpb25zITogSUNvcmVGb3JtU2VjdGlvbltdO1xyXG4gIEBJbnB1dCgpIGxlZnRJbnB1dFNlY3Rpb25zRmxleFNpemUhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2VjdGlvbnMhOiBJQ29yZUZvcm1TZWN0aW9uW107XHJcbiAgQElucHV0KCkgbm9ybWFsTW9kZSE6IGJvb2xlYW47IC8vIHRoaXMgYWxsb3dzIHRvIG9wZW4gdGhlIGVkaXQgZm9ybSBhcyB1c3VhbCBtb2RlXHJcbiAgQElucHV0KCkgYm90dG9tVGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGF1dG9HZXRCeUlkT2ZmITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhdXRvU3VibWl0TG9naWNPZmYhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGF1dG9DYW5jZWxMb2dpY09mZiE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY3VzdG9tRm9ybUJ1dHRvbkl0ZW1zITogRW51bUNvcmVCdXR0b25WTlNDb2RlW107XHJcbiAgQElucHV0KCkgbWl4ZWRNb2RlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjaGVja0Vycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIEBJbnB1dCgpIHNob3dTYXZlQnV0dG9uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkaXNhYmxlU2F2ZUJ1dHRvbiE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZm9yY2VMaXN0UmVmcmVzaE9uQ3JlYXRlT3JVcGRhdGUhOiBib29sZWFuO1xyXG5cclxuXHJcbiAgQE91dHB1dCgpIHN1Ym1pdExvZ2ljID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkZvcm1DcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblN1Ym1pdFN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNhbmNlbExvZ2ljID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBjcnVkITogSUNvcmVQYWdlRWRpdENSVUQ7XHJcbiAgQElucHV0KCkgZW50aXR5VW5pcXVlSW5kZXhzOiBzdHJpbmdbXVtdID1cclxuICAgIFtdOyAvKiBGb3IgZXg6IFtbJ2lkJ10sIFsncHJvdmluY2VJZCcsICdkaXN0cmljQ29kZSddXSAgZXRjLi4uICovXHJcbiAgQE91dHB1dCgpIG9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXJCaWdnZXInKSBjb250YWluZXJCaWdnZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICBzZWN0aW9ucyQhOiBCZWhhdmlvclN1YmplY3Q8SUNvcmVGb3JtU2VjdGlvbltdPjtcclxuICBtb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RW51bUNvcmVQYWdlRWRpdE1vZGU+KFxyXG4gICAgRW51bUNvcmVQYWdlRWRpdE1vZGUuQ1JFQVRFXHJcbiAgKTtcclxuXHJcbiAgY3VycmVudFZhbHVlOiBhbnk7XHJcbiAgaW5pdGlhbFZhbHVlITogc3RyaW5nO1xyXG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGZyb21VcmwhOiBzdHJpbmc7XHJcbiAgbGlzdEluc3RhbmNlITogbnVtYmVyO1xyXG4gIGxvYWRpbmchOiBib29sZWFuO1xyXG5cclxuICBsYW5nITogc3RyaW5nO1xyXG5cclxuICBzdWJtaXRUZXh0ITogRW51bVRyYW5zbGF0ZUtleTtcclxuXHJcbiAgc2hvd0NhcHRpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBzY3JvbGwhOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgY29yZVBhZ2VFZGl0U2VydmljZTogQ29yZVBhZ2VFZGl0U2VydmljZSxcclxuICAgIHByaXZhdGUgY29tbW9uSHR0cFJlcXVlc3RTZXJ2aWNlOiBDb21tb25IdHRwUmVxdWVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFuaW1hdGVkVGV4dFNlcnZpY2U6IEFuaW1hdGVkVGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVGb3JtU2VydmljZTogQ29yZUZvcm1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb3JlUGFnZUxpc3RTZXJ2aWNlOiBDb3JlUGFnZUxpc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodWJDb25uZWN0aW9uU2VydmljZTogSHViQ29ubmVjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRpbmdTZXJ2aWNlOiBSb3V0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVzcG9uc2VTZXJ2aWNlOiBSZXNwb25zZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuZnJvbVVybCA9IHRoaXMuY29yZVBhZ2VFZGl0U2VydmljZS5mcm9tVXJsO1xyXG4gICAgdGhpcy5saXN0SW5zdGFuY2UgPSBOdW1iZXIoXHJcbiAgICAgIHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdsaXN0SW5zdGFuY2UnKSFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbmRTaWduYWwoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBjb25uZWN0aW9uID0gdGhpcy5odWJDb25uZWN0aW9uU2VydmljZS5odWJDb25uZWN0aW9uJC52YWx1ZTtcclxuICAgIGlmICghIWNvbm5lY3Rpb24pIHtcclxuICAgICAgY29uc3QgbWVzc2FnZTogSUh1YkNvbm5lY3Rpb25BY3Rpdml0eSA9IHtcclxuICAgICAgICBzaWQ6IHRoaXMuYXV0aFNlcnZpY2UuZGF0YSQudmFsdWU/LmlkISxcclxuICAgICAgICB1c2VybmFtZTogdGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZT8uZnVsbE5hbWUhLFxyXG4gICAgICAgIGF2YXRhcjogdGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZT8uYXZhdGFyISxcclxuICAgICAgICBzaWduYWxUeXBlOiBFbnVtU2lnbmFsUlR5cGUuRU5USVRZX0NIQU5HRUQsXHJcbiAgICAgICAgbWVzc2FnZTogYCR7dGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZVxyXG4gICAgICAgICAgPy51c2VyTmFtZSF9IGhhcyBjaGFuZ2VkIGVudGl0eSAke3RoaXMuZW50aXR5VGFibGV9YCxcclxuICAgICAgICBsb2dpblRpbWU6IHRoaXMuYXV0aFNlcnZpY2UuZGF0YSQudmFsdWU/LmxvZ2luVGltZSEsXHJcbiAgICAgICAgZGF0YTogbnVsbCxcclxuICAgICAgfTtcclxuICAgICAgY29ubmVjdGlvbi5pbnZva2UoJ1NlbmRNZXNzYWdlJywgbWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUNvcmVGb3JtU2VjdGlvbltdPih0aGlzLnNlY3Rpb25zKTtcclxuXHJcbiAgICBpZiAoISEhdGhpcy5lbnRpdHlUYWJsZSkge1xyXG4gICAgICBhbGVydChcclxuICAgICAgICAnUHJvcGVydHkgZW50aXR5VGFibGUgKG5hbWUpIGlzIHJlcXVpcmVkIGZvciBjb21wb25lbnQgJyArXHJcbiAgICAgICAgdGhpcy5jYXB0aW9uQ29kZVxyXG4gICAgICApO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICdQcm9wZXJ0eSBlbnRpdHlUYWJsZSAobmFtZSkgaXMgcmVxdWlyZWQgZm9yIGNvbXBvbmVudCAnICtcclxuICAgICAgICB0aGlzLmNhcHRpb25Db2RlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoISF0aGlzLm5vcm1hbE1vZGUpIHtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5jb250YWluZXIpXHJcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0td2lkdGgnLCAnMTAwJScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCEhdGhpcy53aWR0aCkge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAnLS13aWR0aCcsXHJcbiAgICAgICAgICB0aGlzLndpZHRoICsgJ3B4J1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250YWluZXJCaWdnZXIubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAnLS1oZWlnaHQnLFxyXG4gICAgICAgICc5NSUnXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zY3JvbGwgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCA+IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCEhIXRoaXMubWl4ZWRNb2RlKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlXCIsIHgpXHJcblxyXG4gICAgICAgICAgICBsZXQgaWQ6IHN0cmluZyA9ICcwJztcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSWRPZlN0cmluZ1R5cGUpIHtcclxuICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgaWQgPSBhdG9iKHhbJ2lkJ10pO1xyXG4gICAgICAgICAgICAgIH0gY2F0Y2ggeyByZXR1cm4gfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBpZCA9IE51bWJlcihhdG9iKHhbJ2lkJ10pKS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgIH0gY2F0Y2ggeyByZXR1cm4gfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoaWQgIT09ICcwJykge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kZSQubmV4dChFbnVtQ29yZVBhZ2VFZGl0TW9kZS5VUERBVEUpO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdFRleHQgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fU0FWRTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKCEhIXRoaXMuYXV0b0dldEJ5SWRPZmYpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb3JlUGFnZUVkaXRTZXJ2aWNlLmdldEJ5SWQoaWQsIHRoaXMuY3J1ZC5yKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAvL3RoaXMucmVzcG9uc2VTZXJ2aWNlLnJlc29sdmUoYm9keSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKChib2R5LnN0YXR1c0NvZGUgPSAyMDApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKiAjcmVnaW9uIEV4Y2x1ZGUgc2VjdGlvbnMgd2l0aCBmbGFnIGFkZE1vZGVPbmx5PXRydWUgKi9cclxuICAgICAgICAgICAgICAgICAgICAgIGlmICghIWJvZHkuaW5uZXJCb2R5LmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSByZWxldmFudCBjb250cm9scyBmcm9tIGZvcm0gZ3JvdXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkTW9kZU9ubHlTZWN0aW9ucyA9IHRoaXMuc2VjdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICh4KSA9PiAhIXguYWRkTW9kZU9ubHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWRkTW9kZU9ubHlTZWN0aW9ucy5tYXAoKGFkZE1vZGVPbmx5U2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFkZE1vZGVPbmx5U2VjdGlvbi5yb3dzLm1hcCgoYWRkTW9kZU9ubHlSb3cpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZE1vZGVPbmx5Um93Lm1hcCgoYWRkTW9kZU9ubHlDb250cm9sKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKGFkZE1vZGVPbmx5Q29udHJvbC5maWVsZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgcmVsZXZhbnQgY29udHJvbHMgZnJvbSBmb3JtIHNlY3Rpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3Rpb25zID0gdGhpcy5zZWN0aW9ucy5maWx0ZXIoKHgpID0+ICEhIXguYWRkTW9kZU9ubHkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY3Rpb25zID0gbmV3U2VjdGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnMkLm5leHQodGhpcy5zZWN0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKiAjZW5kcmVnaW9uIEV4Y2x1ZGUgc2VjdGlvbnMgd2l0aCBmbGFnIGFkZE1vZGVPbmx5PXRydWUgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvKiAjcmVnaW9uOiBBc3NpZ24gdmFsdWUgdG8gYXR0YWNobWVudCBmaWVsZHMgd2hlbiBjb250cm9sVHlwZSA9IEFUVEFDSE1FTlQgKi9cclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24ucm93cy5tYXAoKHJvdykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5tYXAoKGNvbnRyb2wpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xUeXBlID09PSBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkFUVEFDSE1FTlQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC52YWx1ZVRvU2hvdyA9IGJvZHkuaW5uZXJCb2R5W2NvbnRyb2wuYXNzaWduVG8hXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNlbmRyZWdpb246IEFzc2lnbiB2YWx1ZSB0byBiYXNpYyBmaWVsZHMgd2hlbiBjb250cm9sVHlwZSA9IEFUVEFDSE1FTlQgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvKiAjcmVnaW9uOiBVc2luZyBQYXRjaFZhbHVlIGluc3RlYWQgb2Ygc2V0VmFsdWUgKi9cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIEZvcm1zIG9mdGVuIGhhdmUgZXh0cmEgaGVscGVyIGZpZWxkc1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHRodXMsIGlmIHdlIHVzZSBzZXRWYWx1ZSBtZXRob2QsIHRoZSBoZWxwZXIgZmllbGRzIHdpbGwgYmUgbG9zdDpcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZm9ybS5zZXRWYWx1ZShib2R5LmlubmVyQm9keSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBzbywgd2UgdXNlIHBhdGNoVmFsdWUgbWV0aG9kIDpcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gYm9keS5pbm5lckJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmN1cnJlbnRWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbi5yb3dzLm1hcCgocm93KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm93Lm1hcCgoY29udHJvbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bUZvcm1CYXNlQ29udG9sVHlwZS5TRUVLRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bUZvcm1CYXNlQ29udG9sVHlwZS5EUk9QRE9XTixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkNIRUNLTElTVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXS5pbmNsdWRlcyhjb250cm9sLmNvbnRyb2xUeXBlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIXRoaXMuY3VycmVudFZhbHVlW2NvbnRyb2wuZmllbGRdKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSAmJiAhISFjb250cm9sLmdldEJ5SWRBcGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udHJvbC5jb250cm9sVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuU0VFS0VSOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29udHJvbC5tdWx0aU1vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGBnZXRCeUlkQXBpIG5vdCBwcm92aWRlZCBmb3IgJyR7Y29udHJvbC5maWVsZH0nYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkRST1BET1dOOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghISFjb250cm9sLmRyb3Bkb3duT3B0aW9ucyQ/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihgZ2V0QnlJZEFwaSBub3QgcHJvdmlkZWQgZm9yICcke2NvbnRyb2wuZmllbGR9J2AsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkNIRUNLTElTVDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISEhY29udHJvbC5jaGVja2xpc3RPcHRpb25zJD8udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGBnZXRCeUlkQXBpIG5vdCBwcm92aWRlZCBmb3IgJyR7Y29udHJvbC5maWVsZH0nYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGBnZXRCeUlkQXBpIG5vdCBwcm92aWRlZCBmb3IgJyR7Y29udHJvbC5maWVsZH0nYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbkh0dHBSZXF1ZXN0U2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFrZUdldFJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldEJ5SWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZ2V0QnlJZEFwaSArXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYD9pZD0ke3RoaXMuY3VycmVudFZhbHVlW2NvbnRyb2wuZmllbGRdfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJmb3JtIGdldEJ5SWQgcmVzdWx0OiBcIiwgdGhpcy5jdXJyZW50VmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHgub2sgJiYgeC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYm9keS5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5nZXRCeUlkT2JqZWN0JD8ubmV4dChib2R5LmlubmVyQm9keSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLmdldEJ5SWRPYmplY3QkPy5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wuY29udHJvbFR5cGUgPT09IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuU0VFS0VSICYmIGNvbnRyb2wubXVsdGlNb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wub2JqZWN0TGlzdCQ/Lm5leHQoYm9keS5pbm5lckJvZHlbY29udHJvbC5nZXRPYmplY3RMaXN0RnJvbSFdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY3Rpb25zJC5uZXh0KHRoaXMuc2VjdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNlbmRyZWdpb246IFVzaW5nIFBhdGNoVmFsdWUgaW5zdGVhZCBvZiBzZXRWYWx1ZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyByZXR1cm4gaW5pdEZvcm1WYWx1ZVN0cmluZyB0byB0aGUgY2FsbGVyXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkluaXRpYWxWYWx1ZVN0cmluZ1JlYWR5LmVtaXQoXHJcbiAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb2RlJC5uZXh0KEVudW1Db3JlUGFnZUVkaXRNb2RlLkNSRUFURSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWJtaXRUZXh0ID0gRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX0FERDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4gdGhpcy5sYW5nID0geClcclxuICAgICAgKVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZVJlbG9hZEZsYWdGb3JUaGVDYWxsZXIoaWQ6IG51bWJlcik6IHZvaWQge1xyXG5cclxuICAgIGNvbnN0IGluc3RhbmNlc0ZpbHRlciA9IHRoaXMuY29yZVBhZ2VMaXN0U2VydmljZS5pbnN0YW5jZXMuZmlsdGVyKFxyXG4gICAgICAoeCkgPT4geC5pbnN0YW5jZU51bWJlciA9PT0gdGhpcy5saXN0SW5zdGFuY2VcclxuICAgICk7XHJcbiAgICBpZiAoISFpbnN0YW5jZXNGaWx0ZXIubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gaW5zdGFuY2VzRmlsdGVyWzBdO1xyXG4gICAgICBpbnN0YW5jZS5pZCQubmV4dChpZCk7XHJcbiAgICAgIC8vaWYgKCEhIXRoaXMubm9ybWFsTW9kZSkgaW5zdGFuY2UucmVsb2FkRmxhZyQ/Lm5leHQoIWluc3RhbmNlLnJlbG9hZEZsYWckLnZhbHVlKTtcclxuXHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmluZm8oYENvcmVQYWdlTGlzdCBpbnN0YW5jZSBudW1iZXIgJHt0aGlzLmxpc3RJbnN0YW5jZX0gY3VycmVudCBpZCBpczogJHtpbnN0YW5jZS5pZCQudmFsdWV9YCwgYWxlcnRPcHRpb25zKVxyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbyhgQ29yZVBhZ2VMaXN0IGluc3RhbmNlcyBkbyBub3QgaW5jbHVkZSBudW1iZXIgJHt0aGlzLmxpc3RJbnN0YW5jZX1gLCBhbGVydE9wdGlvbnMpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTm90T2syMDBSZXNwb25zZSh4OiBvYmplY3QpOiB2b2lkIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBpZiAoT2JqZWN0LmtleXMoeCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoXCJObyByZXNwb25zZSBjb250ZW50LiBJdCB3YXMgcG9zc2libHkgYSBDT1JTIGVycm9yLlwiLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvL3RoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKEpTT04uc3RyaW5naWZ5KHgsIG51bGwsIDIpLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKTogdm9pZCB7XHJcblxyXG4gICAgLyogSUYgaWQgaXMgZmFsc3kgPT4gQ1JFQVQsIG90aGVyd2lzZSBVUERBVEUgKi9cclxuXHJcbiAgICAvKiBGT1IgQ09OVFJPTCBPRiBUWVBFIEdSSURCVUZGRVIsIFNFVCBFVkVSWSBpZCBUTyBOVUxMICovXHJcbiAgICB0aGlzLnNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHtcclxuICAgICAgc2VjdGlvbi5yb3dzLm1hcChyb3cgPT4ge1xyXG4gICAgICAgIHJvdy5tYXAoY29udHJvbCA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhjb250cm9sLmNvbnRyb2xUeXBlKVxyXG4gICAgICAgICAgaWYgKGNvbnRyb2wuY29udHJvbFR5cGUgPT09IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuR1JJREJVRkZFUikge1xyXG4gICAgICAgICAgICBjb25zdCBhYnN0cmFjdENvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGNvbnRyb2wuZmllbGQpPy52YWx1ZTtcclxuICAgICAgICAgICAgLy8gVE8gRE8gMTcvMDgvMjAyMyA9PT09PT09PT09PVxyXG4gICAgICAgICAgICBhYnN0cmFjdENvbnRyb2w/LnZhbHVlPy5tYXAoKHg6IGFueSkgPT4geC5pZCA9IG51bGwpO1xyXG4gICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKCEhdGhpcy5taXhlZE1vZGUpIHtcclxuICAgICAgdGhpcy5zdWJtaXRMb2dpYy5lbWl0KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1vZGU6IHRoaXMuZm9ybS5nZXQoJ2VkaXRNb2RlJyk/LnZhbHVlLFxyXG4gICAgICAgICAgZm9ybVZhbHVlOiB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghIXRoaXMuYXV0b1N1Ym1pdExvZ2ljT2ZmKSB7XHJcbiAgICAgIC8vIERPIHlvdXIgbG9naWMgaGVyZVxyXG4gICAgICB0aGlzLnN1Ym1pdExvZ2ljLmVtaXQoSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsc2UgaWYgKCEhIXRoaXMuZm9ybS5nZXQoJ2lkJykhLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBzeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdDogSVN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0ID0ge1xyXG4gICAgICAgIHN5c0Z1bmN0aW9uQ29kZTogdGhpcy5yb3V0aW5nU2VydmljZS5jdXJyZW50RnVuY3Rpb24kLnZhbHVlPy5jb2RlIHx8ICdVTkRFRklORUQnLFxyXG4gICAgICAgIHN5c0FjdGlvbkNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQ1JFQVRFLFxyXG4gICAgICAgIGJlZm9yZTogSlNPTi5zdHJpbmdpZnkodGhpcy5jdXJyZW50VmFsdWUpID8/ICdcIlwiJyxcclxuICAgICAgICBhZnRlcjogSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpLFxyXG4gICAgICAgIHVzZXJuYW1lOiB0aGlzLmF1dGhTZXJ2aWNlLmRhdGEkLnZhbHVlPy51c2VyTmFtZSFcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5hbmltYXRlZFRleHRTZXJ2aWNlLnRleHQkLm5leHQoXHJcbiAgICAgICAgdGhpcy5tbHMudHJhbnMoRW51bVRyYW5zbGF0ZUtleS5VSV9ESUFMT0dfQURESU5HX1BMRUFTRV9XQUlUKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5jb21tb25IdHRwUmVxdWVzdFNlcnZpY2VcclxuICAgICAgICAubWFrZVBvc3RSZXF1ZXN0KFxyXG4gICAgICAgICAgJ2NyZWF0ZSAnICsgdGhpcy5lbnRpdHlUYWJsZSxcclxuICAgICAgICAgIHRoaXMuY3J1ZC5jISxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgLi4udGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXHJcbiAgICAgICAgICAgIHN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh4Lm9rICYmIHguc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgICAgIC8vdGhpcy5yZXNwb25zZVNlcnZpY2UucmVzb2x2ZShib2R5KTtcclxuICAgICAgICAgICAgaWYgKGJvZHkuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRTaWduYWwoYm9keS5pbm5lckJvZHkpO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5vblN1Ym1pdFN1Y2Nlc3MuZW1pdCh0cnVlKTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5vbkluaXRpYWxWYWx1ZVN0cmluZ1JlYWR5LmVtaXQoXHJcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSlcclxuICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgIFRyYW5zZmVyIG5ld2x5IGNyZWF0ZWQgcmVjb3JkIGlkXHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgdGhpcy50b2dnbGVSZWxvYWRGbGFnRm9yVGhlQ2FsbGVyKGJvZHkuaW5uZXJCb2R5LmlkIHx8IDApO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZvcmNlTGlzdFJlZnJlc2hPbkNyZWF0ZU9yVXBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvcmVQYWdlTGlzdFNlcnZpY2UuaW5zdGFuY2VSZXF1ZXJ5KHRoaXMubGlzdEluc3RhbmNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwgeyAvKiBleHBlcmltZW50Ki8gcmVwbGFjZVVybDogdHJ1ZSwgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgc3RhdGU6IHsgaWQ6IGJvZHkuaW5uZXJCb2R5LmlkIHx8IDAsIGluc3RhbmNlTnVtYmVyOiB0aGlzLmxpc3RJbnN0YW5jZSB9IH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm9uTm90T2syMDBSZXNwb25zZSh4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBzeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdDogSVN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0ID0ge1xyXG4gICAgICAgIHN5c0Z1bmN0aW9uQ29kZTogdGhpcy5yb3V0aW5nU2VydmljZS5jdXJyZW50RnVuY3Rpb24kLnZhbHVlPy5jb2RlIHx8ICdVTkRFRklORUQnLFxyXG4gICAgICAgIHN5c0FjdGlvbkNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfU0FWRSxcclxuICAgICAgICBiZWZvcmU6IEpTT04uc3RyaW5naWZ5KHRoaXMuY3VycmVudFZhbHVlKSA/PyAnXCJcIicsXHJcbiAgICAgICAgYWZ0ZXI6IEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKSxcclxuICAgICAgICB1c2VybmFtZTogdGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZT8udXNlck5hbWUhXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGExID0gdGhpcy5jb3JlRm9ybVNlcnZpY2UuZ2V0QWxsRm9ybUJhc2VDb250cm9sTmFtZXModGhpcy5sZWZ0SW5wdXRTZWN0aW9ucz8uZmlsdGVyKHggPT4gIXguaGlkZGVuKSk7XHJcbiAgICAgIGNvbnN0IGEyID0gdGhpcy5jb3JlRm9ybVNlcnZpY2UuZ2V0QWxsRm9ybUJhc2VDb250cm9sTmFtZXModGhpcy5zZWN0aW9ucz8uZmlsdGVyKHggPT4gIXguaGlkZGVuKSk7XHJcbiAgICAgIGNvbnN0IGFjdHVhbEZvcm1EZWNsYXJlZEZpZWxkcyA9IFsuLi5hMSwgLi4uYTJdO1xyXG5cclxuICAgICAgdGhpcy5hbmltYXRlZFRleHRTZXJ2aWNlLnRleHQkLm5leHQoXHJcbiAgICAgICAgdGhpcy5tbHMudHJhbnMoRW51bVRyYW5zbGF0ZUtleS5VSV9ESUFMT0dfVVBEQVRJTkdfUExFQVNFX1dBSVQpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY29tbW9uSHR0cFJlcXVlc3RTZXJ2aWNlXHJcbiAgICAgICAgLm1ha2VQb3N0UmVxdWVzdChcclxuICAgICAgICAgICd1cGRhdGUgJyArIHRoaXMuZW50aXR5VGFibGUsXHJcbiAgICAgICAgICB0aGlzLmNydWQudSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgLi4udGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXHJcbiAgICAgICAgICAgIHN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0LFxyXG4gICAgICAgICAgICBhY3R1YWxGb3JtRGVjbGFyZWRGaWVsZHNcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAoeC5vayAmJiB4LnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJvZHk6IElGb3JtYXRlZFJlc3BvbnNlID0geC5ib2R5O1xyXG4gICAgICAgICAgICAvL3RoaXMucmVzcG9uc2VTZXJ2aWNlLnJlc29sdmUoYm9keSk7XHJcbiAgICAgICAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kU2lnbmFsKGJvZHkuaW5uZXJCb2R5KTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMub25TdWJtaXRTdWNjZXNzLmVtaXQodHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMub25Jbml0aWFsVmFsdWVTdHJpbmdSZWFkeS5lbWl0KFxyXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgIFRyYW5zZmVyIGN1cnJlbnQgcmVjb3JkIGlkXHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgdGhpcy50b2dnbGVSZWxvYWRGbGFnRm9yVGhlQ2FsbGVyKGJvZHkuaW5uZXJCb2R5LmlkKTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5mb3JjZUxpc3RSZWZyZXNoT25DcmVhdGVPclVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb3JlUGFnZUxpc3RTZXJ2aWNlLmluc3RhbmNlUmVxdWVyeSh0aGlzLmxpc3RJbnN0YW5jZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmFwcENvbmZpZ1NlcnZpY2UuQVBQX1RZUEUgPT09IFwiTU9CSUxFXCIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJ10sIHsgLyogZXhwZXJpbWVudCovIHJlcGxhY2VVcmw6IHRydWUsIHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHN0YXRlOiB7IGlkOiBib2R5LmlubmVyQm9keS5pZCwgaW5zdGFuY2VOdW1iZXI6IHRoaXMubGlzdEluc3RhbmNlIH0gfSk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcENvbmZpZ1NlcnZpY2UuQVBQX1RZUEUgPT09IFwiV0VCQVBQXCIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgc3RhdGU6IHsgaWQ6IGJvZHkuaW5uZXJCb2R5LmlkLCBpbnN0YW5jZU51bWJlcjogdGhpcy5saXN0SW5zdGFuY2UgfSB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ob3RPazIwMFJlc3BvbnNlKHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIFBIxq/GoE5HIFRI4buoQyBOw4BZIMSQxq/hu6JDIFThuqBPIFJBIEtISSBERVYgVk5TLVBPUlRBTFxyXG4gICAqL1xyXG5cclxuICBvblNhdmUoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hbmltYXRlZFRleHRTZXJ2aWNlLnRleHQkLm5leHQoXHJcbiAgICAgIHRoaXMubWxzLnRyYW5zKEVudW1UcmFuc2xhdGVLZXkuVUlfRElBTE9HX0FERElOR19QTEVBU0VfV0FJVClcclxuICAgICk7XHJcbiAgICBpZiAoISF0aGlzLmFwcENvbmZpZ1NlcnZpY2UuREVCVUdfRU5BQkxFRCkge1xyXG4gICAgICBhbGVydChKU09OLnN0cmluZ2lmeShlLCBudWxsLCAyKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbW1vbkh0dHBSZXF1ZXN0U2VydmljZVxyXG4gICAgICAubWFrZVBvc3RSZXF1ZXN0KFxyXG4gICAgICAgICdjcmVhdGUgJyArIHRoaXMuZW50aXR5VGFibGUsXHJcbiAgICAgICAgdGhpcy5jcnVkLnMhLFxyXG4gICAgICAgIGVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zZVNlcnZpY2UucmVzb2x2ZShib2R5KTtcclxuICAgICAgICBpZiAoeC5vayAmJiB4LnN0YXR1cyA9PT0gMjAwICYmIGJvZHkuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2lnbmFsKGJvZHkuaW5uZXJCb2R5KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZSlcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgLypcclxuICAgICAgICAgIFRyYW5zZmVyIG5ld2x5IGNyZWF0ZWQgcmVjb3JkIGlkXHJcbiAgICAgICAgICAqL1xyXG4gICAgICAgICAgdGhpcy50b2dnbGVSZWxvYWRGbGFnRm9yVGhlQ2FsbGVyKGJvZHkuaW5uZXJCb2R5LmlkKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXJsU2VydmljZS5wcmV2aW91c1JvdXRlVXJsJC52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgaWYgKCEhdGhpcy5hdXRvQ2FuY2VsTG9naWNPZmYpIHtcclxuICAgICAgdGhpcy5jYW5jZWxMb2dpYy5lbWl0KHRydWUpO1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGlmICghIXRoaXMudXJsU2VydmljZS5wcmV2aW91c1JvdXRlVXJsJC52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFNlcnZpY2UucHJldmlvdXNSb3V0ZVVybCQudmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9uQ2xpY2soZTogSUNvcmVCdXR0b25WTlMpIHtcclxuICAgIHRoaXMub25CdXR0b25DbGljay5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25Gb3JtQ3JlYXRlZExvY2FsKGU6IElEeW5hbWljRm9ybUVtaXRPbkZvcm1DcmVhdGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSBlLmZvcm1Hcm91cDtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuY3VycmVudFZhbHVlKTtcclxuICAgIHRoaXMub25Gb3JtQ3JlYXRlZC5lbWl0KHRoaXMuZm9ybSk7XHJcblxyXG4gICAgLy8gTm93IHdlIGNhbiByZXR1cm4gaW5pdEZvcm1WYWx1ZVN0cmluZyB0byB0aGUgY2FsbGVyXHJcbiAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKCEhbm9ybWFsTW9kZSkge1xyXG48ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLXBhZ2UtZWRpdC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgW25nU3R5bGVdPVwieyBtYXJnaW46ICcwcHggMjRweCcgfVwiPlxyXG4gICAgICAgIDxjb3JlLXBhZ2UtaGVhZGVyIFt0aXRsZV09XCJjYXB0aW9uQ29kZVwiIFtoaWRlQnV0dG9uR3JvdXBdPVwidHJ1ZVwiPjwvY29yZS1wYWdlLWhlYWRlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmICghIXNlY3Rpb25zLmxlbmd0aCkge1xyXG4gICAgPGNvcmUtZm9ybSBbd2lkdGhdPVwid2lkdGhcIiBbZm9ybU5hbWVdPVwiJ2Zvcm0nXCIgW3N1Ym1pdFRleHRdPVwic3VibWl0VGV4dFwiIFtzaG93Q2FwdGlvbkJ1dHRvbl09XCJzaG93Q2FwdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgW2xlZnRJbnB1dFNlY3Rpb25zXT1cImxlZnRJbnB1dFNlY3Rpb25zXCIgW2xlZnRJbnB1dFNlY3Rpb25zRmxleFNpemVdPVwibGVmdElucHV0U2VjdGlvbnNGbGV4U2l6ZVwiXHJcbiAgICAgICAgW2lucHV0U2VjdGlvbnNdPVwic2VjdGlvbnNcIiBbbW9kZSRdPVwibW9kZSRcIiBbYm90dG9tVGVtcGxhdGVSZWZdPVwiYm90dG9tVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgIFtjdXN0b21Gb3JtQnV0dG9uSXRlbXNdPVwiY3VzdG9tRm9ybUJ1dHRvbkl0ZW1zXCIgW2Rpc2FibGVTYXZlQnV0dG9uXT1cImRpc2FibGVTYXZlQnV0dG9uXCJcclxuICAgICAgICBbY2hlY2tFcnJvciRdPVwiY2hlY2tFcnJvciRcIiAob25Gb3JtQ3JlYXRlZCk9XCJvbkZvcm1DcmVhdGVkTG9jYWwoJGV2ZW50KVwiIChvblN1Ym1pdCk9XCJvblN1Ym1pdCgpXCJcclxuICAgICAgICAob25TYXZlKT1cIm9uU2F2ZSgkZXZlbnQpXCIgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIiAob25DYW5jYWwpPVwib25DYW5jZWwoKVwiPjwvY29yZS1mb3JtPlxyXG4gICAgfVxyXG48L2Rpdj5cclxufSBAZWxzZSB7XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgb3ZlcmZsb3dZOiAnc2Nyb2xsJ1xyXG4gICAgfVwiPlxyXG4gICAgPGRpdiAjY29udGFpbmVyQmlnZ2VyIGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taGVhZGVyLXBvcHVwXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmVhdGhlci14XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj48L2k+XHJcbiAgICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBtYXJnaW46ICcwcHggMjRweCcgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvcmUtcGFnZS1oZWFkZXIgW3RpdGxlXT1cImNhcHRpb25Db2RlXCIgW2hpZGVCdXR0b25Hcm91cF09XCJ0cnVlXCI+PC9jb3JlLXBhZ2UtaGVhZGVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLXBhZ2UtZWRpdC1jb250YWluZXIgbm90LW5vcm1hbC1tb2RlXCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJ1xyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgIEBpZiAoISFzZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgPGNvcmUtZm9ybSBbZm9ybU5hbWVdPVwiJ2Zvcm0nXCIgW3N1Ym1pdFRleHRdPVwic3VibWl0VGV4dFwiIFtzaG93Q2FwdGlvbkJ1dHRvbl09XCJzaG93Q2FwdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbbGVmdElucHV0U2VjdGlvbnNdPVwibGVmdElucHV0U2VjdGlvbnNcIiBbbGVmdElucHV0U2VjdGlvbnNGbGV4U2l6ZV09XCJsZWZ0SW5wdXRTZWN0aW9uc0ZsZXhTaXplXCJcclxuICAgICAgICAgICAgICAgIFtpbnB1dFNlY3Rpb25zXT1cInNlY3Rpb25zXCIgW21vZGUkXT1cIm1vZGUkXCIgW2N1c3RvbUZvcm1CdXR0b25JdGVtc109XCJjdXN0b21Gb3JtQnV0dG9uSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVTYXZlQnV0dG9uXT1cImRpc2FibGVTYXZlQnV0dG9uXCIgW2NoZWNrRXJyb3IkXT1cImNoZWNrRXJyb3IkXCJcclxuICAgICAgICAgICAgICAgIChvbkZvcm1DcmVhdGVkKT1cIm9uRm9ybUNyZWF0ZWRMb2NhbCgkZXZlbnQpXCIgKG9uU3VibWl0KT1cIm9uU3VibWl0KClcIiAob25TYXZlKT1cIm9uU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCIgKG9uQ2FuY2FsKT1cIm9uQ2FuY2VsKClcIj48L2NvcmUtZm9ybT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG59XHJcbkBpZiAobG9hZGluZykge1xyXG48YXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPjwvYXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPlxyXG59Il19
|
|
514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wYWdlLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L2NvcmUtcGFnZS1lZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9jb3JlLXBhZ2UtZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUE0QixNQUFNLGVBQWUsQ0FBQztBQU85SSxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWlDLE1BQU0sNENBQTRDLENBQUM7QUFDOUcsT0FBTyxFQUFhLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8s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QkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFJRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLHlCQUF5QjtzQkFBbEMsTUFBTTtnQkFFaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNRLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgaXNEZXZNb2RlLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IENvcmVQYWdlRWRpdFNlcnZpY2UgfSBmcm9tICcuL2NvcmUtcGFnZS1lZGl0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmltYXRlZFRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vYW5pbWF0ZWQtdGV4dC9hbmltYXRlZC10ZXh0LnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29yZUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS1mb3JtL2NvcmUtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNvcmVGb3JtU2VjdGlvbiwgfSBmcm9tICcuLi9jb3JlLWZvcm0vY29yZS1mb3JtL2VudW0taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvcmVGb3JtQ29tcG9uZW50LCBJRHluYW1pY0Zvcm1FbWl0T25Gb3JtQ3JlYXRlZCB9IGZyb20gJy4uL2NvcmUtZm9ybS9jb3JlLWZvcm0vY29yZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVudW1Db3JlQnV0dG9uVk5TQ29kZSB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlJztcclxuaW1wb3J0IHsgRW51bVRyYW5zbGF0ZUtleSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IENvbW1vbkh0dHBSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1odHRwLXJlcXVlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHViLWNvbm5lY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXJsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VybC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yb3V0aW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJSHViQ29ubmVjdGlvbkFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JSHViQ29ubmVjdGlvbkFjdGl2aXR5JztcclxuaW1wb3J0IHsgRW51bVNpZ25hbFJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bS9FbnVtU2lnbmFsUlR5cGUnO1xyXG5pbXBvcnQgeyBJRm9ybWF0ZWRSZXNwb25zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUZvcm1hdGVkUmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBhbGVydE9wdGlvbnMsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FsZXJ0T3B0aW9ucyc7XHJcbmltcG9ydCB7IElTeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0JztcclxuaW1wb3J0IHsgRW51bUZvcm1CYXNlQ29udG9sVHlwZSB9IGZyb20gJy4uLy4uL2VudW0vRW51bUZvcm1CYXNlQ29udG9sVHlwZSc7XHJcbmltcG9ydCB7IEVudW1Db3JlUGFnZUVkaXRNb2RlIH0gZnJvbSAnLi9FbnVtQ29yZVBhZ2VFZGl0TW9kZSc7XHJcbmltcG9ydCB7IElDb3JlUGFnZUVkaXRDUlVEIH0gZnJvbSAnLi9JQ29yZVBhZ2VFZGl0Q1JVRCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBGdWxsc2NyZWVuTW9kYWxMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc3BvbnNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3BvbnNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNvcmVCdXR0b25WTlMgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1wYWdlLWVkaXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29yZUZvcm1Db21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBhZ2VIZWFkZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXBhZ2UtZWRpdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1wYWdlLWVkaXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVQYWdlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgc3RheUFmdGVyU3VibWl0ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSB3aWR0aCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBlbnRpdHlUYWJsZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBoYXNJZE9mU3RyaW5nVHlwZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2FwdGlvbkNvZGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGVmdElucHV0U2VjdGlvbnMhOiBJQ29yZUZvcm1TZWN0aW9uW107XHJcbiAgQElucHV0KCkgbGVmdElucHV0U2VjdGlvbnNGbGV4U2l6ZSE6IG51bWJlcjtcclxuICBASW5wdXQoKSBzZWN0aW9ucyE6IElDb3JlRm9ybVNlY3Rpb25bXTtcclxuICBASW5wdXQoKSBub3JtYWxNb2RlITogYm9vbGVhbjsgLy8gdGhpcyBhbGxvd3MgdG8gb3BlbiB0aGUgZWRpdCBmb3JtIGFzIHVzdWFsIG1vZGVcclxuICBASW5wdXQoKSBib3R0b21UZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgYXV0b0dldEJ5SWRPZmYhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGF1dG9TdWJtaXRMb2dpY09mZiE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYXV0b0NhbmNlbExvZ2ljT2ZmITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21Gb3JtQnV0dG9uSXRlbXMhOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGVbXTtcclxuICBASW5wdXQoKSBtaXhlZE1vZGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNoZWNrRXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgQElucHV0KCkgc2hvd1NhdmVCdXR0b24hOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVTYXZlQnV0dG9uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBmb3JjZUxpc3RSZWZyZXNoT25DcmVhdGVPclVwZGF0ZSE6IGJvb2xlYW47XHJcblxyXG5cclxuICBAT3V0cHV0KCkgc3VibWl0TG9naWMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRm9ybUNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU3VibWl0U3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25CdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2FuY2VsTG9naWMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpIGNydWQhOiBJQ29yZVBhZ2VFZGl0Q1JVRDtcclxuICBASW5wdXQoKSBlbnRpdHlVbmlxdWVJbmRleHM6IHN0cmluZ1tdW10gPVxyXG4gICAgW107IC8qIEZvciBleDogW1snaWQnXSwgWydwcm92aW5jZUlkJywgJ2Rpc3RyaWNDb2RlJ11dICBldGMuLi4gKi9cclxuICBAT3V0cHV0KCkgb25Jbml0aWFsVmFsdWVTdHJpbmdSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lckJpZ2dlcicpIGNvbnRhaW5lckJpZ2dlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHNlY3Rpb25zJCE6IEJlaGF2aW9yU3ViamVjdDxJQ29yZUZvcm1TZWN0aW9uW10+O1xyXG4gIG1vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbnVtQ29yZVBhZ2VFZGl0TW9kZT4oXHJcbiAgICBFbnVtQ29yZVBhZ2VFZGl0TW9kZS5DUkVBVEVcclxuICApO1xyXG5cclxuICBjdXJyZW50VmFsdWU6IGFueTtcclxuICBpbml0aWFsVmFsdWUhOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgZnJvbVVybCE6IHN0cmluZztcclxuICBsaXN0SW5zdGFuY2UhOiBudW1iZXI7XHJcbiAgbG9hZGluZyE6IGJvb2xlYW47XHJcblxyXG4gIGxhbmchOiBzdHJpbmc7XHJcblxyXG4gIHN1Ym1pdFRleHQhOiBFbnVtVHJhbnNsYXRlS2V5O1xyXG5cclxuICBzaG93Q2FwdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHNjcm9sbCE6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBjb3JlUGFnZUVkaXRTZXJ2aWNlOiBDb3JlUGFnZUVkaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25IdHRwUmVxdWVzdFNlcnZpY2U6IENvbW1vbkh0dHBSZXF1ZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgYW5pbWF0ZWRUZXh0U2VydmljZTogQW5pbWF0ZWRUZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgbWxzOiBNdWx0aUxhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29yZUZvcm1TZXJ2aWNlOiBDb3JlRm9ybVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVQYWdlTGlzdFNlcnZpY2U6IENvcmVQYWdlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh1YkNvbm5lY3Rpb25TZXJ2aWNlOiBIdWJDb25uZWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgdXJsU2VydmljZTogVXJsU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGluZ1NlcnZpY2U6IFJvdXRpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXNwb25zZVNlcnZpY2U6IFJlc3BvbnNlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5mcm9tVXJsID0gdGhpcy5jb3JlUGFnZUVkaXRTZXJ2aWNlLmZyb21Vcmw7XHJcbiAgICB0aGlzLmxpc3RJbnN0YW5jZSA9IE51bWJlcihcclxuICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2xpc3RJbnN0YW5jZScpIVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VuZFNpZ25hbChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmh1YkNvbm5lY3Rpb25TZXJ2aWNlLmh1YkNvbm5lY3Rpb24kLnZhbHVlO1xyXG4gICAgaWYgKCEhY29ubmVjdGlvbikge1xyXG4gICAgICBjb25zdCBtZXNzYWdlOiBJSHViQ29ubmVjdGlvbkFjdGl2aXR5ID0ge1xyXG4gICAgICAgIHNpZDogdGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZT8uaWQhLFxyXG4gICAgICAgIHVzZXJuYW1lOiB0aGlzLmF1dGhTZXJ2aWNlLmRhdGEkLnZhbHVlPy5mdWxsTmFtZSEsXHJcbiAgICAgICAgYXZhdGFyOiB0aGlzLmF1dGhTZXJ2aWNlLmRhdGEkLnZhbHVlPy5hdmF0YXIhLFxyXG4gICAgICAgIHNpZ25hbFR5cGU6IEVudW1TaWduYWxSVHlwZS5FTlRJVFlfQ0hBTkdFRCxcclxuICAgICAgICBtZXNzYWdlOiBgJHt0aGlzLmF1dGhTZXJ2aWNlLmRhdGEkLnZhbHVlXHJcbiAgICAgICAgICA/LnVzZXJOYW1lIX0gaGFzIGNoYW5nZWQgZW50aXR5ICR7dGhpcy5lbnRpdHlUYWJsZX1gLFxyXG4gICAgICAgIGxvZ2luVGltZTogdGhpcy5hdXRoU2VydmljZS5kYXRhJC52YWx1ZT8ubG9naW5UaW1lISxcclxuICAgICAgICBkYXRhOiBudWxsLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25uZWN0aW9uLmludm9rZSgnU2VuZE1lc3NhZ2UnLCBtZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuc2VjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJQ29yZUZvcm1TZWN0aW9uW10+KHRoaXMuc2VjdGlvbnMpO1xyXG5cclxuICAgIGlmICghISF0aGlzLmVudGl0eVRhYmxlKSB7XHJcbiAgICAgIGFsZXJ0KFxyXG4gICAgICAgICdQcm9wZXJ0eSBlbnRpdHlUYWJsZSAobmFtZSkgaXMgcmVxdWlyZWQgZm9yIGNvbXBvbmVudCAnICtcclxuICAgICAgICB0aGlzLmNhcHRpb25Db2RlXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgJ1Byb3BlcnR5IGVudGl0eVRhYmxlIChuYW1lKSBpcyByZXF1aXJlZCBmb3IgY29tcG9uZW50ICcgK1xyXG4gICAgICAgIHRoaXMuY2FwdGlvbkNvZGVcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMubm9ybWFsTW9kZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnRhaW5lcilcclxuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS13aWR0aCcsICcxMDAlJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoISF0aGlzLndpZHRoKSB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgICAgICctLXdpZHRoJyxcclxuICAgICAgICAgIHRoaXMud2lkdGggKyAncHgnXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRhaW5lckJpZ2dlci5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICctLWhlaWdodCcsXHJcbiAgICAgICAgJzk1JSdcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNjcm9sbCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHRcclxuICAgIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoISEhdGhpcy5taXhlZE1vZGUpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmVcIiwgeClcclxuXHJcbiAgICAgICAgICAgIGxldCBpZDogc3RyaW5nID0gJzAnO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJZE9mU3RyaW5nVHlwZSkge1xyXG4gICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBpZCA9IGF0b2IoeFsnaWQnXSk7XHJcbiAgICAgICAgICAgICAgfSBjYXRjaCB7IHJldHVybiB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGlkID0gTnVtYmVyKGF0b2IoeFsnaWQnXSkpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgfSBjYXRjaCB7IHJldHVybiB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpZCAhPT0gJzAnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb2RlJC5uZXh0KEVudW1Db3JlUGFnZUVkaXRNb2RlLlVQREFURSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc3VibWl0VGV4dCA9IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9TQVZFO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoISEhdGhpcy5hdXRvR2V0QnlJZE9mZikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvcmVQYWdlRWRpdFNlcnZpY2UuZ2V0QnlJZChpZCwgdGhpcy5jcnVkLnIpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvZHk6IElGb3JtYXRlZFJlc3BvbnNlID0geC5ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vdGhpcy5yZXNwb25zZVNlcnZpY2UucmVzb2x2ZShib2R5KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKGJvZHkuc3RhdHVzQ29kZSA9IDIwMCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNyZWdpb24gRXhjbHVkZSBzZWN0aW9ucyB3aXRoIGZsYWcgYWRkTW9kZU9ubHk9dHJ1ZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKCEhYm9keS5pbm5lckJvZHkuaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHJlbGV2YW50IGNvbnRyb2xzIGZyb20gZm9ybSBncm91cFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRNb2RlT25seVNlY3Rpb25zID0gdGhpcy5zZWN0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHgpID0+ICEheC5hZGRNb2RlT25seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRNb2RlT25seVNlY3Rpb25zLm1hcCgoYWRkTW9kZU9ubHlTZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkTW9kZU9ubHlTZWN0aW9uLnJvd3MubWFwKChhZGRNb2RlT25seVJvdykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkTW9kZU9ubHlSb3cubWFwKChhZGRNb2RlT25seUNvbnRyb2wpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnJlbW92ZUNvbnRyb2woYWRkTW9kZU9ubHlDb250cm9sLmZpZWxkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSByZWxldmFudCBjb250cm9scyBmcm9tIGZvcm0gc2VjdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3U2VjdGlvbnMgPSB0aGlzLnNlY3Rpb25zLmZpbHRlcigoeCkgPT4gISEheC5hZGRNb2RlT25seSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnMgPSBuZXdTZWN0aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9ucyQubmV4dCh0aGlzLnNlY3Rpb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNlbmRyZWdpb24gRXhjbHVkZSBzZWN0aW9ucyB3aXRoIGZsYWcgYWRkTW9kZU9ubHk9dHJ1ZSAqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNyZWdpb246IEFzc2lnbiB2YWx1ZSB0byBhdHRhY2htZW50IGZpZWxkcyB3aGVuIGNvbnRyb2xUeXBlID0gQVRUQUNITUVOVCAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbi5yb3dzLm1hcCgocm93KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm93Lm1hcCgoY29udHJvbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wuY29udHJvbFR5cGUgPT09IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQVRUQUNITUVOVCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLnZhbHVlVG9TaG93ID0gYm9keS5pbm5lckJvZHlbY29udHJvbC5hc3NpZ25UbyFdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLyogI2VuZHJlZ2lvbjogQXNzaWduIHZhbHVlIHRvIGJhc2ljIGZpZWxkcyB3aGVuIGNvbnRyb2xUeXBlID0gQVRUQUNITUVOVCAqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8qICNyZWdpb246IFVzaW5nIFBhdGNoVmFsdWUgaW5zdGVhZCBvZiBzZXRWYWx1ZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gRm9ybXMgb2Z0ZW4gaGF2ZSBleHRyYSBoZWxwZXIgZmllbGRzXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gdGh1cywgaWYgd2UgdXNlIHNldFZhbHVlIG1ldGhvZCwgdGhlIGhlbHBlciBmaWVsZHMgd2lsbCBiZSBsb3N0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5mb3JtLnNldFZhbHVlKGJvZHkuaW5uZXJCb2R5KVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHNvLCB3ZSB1c2UgcGF0Y2hWYWx1ZSBtZXRob2QgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBib2R5LmlubmVyQm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuY3VycmVudFZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY3Rpb25zLm1hcCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLnJvd3MubWFwKChyb3cpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByb3cubWFwKChjb250cm9sKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnVtRm9ybUJhc2VDb250b2xUeXBlLlNFRUtFUixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkRST1BET1dOLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKGNvbnRyb2wuY29udHJvbFR5cGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhdGhpcy5jdXJyZW50VmFsdWVbY29udHJvbC5maWVsZF0pIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzRGV2TW9kZSgpICYmICEhIWNvbnRyb2wuZ2V0QnlJZEFwaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjb250cm9sLmNvbnRyb2xUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgRW51bUZvcm1CYXNlQ29udG9sVHlwZS5TRUVLRVI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYGdldEJ5SWRBcGkgbm90IHByb3ZpZGVkIGZvciAnJHtjb250cm9sLmZpZWxkfSdgLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuRFJPUERPV046XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhIWNvbnRyb2wuZHJvcGRvd25PcHRpb25zJD8udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGBnZXRCeUlkQXBpIG5vdCBwcm92aWRlZCBmb3IgJyR7Y29udHJvbC5maWVsZH0nYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNUOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghISFjb250cm9sLmNoZWNrbGlzdE9wdGlvbnMkPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYGdldEJ5SWRBcGkgbm90IHByb3ZpZGVkIGZvciAnJHtjb250cm9sLmZpZWxkfSdgLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYGdldEJ5SWRBcGkgbm90IHByb3ZpZGVkIGZvciAnJHtjb250cm9sLmZpZWxkfSdgLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uSHR0cFJlcXVlc3RTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYWtlR2V0UmVxdWVzdChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0QnlJZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5nZXRCeUlkQXBpICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgP2lkPSR7dGhpcy5jdXJyZW50VmFsdWVbY29udHJvbC5maWVsZF19YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZvcm0gZ2V0QnlJZCByZXN1bHQ6IFwiLCB0aGlzLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5vayAmJiB4LnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLmdldEJ5SWRPYmplY3QkPy5uZXh0KGJvZHkuaW5uZXJCb2R5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZ2V0QnlJZE9iamVjdCQ/Lm5leHQobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9sVHlwZSA9PT0gRW51bUZvcm1CYXNlQ29udG9sVHlwZS5TRUVLRVIgJiYgY29udHJvbC5tdWx0aU1vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5vYmplY3RMaXN0JD8ubmV4dChib2R5LmlubmVyQm9keVtjb250cm9sLmdldE9iamVjdExpc3RGcm9tIV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnMkLm5leHQodGhpcy5zZWN0aW9ucyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLyogI2VuZHJlZ2lvbjogVXNpbmcgUGF0Y2hWYWx1ZSBpbnN0ZWFkIG9mIHNldFZhbHVlICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiBpbml0Rm9ybVZhbHVlU3RyaW5nIHRvIHRoZSBjYWxsZXJcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGUkLm5leHQoRW51bUNvcmVQYWdlRWRpdE1vZGUuQ1JFQVRFKTtcclxuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdFRleHQgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fQUREO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICB0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoeCA9PiB0aGlzLmxhbmcgPSB4KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlUmVsb2FkRmxhZ0ZvclRoZUNhbGxlcihpZDogbnVtYmVyKTogdm9pZCB7XHJcblxyXG4gICAgY29uc3QgaW5zdGFuY2VzRmlsdGVyID0gdGhpcy5jb3JlUGFnZUxpc3RTZXJ2aWNlLmluc3RhbmNlcy5maWx0ZXIoXHJcbiAgICAgICh4KSA9PiB4Lmluc3RhbmNlTnVtYmVyID09PSB0aGlzLmxpc3RJbnN0YW5jZVxyXG4gICAgKTtcclxuICAgIGlmICghIWluc3RhbmNlc0ZpbHRlci5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgaW5zdGFuY2UgPSBpbnN0YW5jZXNGaWx0ZXJbMF07XHJcbiAgICAgIGluc3RhbmNlLmlkJC5uZXh0KGlkKTtcclxuICAgICAgLy9pZiAoISEhdGhpcy5ub3JtYWxNb2RlKSBpbnN0YW5jZS5yZWxvYWRGbGFnJD8ubmV4dCghaW5zdGFuY2UucmVsb2FkRmxhZyQudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbyhgQ29yZVBhZ2VMaXN0IGluc3RhbmNlIG51bWJlciAke3RoaXMubGlzdEluc3RhbmNlfSBjdXJyZW50IGlkIGlzOiAke2luc3RhbmNlLmlkJC52YWx1ZX1gLCBhbGVydE9wdGlvbnMpXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5pbmZvKGBDb3JlUGFnZUxpc3QgaW5zdGFuY2VzIGRvIG5vdCBpbmNsdWRlIG51bWJlciAke3RoaXMubGlzdEluc3RhbmNlfWAsIGFsZXJ0T3B0aW9ucylcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ob3RPazIwMFJlc3BvbnNlKHg6IG9iamVjdCk6IHZvaWQge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGlmIChPYmplY3Qua2V5cyh4KS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcIk5vIHJlc3BvbnNlIGNvbnRlbnQuIEl0IHdhcyBwb3NzaWJseSBhIENPUlMgZXJyb3IuXCIsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoSlNPTi5zdHJpbmdpZnkoeCwgbnVsbCwgMiksIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpOiB2b2lkIHtcclxuXHJcbiAgICAvKiBJRiBpZCBpcyBmYWxzeSA9PiBDUkVBVCwgb3RoZXJ3aXNlIFVQREFURSAqL1xyXG5cclxuICAgIC8qIEZPUiBDT05UUk9MIE9GIFRZUEUgR1JJREJVRkZFUiwgU0VUIEVWRVJZIGlkIFRPIE5VTEwgKi9cclxuICAgIHRoaXMuc2VjdGlvbnMubWFwKHNlY3Rpb24gPT4ge1xyXG4gICAgICBzZWN0aW9uLnJvd3MubWFwKHJvdyA9PiB7XHJcbiAgICAgICAgcm93Lm1hcChjb250cm9sID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGNvbnRyb2wuY29udHJvbFR5cGUpXHJcbiAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9sVHlwZSA9PT0gRW51bUZvcm1CYXNlQ29udG9sVHlwZS5HUklEQlVGRkVSKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoY29udHJvbC5maWVsZCk/LnZhbHVlO1xyXG4gICAgICAgICAgICAvLyBUTyBETyAxNy8wOC8yMDIzID09PT09PT09PT09XHJcbiAgICAgICAgICAgIGFic3RyYWN0Q29udHJvbD8udmFsdWU/Lm1hcCgoeDogYW55KSA9PiB4LmlkID0gbnVsbCk7XHJcbiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuXHJcbiAgICBpZiAoISF0aGlzLm1peGVkTW9kZSkge1xyXG4gICAgICB0aGlzLnN1Ym1pdExvZ2ljLmVtaXQoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbW9kZTogdGhpcy5mb3JtLmdldCgnZWRpdE1vZGUnKT8udmFsdWUsXHJcbiAgICAgICAgICBmb3JtVmFsdWU6IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCEhdGhpcy5hdXRvU3VibWl0TG9naWNPZmYpIHtcclxuICAgICAgLy8gRE8geW91ciBsb2dpYyBoZXJlXHJcbiAgICAgIHRoaXMuc3VibWl0TG9naWMuZW1pdChKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZWxzZSBpZiAoISEhdGhpcy5mb3JtLmdldCgnaWQnKSEudmFsdWUpIHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIGNvbnN0IHN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0OiBJU3lzTXV0YXRpb25Mb2dCZWZvcmVBZnRlclJlcXVlc3QgPSB7XHJcbiAgICAgICAgc3lzRnVuY3Rpb25Db2RlOiB0aGlzLnJvdXRpbmdTZXJ2aWNlLmN1cnJlbnRGdW5jdGlvbiQudmFsdWU/LmNvZGUgfHwgJ1VOREVGSU5FRCcsXHJcbiAgICAgICAgc3lzQWN0aW9uQ29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9DUkVBVEUsXHJcbiAgICAgICAgYmVmb3JlOiBKU09OLnN0cmluZ2lmeSh0aGlzLmN1cnJlbnRWYWx1ZSkgPz8gJ1wiXCInLFxyXG4gICAgICAgIGFmdGVyOiBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSksXHJcbiAgICAgICAgdXNlcm5hbWU6IHRoaXMuYXV0aFNlcnZpY2UuZGF0YSQudmFsdWU/LnVzZXJOYW1lIVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmFuaW1hdGVkVGV4dFNlcnZpY2UudGV4dCQubmV4dChcclxuICAgICAgICB0aGlzLm1scy50cmFucyhFbnVtVHJhbnNsYXRlS2V5LlVJX0RJQUxPR19BRERJTkdfUExFQVNFX1dBSVQpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmNvbW1vbkh0dHBSZXF1ZXN0U2VydmljZVxyXG4gICAgICAgIC5tYWtlUG9zdFJlcXVlc3QoXHJcbiAgICAgICAgICAnY3JlYXRlICcgKyB0aGlzLmVudGl0eVRhYmxlLFxyXG4gICAgICAgICAgdGhpcy5jcnVkLmMhLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICAuLi50aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgc3lzTXV0YXRpb25Mb2dCZWZvcmVBZnRlclJlcXVlc3QsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHgub2sgJiYgeC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgICAgICAgLy90aGlzLnJlc3BvbnNlU2VydmljZS5yZXNvbHZlKGJvZHkpO1xyXG4gICAgICAgICAgICBpZiAoYm9keS5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZFNpZ25hbChib2R5LmlubmVyQm9keSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uU3VibWl0U3VjY2Vzcy5lbWl0KHRydWUpO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKVxyXG4gICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgVHJhbnNmZXIgbmV3bHkgY3JlYXRlZCByZWNvcmQgaWRcclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVJlbG9hZEZsYWdGb3JUaGVDYWxsZXIoYm9keS5pbm5lckJvZHkuaWQgfHwgMCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZm9yY2VMaXN0UmVmcmVzaE9uQ3JlYXRlT3JVcGRhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29yZVBhZ2VMaXN0U2VydmljZS5pbnN0YW5jZVJlcXVlcnkodGhpcy5saXN0SW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXlBZnRlclN1Ym1pdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwgeyAvKiBleHBlcmltZW50Ki8gcmVwbGFjZVVybDogdHJ1ZSwgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgc3RhdGU6IHsgaWQ6IGJvZHkuaW5uZXJCb2R5LmlkIHx8IDAsIGluc3RhbmNlTnVtYmVyOiB0aGlzLmxpc3RJbnN0YW5jZSB9IH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vbk5vdE9rMjAwUmVzcG9uc2UoeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgY29uc3Qgc3lzTXV0YXRpb25Mb2dCZWZvcmVBZnRlclJlcXVlc3Q6IElTeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdCA9IHtcclxuICAgICAgICBzeXNGdW5jdGlvbkNvZGU6IHRoaXMucm91dGluZ1NlcnZpY2UuY3VycmVudEZ1bmN0aW9uJC52YWx1ZT8uY29kZSB8fCAnVU5ERUZJTkVEJyxcclxuICAgICAgICBzeXNBY3Rpb25Db2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1NBVkUsXHJcbiAgICAgICAgYmVmb3JlOiBKU09OLnN0cmluZ2lmeSh0aGlzLmN1cnJlbnRWYWx1ZSkgPz8gJ1wiXCInLFxyXG4gICAgICAgIGFmdGVyOiBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSksXHJcbiAgICAgICAgdXNlcm5hbWU6IHRoaXMuYXV0aFNlcnZpY2UuZGF0YSQudmFsdWU/LnVzZXJOYW1lIVxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBhMSA9IHRoaXMuY29yZUZvcm1TZXJ2aWNlLmdldEFsbEZvcm1CYXNlQ29udHJvbE5hbWVzKHRoaXMubGVmdElucHV0U2VjdGlvbnM/LmZpbHRlcih4ID0+ICF4LmhpZGRlbikpO1xyXG4gICAgICBjb25zdCBhMiA9IHRoaXMuY29yZUZvcm1TZXJ2aWNlLmdldEFsbEZvcm1CYXNlQ29udHJvbE5hbWVzKHRoaXMuc2VjdGlvbnM/LmZpbHRlcih4ID0+ICF4LmhpZGRlbikpO1xyXG4gICAgICBjb25zdCBhY3R1YWxGb3JtRGVjbGFyZWRGaWVsZHMgPSBbLi4uYTEsIC4uLmEyXTtcclxuXHJcbiAgICAgIHRoaXMuYW5pbWF0ZWRUZXh0U2VydmljZS50ZXh0JC5uZXh0KFxyXG4gICAgICAgIHRoaXMubWxzLnRyYW5zKEVudW1UcmFuc2xhdGVLZXkuVUlfRElBTE9HX1VQREFUSU5HX1BMRUFTRV9XQUlUKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbW1vbkh0dHBSZXF1ZXN0U2VydmljZVxyXG4gICAgICAgIC5tYWtlUG9zdFJlcXVlc3QoXHJcbiAgICAgICAgICAndXBkYXRlICcgKyB0aGlzLmVudGl0eVRhYmxlLFxyXG4gICAgICAgICAgdGhpcy5jcnVkLnUsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdCxcclxuICAgICAgICAgICAgYWN0dWFsRm9ybURlY2xhcmVkRmllbGRzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHgub2sgJiYgeC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgICAgICAgLy90aGlzLnJlc3BvbnNlU2VydmljZS5yZXNvbHZlKGJvZHkpO1xyXG4gICAgICAgICAgICBpZiAoYm9keS5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZFNpZ25hbChib2R5LmlubmVyQm9keSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uU3VibWl0U3VjY2Vzcy5lbWl0KHRydWUpO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICBUcmFuc2ZlciBjdXJyZW50IHJlY29yZCBpZFxyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgIHRoaXMudG9nZ2xlUmVsb2FkRmxhZ0ZvclRoZUNhbGxlcihib2R5LmlubmVyQm9keS5pZCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZm9yY2VMaXN0UmVmcmVzaE9uQ3JlYXRlT3JVcGRhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29yZVBhZ2VMaXN0U2VydmljZS5pbnN0YW5jZVJlcXVlcnkodGhpcy5saXN0SW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXlBZnRlclN1Ym1pdCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXBwQ29uZmlnU2VydmljZS5BUFBfVFlQRSA9PT0gXCJNT0JJTEVcIikge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLyddLCB7IC8qIGV4cGVyaW1lbnQqLyByZXBsYWNlVXJsOiB0cnVlLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBpZDogYm9keS5pbm5lckJvZHkuaWQsIGluc3RhbmNlTnVtYmVyOiB0aGlzLmxpc3RJbnN0YW5jZSB9IH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcENvbmZpZ1NlcnZpY2UuQVBQX1RZUEUgPT09IFwiV0VCQVBQXCIpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBpZDogYm9keS5pbm5lckJvZHkuaWQsIGluc3RhbmNlTnVtYmVyOiB0aGlzLmxpc3RJbnN0YW5jZSB9IH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ob3RPazIwMFJlc3BvbnNlKHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIFBIxq/GoE5HIFRI4buoQyBOw4BZIMSQxq/hu6JDIFThuqBPIFJBIEtISSBERVYgVk5TLVBPUlRBTFxyXG4gICAqL1xyXG5cclxuICBvblNhdmUoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hbmltYXRlZFRleHRTZXJ2aWNlLnRleHQkLm5leHQoXHJcbiAgICAgIHRoaXMubWxzLnRyYW5zKEVudW1UcmFuc2xhdGVLZXkuVUlfRElBTE9HX0FERElOR19QTEVBU0VfV0FJVClcclxuICAgICk7XHJcbiAgICBpZiAoISF0aGlzLmFwcENvbmZpZ1NlcnZpY2UuREVCVUdfRU5BQkxFRCkge1xyXG4gICAgICBhbGVydChKU09OLnN0cmluZ2lmeShlLCBudWxsLCAyKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbW1vbkh0dHBSZXF1ZXN0U2VydmljZVxyXG4gICAgICAubWFrZVBvc3RSZXF1ZXN0KFxyXG4gICAgICAgICdjcmVhdGUgJyArIHRoaXMuZW50aXR5VGFibGUsXHJcbiAgICAgICAgdGhpcy5jcnVkLnMhLFxyXG4gICAgICAgIGVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zZVNlcnZpY2UucmVzb2x2ZShib2R5KTtcclxuICAgICAgICBpZiAoeC5vayAmJiB4LnN0YXR1cyA9PT0gMjAwICYmIGJvZHkuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2lnbmFsKGJvZHkuaW5uZXJCb2R5KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZSlcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgLypcclxuICAgICAgICAgIFRyYW5zZmVyIG5ld2x5IGNyZWF0ZWQgcmVjb3JkIGlkXHJcbiAgICAgICAgICAqL1xyXG4gICAgICAgICAgdGhpcy50b2dnbGVSZWxvYWRGbGFnRm9yVGhlQ2FsbGVyKGJvZHkuaW5uZXJCb2R5LmlkKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXJsU2VydmljZS5wcmV2aW91c1JvdXRlVXJsJC52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgaWYgKCEhdGhpcy5hdXRvQ2FuY2VsTG9naWNPZmYpIHtcclxuICAgICAgdGhpcy5jYW5jZWxMb2dpYy5lbWl0KHRydWUpO1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGlmICghIXRoaXMudXJsU2VydmljZS5wcmV2aW91c1JvdXRlVXJsJC52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFNlcnZpY2UucHJldmlvdXNSb3V0ZVVybCQudmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9uQ2xpY2soZTogSUNvcmVCdXR0b25WTlMpIHtcclxuICAgIHRoaXMub25CdXR0b25DbGljay5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25Gb3JtQ3JlYXRlZExvY2FsKGU6IElEeW5hbWljRm9ybUVtaXRPbkZvcm1DcmVhdGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSBlLmZvcm1Hcm91cDtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuY3VycmVudFZhbHVlKTtcclxuICAgIHRoaXMub25Gb3JtQ3JlYXRlZC5lbWl0KHRoaXMuZm9ybSk7XHJcblxyXG4gICAgLy8gTm93IHdlIGNhbiByZXR1cm4gaW5pdEZvcm1WYWx1ZVN0cmluZyB0byB0aGUgY2FsbGVyXHJcbiAgICB0aGlzLm9uSW5pdGlhbFZhbHVlU3RyaW5nUmVhZHkuZW1pdChcclxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKCEhbm9ybWFsTW9kZSkge1xyXG48ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLXBhZ2UtZWRpdC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgW25nU3R5bGVdPVwieyBtYXJnaW46ICcwcHggMjRweCcgfVwiPlxyXG4gICAgICAgIDxjb3JlLXBhZ2UtaGVhZGVyIFt0aXRsZV09XCJjYXB0aW9uQ29kZVwiIFtoaWRlQnV0dG9uR3JvdXBdPVwidHJ1ZVwiPjwvY29yZS1wYWdlLWhlYWRlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmICghIXNlY3Rpb25zLmxlbmd0aCkge1xyXG4gICAgPGNvcmUtZm9ybSBbd2lkdGhdPVwid2lkdGhcIiBbZm9ybU5hbWVdPVwiJ2Zvcm0nXCIgW3N1Ym1pdFRleHRdPVwic3VibWl0VGV4dFwiIFtzaG93Q2FwdGlvbkJ1dHRvbl09XCJzaG93Q2FwdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgW2xlZnRJbnB1dFNlY3Rpb25zXT1cImxlZnRJbnB1dFNlY3Rpb25zXCIgW2xlZnRJbnB1dFNlY3Rpb25zRmxleFNpemVdPVwibGVmdElucHV0U2VjdGlvbnNGbGV4U2l6ZVwiXHJcbiAgICAgICAgW2lucHV0U2VjdGlvbnNdPVwic2VjdGlvbnNcIiBbbW9kZSRdPVwibW9kZSRcIiBbYm90dG9tVGVtcGxhdGVSZWZdPVwiYm90dG9tVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgIFtjdXN0b21Gb3JtQnV0dG9uSXRlbXNdPVwiY3VzdG9tRm9ybUJ1dHRvbkl0ZW1zXCIgW2Rpc2FibGVTYXZlQnV0dG9uXT1cImRpc2FibGVTYXZlQnV0dG9uXCJcclxuICAgICAgICBbY2hlY2tFcnJvciRdPVwiY2hlY2tFcnJvciRcIiAob25Gb3JtQ3JlYXRlZCk9XCJvbkZvcm1DcmVhdGVkTG9jYWwoJGV2ZW50KVwiIChvblN1Ym1pdCk9XCJvblN1Ym1pdCgpXCJcclxuICAgICAgICAob25TYXZlKT1cIm9uU2F2ZSgkZXZlbnQpXCIgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIiAob25DYW5jYWwpPVwib25DYW5jZWwoKVwiPjwvY29yZS1mb3JtPlxyXG4gICAgfVxyXG48L2Rpdj5cclxufSBAZWxzZSB7XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgb3ZlcmZsb3dZOiAnc2Nyb2xsJ1xyXG4gICAgfVwiPlxyXG4gICAgPGRpdiAjY29udGFpbmVyQmlnZ2VyIGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taGVhZGVyLXBvcHVwXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmVhdGhlci14XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj48L2k+XHJcbiAgICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBtYXJnaW46ICcwcHggMjRweCcgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvcmUtcGFnZS1oZWFkZXIgW3RpdGxlXT1cImNhcHRpb25Db2RlXCIgW2hpZGVCdXR0b25Hcm91cF09XCJ0cnVlXCI+PC9jb3JlLXBhZ2UtaGVhZGVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLXBhZ2UtZWRpdC1jb250YWluZXIgbm90LW5vcm1hbC1tb2RlXCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJ1xyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgIEBpZiAoISFzZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgPGNvcmUtZm9ybSBbZm9ybU5hbWVdPVwiJ2Zvcm0nXCIgW3N1Ym1pdFRleHRdPVwic3VibWl0VGV4dFwiIFtzaG93Q2FwdGlvbkJ1dHRvbl09XCJzaG93Q2FwdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbbGVmdElucHV0U2VjdGlvbnNdPVwibGVmdElucHV0U2VjdGlvbnNcIiBbbGVmdElucHV0U2VjdGlvbnNGbGV4U2l6ZV09XCJsZWZ0SW5wdXRTZWN0aW9uc0ZsZXhTaXplXCJcclxuICAgICAgICAgICAgICAgIFtpbnB1dFNlY3Rpb25zXT1cInNlY3Rpb25zXCIgW21vZGUkXT1cIm1vZGUkXCIgW2N1c3RvbUZvcm1CdXR0b25JdGVtc109XCJjdXN0b21Gb3JtQnV0dG9uSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVTYXZlQnV0dG9uXT1cImRpc2FibGVTYXZlQnV0dG9uXCIgW2NoZWNrRXJyb3IkXT1cImNoZWNrRXJyb3IkXCJcclxuICAgICAgICAgICAgICAgIChvbkZvcm1DcmVhdGVkKT1cIm9uRm9ybUNyZWF0ZWRMb2NhbCgkZXZlbnQpXCIgKG9uU3VibWl0KT1cIm9uU3VibWl0KClcIiAob25TYXZlKT1cIm9uU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCIgKG9uQ2FuY2FsKT1cIm9uQ2FuY2VsKClcIj48L2NvcmUtZm9ybT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG59XHJcbkBpZiAobG9hZGluZykge1xyXG48YXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPjwvYXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPlxyXG59Il19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, viewChild } from '@angular/core';
|
|
2
|
+
import QRCode from 'qrcode';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class CoreQrcodeComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.$qrCanvas = viewChild('qrCanvas');
|
|
7
|
+
this.$data = input.required();
|
|
8
|
+
this.$size = input(200);
|
|
9
|
+
this.$colorDark = input('#000000'); // Foreground color
|
|
10
|
+
this.$colorLight = input('#ffffff'); // Background color
|
|
11
|
+
this.$version = input(2); // Set the QR code version (1-40)
|
|
12
|
+
}
|
|
13
|
+
generateQRCode() {
|
|
14
|
+
const canvas = this.$qrCanvas()?.nativeElement;
|
|
15
|
+
QRCode.toCanvas(canvas, this.$data(), {
|
|
16
|
+
width: this.$size(),
|
|
17
|
+
color: {
|
|
18
|
+
dark: this.$colorDark(),
|
|
19
|
+
light: this.$colorLight()
|
|
20
|
+
},
|
|
21
|
+
version: this.$version()
|
|
22
|
+
}, (error) => {
|
|
23
|
+
if (error)
|
|
24
|
+
console.error(error);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
ngAfterViewInit() {
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
this.generateQRCode();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreQrcodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.2.3", type: CoreQrcodeComponent, isStandalone: true, selector: "core-qrcode", inputs: { $data: { classPropertyName: "$data", publicName: "$data", isSignal: true, isRequired: true, transformFunction: null }, $size: { classPropertyName: "$size", publicName: "$size", isSignal: true, isRequired: false, transformFunction: null }, $colorDark: { classPropertyName: "$colorDark", publicName: "$colorDark", isSignal: true, isRequired: false, transformFunction: null }, $colorLight: { classPropertyName: "$colorLight", publicName: "$colorLight", isSignal: true, isRequired: false, transformFunction: null }, $version: { classPropertyName: "$version", publicName: "$version", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "$qrCanvas", first: true, predicate: ["qrCanvas"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"core-qrcode-container\">\r\n <canvas #qrCanvas></canvas>\r\n</div>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreQrcodeComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'core-qrcode', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"core-qrcode-container\">\r\n <canvas #qrCanvas></canvas>\r\n</div>\r\n" }]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1xcmNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcXJjb2RlL2NvcmUtcXJjb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXFyY29kZS9jb3JlLXFyY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7QUFVNUIsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVVFLGNBQVMsR0FBRyxTQUFTLENBQWEsVUFBVSxDQUFDLENBQUM7UUFFOUMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsS0FBSyxDQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxLQUFLLENBQVMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7UUFDMUQsZ0JBQVcsR0FBRyxLQUFLLENBQVMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7UUFDM0QsYUFBUSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztLQXVCL0Q7SUFwQkMsY0FBYztRQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxhQUFhLENBQUM7UUFDL0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ25CLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7YUFDMUI7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUN6QixFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxLQUFLO2dCQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzhHQTdCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyMEJDWGhDLHdGQUdBOzsyRkRRYSxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgUVJDb2RlIGZyb20gJ3FyY29kZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtcXJjb2RlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXFyY29kZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvcmUtcXJjb2RlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVFyY29kZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAkcXJDYW52YXMgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ3FyQ2FudmFzJyk7XHJcblxyXG4gICRkYXRhID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICRzaXplID0gaW5wdXQ8bnVtYmVyPigyMDApO1xyXG4gICRjb2xvckRhcmsgPSBpbnB1dDxzdHJpbmc+KCcjMDAwMDAwJyk7IC8vIEZvcmVncm91bmQgY29sb3JcclxuICAkY29sb3JMaWdodCA9IGlucHV0PHN0cmluZz4oJyNmZmZmZmYnKTsgLy8gQmFja2dyb3VuZCBjb2xvclxyXG4gICR2ZXJzaW9uID0gaW5wdXQ8bnVtYmVyPigyKTsgLy8gU2V0IHRoZSBRUiBjb2RlIHZlcnNpb24gKDEtNDApXHJcblxyXG5cclxuICBnZW5lcmF0ZVFSQ29kZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuJHFyQ2FudmFzKCk/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBRUkNvZGUudG9DYW52YXMoY2FudmFzLCB0aGlzLiRkYXRhKCksIHtcclxuICAgICAgd2lkdGg6IHRoaXMuJHNpemUoKSxcclxuICAgICAgY29sb3I6IHtcclxuICAgICAgICBkYXJrOiB0aGlzLiRjb2xvckRhcmsoKSxcclxuICAgICAgICBsaWdodDogdGhpcy4kY29sb3JMaWdodCgpXHJcbiAgICAgIH0sXHJcbiAgICAgIHZlcnNpb246IHRoaXMuJHZlcnNpb24oKVxyXG4gICAgfSwgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVycm9yKSBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVRUkNvZGUoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29yZS1xcmNvZGUtY29udGFpbmVyXCI+XHJcbiAgICA8Y2FudmFzICNxckNhbnZhcz48L2NhbnZhcz5cclxuPC9kaXY+XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -212,6 +212,7 @@ export * from './lib/app/libraries/core-org-tree/core-org-tree-state';
|
|
|
212
212
|
export * from './lib/app/libraries/core-org-tree/core-org-tree.service';
|
|
213
213
|
export * from './lib/app/libraries/core-org-unit-seeker/core-org-unit-seeker/core-org-unit-seeker.component';
|
|
214
214
|
export * from './lib/app/libraries/core-orgchartflex/core-orgchartflex/core-orgchartflex.component';
|
|
215
|
+
export * from './lib/app/libraries/core-org-param/core-org-param.component';
|
|
215
216
|
export * from './lib/app/libraries/core-page-edit/EnumCorePageEditBootstrapClass';
|
|
216
217
|
export * from './lib/app/libraries/core-page-edit/EnumCorePageEditFieldType';
|
|
217
218
|
export * from './lib/app/libraries/core-page-edit/EnumCorePageEditMode';
|
|
@@ -233,12 +234,12 @@ export * from './lib/app/libraries/core-pagination/core-pagination/core-paginati
|
|
|
233
234
|
export * from './lib/app/libraries/core-pagination-full/core-pagination-full/core-pagination-full.component';
|
|
234
235
|
export * from './lib/app/libraries/core-pagination-full/core-pagination-full.service';
|
|
235
236
|
export * from './lib/app/libraries/core-param-control/core-param-control/core-param-control.component';
|
|
236
|
-
export * from './lib/app/libraries/core-org-param/core-org-param.component';
|
|
237
237
|
export * from './lib/app/libraries/core-permission/core-permission.service';
|
|
238
238
|
export * from './lib/app/libraries/core-permission/core-permission/core-permission.component';
|
|
239
239
|
export * from './lib/app/libraries/core-permission-actions/core-permission-actions/core-permission-actions.component';
|
|
240
240
|
export * from './lib/app/libraries/core-position-concurrent-seeker/core-position-concurrent-seeker/core-position-concurrent-seeker.component';
|
|
241
241
|
export * from './lib/app/libraries/core-position-seeker/core-position-seeker/core-position-seeker.component';
|
|
242
|
+
export * from './lib/app/libraries/core-qrcode/core-qrcode.component';
|
|
242
243
|
export * from './lib/app/libraries/core-query-builder/core-query-builder/core-query-builder.component';
|
|
243
244
|
export * from './lib/app/libraries/core-radio-group/core-radio-group/core-radio-group.component';
|
|
244
245
|
export * from './lib/app/libraries/core-reducer-icon/core-reducer-icon/core-reducer-icon.component';
|
|
@@ -300,4 +301,4 @@ export * from './lib/app/libraries/tooltip/tooltip.directive';
|
|
|
300
301
|
export * from './lib/app/directives/hot-keys.directive';
|
|
301
302
|
export * from './lib/app/libraries/user-activity/user-activity.component';
|
|
302
303
|
export * from './lib/app/libraries/wage/wage.component';
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsbURBQW1ELENBQUE7QUFFakUsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsb0RBQW9ELENBQUE7QUFDbEUsY0FBYyxnRUFBZ0UsQ0FBQTtBQUU5RSxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMscURBQXFELENBQUE7QUFFbkUsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELGNBQWMsNkJBQTZCLENBQUE7QUFFM0MsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMs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Y0FBYywyRkFBMkYsQ0FBQTtBQUV6RyxjQUFjLGtGQUFrRixDQUFBO0FBRWhHLGNBQWMsOEVBQThFLENBQUE7QUFFNUYsY0FBYyxpREFBaUQsQ0FBQTtBQUUvRCxjQUFjLCtEQUErRCxDQUFBO0FBRTdFLGNBQWMsK0VBQStFLENBQUE7QUFFN0YsY0FBYyw2REFBNkQsQ0FBQTtBQUUzRSxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELGNBQWMsa0ZBQWtGLENBQUE7QUFFaEcsY0FBYyx3REFBd0QsQ0FBQTtBQUN0RSxjQUFjLDZEQUE2RCxDQUFBO0FBRTNFLGNBQWMsZ0VBQWdFLENBQUE7QUFFOUUsY0FBYyxxREFBcUQsQ0FBQTtBQUVuRSxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUV6RCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsbURBQW1ELENBQUE7QUFFakUsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQTtBQUU1RCxjQUFjLHlEQUF5RCxDQUFBO0FBRXZFLGNBQWMsbURBQW1ELENBQUE7QUFFakUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLCtDQUErQyxDQUFBO0FBRTdELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYywyREFBMkQsQ0FBQTtBQUV6RSxjQUFjLHlDQUF5QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1oaXN0YWZmLWFscGhhXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2FwcC1waXBlcy9tYXAtYXR0YWNobWVudC10by1zZXJ2ZXIucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2FwcC1waXBlcy9tYXAtYXZhdGFyLXRvLXNlcnZlci5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL21hcC1uZXdzZmVlZC1tZWRpYS10by1zZXJ2ZXIucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2FwcC1waXBlcy9zdHJpbmctaHRtbC5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL3VwbG9hZGVkLWZpbGVuYW1lLWN1dG9mZi5waXBlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbXBvbmVudHMvZGlhbG9nLXN0YXRlL2RpYWxvZy1zdGF0ZS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29tcG9uZW50cy9yaWdodGNoYXQvcmlnaHRjaGF0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbXBvbmVudHMvd2FpdHRpbmctc2NyZWVuL3dhaXR0aW5nLXNjcmVlbi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29uc3RhbnRzL2FsZXJ0T3B0aW9ucydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbnN0YW50cy9hdHRhY2htZW50T3B0aW9ucydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbnN0YW50cy9DT1JFX1ZOU19CVVRUT05TJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29uc3RhbnRzL2RlZmF1bHRQYWdpbmcnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb25zdGFudHMvbGF5b3V0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29uc3RhbnRzL3RoZW1lcydcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9kaXJlY3RpdmVzL2RhdGUtdmFsdWUtYWNjZXNzb3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9kaXJlY3RpdmVzL2ltYWdlLWVycm9yLXJlc29sdmVyLmRpcmVjdGl2ZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9lbnVtL0VudW1EcmFnVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bUVycm9yVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bUljb25DbGFzcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bVByb2ZpbGVJbmZvU2VjdG9yJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtU2lnbmFsUlR5cGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtU3R5bGVCdXR0b25DbGFzcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bUZvcm1CYXNlQ29udG9sVHlwZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9ndWFyZHMvY2FuLWFjdGl2YXRlLWZ1bmN0aW9uLXVybC1tYXBwZXIuZ3VhcmQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9ndWFyZHMvY2FuLWRlYWN0aXZhdGUuZ3VhcmQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9ndWFyZHMvaW5pdGlhbGl6YXRpb24uZ3VhcmQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaHR0cC1pbnRlcmNlcHRvcnMnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JQXRFbXBsb3llZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSUF1dGhEYXRhJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JQ2xpZW50TG9naW5SZXF1ZXN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JQ29yZURyb3Bkb3duT3B0aW9uJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JRm9ybWF0ZWRSZXNwb25zZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSUZ1bmN0aW9uUGVybWlzc2lvbidcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSUdldEJ5SWRSZXF1ZXN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JSHViQ29ubmVjdGlvbkFjdGl2aXR5J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JSWRzUmVxdWVzdCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSU5hdmlnYXRvckl0ZW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lRdWVyeUxpc3RSZXF1ZXN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVzcG9uc2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lSaWdodEljb24nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lTdGF0aXN0aWNBdXRoRGF0YSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVN0YXRpc3RpY1N5c1VzZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lTeXNNdXRhdGlvbkxvZ0JlZm9yZUFmdGVyUmVxdWVzdCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVRvZ2dsZUFjdGl2ZUlkc1JlcXVlc3QnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lVcGxvYWRSZXF1ZXN0J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvdGltZS1tYW5hZ2VtZW50L0lBdFN5bWJvbCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvdGltZS1tYW5hZ2VtZW50L0lBdFNoaWZ0J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvZW50aXRpZXMvSVN5c0dyb3VwJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL29ubGluZS11c2Vycy9vbmxpbmUtdXNlcnMvb25saW5lLXVzZXJzLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9hY3Rpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2FwcC1jb25maWcuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2FwcGxpY2F0aW9uLWhlbHAuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2FwcC1pbml0aWFsaXphdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvYXBwLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9jYWNoZS1zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvY2hlY2stZm9yLXVwZGF0ZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvY2xpZW50LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9jb21tb24taHR0cC1yZXF1ZXN0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9jb25maWcuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2NvcmUtdGFibGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvZG5kLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9maWx0ZXIta2l0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9ncnBjLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9oZWFkZXIuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2hpc3Rvcnkuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2h0dHAtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvaHViLWNvbm5lY3Rpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2lwLXNlcnZpY2Uuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2pzb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvbWFwLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9tb2RhbC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL25hdmlnYXRvci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvb3JnYW5pemF0aW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9wb3NpdGlvbi10cmFuc2Zlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvYXBwbGljYXRpb24taGVscC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvcHVzaC1ub3RpZmljYXRpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3JhbmRvbS1hdmF0YXIuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3JlcXVlc3QtY2FjaGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3Jlc3BvbnNlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9yb3V0aW5nLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9zb2NrZXQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3N0YXRpc3RpYy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvc3RhdGlzdGljLWF1dGguc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3N5cy1tZW51LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy90aW1lc2hlZXQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3RvcGljLXBlcm1pc3Npb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3RvcGljLXRyZWUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3VwbG9hZGVkLWZpbGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3VybC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdXNlci1hY3Rpdml0eS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdmFsdWF0ZS1kaWFsb2cuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3dvcmstc2hpZnQtZG5kLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9mdW5jdGlvbi9mdW5jdGlvbi5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L2Z1bmN0aW9uL2VkaXQvZnVuY3Rpb24tZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L2Z1bmN0aW9uLWlnbm9yZS9mdW5jdGlvbi1pZ25vcmUvZnVuY3Rpb24taWdub3JlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvZnVuY3Rpb24taWdub3JlL2Z1bmN0aW9uLWlnbm9yZS1lZGl0L2Z1bmN0aW9uLWlnbm9yZS1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvZ3JvdXBmdW5jdGlvbi9ncm91cGZ1bmN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvZ3JvdXBmdW5jdGlvbi9lZGl0L2dyb3VwZnVuY3Rpb24tZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L2luLW1lbW9yeS9pbi1tZW1vcnkvaW4tbWVtb3J5LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvbGFuZ3VhZ2UvbGFuZ3VhZ2UvbGFuZ3VhZ2UuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9sYW5ndWFnZS9sYW5ndWFnZS1lZGl0L2xhbmd1YWdlLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9tZW51L21lbnUvbWVudS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L21lbnUvbWVudS1lZGl0L21lbnUtZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L211dGF0aW9uLWxvZy9tdXRhdGlvbi1sb2cvbXV0YXRpb24tbG9nLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvbXV0YXRpb24tbG9nL211dGF0aW9uLXZpZXcvbXV0YXRpb24tdmlldy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3BvcnRhbC1yb3V0ZS9wb3J0YWwtcm91dGUuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9wb3J0YWwtcm91dGUvcG9ydGFsLXJvdXRlLWVkaXQvcG9ydGFsLXJvdXRlLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9zeXMtYWN0aW9uL3N5cy1hY3Rpb24vc3lzLWFjdGlvbi5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1hY3Rpb24vc3lzLWFjdGlvbi1lZGl0L3N5cy1hY3Rpb24tZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1mdW5jdGlvbi1hY3Rpb24vc3lzLWZ1bmN0aW9uLWFjdGlvbi9zeXMtZnVuY3Rpb24tYWN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLWZ1bmN0aW9uLWFjdGlvbi9zeXMtZnVuY3Rpb24tYWN0aW9uLWVkaXQvc3lzLWZ1bmN0aW9uLWFjdGlvbi1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLWZ1bmN0aW9uLWFjdGlvbi1tYXBwZXIvc3lzLWZ1bmN0aW9uLWFjdGlvbi1tYXBwZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9zeXMtZnVuY3Rpb24tdXJsLW1hcHBlci9zeXMtZnVuY3Rpb24tdXJsLW1hcHBlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1mdW5jdGlvbi11cmwtbWFwcGVyL2Z1bmN0aW9uLWVkaXQuc2VydmljZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1tb2R1bGUvc3lzLW1vZHVsZS9zeXMtbW9kdWxlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLW1vZHVsZS9zeXMtbW9kdWxlLWVkaXQvc3lzLW1vZHVsZS1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzZXRzL2pzL3Jlc2N1c2l2ZV93aydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzZXRzL2pzL2Jsb2IyYmFzZTY0X3drJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9hbGVydC9hbGVydC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2FsZXJ0L2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9hbGVydC9hbGVydC9hbGVydC5tb2RlbCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYW5pbWF0ZWQtdGV4dC9hbmltYXRlZC10ZXh0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYW5pbWF0ZWQtdGV4dC9hbmltYXRlZC10ZXh0L2FuaW1hdGVkLXRleHQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9iYXNlLWNvbXBvbmVudC9iYXNlL2Jhc2UuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9iYXNlLWRyb3Bkb3duL2Jhc2UtZHJvcGRvd24vYmFzZS1kcm9wZG93bi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2Jhc2UtZWRpdC9iYXNlLWVkaXQvYmFzZS1lZGl0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2J1dHRvbi1ncm91cC9jb3JlLWJ1dHRvbi9FbnVtQnV0dG9uQ2FwdGlvbkNvZGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2NvcmUtYnV0dG9uL0lDb3JlQnV0dG9uJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2J1dHRvbi1ncm91cC9jb3JlLWJ1dHRvbi9jb3JlLWJ1dHRvbi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYWNjb3JkaW9uL2NvcmUtYWNjb3JkaW9uL2NvcmUtYWNjb3JkaW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWFjY29yZGlvbi9jb3JlLWFjY29yZGlvbi9jb3JlLWFjY29yZGlvbi5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWFjdGl2ZS11c2VyLWNvdW50L2NvcmUtYWN0aXZlLXVzZXItY291bnQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYWN0aXZlLXVzZXItY291bnQvbmV3bHktY3JlYXRlZC10b2tlbi5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWFwaS1wcm9ncmVzcy9jb3JlLWFwaS1wcm9ncmVzcy9jb3JlLWFwaS1wcm9ncmVzcy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYXR0YWNobWVudC9jb3JlLWF0dGFjaG1lbnQvY29yZS1hdHRhY2htZW50LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAvY29yZS1idXR0b24tZ3JvdXAvY29yZS1idXR0b24tZ3JvdXAuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwL2NvcmUtYnV0dG9uL0VudW1CdXR0b25DYXB0aW9uQ29kZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2FjdGlvbi1zdmctZWRpdC9hY3Rpb24tc3ZnLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC1zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvSUNvcmVCdXR0b25WTlMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi12bnMvY29yZS1idXR0b24tdm5zLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jaGVja2JveC9jb3JlLWNoZWNrYm94L2NvcmUtY2hlY2tib3guY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNoZWNrbGlzdC9jb3JlLWNoZWNrbGlzdC9jb3JlLWNoZWNrbGlzdC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29tbW9uLXBhcmFtLWtpdC9jb3JlLWNvbW1vbi1wYXJhbS1raXQvY29yZS1jb21tb24tcGFyYW0ta2l0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21wb3NpdGlvbi9JQ29yZUNvbXBvc2l0aW9uSW5zdGFuY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21wb3NpdGlvbi9jb3JlLWNvbXBvc2l0aW9uLXN0YXRlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29tcG9zaXRpb24vY29yZS1jb21wb3NpdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29tcG9zaXRpb24vY29yZS1jb21wb3NpdGlvbi9jb3JlLWNvbXBvc2l0aW9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb25maXJtLWRpYWxvZy9jb3JlLWNvbmZpcm0tZGlhbG9nL2NvcmUtY29uZmlybS1kaWFsb2cuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctc3RhdGUvY29uZmlybS1kaWFsb2ctc3RhdGUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXJvb3QtbWVudS1pdGVtLXBpY2tlci9jb3JlLXJvb3QtbWVudS1pdGVtLXBpY2tlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFibGUvY29yZS10YWJsZS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWJsZS9FbnVtQ29yZVRhYmxlUGlwZVR5cGUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29udHJhY3Qtc2Vla2VyL2NvcmUtY29udHJhY3Qtc2Vla2VyL2NvcmUtY29udHJhY3Qtc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb250cm9sL2NvcmUtY29udHJvbC9jb3JlLWNvbnRyb2wuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbnRyb2wtbm8tZ3JpZC1idWZmZXIvY29yZS1jb250cm9sLW5vLWdyaWQtYnVmZmVyL2NvcmUtY29udHJvbC1uby1ncmlkLWJ1ZmZlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29udHJvbC1uby1zZWVrZXIvY29yZS1jb250cm9sLW5vLXNlZWtlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY3VycmVuY3ktaW5wdXQvY29yZS1jdXJyZW5jeS1pbnB1dC9jb3JlLWN1cnJlbmN5LWlucHV0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1kYXRlLXBpY2tlci9jb3JlLWRhdGUtcGlja2VyL2NvcmUtZGF0ZS1waWNrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWRyb3Bkb3duL2NvcmUtZHJvcGRvd24vY29yZS1kcm9wZG93bi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZW1wbG95ZWUtc2NoZWR1bGUvY29yZS1lbXBsb3llZS1zY2hlZHVsZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1maWxlLXVwbG9hZGVyL2NvcmUtZmlsZS11cGxvYWRlci9jb3JlLWZpbGUtdXBsb2FkZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0vY29yZS1jb250cm9sLWNsYXNzZXMvY29udHJvbC1iYXNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWNvbnRyb2wtY2xhc3Nlcy90ZXh0Ym94J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWZvcm0vZW51bS1pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWZvcm0vY29yZS1mb3JtLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0vY29yZS1jb250cm9sLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtL2N1c3RvbS12YWxpZGF0b3JzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWZvcm0uc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLXRhYi9jb3JlLWZvcm0tdGFiLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLWxpdGUvY29yZS1mb3JtLWxpdGUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1iYXNlL2NvcmUtZm9ybS1jb250cm9sLWJhc2UuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL0VudW1Db3JlU2Vla2VyQ29sdW1uJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9zZWVrZXIuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZ3JpZC1idWZmZXIvY29yZS1ncmlkLWJ1ZmZlci9jb3JlLWdyaWQtYnVmZmVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1oZWFkZXItcGFyYW1zL2NvcmUtaGVhZGVyLXBhcmFtcy9jb3JlLWhlYWRlci1wYXJhbXMuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtaGVhZGVyLXBhcmFtcy9lbnVtLWFuZC1pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWhlbHBlci9jb3JlLWhlbHBlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtaW9zLXN3aXRjaGVyL2NvcmUtaW9zLXN3aXRjaGVyL2NvcmUtaW9zLXN3aXRjaGVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1saW5lL2NvcmUtbGluZS9jb3JlLWxpbmUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpc3QvY29yZS1saXN0L2NvcmUtbGlzdC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1sb2FkaW5nLXN1cmZhY2UvY29yZS1sb2FkaW5nLXN1cmZhY2UvY29yZS1sb2FkaW5nLXN1cmZhY2UuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW1jYy9jb3JlLW1jYy9jb3JlLW1jYy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbW9udGgtcGlja2VyL2NvcmUtbW9udGgtcGlja2VyL2NvcmUtbW9udGgtcGlja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1tb250aC1zZWxlY3Rvci9jb3JlLW1vbnRoLXNlbGVjdG9yL2NvcmUtbW9udGgtc2VsZWN0b3IuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW5hdmlnYXRpb24tdHJhY2tlci9jb3JlLW5hdmlnYXRpb24tdHJhY2tlci9jb3JlLW5hdmlnYXRpb24tdHJhY2tlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb2F1dGgtY2FsbGJhY2svY29yZS1vYXV0aC1jYWxsYmFjay5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUvSU9yZ1RyZWVJdGVtJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS1zdGF0ZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vcmctdW5pdC1zZWVrZXIvY29yZS1vcmctdW5pdC1zZWVrZXIvY29yZS1vcmctdW5pdC1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW9yZ2NoYXJ0ZmxleC9jb3JlLW9yZ2NoYXJ0ZmxleC9jb3JlLW9yZ2NoYXJ0ZmxleC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L0VudW1Db3JlUGFnZUVkaXRCb290c3RyYXBDbGFzcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9FbnVtQ29yZVBhZ2VFZGl0RmllbGRUeXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L0VudW1Db3JlUGFnZUVkaXRNb2RlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L0lDb3JlUGFnZUVkaXRDUlVEJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L0lDb3JlUGFnZUVkaXRDb2x1bW5Db21wb3NpdGlvbidcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9jb3JlLXBhZ2UtZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWVkaXQvY29yZS1wYWdlLWVkaXQuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWVkaXQtbGl0ZS9jb3JlLXBhZ2UtZWRpdC1saXRlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWVkaXQtdGFiL2NvcmUtcGFnZS1lZGl0LXRhYi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWxpc3QvSUNvcmVQYWdlTGlzdEluc3RhbmNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LnN0YXRlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtbGlzdC1jb250ZW50L2NvcmUtcGFnZS1saXN0LWNvbnRlbnQvY29yZS1wYWdlLWxpc3QtY29udGVudC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS12aWV3L2VudW0taW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2Utdmlldy9jb3JlLXBhZ2Utdmlldy9jb3JlLXBhZ2Utdmlldy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnaW5hdGlvbi9jb3JlLXBhZ2luYXRpb24vY29yZS1wYWdpbmF0aW9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdpbmF0aW9uLWZ1bGwvY29yZS1wYWdpbmF0aW9uLWZ1bGwvY29yZS1wYWdpbmF0aW9uLWZ1bGwuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnaW5hdGlvbi1mdWxsL2NvcmUtcGFnaW5hdGlvbi1mdWxsLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFyYW0tY29udHJvbC9jb3JlLXBhcmFtLWNvbnRyb2wvY29yZS1wYXJhbS1jb250cm9sLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vcmctcGFyYW0vY29yZS1vcmctcGFyYW0uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBlcm1pc3Npb24vY29yZS1wZXJtaXNzaW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wZXJtaXNzaW9uL2NvcmUtcGVybWlzc2lvbi9jb3JlLXBlcm1pc3Npb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBlcm1pc3Npb24tYWN0aW9ucy9jb3JlLXBlcm1pc3Npb24tYWN0aW9ucy9jb3JlLXBlcm1pc3Npb24tYWN0aW9ucy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXIvY29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlci9jb3JlLXBvc2l0aW9uLWNvbmN1cnJlbnQtc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wb3NpdGlvbi1zZWVrZXIvY29yZS1wb3NpdGlvbi1zZWVrZXIvY29yZS1wb3NpdGlvbi1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXF1ZXJ5LWJ1aWxkZXIvY29yZS1xdWVyeS1idWlsZGVyL2NvcmUtcXVlcnktYnVpbGRlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcmFkaW8tZ3JvdXAvY29yZS1yYWRpby1ncm91cC9jb3JlLXJhZGlvLWdyb3VwLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1yZWR1Y2VyLWljb24vY29yZS1yZWR1Y2VyLWljb24vY29yZS1yZWR1Y2VyLWljb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXJvdGF0aW5nLXRleHQvY29yZS1yb3RhdGluZy10ZXh0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1yb3V0aW5nLWhpc3RvcnkvY29yZS1yb3V0aW5nLWhpc3RvcnkvY29yZS1yb3V0aW5nLWhpc3RvcnkuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNjcm9sbC9jb3JlLXNjcm9sbC9jb3JlLXNjcm9sbC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2Nyb2xsLWxhenkvY29yZS1zY3JvbGwtbGF6eS9jb3JlLXNjcm9sbC1sYXp5LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zZWVuLWJ5L2NvcmUtc2Vlbi1ieS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2hpZnQtY2FyZC9jb3JlLXNoaWZ0LWNhcmQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2hpZnQtY2VsbC9jb3JlLXNoaWZ0LWNlbGwuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2hpZnQtY29sbGVjdGlvbi9jb3JlLXNoaWZ0LWNvbGxlY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2hpZnQtc3RpY2tlci9jb3JlLXNoaWZ0LXN0aWNrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIvSVN0aWNrZXJDb2xvclNjaGVtYSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIvU1RJQ0tFUl9DT0xPUl9TQ0hFTUEnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXN1Yi1mb3JtLWdyb3VwL2NvcmUtc3ViLWZvcm0tZ3JvdXAvY29yZS1zdWItZm9ybS1ncm91cC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWItbGlzdC9jb3JlLXRhYi1saXN0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWJzL2NvcmUtdGFicy9jb3JlLXRhYnMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRhZ3MvaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRhZ3MvY29yZS10YWdzL2NvcmUtdGFncy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdG9waWMtcGlja2VyL2NvcmUtdG9waWMtcGlja2VyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRvcGljLXRyZWUvY29yZS10b3BpYy10cmVlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10cmVlL2NvcmUtdHJlZS9jb3JlLXRyZWUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRyZWUtZ3JpZC9jb3JlLXRyZWUtZ3JpZC1pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdHJlZS1ncmlkL2NvcmUtdHJlZS1ncmlkL2NvcmUtdHJlZS1ncmlkLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS13YWdlLXNlZWtlci9jb3JlLXdhZ2Utc2Vla2VyL2NvcmUtd2FnZS1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXdvcmtpbmctc2Vla2VyL2NvcmUtd29ya2luZy1zZWVrZXIvY29yZS13b3JraW5nLXNlZWtlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUteWVhci1waWNrZXIvY29yZS15ZWFyLXBpY2tlci9jb3JlLXllYXItcGlja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvZDMvY29yZS1zdGF0aXN0aWMtd2lkZ2V0L2NvcmUtc3RhdGlzdGljLXdpZGdldC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2RlY2lzaW9uL2RlY2lzaW9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvZXZhbHVhdGUtZGlhbG9nL2V2YWx1YXRlLWRpYWxvZy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvaHVjb25jdXJyZW50bHkvaHVjb25jdXJyZW50bHkuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9qb2Ivam9iLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvbGFuZ3VhZ2UtY2hhbmdlci9sYW5ndWFnZS1jaGFuZ2VyL2xhbmd1YWdlLWNoYW5nZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9uYXZpZ2F0b3IvbmF2aWdhdG9yL2l0ZW0uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL25hdmlnYXRvci9uYXZpZ2F0b3IvbmF2aWdhdG9yLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvcGFnZS10aXRsZS9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9waXBlcy9maWx0ZXIucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9waXBlcy9ub3JtYWxpemUtaHVtYW4tbmFtZS5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3BpcGVzL3RhYmxlLWNlbGwucGlwZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvcG9zaXRpb24vcG9zaXRpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3Bvc2l0aW9uL3Bvc2l0b24uZWRpdC5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9zZXJ2aWNlcy9jb3JlLWRhdGV0aW1lLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvc2VydmljZXMvZG9tLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvc2VydmljZXMvZmlsZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL2xvbmctdGFzay5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL3JlY3Vyc2l2ZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL3N0cmluZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL3VuaWNvZGUuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvc3RhZmZwcm9maWxlL3N0YWZmcHJvZmlsZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3RocmVlZG90cy90aHJlZWRvdHMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZGlyZWN0aXZlcy9ob3Qta2V5cy5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy91c2VyLWFjdGl2aXR5L3VzZXItYWN0aXZpdHkuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy93YWdlL3dhZ2UuY29tcG9uZW50JyJdfQ==
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsbURBQW1ELENBQUE7QUFFakUsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsb0RBQW9ELENBQUE7QUFDbEUsY0FBYyxnRUFBZ0UsQ0FBQTtBQUU5RSxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMscURBQXFELENBQUE7QUFFbkUsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELGNBQWMsNkJBQTZCLENBQUE7QUFFM0MsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMs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Y0FBYyxrRkFBa0YsQ0FBQTtBQUVoRyxjQUFjLDJGQUEyRixDQUFBO0FBRXpHLGNBQWMsa0ZBQWtGLENBQUE7QUFFaEcsY0FBYyw4RUFBOEUsQ0FBQTtBQUU1RixjQUFjLGlEQUFpRCxDQUFBO0FBRS9ELGNBQWMsK0RBQStELENBQUE7QUFFN0UsY0FBYywrRUFBK0UsQ0FBQTtBQUU3RixjQUFjLDZEQUE2RCxDQUFBO0FBRTNFLGNBQWMsdUNBQXVDLENBQUE7QUFFckQsY0FBYyxrRkFBa0YsQ0FBQTtBQUVoRyxjQUFjLHdEQUF3RCxDQUFBO0FBQ3RFLGNBQWMsNkRBQTZELENBQUE7QUFFM0UsY0FBYyxnRUFBZ0UsQ0FBQTtBQUU5RSxjQUFjLHFEQUFxRCxDQUFBO0FBRW5FLGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDJDQUEyQyxDQUFBO0FBRXpELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxtREFBbUQsQ0FBQTtBQUVqRSxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDhDQUE4QyxDQUFBO0FBRTVELGNBQWMseURBQXlELENBQUE7QUFFdkUsY0FBYyxtREFBbUQsQ0FBQTtBQUVqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLDJEQUEyRCxDQUFBO0FBRXpFLGNBQWMseUNBQXlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWhpc3RhZmYtYWxwaGFcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL21hcC1hdHRhY2htZW50LXRvLXNlcnZlci5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL21hcC1hdmF0YXItdG8tc2VydmVyLnBpcGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9hcHAtcGlwZXMvbWFwLW5ld3NmZWVkLW1lZGlhLXRvLXNlcnZlci5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvYXBwLXBpcGVzL3N0cmluZy1odG1sLnBpcGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9hcHAtcGlwZXMvdXBsb2FkZWQtZmlsZW5hbWUtY3V0b2ZmLnBpcGUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29tcG9uZW50cy9kaWFsb2ctc3RhdGUvZGlhbG9nLXN0YXRlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb21wb25lbnRzL3JpZ2h0Y2hhdC9yaWdodGNoYXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29tcG9uZW50cy93YWl0dGluZy1zY3JlZW4vd2FpdHRpbmctc2NyZWVuLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb25zdGFudHMvYWxlcnRPcHRpb25zJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29uc3RhbnRzL2F0dGFjaG1lbnRPcHRpb25zJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvY29uc3RhbnRzL0NPUkVfVk5TX0JVVFRPTlMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb25zdGFudHMvZGVmYXVsdFBhZ2luZydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2NvbnN0YW50cy9sYXlvdXQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9jb25zdGFudHMvdGhlbWVzJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2RpcmVjdGl2ZXMvZGF0ZS12YWx1ZS1hY2Nlc3NvcidcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2RpcmVjdGl2ZXMvaW1hZ2UtZXJyb3ItcmVzb2x2ZXIuZGlyZWN0aXZlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bURyYWdUeXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtRXJyb3JUeXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtSWNvbkNsYXNzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtUHJvZmlsZUluZm9TZWN0b3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9lbnVtL0VudW1TaWduYWxSVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2VudW0vRW51bVNvcnREaXJlY3Rpb24nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9lbnVtL0VudW1TdHlsZUJ1dHRvbkNsYXNzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvZW51bS9FbnVtRm9ybUJhc2VDb250b2xUeXBlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2d1YXJkcy9jYW4tYWN0aXZhdGUtZnVuY3Rpb24tdXJsLW1hcHBlci5ndWFyZCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2d1YXJkcy9jYW4tZGVhY3RpdmF0ZS5ndWFyZCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2d1YXJkcy9pbml0aWFsaXphdGlvbi5ndWFyZCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9odHRwLWludGVyY2VwdG9ycydcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lBdEVtcGxveWVlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JQXV0aERhdGEnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lDbGllbnRMb2dpblJlcXVlc3QnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lDb3JlRHJvcGRvd25PcHRpb24nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JRnVuY3Rpb25QZXJtaXNzaW9uJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JR2V0QnlJZFJlcXVlc3QnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lIdWJDb25uZWN0aW9uQWN0aXZpdHknXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lJZHNSZXF1ZXN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JTmF2aWdhdG9ySXRlbSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVF1ZXJ5TGlzdFJlcXVlc3QnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9pbnRlcmZhY2VzL0lRdWVyeUxpc3RSZXNwb25zZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVJpZ2h0SWNvbidcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVN0YXRpc3RpY0F1dGhEYXRhJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JU3RhdGlzdGljU3lzVXNlcidcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVN5c011dGF0aW9uTG9nQmVmb3JlQWZ0ZXJSZXF1ZXN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9JVG9nZ2xlQWN0aXZlSWRzUmVxdWVzdCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2ludGVyZmFjZXMvSVVwbG9hZFJlcXVlc3QnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy90aW1lLW1hbmFnZW1lbnQvSUF0U3ltYm9sJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy90aW1lLW1hbmFnZW1lbnQvSUF0U2hpZnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvaW50ZXJmYWNlcy9lbnRpdGllcy9JU3lzR3JvdXAnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvb25saW5lLXVzZXJzL29ubGluZS11c2Vycy9vbmxpbmUtdXNlcnMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2FjdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvYXBwLWNvbmZpZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvYXBwbGljYXRpb24taGVscC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvYXBwLWluaXRpYWxpemF0aW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9hcHAuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2F1dGguc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2NhY2hlLXNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9jaGVjay1mb3ItdXBkYXRlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9jbGllbnQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2NvbW1vbi1odHRwLXJlcXVlc3Quc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvY29yZS10YWJsZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9kbmQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2ZpbHRlci1raXQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2dycGMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL2hlYWRlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvaGlzdG9yeS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9odWItY29ubmVjdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvaXAtc2VydmljZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvanNvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9tYXAuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL21lbnUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL21vZGFsLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvbmF2aWdhdG9yLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3Bvc2l0aW9uLXRyYW5zZmVyLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9hcHBsaWNhdGlvbi1oZWxwLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9wdXNoLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvcmVxdWVzdC1jYWNoZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvcmVzcG9uc2Uuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3JvdXRpbmcuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3NvY2tldC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvc3RhdGlzdGljLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy9zdGF0aXN0aWMtYXV0aC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvc3lzLW1lbnUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3NlcnZpY2VzL3RpbWVzaGVldC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdG9waWMtcGVybWlzc2lvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdG9waWMtdHJlZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdXBsb2FkZWQtZmlsZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvdXJsLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy91c2VyLWFjdGl2aXR5LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9zZXJ2aWNlcy92YWx1YXRlLWRpYWxvZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvc2VydmljZXMvd29yay1zaGlmdC1kbmQuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L2Z1bmN0aW9uL2Z1bmN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvZnVuY3Rpb24vZWRpdC9mdW5jdGlvbi1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvZnVuY3Rpb24taWdub3JlL2Z1bmN0aW9uLWlnbm9yZS9mdW5jdGlvbi1pZ25vcmUuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9mdW5jdGlvbi1pZ25vcmUvZnVuY3Rpb24taWdub3JlLWVkaXQvZnVuY3Rpb24taWdub3JlLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9ncm91cGZ1bmN0aW9uL2dyb3VwZnVuY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9ncm91cGZ1bmN0aW9uL2VkaXQvZ3JvdXBmdW5jdGlvbi1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvaW4tbWVtb3J5L2luLW1lbW9yeS9pbi1tZW1vcnkuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9sYW5ndWFnZS9sYW5ndWFnZS9sYW5ndWFnZS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L2xhbmd1YWdlL2xhbmd1YWdlLWVkaXQvbGFuZ3VhZ2UtZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L21lbnUvbWVudS9tZW51LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvbWVudS9tZW51LWVkaXQvbWVudS1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvbXV0YXRpb24tbG9nL211dGF0aW9uLWxvZy9tdXRhdGlvbi1sb2cuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9tdXRhdGlvbi1sb2cvbXV0YXRpb24tdmlldy9tdXRhdGlvbi12aWV3LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3QvcG9ydGFsLXJvdXRlL3BvcnRhbC1yb3V0ZS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3BvcnRhbC1yb3V0ZS9wb3J0YWwtcm91dGUtZWRpdC9wb3J0YWwtcm91dGUtZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1hY3Rpb24vc3lzLWFjdGlvbi9zeXMtYWN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLWFjdGlvbi9zeXMtYWN0aW9uLWVkaXQvc3lzLWFjdGlvbi1lZGl0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLWZ1bmN0aW9uLWFjdGlvbi9zeXMtZnVuY3Rpb24tYWN0aW9uL3N5cy1mdW5jdGlvbi1hY3Rpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9zeXMtZnVuY3Rpb24tYWN0aW9uL3N5cy1mdW5jdGlvbi1hY3Rpb24tZWRpdC9zeXMtZnVuY3Rpb24tYWN0aW9uLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9zeXMtZnVuY3Rpb24tYWN0aW9uLW1hcHBlci9zeXMtZnVuY3Rpb24tYWN0aW9uLW1hcHBlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9yb290L3N5cy1mdW5jdGlvbi11cmwtbWFwcGVyL3N5cy1mdW5jdGlvbi11cmwtbWFwcGVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLWZ1bmN0aW9uLXVybC1tYXBwZXIvZnVuY3Rpb24tZWRpdC5zZXJ2aWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL3Jvb3Qvc3lzLW1vZHVsZS9zeXMtbW9kdWxlL3N5cy1tb2R1bGUuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvcm9vdC9zeXMtbW9kdWxlL3N5cy1tb2R1bGUtZWRpdC9zeXMtbW9kdWxlLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3NldHMvanMvcmVzY3VzaXZlX3drJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hc3NldHMvanMvYmxvYjJiYXNlNjRfd2snXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYWxlcnQvYWxlcnQvYWxlcnQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2FsZXJ0L2FsZXJ0L2FsZXJ0Lm1vZGVsJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9hbmltYXRlZC10ZXh0L2FuaW1hdGVkLXRleHQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9hbmltYXRlZC10ZXh0L2FuaW1hdGVkLXRleHQvYW5pbWF0ZWQtdGV4dC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2Jhc2UtZHJvcGRvd24vYmFzZS1kcm9wZG93bi9iYXNlLWRyb3Bkb3duLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYmFzZS1lZGl0L2Jhc2UtZWRpdC9iYXNlLWVkaXQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2NvcmUtYnV0dG9uL0VudW1CdXR0b25DYXB0aW9uQ29kZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9idXR0b24tZ3JvdXAvY29yZS1idXR0b24vSUNvcmVCdXR0b24nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvYnV0dG9uLWdyb3VwL2NvcmUtYnV0dG9uL2NvcmUtYnV0dG9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1hY2NvcmRpb24vY29yZS1hY2NvcmRpb24vY29yZS1hY2NvcmRpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYWNjb3JkaW9uL2NvcmUtYWNjb3JkaW9uL2NvcmUtYWNjb3JkaW9uLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYWN0aXZlLXVzZXItY291bnQvY29yZS1hY3RpdmUtdXNlci1jb3VudC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1hY3RpdmUtdXNlci1jb3VudC9uZXdseS1jcmVhdGVkLXRva2VuLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtYXBpLXByb2dyZXNzL2NvcmUtYXBpLXByb2dyZXNzL2NvcmUtYXBpLXByb2dyZXNzLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1hdHRhY2htZW50L2NvcmUtYXR0YWNobWVudC9jb3JlLWF0dGFjaG1lbnQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWJ1dHRvbi1ncm91cC9jb3JlLWJ1dHRvbi1ncm91cC9jb3JlLWJ1dHRvbi1ncm91cC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAvY29yZS1idXR0b24vRW51bUJ1dHRvbkNhcHRpb25Db2RlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvYWN0aW9uLXN2Zy1lZGl0L2FjdGlvbi1zdmctZWRpdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9FbnVtQ29yZUJ1dHRvblZOU0NvZGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9JQ29yZUJ1dHRvblZOUydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLXZucy9jb3JlLWJ1dHRvbi12bnMuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNoZWNrYm94L2NvcmUtY2hlY2tib3gvY29yZS1jaGVja2JveC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21tb24tcGFyYW0ta2l0L2NvcmUtY29tbW9uLXBhcmFtLWtpdC9jb3JlLWNvbW1vbi1wYXJhbS1raXQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbXBvc2l0aW9uL0lDb3JlQ29tcG9zaXRpb25JbnN0YW5jZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbXBvc2l0aW9uL2NvcmUtY29tcG9zaXRpb24tc3RhdGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21wb3NpdGlvbi9jb3JlLWNvbXBvc2l0aW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21wb3NpdGlvbi9jb3JlLWNvbXBvc2l0aW9uL2NvcmUtY29tcG9zaXRpb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbmZpcm0tZGlhbG9nL2NvcmUtY29uZmlybS1kaWFsb2cvY29yZS1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1zdGF0ZS9jb25maXJtLWRpYWxvZy1zdGF0ZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcm9vdC1tZW51LWl0ZW0tcGlja2VyL2NvcmUtcm9vdC1tZW51LWl0ZW0tcGlja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbnRyb2wvY29yZS1jb250cm9sL2NvcmUtY29udHJvbC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtY29udHJvbC1uby1ncmlkLWJ1ZmZlci9jb3JlLWNvbnRyb2wtbm8tZ3JpZC1idWZmZXIvY29yZS1jb250cm9sLW5vLWdyaWQtYnVmZmVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb250cm9sLW5vLXNlZWtlci9jb3JlLWNvbnRyb2wtbm8tc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1jdXJyZW5jeS1pbnB1dC9jb3JlLWN1cnJlbmN5LWlucHV0L2NvcmUtY3VycmVuY3ktaW5wdXQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWRhdGUtcGlja2VyL2NvcmUtZGF0ZS1waWNrZXIvY29yZS1kYXRlLXBpY2tlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZHJvcGRvd24vY29yZS1kcm9wZG93bi9jb3JlLWRyb3Bkb3duLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1lbXBsb3llZS1zY2hlZHVsZS9jb3JlLWVtcGxveWVlLXNjaGVkdWxlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZpbGUtdXBsb2FkZXIvY29yZS1maWxlLXVwbG9hZGVyL2NvcmUtZmlsZS11cGxvYWRlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWNvbnRyb2wtY2xhc3Nlcy9jb250cm9sLWJhc2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtL2NvcmUtY29udHJvbC1jbGFzc2VzL3RleHRib3gnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtL2NvcmUtZm9ybS9lbnVtLWludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtL2NvcmUtZm9ybS9jb3JlLWZvcm0uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS9jb3JlLWNvbnRyb2wuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0vY3VzdG9tLXZhbGlkYXRvcnMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtL2NvcmUtZm9ybS5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tdGFiL2NvcmUtZm9ybS10YWIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tbGl0ZS9jb3JlLWZvcm0tbGl0ZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS1jb250cm9sLWJhc2UvY29yZS1mb3JtLWNvbnRyb2wtYmFzZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9FbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvRW51bUNvcmVTZWVrZXJDb2x1bW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL3NlZWtlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1ncmlkLWJ1ZmZlci9jb3JlLWdyaWQtYnVmZmVyL2NvcmUtZ3JpZC1idWZmZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWhlYWRlci1wYXJhbXMvY29yZS1oZWFkZXItcGFyYW1zL2NvcmUtaGVhZGVyLXBhcmFtcy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1oZWFkZXItcGFyYW1zL2VudW0tYW5kLWludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtaGVscGVyL2NvcmUtaGVscGVyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1pb3Mtc3dpdGNoZXIvY29yZS1pb3Mtc3dpdGNoZXIvY29yZS1pb3Mtc3dpdGNoZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpbmUvY29yZS1saW5lL2NvcmUtbGluZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC9jb3JlLWxpc3QvY29yZS1saXN0LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1saXN0LWxhenkvY29yZS1saXN0LWxhenkvY29yZS1saXN0LWxhenkuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxvYWRpbmctc3VyZmFjZS9jb3JlLWxvYWRpbmctc3VyZmFjZS9jb3JlLWxvYWRpbmctc3VyZmFjZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbWNjL2NvcmUtbWNjL2NvcmUtbWNjLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1tb250aC1waWNrZXIvY29yZS1tb250aC1waWNrZXIvY29yZS1tb250aC1waWNrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW1vbnRoLXNlbGVjdG9yL2NvcmUtbW9udGgtc2VsZWN0b3IvY29yZS1tb250aC1zZWxlY3Rvci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbmF2aWdhdGlvbi10cmFja2VyL2NvcmUtbmF2aWdhdGlvbi10cmFja2VyL2NvcmUtbmF2aWdhdGlvbi10cmFja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vYXV0aC1jYWxsYmFjay9jb3JlLW9hdXRoLWNhbGxiYWNrLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9JT3JnVHJlZUl0ZW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLXN0YXRlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtb3JnY2hhcnRmbGV4L2NvcmUtb3JnY2hhcnRmbGV4L2NvcmUtb3JnY2hhcnRmbGV4LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1vcmctcGFyYW0vY29yZS1vcmctcGFyYW0uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9FbnVtQ29yZVBhZ2VFZGl0Qm9vdHN0cmFwQ2xhc3MnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWVkaXQvRW51bUNvcmVQYWdlRWRpdEZpZWxkVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9FbnVtQ29yZVBhZ2VFZGl0TW9kZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9JQ29yZVBhZ2VFZGl0Q1JVRCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtZWRpdC9JQ29yZVBhZ2VFZGl0Q29sdW1uQ29tcG9zaXRpb24nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWVkaXQvY29yZS1wYWdlLWVkaXQuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0L2NvcmUtcGFnZS1lZGl0LnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0LWxpdGUvY29yZS1wYWdlLWVkaXQtbGl0ZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1lZGl0LXRhYi9jb3JlLXBhZ2UtZWRpdC10YWIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtaGVhZGVyL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnZS1saXN0L0lDb3JlUGFnZUxpc3RJbnN0YW5jZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3Quc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zdGF0ZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLWxpc3QtY29udGVudC9jb3JlLXBhZ2UtbGlzdC1jb250ZW50L2NvcmUtcGFnZS1saXN0LWNvbnRlbnQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2Utdmlldy9lbnVtLWludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYWdlLXZpZXcvY29yZS1wYWdlLXZpZXcvY29yZS1wYWdlLXZpZXcuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2luYXRpb24vY29yZS1wYWdpbmF0aW9uL2NvcmUtcGFnaW5hdGlvbi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGFnaW5hdGlvbi1mdWxsL2NvcmUtcGFnaW5hdGlvbi1mdWxsL2NvcmUtcGFnaW5hdGlvbi1mdWxsLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhZ2luYXRpb24tZnVsbC9jb3JlLXBhZ2luYXRpb24tZnVsbC5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhcmFtLWNvbnRyb2wvY29yZS1wYXJhbS1jb250cm9sL2NvcmUtcGFyYW0tY29udHJvbC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGVybWlzc2lvbi9jb3JlLXBlcm1pc3Npb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBlcm1pc3Npb24vY29yZS1wZXJtaXNzaW9uL2NvcmUtcGVybWlzc2lvbi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcGVybWlzc2lvbi1hY3Rpb25zL2NvcmUtcGVybWlzc2lvbi1hY3Rpb25zL2NvcmUtcGVybWlzc2lvbi1hY3Rpb25zLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlci9jb3JlLXBvc2l0aW9uLWNvbmN1cnJlbnQtc2Vla2VyL2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBvc2l0aW9uLXNlZWtlci9jb3JlLXBvc2l0aW9uLXNlZWtlci9jb3JlLXBvc2l0aW9uLXNlZWtlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcXJjb2RlL2NvcmUtcXJjb2RlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1xdWVyeS1idWlsZGVyL2NvcmUtcXVlcnktYnVpbGRlci9jb3JlLXF1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXJhZGlvLWdyb3VwL2NvcmUtcmFkaW8tZ3JvdXAvY29yZS1yYWRpby1ncm91cC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcmVkdWNlci1pY29uL2NvcmUtcmVkdWNlci1pY29uL2NvcmUtcmVkdWNlci1pY29uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1yb3RhdGluZy10ZXh0L2NvcmUtcm90YXRpbmctdGV4dC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtcm91dGluZy1oaXN0b3J5L2NvcmUtcm91dGluZy1oaXN0b3J5L2NvcmUtcm91dGluZy1oaXN0b3J5LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zY3JvbGwvY29yZS1zY3JvbGwvY29yZS1zY3JvbGwuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNjcm9sbC1sYXp5L2NvcmUtc2Nyb2xsLWxhenkvY29yZS1zY3JvbGwtbGF6eS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc2Vlbi1ieS9jb3JlLXNlZW4tYnkuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNoaWZ0LWNhcmQvY29yZS1zaGlmdC1jYXJkLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNoaWZ0LWNlbGwvY29yZS1zaGlmdC1jZWxsLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNoaWZ0LWNvbGxlY3Rpb24vY29yZS1zaGlmdC1jb2xsZWN0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXNoaWZ0LXN0aWNrZXIvY29yZS1zaGlmdC1zdGlja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL0lTdGlja2VyQ29sb3JTY2hlbWEnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL1NUSUNLRVJfQ09MT1JfU0NIRU1BJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS1zdWItZm9ybS1ncm91cC9jb3JlLXN1Yi1mb3JtLWdyb3VwL2NvcmUtc3ViLWZvcm0tZ3JvdXAuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRhYmxlL0lDb3JlVGFibGVDb2x1bW5JdGVtJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFibGUvY29yZS10YWJsZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFiLWxpc3QvY29yZS10YWItbGlzdC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdGFicy9jb3JlLXRhYnMvY29yZS10YWJzLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWdzL2ludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10YWdzL2NvcmUtdGFncy9jb3JlLXRhZ3MuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRvcGljLXBpY2tlci9jb3JlLXRvcGljLXBpY2tlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10b3BpYy10cmVlL2NvcmUtdG9waWMtdHJlZS5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtdHJlZS9jb3JlLXRyZWUvY29yZS10cmVlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS10cmVlLWdyaWQvY29yZS10cmVlLWdyaWQtaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXRyZWUtZ3JpZC9jb3JlLXRyZWUtZ3JpZC9jb3JlLXRyZWUtZ3JpZC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtd2FnZS1zZWVrZXIvY29yZS13YWdlLXNlZWtlci9jb3JlLXdhZ2Utc2Vla2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvY29yZS13b3JraW5nLXNlZWtlci9jb3JlLXdvcmtpbmctc2Vla2VyL2NvcmUtd29ya2luZy1zZWVrZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXllYXItcGlja2VyL2NvcmUteWVhci1waWNrZXIvY29yZS15ZWFyLXBpY2tlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2QzL2NvcmUtc3RhdGlzdGljLXdpZGdldC9jb3JlLXN0YXRpc3RpYy13aWRnZXQuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9kZWNpc2lvbi9kZWNpc2lvbi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2V2YWx1YXRlLWRpYWxvZy9ldmFsdWF0ZS1kaWFsb2cuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2h1Y29uY3VycmVudGx5L2h1Y29uY3VycmVudGx5LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvam9iL2pvYi5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL2xhbmd1YWdlLWNoYW5nZXIvbGFuZ3VhZ2UtY2hhbmdlci9sYW5ndWFnZS1jaGFuZ2VyLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvbmF2aWdhdG9yL25hdmlnYXRvci9pdGVtLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9uYXZpZ2F0b3IvbmF2aWdhdG9yL25hdmlnYXRvci5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS9wYWdlLXRpdGxlLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvcGlwZXMvZmlsdGVyLnBpcGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvcGlwZXMvbm9ybWFsaXplLWh1bWFuLW5hbWUucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9waXBlcy90YWJsZS1jZWxsLnBpcGUnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3Bvc2l0aW9uL3Bvc2l0aW9uLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9wb3NpdGlvbi9wb3NpdG9uLmVkaXQuc2VydmljZSdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvc2VydmljZXMvY29yZS1kYXRldGltZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL2RvbS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3NlcnZpY2VzL2ZpbGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9zZXJ2aWNlcy9sb25nLXRhc2suc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9zZXJ2aWNlcy9yZWN1cnNpdmUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9zZXJ2aWNlcy9zdHJpbmcuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy9zZXJ2aWNlcy91bmljb2RlLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHAvbGlicmFyaWVzL3N0YWZmcHJvZmlsZS9zdGFmZnByb2ZpbGUuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy90aHJlZWRvdHMvdGhyZWVkb3RzLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2xpYnJhcmllcy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2RpcmVjdGl2ZXMvaG90LWtleXMuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvdXNlci1hY3Rpdml0eS91c2VyLWFjdGl2aXR5LmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcC9saWJyYXJpZXMvd2FnZS93YWdlLmNvbXBvbmVudCciXX0=
|