@wizishop/img-manager 15.0.9 → 15.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/images-view/images-view.component.mjs +2 -2
- package/esm2020/lib/services/img-manager.service.mjs +6 -3
- package/fesm2015/wizishop-img-manager.mjs +6 -3
- package/fesm2015/wizishop-img-manager.mjs.map +1 -1
- package/fesm2020/wizishop-img-manager.mjs +6 -3
- package/fesm2020/wizishop-img-manager.mjs.map +1 -1
- package/lib/services/img-manager.service.d.ts +1 -1
- package/package.json +1 -1
- package/wizishop-img-manager-15.0.10.tgz +0 -0
- package/wz-img-manager.scss +348 -348
- package/wizishop-img-manager-15.0.9.tgz +0 -0
|
@@ -407,7 +407,7 @@ export class ImagesViewComponent {
|
|
|
407
407
|
if (data.totalRecords === 0) {
|
|
408
408
|
this.displayPexelsLib();
|
|
409
409
|
}
|
|
410
|
-
this.changeDetectorRef.markForCheck();
|
|
410
|
+
this.changeDetectorRef.markForCheck(); // In wizi-admin, the change detection is not working properly
|
|
411
411
|
},
|
|
412
412
|
error: error => {
|
|
413
413
|
this.alertService.openAlert(this.errorGetAllImg);
|
|
@@ -473,4 +473,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
473
473
|
type: ViewChild,
|
|
474
474
|
args: ['imgLibContainer']
|
|
475
475
|
}] } });
|
|
476
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlcy12aWV3L2ltYWdlcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9pbWFnZXMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFtQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2SyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQWdCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVTVELE1BQU0sT0FBTyxtQkFBbUI7SUF3STlC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SW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZUZpbHRlcnMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWJsZS9maWx0ZXJzLXRhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUgfSBmcm9tICcuLi8uLi9kdG8vcGljdHVyZS1uYW1lLXVwZGF0ZS5kdG8nO1xuaW1wb3J0IHsgZWFzZUluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9lYXNlSW5PdXQvZWFzZS1pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IGluc2VydFJlbW92ZSB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvaW5zZXJ0UmVtb3ZlL2luc2VydC1yZW1vdmUuYW5pbWF0aW9uJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkLCB0YWJEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1hZ2VzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0LFxuICAgIGluc2VydFJlbW92ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KCkgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpIGZ1bGxTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXhMZW5ndGhDYXJkU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBuYlJvd1RvU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBsaXN0RGlzcGxheWVkID0gZmFsc2U7IC8vIERpc3BsYXkgZm9ybWF0IGxpc3Qgb3IgbW9zYWljXG4gIEBJbnB1dCgpIG11bHRpcGxlSW1nTW9kZSA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIERhdGEgZmlsdGVyc1xuICB0YWJsZUZpbHRlcnM6IFRhYmxlRmlsdGVycyA9IHtcbiAgICBzb3J0OiB1bmRlZmluZWQsXG4gICAgb3JkZXI6IHVuZGVmaW5lZCxcbiAgICBzZWFyY2hWYWx1ZTogJycsXG4gICAgdG90YWxJdGVtczogMCxcbiAgICBpdGVtc1BlclBhZ2U6IDAsXG4gICAgY3VycmVudFBhZ2U6IDFcbiAgfTtcblxuICBAVmlld0NoaWxkKCdpbWdMaWJDb250YWluZXInKSBpbWdMaWJDb250YWluZXIgOiBFbGVtZW50UmVmO1xuICB3aWR0aExhcmdlQ2FyZDogbnVtYmVyID0gMjE5OyAvLyBEZWZhdWx0IHZhbHVlIG9mIGEgY2FyZCB3aWR0aCAxOTkgKyBtYXJnaW4gMjBcbiAgd2lkdGhTbWFsbENhcmQ6IG51bWJlciA9IDE2MDsgLy8gRGVmYXVsdCB2YWx1ZSBvZiBhIGNhcmQgd2lkdGggMTQwICsgbWFyZ2luIDIwXG4gIG5iTWluSW1nUGVyTGluZTogbnVtYmVyO1xuICBuYk1heEltZ1BlckxpbmU6IG51bWJlcjtcbiAgbmJGYWtlSW1nOiBudW1iZXIgPSAwO1xuXG4gIGltZ0Z1bGxXaWR0aENvbmZpZzphbnkgPSBbXG4gICAge1xuICAgICAgbWF4OiA0MTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjVcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogNDk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDEsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC41XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDcxOSwgLy8gdGFibGV0XG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC41LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMzMzM1xuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMDIzLCAvLyBkZXNrb3BcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4yXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxNTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMixcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjExMTFcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjYsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xXG4gICAgfVxuICBdO1xuXG4gIGltZ1dpZHRoQ29uZmlnOmFueSA9IFtcbiAgICB7XG4gICAgICBtYXg6IDEwMjQsXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMzMzMyxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTI5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xNjY2XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjZcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTU5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTRcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTI1XG4gICAgfVxuICBdO1xuXG4gIGltZ1N1YnNjcmliZTogU3Vic2NyaXB0aW9uO1xuICBpbWdSZW1vdmVkRXZlbnQ6IFN1YnNjcmlwdGlvbjtcbiAgaW1nQWRkZWRFdmVudDogU3Vic2NyaXB0aW9uO1xuICBpbWdTZWxlY3Rpb25DaGFuZ2U6IFN1YnNjcmlwdGlvbjtcbiAgc2VhcmNoUXVlcnlDaGFuZ2VkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIGZpbHRlcnNDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBzYXZlUGljdHVyZUxpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXTtcbiAgc2VhcmNoZWRWYWx1ZTogc3RyaW5nOyAvLyBWYWx1ZSBmcm9tIHRoZSBzZWFyY2ggYmFyIG9yIGltZyBhZGRlZCBieSBjYW52YVxuICBuYkltZ1RvRGVsU2VsZWN0ZWQ6IG51bWJlciA9IDA7XG4gIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHRvIGRpc2FibGUgYWN0aW9uIGR1cmluZyBzZXJ2ZXIgcmVxdWVzdFxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1RvdGFsUmV0cmlldmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRlbExpc3RJbWdMb2FkZXIgPSBmYWxzZTtcbiAgaW5pdENvbXBvbmVudDogYm9vbGVhbiA9IHRydWU7XG4gIGZhaWxMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzcGxheVBleGVsc1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHdoZW4gbm8gaW1nIGZpbmQgYnkgbmFtZSwgZGlzcGxheSBpbWcgZnJvbSBQZXhlbHNcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBjb25maXJtSW1nU3VwOmJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNTZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIC8vIFBhZ2luYXRvciBQYXJhbXNcbiAgcGFnZUluZGV4OiBudW1iZXIgPTA7XG4gIGxlbmd0aDogbnVtYmVyID0gMDtcbiAgcGFnZVNpemU6IG51bWJlciA9IDMwOyAvLyBEZWZhdWx0IHZhbHVlXG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbMjUsIDUwLCAxMDAsIDI1MF07XG5cbiAgLy8gQXBpIEltZyBtYW5hZ2VyIFBhcmFtc1xuICBwYXJhbXM6UGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBwcml2YXRlIGVycm9yR2V0QWxsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0QWxsSW1nJztcbiAgcHJpdmF0ZSBlcnJvckdldFRvdGFsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0VG90YWxJbWcnO1xuICBwcml2YXRlIGVycm9yR2V0SW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0Q2FudmFJbWcnO1xuICBwcml2YXRlIG1zZ05vSW1nRm91bmQgPSAnSW1nTWFuYWdlci5JbWdMaWIubm9JbWdGb3VuZCc7XG4gIHByaXZhdGUgZXJyb3JSZW1vdmVJbWcgPSAnSW1nTWFuYWdlci5JbWdMaXN0LmVycm9yUmVtb3ZlSW1nJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpZiAodGhpcy5tYXhMZW5ndGhDYXJkU2hvdykge1xuICAgICAgdGhpcy5yZWR1Y2VQaWN0dXJlTGlzdE1heExlbmd0aCgpO1xuICAgIH0gKi9cbiAgICB0aGlzLnNldEV2ZW50cygpO1xuICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmdldEltZ1NlbGVjdGlvbigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0Rpc3BsYXkoKTtcbiAgICB0aGlzLl9nZXRJbWdMaXN0KCk7XG4gICAgaWYgKCF0aGlzLnNhdmVQaWN0dXJlTGlzdCkge1xuICAgICAgdGhpcy5zYXZlUGljdHVyZUxpc3QgPSB0aGlzLnBpY3R1cmVzTGlzdDtcbiAgICB9XG4gIH1cblxuICBnZXRJbWdMaXN0KCkge1xuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRydWUgOiBnbyB0byBsaXN0IGRpc3BsYXlcbiAgICogZmFsc2UgOiBnbyB0byBtb3NhaWMgZGlzcGxheVxuICAgKiBAcGFyYW0gYWN0aXZhdGVcbiAgICovXG4gIG9uU3dpdGNoRm9ybWF0RGlzcGxheWVkKGFjdGl2YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5saXN0RGlzcGxheWVkID0gYWN0aXZhdGU7XG4gICAgdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLnNldFVzZXJEaXNwbGF5UHJlZmVyZW5jZShhY3RpdmF0ZSk7XG4gICAgdGhpcy5pbWdFdmVudFNlcnZpY2UuZW1pdGxpc3REaXNwbGF5ZWRDaGFuZ2UoYWN0aXZhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bCB0aGUgbnVtYmVyIG9mIGltZyBzZWxlY3RlZCBmb3IgbWFzc2UgZGVsZXRpb25cbiAgICovXG4gIG9uSW1nU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG9uU2hvd0ltZ1VwbG9hZGVkKCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hlZFZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICBjb25zb2xlLmxvZygnb25SZW5hbWVQaWN0dXJlIHBpY3R1cmVSZW5hbWVkJywgcGljdHVyZVJlbmFtZWQpO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uub25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkKTtcbiAgfVxuXG4gIHJlbW92ZUxpc3RJbWcoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGUgPSB0cnVlO1xuICAgIHRoaXMuZGVsTGlzdEltZ0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG5cbiAgICAvLyBHZXQgdGhlIGlkIG9mIHRoZSBpbWcgdG8gcmVtb3ZlXG4gICAgLy8gQW5kIGFkZCBkZWxldGVkIHByb3BlcnR5XG4gICAgY29uc3QgaWRJbWdUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKCBpbWcgPT4ge1xuICAgICAgaWYgKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIGlkSW1nVG9SZW1vdmUucHVzaChpbWcuaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIucmVtb3ZlTXVsdGlwbGVJbWcoaWRJbWdUb1JlbW92ZSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkSW1nVG9SZW1vdmUpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVtb3ZlSW1nKTtcbiAgICAgIH1cbiAgICApO1xuXG5cbiAgfVxuXG4gIHNlbGVjdEltZ0Nob3NlbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBpY3R1cmVzTGlzdFNlbGVjdGVkOiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5tYXAoaW1nID0+IHtcbiAgICAgIGlmKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsU2VsZWN0ZWQgPWZhbHNlO1xuICAgICAgICBpbWcuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGltZy5zZWxlY3RlZCkge1xuICAgICAgICBwaWN0dXJlc0xpc3RTZWxlY3RlZC5wdXNoKGltZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0SW1nU2VsZWN0aW9uKHBpY3R1cmVzTGlzdFNlbGVjdGVkKTtcbiAgfVxuXG4gIGRpc3BsYXlDb25maXJtSW1nU3VwKCl7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm1JbWdTdXAgPSB0cnVlO1xuICB9XG5cbiAgY2FuY2VsU3VwKCkge1xuICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXQgd2hlbiBhIGltZyBzZWxlY3RlZCBpbiBvcmRlciB0byBkZWxldGVcbiAgICovXG4gIG9uUGljdHVyZXNMaXN0Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0RlbFNlbGVjdGVkKCk7XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgbnVtYmVyIG9mIGltZyBwZXIgcGFnZSB0byBkaXNwbGF5IGF0IHRoZSBpbml0aWFsaXNhdGlvblxuICAgKiBUaGlzIG51bWJlciBpcyBiZXR3ZWVuIDMwIGFuZCA1MFxuICAgKi9cbiAgcHJpdmF0ZSBzZXROYkltZ1RvRGlzcGxheSgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuaW1nTGliQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAzMDsgLy8gKyAzMHB4IC0+IGxlZnQgKyByaWdodCBtYXJnaW5cbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IFttYXhJbWdXaWR0aEZhY3RvciwgbWluSW1nV2lkdGhGYWN0b3JdID0gdGhpcy5nZXRJbWdXaWR0aEZhY3RvcnMoKTtcblxuICAgIGNvbnN0IG1pbkltZ1dpZHRoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAqIG1pbkltZ1dpZHRoRmFjdG9yKTtcbiAgICBjb25zdCBtYXhJbWdXaWR0aCA9IE1hdGguY2VpbCgoY29udGFpbmVyV2lkdGggKyBzY3JvbGxXaWR0aCApICogbWF4SW1nV2lkdGhGYWN0b3IpO1xuXG4gICAgdGhpcy5uYk1heEltZ1BlckxpbmUgPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gbWluSW1nV2lkdGgpO1xuICAgIHRoaXMubmJNaW5JbWdQZXJMaW5lID0gTWF0aC5mbG9vciggKGNvbnRhaW5lcldpZHRoICsgc2Nyb2xsV2lkdGggKSAvIG1heEltZ1dpZHRoKTtcblxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmdldFRvdGFsSW1nUGVyUGFnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWdXaWR0aEZhY3RvcnMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1pbldpZHRoOm51bWJlciA9IDA7XG4gICAgbGV0IGltZ1NpemVzQ29uZmlnOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEltZ1dpZHRoQ29uZmlnID0gdGhpcy5mdWxsU2l6ZSA/IHRoaXMuaW1nRnVsbFdpZHRoQ29uZmlnIDogdGhpcy5pbWdXaWR0aENvbmZpZztcblxuICAgIGZvciAoY29uc3Qgd2lkdGhDb25maWcgb2YgY3VycmVudEltZ1dpZHRoQ29uZmlnKSB7XG4gICAgICAgIGlmICghd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbldpZHRoIDwgc2NyZWVuV2lkdGggJiYgc2NyZWVuV2lkdGggPD0gd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWluV2lkdGggPSB3aWR0aENvbmZpZy5tYXg7XG4gICAgfVxuICAgIHJldHVybiBpbWdTaXplc0NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxJbWdQZXJQYWdlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubmJSb3dUb1Nob3cpIHtcbiAgICAgIGNvbnN0IG5iSW1nUGVyTGluZSA9IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyA/IHRoaXMubmJNaW5JbWdQZXJMaW5lIDogdGhpcy5uYk1heEltZ1BlckxpbmU7XG4gICAgICByZXR1cm4gbmJJbWdQZXJMaW5lICogdGhpcy5uYlJvd1RvU2hvdztcbiAgICB9XG5cbiAgICBsZXQgdG90YWwgPSB0aGlzLm5iTWluSW1nUGVyTGluZTtcblxuICAgIHdoaWxlICh0b3RhbCA8IDMwIHx8IHRvdGFsICUgdGhpcy5uYk1heEltZ1BlckxpbmUgIT09IDAgfHwgIHRvdGFsICUgdGhpcy5uYk1pbkltZ1BlckxpbmUgIT09IDApIHtcbiAgICAgIHRvdGFsICs9IHRoaXMubmJNaW5JbWdQZXJMaW5lO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cblxuICBwcml2YXRlIHNldFBhcmFtcygpIHtcbiAgICB0aGlzLnBhcmFtcyA9IHtcbiAgICAgIGxpbWl0OiB0aGlzLm1heExlbmd0aENhcmRTaG93Py50b1N0cmluZygpIHx8ICh0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgPyB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UudG9TdHJpbmcoKSA6IHRoaXMucGFnZVNpemUudG9TdHJpbmcoKSksXG4gICAgICBwYWdlOiB0aGlzLnRhYmxlRmlsdGVycy5jdXJyZW50UGFnZS50b1N0cmluZygpXG4gICAgfTtcbiAgICBpZiAodGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucGFyYW1zLnNlYXJjaCA9IHRoaXMudGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0VmFyaWFibGVzKGxvYWRpbmdTdWNjZXNzOiBib29sZWFuKSB7XG4gICAgdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQgPSAwO1xuICAgIHRoaXMuZGlzYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kZWxMaXN0SW1nTG9hZGVyID0gZmFsc2U7XG4gICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuZmFpbExvYWRlZCA9ICFsb2FkaW5nU3VjY2VzcztcbiAgICB0aGlzLm5iRmFrZUltZyA9IDA7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEltZ1NlbGVjdGVkICgpIHtcbiAgICBpZiAoIXRoaXMuaW1nU2VsZWN0ZWRMaXN0IHx8ICF0aGlzLmltZ1NlbGVjdGVkTGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpZEltZ1NsZWN0ZWRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgdGhpcy5pbWdTZWxlY3RlZExpc3QuZm9yRWFjaChpbWcgPT5cbiAgICAgIGlkSW1nU2xlY3RlZExpc3QucHVzaChpbWcuaWRfZmlsZSlcbiAgICApO1xuXG4gICAgdGhpcy5waWN0dXJlc0xpc3QuZm9yRWFjaChwaWN0dXJlID0+IHtcbiAgICAgIGlmIChpZEltZ1NsZWN0ZWRMaXN0LmluZGV4T2YocGljdHVyZS5pZF9maWxlKSAhPT0gLTEpIHtcbiAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlQZXhlbHNMaWIgKCkge1xuICAgIHRoaXMuZGlzcGxheVBleGVsc1Jlc3VsdHMgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLm1zZ05vSW1nRm91bmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIGltZyBsaXN0IGluIG9yZGVyIHRvIGZpbGwgcHJvcGVybHkgYWxsIHRoZSBsaW5lIG9mIGltYWdlcyBkaXNwbGF5ZWQgaW4gbW9zYWljLlxuICAgKiBPdGhlcndpc2UsIHRoZSBzcGFjZS1iZXR3ZWVuIGNzcyB3aWxsIGRvIGEgYmFkIGRpc3BsYXlcbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkOiBudW1iZXIpIHtcbiAgICBjb25zdCBuYkltZ1BlckxpbmUgPSB0aGlzLnN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnIHx8IHRoaXMudGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCcgPyB0aGlzLm5iTWF4SW1nUGVyTGluZSA6IHRoaXMubmJNaW5JbWdQZXJMaW5lO1xuXG4gICAgaWYgKG5iSW1nRGlzcGxheWVkICUgbmJJbWdQZXJMaW5lICE9PSAwKSB7XG4gICAgICB0aGlzLm5iRmFrZUltZyA9IG5iSW1nUGVyTGluZSAtIG5iSW1nRGlzcGxheWVkICUgbmJJbWdQZXJMaW5lO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW1nIChpZF9maWxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmltZ01hbmFnZXIuZ2V0U2hvcEltZyhpZF9maWxlKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShcbiAgICAgIChwaWN0dXJlOiBJbWdQaWN0dXJlRFRPKSA9PiB7XG5cbiAgICAgICAgaWYgKCF0aGlzLmltZ0FscmVhZHlFeGlzdChwaWN0dXJlLmlkX2ZpbGUpKSB7XG4gICAgICAgICAgLy8gY2hlY2sgdGhlIGltZyBpcyBub3QgYWxyZWFkeSBwcmVzZW50XG4gICAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QudW5zaGlmdChwaWN0dXJlKTtcbiAgICAgICAgICB0aGlzLmxlbmd0aCArPSAxO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldEltZyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW1nQWxyZWFkeUV4aXN0IChpZF9maWxlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGltZyBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xuICAgICAgaWYgKGltZy5pZF9maWxlID09PSBpZF9maWxlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNldE5iSW1nVG9EZWxTZWxlY3RlZCAoKSB7XG4gICAgdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQgPSB0aGlzLnBpY3R1cmVzTGlzdC5maWx0ZXIoaW1nID0+XG4gICAgICBpbWcuZGVsU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGlmICghdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RXZlbnRzKCkge1xuICAgIC8vIEFkZCBhIHRpbWVyIHRvIHJldHJpZXZlIGltZyB3aGVuIHRoZSBzZWFyY2ggYmFyIG9yIHRoZSBwYWdpbmF0b3IgYXJlIHVzZWRcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDQwMCkpIC8vIHdhaXQgMC41IHNlYyBhZnRlciB0aGUgbGFzdCBldmVudCBiZWZvcmUgZW1pdHRpbmcgbGFzdCBldmVudFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg4MDApKSAvLyB3YWl0IDAuOCBzZWMgYWZ0ZXIgdGhlIGxhc3QgZXZlbnQgYmVmb3JlIGVtaXR0aW5nIGxhc3QgZXZlbnRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5fZ2V0SW1nTGlzdCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmVsb2FkIGltZyB3aGVuIGltZyBpcy9hcmUgcmVtb3ZlZFxuICAgIHRoaXMuaW1nUmVtb3ZlZEV2ZW50ID0gdGhpcy5pbWdFdmVudFNlcnZpY2UuZ2V0SW1nUmVtb3ZlZEV2ZW50TGlzdG5lcigpLnN1YnNjcmliZShpZF9maWxlID0+e1xuICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgaW1nIGZyb20gQ2FudmFcbiAgICB0aGlzLmltZ0FkZGVkRXZlbnQgPSB0aGlzLmltZ0V2ZW50U2VydmljZS5nZXRJbWdBZGRlZEV2ZW50TGlzdG5lcigpLnN1YnNjcmliZShpZF9maWxlID0+e1xuICAgICAgaWYgKGlkX2ZpbGUgJiYgIXRoaXMuaW1nQWxyZWFkeUV4aXN0KGlkX2ZpbGUpKSB7XG4gICAgICAgIHRoaXMuZ2V0SW1nKGlkX2ZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uQ2hhbmdlKCkuc3Vic2NyaWJlKGltZ1NlbGVjdGlvbiA9PntcbiAgICAgIGlmICh0aGlzLmxpc3REaXNwbGF5ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaWRGaWxlTGlzdCA9IFtdO1xuICAgICAgaW1nU2VsZWN0aW9uLm1hcChpbWcgPT4gaWRGaWxlTGlzdC5wdXNoKGltZy5pZF9maWxlKSk7XG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcbiAgICAgICAgaWYgKGlkRmlsZUxpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpID09PSAtMSkge1xuICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW1nTGlzdCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuc2V0UGFyYW1zKCk7XG5cbiAgICB0aGlzLnJlZnJlc2hUb3RhbEltZ0xpc3QoKTtcblxuICAgIHRoaXMuaW1nTWFuYWdlci5nZXRTaG9wSW1nTGlzdCh0aGlzLnBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5pbml0VmFyaWFibGVzKHRydWUpO1xuICAgICAgICBjb25zdCBuYkltZ0Rpc3BsYXllZCA9IGRhdGEuZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkKTtcbiAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QgPSBkYXRhLmRhdGE7XG4gICAgICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3RJbWdTZWxlY3RlZCgpO1xuXG4gICAgICAgIHRoaXMubGVuZ3RoID0gdGhpcy5pc1RvdGFsUmV0cmlldmVkID8gdGhpcy5sZW5ndGggOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMudG90YWxJdGVtcyA9IHRoaXMuaXNUb3RhbFJldHJpZXZlZCA/IHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlID0gIHRoaXMudGFibGVGaWx0ZXJzLml0ZW1zUGVyUGFnZSA/ICB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgOiB0aGlzLnBhZ2VTaXplO1xuXG4gICAgICAgIC8vIERpc3BsYXkgUGV4ZWxzIGlmIG5vIHJlc3VsdFxuICAgICAgICBpZiAoZGF0YS50b3RhbFJlY29yZHMgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlQZXhlbHNMaWIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cbiAgICB9LFxuICAgIGVycm9yOiBlcnJvciA9PiB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldEFsbEltZyk7XG4gICAgICB0aGlzLmluaXRWYXJpYWJsZXMoZmFsc2UpO1xuICAgIH19KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaFRvdGFsSW1nTGlzdCgpIHtcbiAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHRoaXMudGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlO1xuXG4gICAgaWYgKHRoaXMuaXNUb3RhbFJldHJpZXZlZCAmJiBzZWFyY2hWYWx1ZSA9PT0gdGhpcy5wcmV2aW91c1NlYXJjaFZhbHVlKSB7XG4gICAgICAvLyBLZWVwIGN1cnJlbnQgdG90YWwgcmVzdWx0XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1RvdGFsUmV0cmlldmVkID0gZmFsc2U7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIuZ2V0U2hvcFRvdGFsSW1nTGlzdCh0aGlzLnBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXG5cbiAgICAgIChkYXRhOiBJbWdQaWN0dXJlc0RUTykgPT4ge1xuICAgICAgICB0aGlzLnByZXZpb3VzU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICAgICAgdGhpcy5pc1RvdGFsUmV0cmlldmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMudG90YWxJdGVtcyA9IGRhdGEudG90YWxSZWNvcmRzO1xuICAgICAgfSxcblxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAvL3RoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yR2V0VG90YWxJbWcpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoRGlzcGxheVdpbmRvd01vc2FpYygpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoUXVlcnlDaGFuZ2VkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbWdSZW1vdmVkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmltZ0FkZGVkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZS51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW1hZ2VzLXZpZXdcIiBbbmdDbGFzc109XCJ7J2Z1bGxTaXplJzogZnVsbFNpemUsICdzbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgPCEtLSBTdWJoZWFkZXIgOiBJbWcgbnVtYmVyIGFuZCBhY3Rpb25zIGJ0biAoc3VwIGltZyBsaXN0LCBzd2l0Y2ggZm9ybWEgZGlzcGxheSkgLS0+XG4gIDxkaXZcbiAgKm5nSWY9XCIoc3RhdGVEaXNwbGF5ZWQgIT09ICdzbWFsbCcgfHwgdGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCcpXCJcbiAgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieydpbWFnZXMtdmlld19fY29udGFpbmVyLS11cGxvYWRUYWInOiB0YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJywgJ2ltYWdlcy12aWV3X19jb250YWluZXItLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J31cIlxuICA+XG5cbiAgICA8ZGl2ICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIubmJJbWcnIHwgdHJhbnNsYXRlIH19IDoge3tsZW5ndGh9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCdcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIubGFzdEltZ3MnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGhhcy1hZGRvbnMgc3ViSGVhZGVyQWN0aW9uc1wiICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cblxuICAgICAgICA8IS0tIEZvciBsaXN0Zm9ybWEgOiBEaXNwbGF5IGJ0biBkZWwgbXVsdGlwbGUgaW1nICYgQ29uZmlybSBhY3Rpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25cIj5cblxuXG4gICAgICAgICAgICA8IS0tIFPDqWxlY3Rpb25uZXIgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIHN1Y2Nlc3MgaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fYm94QWN0aW9uX19pbXBvcnRcIlxuICAgICAgICAgICAgICBAaW5zZXJ0UmVtb3ZlQW5uaW1cbiAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0RGlzcGxheWVkICYmIG5iSW1nVG9EZWxTZWxlY3RlZCAmJiAhY29uZmlybUltZ1N1cCAmJiAhZGVsTGlzdEltZ0xvYWRlciAmJiBtdWx0aXBsZUltZ01vZGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SW1nQ2hvc2VuKClcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5zZWxlY3QnIHwgdHJhbnNsYXRlIH19ICh7e25iSW1nVG9EZWxTZWxlY3RlZH19KVxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDwhLS0gRGlzcGxheSBidG4gZGVsIG11bHRpcGxlIGltZyAtLT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0RGlzcGxheWVkICYmIG5iSW1nVG9EZWxTZWxlY3RlZCAmJiAhY29uZmlybUltZ1N1cFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkaXNwbGF5Q29uZmlybUltZ1N1cCgpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fYm94QWN0aW9uX19kZWxCdG4gZGFuZ2VyXCJcbiAgICAgICAgICAgICAgQGluc2VydFJlbW92ZUFubmltXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLXRpbWVzXCI+PC9pPnt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5kZWxNbHQnIHwgdHJhbnNsYXRlIH19ICh7e25iSW1nVG9EZWxTZWxlY3RlZH19KVxuICAgICAgICAgICAgICAgIDxzcGFuIGJ0bkxvYWRpbmdBbmltICpuZ0lmPVwiZGVsTGlzdEltZ0xvYWRlclwiIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBDb25maXJtIGFjdGlvbiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltYWdlcy12aWV3X19jb250YWluZXJfX2JveEFjdGlvbl9fY29uZmlybVN1cC0tdmlzaWJsZSc6IGNvbmZpcm1JbWdTdXB9XCI+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJuYkltZ1RvRGVsU2VsZWN0ZWQgPiAxXCIgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBfX3RleHRcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIuY29uZmlybVN1cFF1ZXN0aW9ucycgfCB0cmFuc2xhdGU6e25iSW1hZ2U6IG5iSW1nVG9EZWxTZWxlY3RlZH0gfX08L3A+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJuYkltZ1RvRGVsU2VsZWN0ZWQgPT09IDFcIiBjbGFzcz1cImltYWdlcy12aWV3X19jb250YWluZXJfX2JveEFjdGlvbl9fY29uZmlybVN1cF9fdGV4dFwiPnt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jb25maXJtU3VwUXVlc3Rpb24nIHwgdHJhbnNsYXRlOntuYkltYWdlOiBuYkltZ1RvRGVsU2VsZWN0ZWR9IH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBfX2NhbmNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbFN1cCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxpc3RJbWcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fZGVsQnRuIGRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnSW1nTWFuYWdlci5JbWdMaWIuY29uZmlybScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8IS0tIFN3aXRoIG1vc2FpYy9saXN0IGZvcm1hIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaGFzLWFkZG9ucyBpbWFnZXMtdmlld19fY29udGFpbmVyX19idXR0b25Cb3hcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtbGlnaHRlZCBpbWFnZXMtdmlld19fY29udGFpbmVyX19idXR0b25Cb3hfX2J0blwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGlmRGlzcGxheWVkJzogIWxpc3REaXNwbGF5ZWR9XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblN3aXRjaEZvcm1hdERpc3BsYXllZChmYWxzZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIGlzLXNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbiBpcy1saWdodGVkIGltYWdlcy12aWV3X19jb250YWluZXJfX2J1dHRvbkJveF9fYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aWZEaXNwbGF5ZWQnOiBsaXN0RGlzcGxheWVkfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Td2l0Y2hGb3JtYXREaXNwbGF5ZWQodHJ1ZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpcy1zbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWJhcnNcIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cbiAgPCEtLSBJbWFnZXMgc2VjdGlvbiAtLT5cbjxuZy1zY3JvbGxiYXJcbiAgY2xhc3M9XCJpbWFnZXMtdmlld19fc2Nyb2xsXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1oaWRlLS1tb3NhaWMnOiBkaXNwbGF5UGV4ZWxzUmVzdWx0cyAmJiAhbGlzdERpc3BsYXllZCxcbiAgICAnaW1hZ2VzLXZpZXdfX3Njcm9sbC0taGlkZS0tbW9zYWljLS1zbWFsbCc6IGRpc3BsYXlQZXhlbHNSZXN1bHRzICYmICFsaXN0RGlzcGxheWVkICYmIHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLFxuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1oaWRlLS10YWJsZSc6IGRpc3BsYXlQZXhlbHNSZXN1bHRzICYmIGxpc3REaXNwbGF5ZWQsXG4gICAgJ2ltYWdlcy12aWV3X19zY3JvbGwtLWZ1bGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ2Z1bGwnLFxuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1zbWFsbERpc3BsYXknIDogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgJiYgdGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCcsXG4gICAgJ2ltYWdlcy12aWV3X19zY3JvbGwtLXNtYWxsVXBsb2FkRGlzcGxheScgOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyAmJiB0YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJyxcbiAgICAnaW1hZ2VzLXZpZXdfX3Njcm9sbC0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnXG59XCJcbj5cbiAgPGRpdiAjaW1nTGliQ29udGFpbmVyIGNsYXNzPVwiaW1hZ2VzLXZpZXdfX3dyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxpc3REaXNwbGF5ZWQgfHwgc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCdcIiBbQGVhc2VJbk91dF09XCInaW4nXCI+XG4gICAgICA8bW9zYWljLXZpZXdcbiAgICAgICAgW3BpY3R1cmVzTGlzdF09XCJwaWN0dXJlc0xpc3RcIlxuICAgICAgICAocGljdHVyZXNMaXN0Q2hhbmdlKT1cIm9uUGljdHVyZXNMaXN0Q2hhbmdlKClcIlxuICAgICAgICBbdGFibGVGaWx0ZXJzXT1cInRhYmxlRmlsdGVyc1wiXG4gICAgICAgIChmaWx0ZXJzQ2hhbmdlKT1cIm9uRmlsdGVyc0NoYW5nZSgpXCJcbiAgICAgICAgWyhkaXNhYmxlKV09XCJkaXNhYmxlXCJcbiAgICAgICAgKHBpY3R1cmVOYW1lQ2hhbmdlKT1cIm9uUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd01vc2FpYygpXCJcbiAgICAgICAgW25iRmFrZUltZ109XCJuYkZha2VJbWdcIlxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxuICAgICAgICBbdGFiRGlzcGxheWVkXT1cInRhYkRpc3BsYXllZFwiXG4gICAgICAgIFtkaXNwbGF5UGV4ZWxzUmVzdWx0c109XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgW2Z1bGxTaXplXT1cImZ1bGxTaXplXCJcbiAgICAgID5cbiAgICAgIDwvbW9zYWljLXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwibGlzdERpc3BsYXllZCAmJiBzdGF0ZURpc3BsYXllZCAhPT0gJ3NtYWxsJ1wiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgICAgIDx0YWJsZS12aWV3XG4gICAgICAgIFtwaWN0dXJlc0xpc3RdPVwicGljdHVyZXNMaXN0XCJcbiAgICAgICAgKHBpY3R1cmVzTGlzdENoYW5nZSk9XCJvblBpY3R1cmVzTGlzdENoYW5nZSgpXCJcbiAgICAgICAgW3RhYmxlRmlsdGVyc109XCJ0YWJsZUZpbHRlcnNcIlxuICAgICAgICAoZmlsdGVyc0NoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXG4gICAgICAgIFsoZGlzYWJsZSldPVwiZGlzYWJsZVwiXG4gICAgICAgIChwaWN0dXJlTmFtZUNoYW5nZSk9XCJvblJlbmFtZVBpY3R1cmUoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNwbGF5UGV4ZWxzUmVzdWx0c109XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgPC90YWJsZS12aWV3PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9uZy1zY3JvbGxiYXI+XG5cbjwhLS0gUGV4ZWxzIFNlY3Rpb24gLSBXaGVuIG5vIGltZyBmb3VuZCAtLT5cbjxkaXZcbiAgKm5nSWY9XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gIGNsYXNzPVwiaW1hZ2VzLXZpZXctLXBleGVsc1wiXG4gIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgPHBleGVscy1saWJcbiAgICBbc2VhcmNoVmFsdWVdPVwidGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlXCJcbiAgICAoc2hvd0ltZ1VwbG9hZGVkKT1cIm9uU2hvd0ltZ1VwbG9hZGVkKClcIlxuICAgIFtkaXNhYmxlU2VhcmNoXT1cInRydWVcIlxuICA+XG4gIDwvcGV4ZWxzLWxpYj5cbjwvZGl2PlxuIl19
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlcy12aWV3L2ltYWdlcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9pbWFnZXMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFtQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2SyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQWdCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVTVELE1BQU0sT0FBTyxtQkFBbUI7SUF3STlC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b21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZUZpbHRlcnMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWJsZS9maWx0ZXJzLXRhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUgfSBmcm9tICcuLi8uLi9kdG8vcGljdHVyZS1uYW1lLXVwZGF0ZS5kdG8nO1xuaW1wb3J0IHsgZWFzZUluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9lYXNlSW5PdXQvZWFzZS1pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IGluc2VydFJlbW92ZSB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvaW5zZXJ0UmVtb3ZlL2luc2VydC1yZW1vdmUuYW5pbWF0aW9uJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkLCB0YWJEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1hZ2VzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0LFxuICAgIGluc2VydFJlbW92ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KCkgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpIGZ1bGxTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXhMZW5ndGhDYXJkU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBuYlJvd1RvU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBsaXN0RGlzcGxheWVkID0gZmFsc2U7IC8vIERpc3BsYXkgZm9ybWF0IGxpc3Qgb3IgbW9zYWljXG4gIEBJbnB1dCgpIG11bHRpcGxlSW1nTW9kZSA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIERhdGEgZmlsdGVyc1xuICB0YWJsZUZpbHRlcnM6IFRhYmxlRmlsdGVycyA9IHtcbiAgICBzb3J0OiB1bmRlZmluZWQsXG4gICAgb3JkZXI6IHVuZGVmaW5lZCxcbiAgICBzZWFyY2hWYWx1ZTogJycsXG4gICAgdG90YWxJdGVtczogMCxcbiAgICBpdGVtc1BlclBhZ2U6IDAsXG4gICAgY3VycmVudFBhZ2U6IDFcbiAgfTtcblxuICBAVmlld0NoaWxkKCdpbWdMaWJDb250YWluZXInKSBpbWdMaWJDb250YWluZXIgOiBFbGVtZW50UmVmO1xuICB3aWR0aExhcmdlQ2FyZDogbnVtYmVyID0gMjE5OyAvLyBEZWZhdWx0IHZhbHVlIG9mIGEgY2FyZCB3aWR0aCAxOTkgKyBtYXJnaW4gMjBcbiAgd2lkdGhTbWFsbENhcmQ6IG51bWJlciA9IDE2MDsgLy8gRGVmYXVsdCB2YWx1ZSBvZiBhIGNhcmQgd2lkdGggMTQwICsgbWFyZ2luIDIwXG4gIG5iTWluSW1nUGVyTGluZTogbnVtYmVyO1xuICBuYk1heEltZ1BlckxpbmU6IG51bWJlcjtcbiAgbmJGYWtlSW1nOiBudW1iZXIgPSAwO1xuXG4gIGltZ0Z1bGxXaWR0aENvbmZpZzphbnkgPSBbXG4gICAge1xuICAgICAgbWF4OiA0MTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjVcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogNDk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDEsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC41XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDcxOSwgLy8gdGFibGV0XG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC41LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMzMzM1xuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMDIzLCAvLyBkZXNrb3BcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4yXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxNTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMixcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjExMTFcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjYsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xXG4gICAgfVxuICBdO1xuXG4gIGltZ1dpZHRoQ29uZmlnOmFueSA9IFtcbiAgICB7XG4gICAgICBtYXg6IDEwMjQsXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMzMzMyxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTI5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xNjY2XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjZcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTU5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTRcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTI1XG4gICAgfVxuICBdO1xuXG4gIGltZ1N1YnNjcmliZTogU3Vic2NyaXB0aW9uO1xuICBpbWdSZW1vdmVkRXZlbnQ6IFN1YnNjcmlwdGlvbjtcbiAgaW1nQWRkZWRFdmVudDogU3Vic2NyaXB0aW9uO1xuICBpbWdTZWxlY3Rpb25DaGFuZ2U6IFN1YnNjcmlwdGlvbjtcbiAgc2VhcmNoUXVlcnlDaGFuZ2VkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIGZpbHRlcnNDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBzYXZlUGljdHVyZUxpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXTtcbiAgc2VhcmNoZWRWYWx1ZTogc3RyaW5nOyAvLyBWYWx1ZSBmcm9tIHRoZSBzZWFyY2ggYmFyIG9yIGltZyBhZGRlZCBieSBjYW52YVxuICBuYkltZ1RvRGVsU2VsZWN0ZWQ6IG51bWJlciA9IDA7XG4gIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHRvIGRpc2FibGUgYWN0aW9uIGR1cmluZyBzZXJ2ZXIgcmVxdWVzdFxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1RvdGFsUmV0cmlldmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRlbExpc3RJbWdMb2FkZXIgPSBmYWxzZTtcbiAgaW5pdENvbXBvbmVudDogYm9vbGVhbiA9IHRydWU7XG4gIGZhaWxMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzcGxheVBleGVsc1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHdoZW4gbm8gaW1nIGZpbmQgYnkgbmFtZSwgZGlzcGxheSBpbWcgZnJvbSBQZXhlbHNcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBjb25maXJtSW1nU3VwOmJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNTZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIC8vIFBhZ2luYXRvciBQYXJhbXNcbiAgcGFnZUluZGV4OiBudW1iZXIgPTA7XG4gIGxlbmd0aDogbnVtYmVyID0gMDtcbiAgcGFnZVNpemU6IG51bWJlciA9IDMwOyAvLyBEZWZhdWx0IHZhbHVlXG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbMjUsIDUwLCAxMDAsIDI1MF07XG5cbiAgLy8gQXBpIEltZyBtYW5hZ2VyIFBhcmFtc1xuICBwYXJhbXM6UGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBwcml2YXRlIGVycm9yR2V0QWxsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0QWxsSW1nJztcbiAgcHJpdmF0ZSBlcnJvckdldFRvdGFsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0VG90YWxJbWcnO1xuICBwcml2YXRlIGVycm9yR2V0SW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0Q2FudmFJbWcnO1xuICBwcml2YXRlIG1zZ05vSW1nRm91bmQgPSAnSW1nTWFuYWdlci5JbWdMaWIubm9JbWdGb3VuZCc7XG4gIHByaXZhdGUgZXJyb3JSZW1vdmVJbWcgPSAnSW1nTWFuYWdlci5JbWdMaXN0LmVycm9yUmVtb3ZlSW1nJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpZiAodGhpcy5tYXhMZW5ndGhDYXJkU2hvdykge1xuICAgICAgdGhpcy5yZWR1Y2VQaWN0dXJlTGlzdE1heExlbmd0aCgpO1xuICAgIH0gKi9cbiAgICB0aGlzLnNldEV2ZW50cygpO1xuICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmdldEltZ1NlbGVjdGlvbigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0Rpc3BsYXkoKTtcbiAgICB0aGlzLl9nZXRJbWdMaXN0KCk7XG4gICAgaWYgKCF0aGlzLnNhdmVQaWN0dXJlTGlzdCkge1xuICAgICAgdGhpcy5zYXZlUGljdHVyZUxpc3QgPSB0aGlzLnBpY3R1cmVzTGlzdDtcbiAgICB9XG4gIH1cblxuICBnZXRJbWdMaXN0KCkge1xuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRydWUgOiBnbyB0byBsaXN0IGRpc3BsYXlcbiAgICogZmFsc2UgOiBnbyB0byBtb3NhaWMgZGlzcGxheVxuICAgKiBAcGFyYW0gYWN0aXZhdGVcbiAgICovXG4gIG9uU3dpdGNoRm9ybWF0RGlzcGxheWVkKGFjdGl2YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5saXN0RGlzcGxheWVkID0gYWN0aXZhdGU7XG4gICAgdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLnNldFVzZXJEaXNwbGF5UHJlZmVyZW5jZShhY3RpdmF0ZSk7XG4gICAgdGhpcy5pbWdFdmVudFNlcnZpY2UuZW1pdGxpc3REaXNwbGF5ZWRDaGFuZ2UoYWN0aXZhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bCB0aGUgbnVtYmVyIG9mIGltZyBzZWxlY3RlZCBmb3IgbWFzc2UgZGVsZXRpb25cbiAgICovXG4gIG9uSW1nU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG9uU2hvd0ltZ1VwbG9hZGVkKCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hlZFZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICBjb25zb2xlLmxvZygnb25SZW5hbWVQaWN0dXJlIHBpY3R1cmVSZW5hbWVkJywgcGljdHVyZVJlbmFtZWQpO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uub25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkKTtcbiAgfVxuXG4gIHJlbW92ZUxpc3RJbWcoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGUgPSB0cnVlO1xuICAgIHRoaXMuZGVsTGlzdEltZ0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG5cbiAgICAvLyBHZXQgdGhlIGlkIG9mIHRoZSBpbWcgdG8gcmVtb3ZlXG4gICAgLy8gQW5kIGFkZCBkZWxldGVkIHByb3BlcnR5XG4gICAgY29uc3QgaWRJbWdUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKCBpbWcgPT4ge1xuICAgICAgaWYgKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIGlkSW1nVG9SZW1vdmUucHVzaChpbWcuaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIucmVtb3ZlTXVsdGlwbGVJbWcoaWRJbWdUb1JlbW92ZSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkSW1nVG9SZW1vdmUpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVtb3ZlSW1nKTtcbiAgICAgIH1cbiAgICApO1xuXG5cbiAgfVxuXG4gIHNlbGVjdEltZ0Nob3NlbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBpY3R1cmVzTGlzdFNlbGVjdGVkOiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5tYXAoaW1nID0+IHtcbiAgICAgIGlmKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsU2VsZWN0ZWQgPWZhbHNlO1xuICAgICAgICBpbWcuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGltZy5zZWxlY3RlZCkge1xuICAgICAgICBwaWN0dXJlc0xpc3RTZWxlY3RlZC5wdXNoKGltZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0SW1nU2VsZWN0aW9uKHBpY3R1cmVzTGlzdFNlbGVjdGVkKTtcbiAgfVxuXG4gIGRpc3BsYXlDb25maXJtSW1nU3VwKCl7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm1JbWdTdXAgPSB0cnVlO1xuICB9XG5cbiAgY2FuY2VsU3VwKCkge1xuICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXQgd2hlbiBhIGltZyBzZWxlY3RlZCBpbiBvcmRlciB0byBkZWxldGVcbiAgICovXG4gIG9uUGljdHVyZXNMaXN0Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0RlbFNlbGVjdGVkKCk7XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgbnVtYmVyIG9mIGltZyBwZXIgcGFnZSB0byBkaXNwbGF5IGF0IHRoZSBpbml0aWFsaXNhdGlvblxuICAgKiBUaGlzIG51bWJlciBpcyBiZXR3ZWVuIDMwIGFuZCA1MFxuICAgKi9cbiAgcHJpdmF0ZSBzZXROYkltZ1RvRGlzcGxheSgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuaW1nTGliQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAzMDsgLy8gKyAzMHB4IC0+IGxlZnQgKyByaWdodCBtYXJnaW5cbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IFttYXhJbWdXaWR0aEZhY3RvciwgbWluSW1nV2lkdGhGYWN0b3JdID0gdGhpcy5nZXRJbWdXaWR0aEZhY3RvcnMoKTtcblxuICAgIGNvbnN0IG1pbkltZ1dpZHRoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAqIG1pbkltZ1dpZHRoRmFjdG9yKTtcbiAgICBjb25zdCBtYXhJbWdXaWR0aCA9IE1hdGguY2VpbCgoY29udGFpbmVyV2lkdGggKyBzY3JvbGxXaWR0aCApICogbWF4SW1nV2lkdGhGYWN0b3IpO1xuXG4gICAgdGhpcy5uYk1heEltZ1BlckxpbmUgPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gbWluSW1nV2lkdGgpO1xuICAgIHRoaXMubmJNaW5JbWdQZXJMaW5lID0gTWF0aC5mbG9vciggKGNvbnRhaW5lcldpZHRoICsgc2Nyb2xsV2lkdGggKSAvIG1heEltZ1dpZHRoKTtcblxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmdldFRvdGFsSW1nUGVyUGFnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWdXaWR0aEZhY3RvcnMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1pbldpZHRoOm51bWJlciA9IDA7XG4gICAgbGV0IGltZ1NpemVzQ29uZmlnOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEltZ1dpZHRoQ29uZmlnID0gdGhpcy5mdWxsU2l6ZSA/IHRoaXMuaW1nRnVsbFdpZHRoQ29uZmlnIDogdGhpcy5pbWdXaWR0aENvbmZpZztcblxuICAgIGZvciAoY29uc3Qgd2lkdGhDb25maWcgb2YgY3VycmVudEltZ1dpZHRoQ29uZmlnKSB7XG4gICAgICAgIGlmICghd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbldpZHRoIDwgc2NyZWVuV2lkdGggJiYgc2NyZWVuV2lkdGggPD0gd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWluV2lkdGggPSB3aWR0aENvbmZpZy5tYXg7XG4gICAgfVxuICAgIHJldHVybiBpbWdTaXplc0NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxJbWdQZXJQYWdlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubmJSb3dUb1Nob3cpIHtcbiAgICAgIGNvbnN0IG5iSW1nUGVyTGluZSA9IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyA/IHRoaXMubmJNaW5JbWdQZXJMaW5lIDogdGhpcy5uYk1heEltZ1BlckxpbmU7XG4gICAgICByZXR1cm4gbmJJbWdQZXJMaW5lICogdGhpcy5uYlJvd1RvU2hvdztcbiAgICB9XG5cbiAgICBsZXQgdG90YWwgPSB0aGlzLm5iTWluSW1nUGVyTGluZTtcblxuICAgIHdoaWxlICh0b3RhbCA8IDMwIHx8IHRvdGFsICUgdGhpcy5uYk1heEltZ1BlckxpbmUgIT09IDAgfHwgIHRvdGFsICUgdGhpcy5uYk1pbkltZ1BlckxpbmUgIT09IDApIHtcbiAgICAgIHRvdGFsICs9IHRoaXMubmJNaW5JbWdQZXJMaW5lO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cblxuICBwcml2YXRlIHNldFBhcmFtcygpIHtcbiAgICB0aGlzLnBhcmFtcyA9IHtcbiAgICAgIGxpbWl0OiB0aGlzLm1heExlbmd0aENhcmRTaG93Py50b1N0cmluZygpIHx8ICh0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgPyB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UudG9TdHJpbmcoKSA6IHRoaXMucGFnZVNpemUudG9TdHJpbmcoKSksXG4gICAgICBwYWdlOiB0aGlzLnRhYmxlRmlsdGVycy5jdXJyZW50UGFnZS50b1N0cmluZygpXG4gICAgfTtcbiAgICBpZiAodGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucGFyYW1zLnNlYXJjaCA9IHRoaXMudGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0VmFyaWFibGVzKGxvYWRpbmdTdWNjZXNzOiBib29sZWFuKSB7XG4gICAgdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQgPSAwO1xuICAgIHRoaXMuZGlzYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kZWxMaXN0SW1nTG9hZGVyID0gZmFsc2U7XG4gICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuZmFpbExvYWRlZCA9ICFsb2FkaW5nU3VjY2VzcztcbiAgICB0aGlzLm5iRmFrZUltZyA9IDA7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEltZ1NlbGVjdGVkICgpIHtcbiAgICBpZiAoIXRoaXMuaW1nU2VsZWN0ZWRMaXN0IHx8ICF0aGlzLmltZ1NlbGVjdGVkTGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpZEltZ1NsZWN0ZWRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgdGhpcy5pbWdTZWxlY3RlZExpc3QuZm9yRWFjaChpbWcgPT5cbiAgICAgIGlkSW1nU2xlY3RlZExpc3QucHVzaChpbWcuaWRfZmlsZSlcbiAgICApO1xuXG4gICAgdGhpcy5waWN0dXJlc0xpc3QuZm9yRWFjaChwaWN0dXJlID0+IHtcbiAgICAgIGlmIChpZEltZ1NsZWN0ZWRMaXN0LmluZGV4T2YocGljdHVyZS5pZF9maWxlKSAhPT0gLTEpIHtcbiAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlQZXhlbHNMaWIgKCkge1xuICAgIHRoaXMuZGlzcGxheVBleGVsc1Jlc3VsdHMgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLm1zZ05vSW1nRm91bmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIGltZyBsaXN0IGluIG9yZGVyIHRvIGZpbGwgcHJvcGVybHkgYWxsIHRoZSBsaW5lIG9mIGltYWdlcyBkaXNwbGF5ZWQgaW4gbW9zYWljLlxuICAgKiBPdGhlcndpc2UsIHRoZSBzcGFjZS1iZXR3ZWVuIGNzcyB3aWxsIGRvIGEgYmFkIGRpc3BsYXlcbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkOiBudW1iZXIpIHtcbiAgICBjb25zdCBuYkltZ1BlckxpbmUgPSB0aGlzLnN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnIHx8IHRoaXMudGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCcgPyB0aGlzLm5iTWF4SW1nUGVyTGluZSA6IHRoaXMubmJNaW5JbWdQZXJMaW5lO1xuXG4gICAgaWYgKG5iSW1nRGlzcGxheWVkICUgbmJJbWdQZXJMaW5lICE9PSAwKSB7XG4gICAgICB0aGlzLm5iRmFrZUltZyA9IG5iSW1nUGVyTGluZSAtIG5iSW1nRGlzcGxheWVkICUgbmJJbWdQZXJMaW5lO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW1nIChpZF9maWxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmltZ01hbmFnZXIuZ2V0U2hvcEltZyhpZF9maWxlKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShcbiAgICAgIChwaWN0dXJlOiBJbWdQaWN0dXJlRFRPKSA9PiB7XG5cbiAgICAgICAgaWYgKCF0aGlzLmltZ0FscmVhZHlFeGlzdChwaWN0dXJlLmlkX2ZpbGUpKSB7XG4gICAgICAgICAgLy8gY2hlY2sgdGhlIGltZyBpcyBub3QgYWxyZWFkeSBwcmVzZW50XG4gICAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QudW5zaGlmdChwaWN0dXJlKTtcbiAgICAgICAgICB0aGlzLmxlbmd0aCArPSAxO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldEltZyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW1nQWxyZWFkeUV4aXN0IChpZF9maWxlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGltZyBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xuICAgICAgaWYgKGltZy5pZF9maWxlID09PSBpZF9maWxlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNldE5iSW1nVG9EZWxTZWxlY3RlZCAoKSB7XG4gICAgdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQgPSB0aGlzLnBpY3R1cmVzTGlzdC5maWx0ZXIoaW1nID0+XG4gICAgICBpbWcuZGVsU2VsZWN0ZWQpLmxlbmd0aDtcblxuICAgIGlmICghdGhpcy5uYkltZ1RvRGVsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RXZlbnRzKCkge1xuICAgIC8vIEFkZCBhIHRpbWVyIHRvIHJldHJpZXZlIGltZyB3aGVuIHRoZSBzZWFyY2ggYmFyIG9yIHRoZSBwYWdpbmF0b3IgYXJlIHVzZWRcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDQwMCkpIC8vIHdhaXQgMC41IHNlYyBhZnRlciB0aGUgbGFzdCBldmVudCBiZWZvcmUgZW1pdHRpbmcgbGFzdCBldmVudFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg4MDApKSAvLyB3YWl0IDAuOCBzZWMgYWZ0ZXIgdGhlIGxhc3QgZXZlbnQgYmVmb3JlIGVtaXR0aW5nIGxhc3QgZXZlbnRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5fZ2V0SW1nTGlzdCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmVsb2FkIGltZyB3aGVuIGltZyBpcy9hcmUgcmVtb3ZlZFxuICAgIHRoaXMuaW1nUmVtb3ZlZEV2ZW50ID0gdGhpcy5pbWdFdmVudFNlcnZpY2UuZ2V0SW1nUmVtb3ZlZEV2ZW50TGlzdG5lcigpLnN1YnNjcmliZShpZF9maWxlID0+e1xuICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgaW1nIGZyb20gQ2FudmFcbiAgICB0aGlzLmltZ0FkZGVkRXZlbnQgPSB0aGlzLmltZ0V2ZW50U2VydmljZS5nZXRJbWdBZGRlZEV2ZW50TGlzdG5lcigpLnN1YnNjcmliZShpZF9maWxlID0+e1xuICAgICAgaWYgKGlkX2ZpbGUgJiYgIXRoaXMuaW1nQWxyZWFkeUV4aXN0KGlkX2ZpbGUpKSB7XG4gICAgICAgIHRoaXMuZ2V0SW1nKGlkX2ZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uQ2hhbmdlKCkuc3Vic2NyaWJlKGltZ1NlbGVjdGlvbiA9PntcbiAgICAgIGlmICh0aGlzLmxpc3REaXNwbGF5ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaWRGaWxlTGlzdCA9IFtdO1xuICAgICAgaW1nU2VsZWN0aW9uLm1hcChpbWcgPT4gaWRGaWxlTGlzdC5wdXNoKGltZy5pZF9maWxlKSk7XG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcbiAgICAgICAgaWYgKGlkRmlsZUxpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpID09PSAtMSkge1xuICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW1nTGlzdCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuc2V0UGFyYW1zKCk7XG5cbiAgICB0aGlzLnJlZnJlc2hUb3RhbEltZ0xpc3QoKTtcblxuICAgIHRoaXMuaW1nTWFuYWdlci5nZXRTaG9wSW1nTGlzdCh0aGlzLnBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5pbml0VmFyaWFibGVzKHRydWUpO1xuICAgICAgICBjb25zdCBuYkltZ0Rpc3BsYXllZCA9IGRhdGEuZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkKTtcbiAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QgPSBkYXRhLmRhdGE7XG4gICAgICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3RJbWdTZWxlY3RlZCgpO1xuXG4gICAgICAgIHRoaXMubGVuZ3RoID0gdGhpcy5pc1RvdGFsUmV0cmlldmVkID8gdGhpcy5sZW5ndGggOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMudG90YWxJdGVtcyA9IHRoaXMuaXNUb3RhbFJldHJpZXZlZCA/IHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlID0gIHRoaXMudGFibGVGaWx0ZXJzLml0ZW1zUGVyUGFnZSA/ICB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgOiB0aGlzLnBhZ2VTaXplO1xuXG4gICAgICAgIC8vIERpc3BsYXkgUGV4ZWxzIGlmIG5vIHJlc3VsdFxuICAgICAgICBpZiAoZGF0YS50b3RhbFJlY29yZHMgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlQZXhlbHNMaWIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7IC8vIEluIHdpemktYWRtaW4sIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5XG5cbiAgICB9LFxuICAgIGVycm9yOiBlcnJvciA9PiB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldEFsbEltZyk7XG4gICAgICB0aGlzLmluaXRWYXJpYWJsZXMoZmFsc2UpO1xuICAgIH19KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaFRvdGFsSW1nTGlzdCgpIHtcbiAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHRoaXMudGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlO1xuXG4gICAgaWYgKHRoaXMuaXNUb3RhbFJldHJpZXZlZCAmJiBzZWFyY2hWYWx1ZSA9PT0gdGhpcy5wcmV2aW91c1NlYXJjaFZhbHVlKSB7XG4gICAgICAvLyBLZWVwIGN1cnJlbnQgdG90YWwgcmVzdWx0XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1RvdGFsUmV0cmlldmVkID0gZmFsc2U7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIuZ2V0U2hvcFRvdGFsSW1nTGlzdCh0aGlzLnBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXG5cbiAgICAgIChkYXRhOiBJbWdQaWN0dXJlc0RUTykgPT4ge1xuICAgICAgICB0aGlzLnByZXZpb3VzU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICAgICAgdGhpcy5pc1RvdGFsUmV0cmlldmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgICAgdGhpcy50YWJsZUZpbHRlcnMudG90YWxJdGVtcyA9IGRhdGEudG90YWxSZWNvcmRzO1xuICAgICAgfSxcblxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAvL3RoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yR2V0VG90YWxJbWcpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoRGlzcGxheVdpbmRvd01vc2FpYygpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoUXVlcnlDaGFuZ2VkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbWdSZW1vdmVkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmltZ0FkZGVkRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZS51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW1hZ2VzLXZpZXdcIiBbbmdDbGFzc109XCJ7J2Z1bGxTaXplJzogZnVsbFNpemUsICdzbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgPCEtLSBTdWJoZWFkZXIgOiBJbWcgbnVtYmVyIGFuZCBhY3Rpb25zIGJ0biAoc3VwIGltZyBsaXN0LCBzd2l0Y2ggZm9ybWEgZGlzcGxheSkgLS0+XG4gIDxkaXZcbiAgKm5nSWY9XCIoc3RhdGVEaXNwbGF5ZWQgIT09ICdzbWFsbCcgfHwgdGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCcpXCJcbiAgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieydpbWFnZXMtdmlld19fY29udGFpbmVyLS11cGxvYWRUYWInOiB0YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJywgJ2ltYWdlcy12aWV3X19jb250YWluZXItLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J31cIlxuICA+XG5cbiAgICA8ZGl2ICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIubmJJbWcnIHwgdHJhbnNsYXRlIH19IDoge3tsZW5ndGh9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCdcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIubGFzdEltZ3MnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGhhcy1hZGRvbnMgc3ViSGVhZGVyQWN0aW9uc1wiICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cblxuICAgICAgICA8IS0tIEZvciBsaXN0Zm9ybWEgOiBEaXNwbGF5IGJ0biBkZWwgbXVsdGlwbGUgaW1nICYgQ29uZmlybSBhY3Rpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25cIj5cblxuXG4gICAgICAgICAgICA8IS0tIFPDqWxlY3Rpb25uZXIgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIHN1Y2Nlc3MgaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fYm94QWN0aW9uX19pbXBvcnRcIlxuICAgICAgICAgICAgICBAaW5zZXJ0UmVtb3ZlQW5uaW1cbiAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0RGlzcGxheWVkICYmIG5iSW1nVG9EZWxTZWxlY3RlZCAmJiAhY29uZmlybUltZ1N1cCAmJiAhZGVsTGlzdEltZ0xvYWRlciAmJiBtdWx0aXBsZUltZ01vZGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SW1nQ2hvc2VuKClcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5zZWxlY3QnIHwgdHJhbnNsYXRlIH19ICh7e25iSW1nVG9EZWxTZWxlY3RlZH19KVxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDwhLS0gRGlzcGxheSBidG4gZGVsIG11bHRpcGxlIGltZyAtLT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0RGlzcGxheWVkICYmIG5iSW1nVG9EZWxTZWxlY3RlZCAmJiAhY29uZmlybUltZ1N1cFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkaXNwbGF5Q29uZmlybUltZ1N1cCgpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fYm94QWN0aW9uX19kZWxCdG4gZGFuZ2VyXCJcbiAgICAgICAgICAgICAgQGluc2VydFJlbW92ZUFubmltXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLXRpbWVzXCI+PC9pPnt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5kZWxNbHQnIHwgdHJhbnNsYXRlIH19ICh7e25iSW1nVG9EZWxTZWxlY3RlZH19KVxuICAgICAgICAgICAgICAgIDxzcGFuIGJ0bkxvYWRpbmdBbmltICpuZ0lmPVwiZGVsTGlzdEltZ0xvYWRlclwiIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBDb25maXJtIGFjdGlvbiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltYWdlcy12aWV3X19jb250YWluZXJfX2JveEFjdGlvbl9fY29uZmlybVN1cC0tdmlzaWJsZSc6IGNvbmZpcm1JbWdTdXB9XCI+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJuYkltZ1RvRGVsU2VsZWN0ZWQgPiAxXCIgY2xhc3M9XCJpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBfX3RleHRcIj57eyAnSW1nTWFuYWdlci5JbWdMaWIuY29uZmlybVN1cFF1ZXN0aW9ucycgfCB0cmFuc2xhdGU6e25iSW1hZ2U6IG5iSW1nVG9EZWxTZWxlY3RlZH0gfX08L3A+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJuYkltZ1RvRGVsU2VsZWN0ZWQgPT09IDFcIiBjbGFzcz1cImltYWdlcy12aWV3X19jb250YWluZXJfX2JveEFjdGlvbl9fY29uZmlybVN1cF9fdGV4dFwiPnt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jb25maXJtU3VwUXVlc3Rpb24nIHwgdHJhbnNsYXRlOntuYkltYWdlOiBuYkltZ1RvRGVsU2VsZWN0ZWR9IH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpbWFnZXMtdmlld19fY29udGFpbmVyX19ib3hBY3Rpb25fX2NvbmZpcm1TdXBfX2NhbmNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbFN1cCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxpc3RJbWcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1hZ2VzLXZpZXdfX2NvbnRhaW5lcl9fZGVsQnRuIGRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnSW1nTWFuYWdlci5JbWdMaWIuY29uZmlybScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8IS0tIFN3aXRoIG1vc2FpYy9saXN0IGZvcm1hIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaGFzLWFkZG9ucyBpbWFnZXMtdmlld19fY29udGFpbmVyX19idXR0b25Cb3hcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtbGlnaHRlZCBpbWFnZXMtdmlld19fY29udGFpbmVyX19idXR0b25Cb3hfX2J0blwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGlmRGlzcGxheWVkJzogIWxpc3REaXNwbGF5ZWR9XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblN3aXRjaEZvcm1hdERpc3BsYXllZChmYWxzZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIGlzLXNtYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbiBpcy1saWdodGVkIGltYWdlcy12aWV3X19jb250YWluZXJfX2J1dHRvbkJveF9fYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aWZEaXNwbGF5ZWQnOiBsaXN0RGlzcGxheWVkfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Td2l0Y2hGb3JtYXREaXNwbGF5ZWQodHJ1ZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpcy1zbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWJhcnNcIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cbiAgPCEtLSBJbWFnZXMgc2VjdGlvbiAtLT5cbjxuZy1zY3JvbGxiYXJcbiAgY2xhc3M9XCJpbWFnZXMtdmlld19fc2Nyb2xsXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1oaWRlLS1tb3NhaWMnOiBkaXNwbGF5UGV4ZWxzUmVzdWx0cyAmJiAhbGlzdERpc3BsYXllZCxcbiAgICAnaW1hZ2VzLXZpZXdfX3Njcm9sbC0taGlkZS0tbW9zYWljLS1zbWFsbCc6IGRpc3BsYXlQZXhlbHNSZXN1bHRzICYmICFsaXN0RGlzcGxheWVkICYmIHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLFxuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1oaWRlLS10YWJsZSc6IGRpc3BsYXlQZXhlbHNSZXN1bHRzICYmIGxpc3REaXNwbGF5ZWQsXG4gICAgJ2ltYWdlcy12aWV3X19zY3JvbGwtLWZ1bGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ2Z1bGwnLFxuICAgICdpbWFnZXMtdmlld19fc2Nyb2xsLS1zbWFsbERpc3BsYXknIDogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgJiYgdGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCcsXG4gICAgJ2ltYWdlcy12aWV3X19zY3JvbGwtLXNtYWxsVXBsb2FkRGlzcGxheScgOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyAmJiB0YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJyxcbiAgICAnaW1hZ2VzLXZpZXdfX3Njcm9sbC0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnXG59XCJcbj5cbiAgPGRpdiAjaW1nTGliQ29udGFpbmVyIGNsYXNzPVwiaW1hZ2VzLXZpZXdfX3dyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxpc3REaXNwbGF5ZWQgfHwgc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCdcIiBbQGVhc2VJbk91dF09XCInaW4nXCI+XG4gICAgICA8bW9zYWljLXZpZXdcbiAgICAgICAgW3BpY3R1cmVzTGlzdF09XCJwaWN0dXJlc0xpc3RcIlxuICAgICAgICAocGljdHVyZXNMaXN0Q2hhbmdlKT1cIm9uUGljdHVyZXNMaXN0Q2hhbmdlKClcIlxuICAgICAgICBbdGFibGVGaWx0ZXJzXT1cInRhYmxlRmlsdGVyc1wiXG4gICAgICAgIChmaWx0ZXJzQ2hhbmdlKT1cIm9uRmlsdGVyc0NoYW5nZSgpXCJcbiAgICAgICAgWyhkaXNhYmxlKV09XCJkaXNhYmxlXCJcbiAgICAgICAgKHBpY3R1cmVOYW1lQ2hhbmdlKT1cIm9uUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd01vc2FpYygpXCJcbiAgICAgICAgW25iRmFrZUltZ109XCJuYkZha2VJbWdcIlxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxuICAgICAgICBbdGFiRGlzcGxheWVkXT1cInRhYkRpc3BsYXllZFwiXG4gICAgICAgIFtkaXNwbGF5UGV4ZWxzUmVzdWx0c109XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgW2Z1bGxTaXplXT1cImZ1bGxTaXplXCJcbiAgICAgID5cbiAgICAgIDwvbW9zYWljLXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwibGlzdERpc3BsYXllZCAmJiBzdGF0ZURpc3BsYXllZCAhPT0gJ3NtYWxsJ1wiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgICAgIDx0YWJsZS12aWV3XG4gICAgICAgIFtwaWN0dXJlc0xpc3RdPVwicGljdHVyZXNMaXN0XCJcbiAgICAgICAgKHBpY3R1cmVzTGlzdENoYW5nZSk9XCJvblBpY3R1cmVzTGlzdENoYW5nZSgpXCJcbiAgICAgICAgW3RhYmxlRmlsdGVyc109XCJ0YWJsZUZpbHRlcnNcIlxuICAgICAgICAoZmlsdGVyc0NoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXG4gICAgICAgIFsoZGlzYWJsZSldPVwiZGlzYWJsZVwiXG4gICAgICAgIChwaWN0dXJlTmFtZUNoYW5nZSk9XCJvblJlbmFtZVBpY3R1cmUoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNwbGF5UGV4ZWxzUmVzdWx0c109XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgPC90YWJsZS12aWV3PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9uZy1zY3JvbGxiYXI+XG5cbjwhLS0gUGV4ZWxzIFNlY3Rpb24gLSBXaGVuIG5vIGltZyBmb3VuZCAtLT5cbjxkaXZcbiAgKm5nSWY9XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gIGNsYXNzPVwiaW1hZ2VzLXZpZXctLXBleGVsc1wiXG4gIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgPHBleGVscy1saWJcbiAgICBbc2VhcmNoVmFsdWVdPVwidGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlXCJcbiAgICAoc2hvd0ltZ1VwbG9hZGVkKT1cIm9uU2hvd0ltZ1VwbG9hZGVkKClcIlxuICAgIFtkaXNhYmxlU2VhcmNoXT1cInRydWVcIlxuICA+XG4gIDwvcGV4ZWxzLWxpYj5cbjwvZGl2PlxuIl19
|
|
@@ -56,7 +56,7 @@ export class ImgManagerService {
|
|
|
56
56
|
})
|
|
57
57
|
};
|
|
58
58
|
if (params) {
|
|
59
|
-
this.
|
|
59
|
+
this.resetParams(params);
|
|
60
60
|
header['params'] = this.params;
|
|
61
61
|
}
|
|
62
62
|
return header;
|
|
@@ -78,12 +78,15 @@ export class ImgManagerService {
|
|
|
78
78
|
getShopImg(idFile) {
|
|
79
79
|
return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
resetParams(params) {
|
|
82
82
|
this.params = new HttpParams();
|
|
83
83
|
this.params = this.params.set('id_file:sort', 'desc');
|
|
84
84
|
for (const param in params) {
|
|
85
85
|
this.params = this.params.set(param, params[param]);
|
|
86
86
|
}
|
|
87
|
+
if (params.search) {
|
|
88
|
+
this.params = this.params.set('display_name:contains', params.search);
|
|
89
|
+
}
|
|
87
90
|
}
|
|
88
91
|
uploadFile(formData) {
|
|
89
92
|
return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());
|
|
@@ -144,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
144
147
|
providedIn: 'root'
|
|
145
148
|
}]
|
|
146
149
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxpQkFBaUI7SUFrRDVCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUE3Q3BDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztRQUU1RCw0QkFBNEI7UUFDcEIsMkJBQXNCLEdBQTRCO1lBQ3hELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sOEJBQXlCLEdBQTRCO1lBQzNELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sb0JBQWUsR0FBNEI7WUFDakQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFB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bnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBkZWxheSwgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPLCBJbWdQaWN0dXJlc0RUTywgUGFyYW1zSW1nTWFuYWdlckRUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlckRpc3BsYXlDb25maWcgfSBmcm9tICcuLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi9kdG8vY29uZmlnL2ltZy1tYW5hZ2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlclNlcnZpY2Uge1xuXG4gIGltZ01hbmFnZXJSb3V0ZTogc3RyaW5nO1xuICBzaG9wVG9rZW46IHN0cmluZztcblxuICBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImxpbWl0XCIsXCIyMFwiKS5zZXQoXCJwYWdlXCIsXCIxXCIpO1xuXG4gIC8vIERpc3BsYXkgdGhlIGltZyBzZWxlY3Rpb25cbiAgcHJpdmF0ZSBwYWdlRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiB0cnVlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIGFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIHdpemlibG9ja0NvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSBmdWxsV2luZG93Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ3dpbmRvdycsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICBzZXRBcGlDb25maWcoaW1nX21hbmFnZXJfcm91dGU6IHN0cmluZywgc2hvcF90b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5pbWdNYW5hZ2VyUm91dGUgPSBpbWdfbWFuYWdlcl9yb3V0ZTtcbiAgICB0aGlzLnNob3BUb2tlbiA9IHNob3BfdG9rZW47XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBjb25zdCBoZWFkZXIgPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLnNob3BUb2tlblxuICAgICAgfSlcbiAgICB9O1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHRoaXMuZ2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgICBoZWFkZXJbJ3BhcmFtcyddID0gdGhpcy5wYXJhbXNcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcjtcbiAgfVxuXG4gIHNob3BJbWdMaXN0OiBJbWdQaWN0dXJlc0RUTztcbiAgcHJldmlvdXNQYXJhbXM6IFBhcmFtc0ltZ01hbmFnZXJEVE87XG5cbiAgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogUGFyYW1zSW1nTWFuYWdlckRUTykge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcyAmJiB0aGlzLnByZXZpb3VzUGFyYW1zICYmIHRoaXMucHJldmlvdXNQYXJhbXMubGltaXQgPT09IHBhcmFtcy5saW1pdFxuICAgICAgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5wYWdlID09PSBwYXJhbXMucGFnZSAmJiB0aGlzLnNob3BJbWdMaXN0XG4gICAgICAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLnNlYXJjaCA9PT0gcGFyYW1zLnNlYXJjaFxuICAgICkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuc2hvcEltZ0xpc3QpLnBpcGUoZGVsYXkoMCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJbWdQaWN0dXJlc0RUTz4oYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlc2AsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMocGFyYW1zKSkucGlwZShcbiAgICAgIHRhcCgoc2hvcEltZ0xpc3QpID0+IHtcbiAgICAgICAgdGhpcy5zaG9wSW1nTGlzdCA9IHNob3BJbWdMaXN0O1xuICAgICAgICB0aGlzLnByZXZpb3VzUGFyYW1zID0gcGFyYW1zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vdG90YWwvaW1hZ2VgLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcykpO1xuICB9XG5cbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkRmlsZX1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgZ2V0UGFyYW1zKHBhcmFtczogUGFyYW1zSW1nTWFuYWdlckRUTyl7XG4gICAgdGhpcy5wYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXMuc2V0KCdpZF9maWxlOnNvcnQnLCAnZGVzYycpO1xuICAgIGZvciAoY29uc3QgcGFyYW0gaW4gcGFyYW1zKSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldChwYXJhbSwgcGFyYW1zW3BhcmFtXSk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRmlsZShmb3JtRGF0YTogRm9ybURhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy90ZW1wbGF0ZWAsIGZvcm1EYXRhLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICB1cmwsXG4gICAgICBmaWxlTmFtZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEltZ1BpY3R1cmVEVE8+KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvdGVtcGxhdGVgLCB7IHVybCwgZmlsZU5hbWUgfSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIGltYWdlQmFzZTY0LFxuICAgICAgdHlwZSA6IFwiUkFXXCJcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkX2ZpbGV9L3JlcGxhY2VgLCBib2R5LCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgY2hhbmdlSW1nTmFtZShmaWxlTmFtZTogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX0/ZmlsZV9uYW1lPSR7ZmlsZU5hbWV9YCwgbnVsbCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlbW92ZUltZyhpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy1tdWx0aXBsZS1kZWxldGVgLCB7IGlkX2FycmF5IH0sIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICBnZXRJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyhkaXNwbGF5TmFtZTogSW1nTWFuYWdlckNvbmZpZykge1xuICAgIHN3aXRjaCAoZGlzcGxheU5hbWUpIHtcbiAgICAgIGNhc2UgXCJ3aW5kb3dcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbFdpbmRvd0NvbmZpZztcblxuICAgICAgY2FzZSBcIndpemktYmxvY2tcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMud2l6aWJsb2NrQ29uZmlnO1xuXG4gICAgICBjYXNlIFwiZmljaGUtcHJvZHVjdFwiOlxuICAgICAgICByZXR1cm4gdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnO1xuXG4gICAgICBjYXNlIFwic2ltcGxlLXdpdGgtYnV0dG9uXCI6XG4gICAgICAgIHJldHVybiB0aGlzLnNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWc7XG5cbiAgICAgIGNhc2UgJ2FuZ3VsYXItZmljaGUtcHJvZHVjdCc6XG4gICAgICAgIHJldHVybiB0aGlzLmFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWdcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKCk6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnW10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmZ1bGxXaW5kb3dDb25maWcsXG4gICAgICB0aGlzLndpemlibG9ja0NvbmZpZyxcbiAgICAgIHRoaXMucGFnZUZpY2hlUHJvZHVjdENvbmZpZyxcbiAgICAgIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZyxcbiAgICBdXG4gIH1cbn1cbiJdfQ==
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxpQkFBaUI7SUFrRDVCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUE3Q3BDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztRQUU1RCw0QkFBNEI7UUFDcEIsMkJBQXNCLEdBQTRCO1lBQ3hELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sOEJBQXlCLEdBQTRCO1lBQzNELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sb0JBQWUsR0FBNEI7WUFDakQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFB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LENBQUE7SUFDSCxDQUFDOzs4R0F6S1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBkZWxheSwgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPLCBJbWdQaWN0dXJlc0RUTywgUGFyYW1zSW1nTWFuYWdlckRUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlckRpc3BsYXlDb25maWcgfSBmcm9tICcuLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi9kdG8vY29uZmlnL2ltZy1tYW5hZ2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlclNlcnZpY2Uge1xuXG4gIGltZ01hbmFnZXJSb3V0ZTogc3RyaW5nO1xuICBzaG9wVG9rZW46IHN0cmluZztcblxuICBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImxpbWl0XCIsXCIyMFwiKS5zZXQoXCJwYWdlXCIsXCIxXCIpO1xuXG4gIC8vIERpc3BsYXkgdGhlIGltZyBzZWxlY3Rpb25cbiAgcHJpdmF0ZSBwYWdlRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiB0cnVlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIGFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIHdpemlibG9ja0NvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSBmdWxsV2luZG93Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ3dpbmRvdycsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICBzZXRBcGlDb25maWcoaW1nX21hbmFnZXJfcm91dGU6IHN0cmluZywgc2hvcF90b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5pbWdNYW5hZ2VyUm91dGUgPSBpbWdfbWFuYWdlcl9yb3V0ZTtcbiAgICB0aGlzLnNob3BUb2tlbiA9IHNob3BfdG9rZW47XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBjb25zdCBoZWFkZXIgPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLnNob3BUb2tlblxuICAgICAgfSlcbiAgICB9O1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHRoaXMucmVzZXRQYXJhbXMocGFyYW1zKTtcbiAgICAgIGhlYWRlclsncGFyYW1zJ10gPSB0aGlzLnBhcmFtc1xuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyO1xuICB9XG5cbiAgc2hvcEltZ0xpc3Q6IEltZ1BpY3R1cmVzRFRPO1xuICBwcmV2aW91c1BhcmFtczogUGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBnZXRTaG9wSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKSB7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zICYmIHRoaXMucHJldmlvdXNQYXJhbXMgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5saW1pdCA9PT0gcGFyYW1zLmxpbWl0XG4gICAgICAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLnBhZ2UgPT09IHBhcmFtcy5wYWdlICYmIHRoaXMuc2hvcEltZ0xpc3RcbiAgICAgICYmIHRoaXMucHJldmlvdXNQYXJhbXMuc2VhcmNoID09PSBwYXJhbXMuc2VhcmNoXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5zaG9wSW1nTGlzdCkucGlwZShkZWxheSgwKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEltZ1BpY3R1cmVzRFRPPihgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzYCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycyhwYXJhbXMpKS5waXBlKFxuICAgICAgdGFwKChzaG9wSW1nTGlzdCkgPT4ge1xuICAgICAgICB0aGlzLnNob3BJbWdMaXN0ID0gc2hvcEltZ0xpc3Q7XG4gICAgICAgIHRoaXMucHJldmlvdXNQYXJhbXMgPSBwYXJhbXM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRTaG9wVG90YWxJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS90b3RhbC9pbWFnZWAsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMocGFyYW1zKSk7XG4gIH1cblxuICBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRGaWxlfWAsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICByZXNldFBhcmFtcyhwYXJhbXM6IFBhcmFtc0ltZ01hbmFnZXJEVE8pe1xuICAgIHRoaXMucGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldCgnaWRfZmlsZTpzb3J0JywgJ2Rlc2MnKTtcbiAgICBmb3IgKGNvbnN0IHBhcmFtIGluIHBhcmFtcykge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQocGFyYW0sIHBhcmFtc1twYXJhbV0pO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuc2VhcmNoKSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldCgnZGlzcGxheV9uYW1lOmNvbnRhaW5zJywgcGFyYW1zLnNlYXJjaCk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRmlsZShmb3JtRGF0YTogRm9ybURhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy90ZW1wbGF0ZWAsIGZvcm1EYXRhLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICB1cmwsXG4gICAgICBmaWxlTmFtZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEltZ1BpY3R1cmVEVE8+KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvdGVtcGxhdGVgLCB7IHVybCwgZmlsZU5hbWUgfSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIGltYWdlQmFzZTY0LFxuICAgICAgdHlwZSA6IFwiUkFXXCJcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkX2ZpbGV9L3JlcGxhY2VgLCBib2R5LCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgY2hhbmdlSW1nTmFtZShmaWxlTmFtZTogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX0/ZmlsZV9uYW1lPSR7ZmlsZU5hbWV9YCwgbnVsbCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlbW92ZUltZyhpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy1tdWx0aXBsZS1kZWxldGVgLCB7IGlkX2FycmF5IH0sIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICBnZXRJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyhkaXNwbGF5TmFtZTogSW1nTWFuYWdlckNvbmZpZykge1xuICAgIHN3aXRjaCAoZGlzcGxheU5hbWUpIHtcbiAgICAgIGNhc2UgXCJ3aW5kb3dcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbFdpbmRvd0NvbmZpZztcblxuICAgICAgY2FzZSBcIndpemktYmxvY2tcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMud2l6aWJsb2NrQ29uZmlnO1xuXG4gICAgICBjYXNlIFwiZmljaGUtcHJvZHVjdFwiOlxuICAgICAgICByZXR1cm4gdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnO1xuXG4gICAgICBjYXNlIFwic2ltcGxlLXdpdGgtYnV0dG9uXCI6XG4gICAgICAgIHJldHVybiB0aGlzLnNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWc7XG5cbiAgICAgIGNhc2UgJ2FuZ3VsYXItZmljaGUtcHJvZHVjdCc6XG4gICAgICAgIHJldHVybiB0aGlzLmFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWdcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKCk6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnW10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmZ1bGxXaW5kb3dDb25maWcsXG4gICAgICB0aGlzLndpemlibG9ja0NvbmZpZyxcbiAgICAgIHRoaXMucGFnZUZpY2hlUHJvZHVjdENvbmZpZyxcbiAgICAgIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZyxcbiAgICBdXG4gIH1cbn1cbiJdfQ==
|
|
@@ -200,7 +200,7 @@ class ImgManagerService {
|
|
|
200
200
|
})
|
|
201
201
|
};
|
|
202
202
|
if (params) {
|
|
203
|
-
this.
|
|
203
|
+
this.resetParams(params);
|
|
204
204
|
header['params'] = this.params;
|
|
205
205
|
}
|
|
206
206
|
return header;
|
|
@@ -222,12 +222,15 @@ class ImgManagerService {
|
|
|
222
222
|
getShopImg(idFile) {
|
|
223
223
|
return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());
|
|
224
224
|
}
|
|
225
|
-
|
|
225
|
+
resetParams(params) {
|
|
226
226
|
this.params = new HttpParams();
|
|
227
227
|
this.params = this.params.set('id_file:sort', 'desc');
|
|
228
228
|
for (const param in params) {
|
|
229
229
|
this.params = this.params.set(param, params[param]);
|
|
230
230
|
}
|
|
231
|
+
if (params.search) {
|
|
232
|
+
this.params = this.params.set('display_name:contains', params.search);
|
|
233
|
+
}
|
|
231
234
|
}
|
|
232
235
|
uploadFile(formData) {
|
|
233
236
|
return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());
|
|
@@ -3429,7 +3432,7 @@ class ImagesViewComponent {
|
|
|
3429
3432
|
if (data.totalRecords === 0) {
|
|
3430
3433
|
this.displayPexelsLib();
|
|
3431
3434
|
}
|
|
3432
|
-
this.changeDetectorRef.markForCheck();
|
|
3435
|
+
this.changeDetectorRef.markForCheck(); // In wizi-admin, the change detection is not working properly
|
|
3433
3436
|
},
|
|
3434
3437
|
error: error => {
|
|
3435
3438
|
this.alertService.openAlert(this.errorGetAllImg);
|