@wizishop/img-manager 0.2.98 → 0.2.101
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/assets/i18n/fr.json +1 -1
- package/bundles/wizishop-img-manager.umd.js +248 -201
- package/bundles/wizishop-img-manager.umd.js.map +1 -1
- package/bundles/wizishop-img-manager.umd.min.js +2 -2
- package/bundles/wizishop-img-manager.umd.min.js.map +1 -1
- package/esm2015/lib/components/canva-btn/canva-btn.component.js +6 -81
- package/esm2015/lib/components/images-view/images-view.component.js +18 -11
- package/esm2015/lib/components/img-tabs/img-tabs.component.js +2 -2
- package/esm2015/lib/components/img-upload/img-upload.component.js +23 -4
- package/esm2015/lib/services/canva.service.js +88 -5
- package/esm2015/lib/wz-img-manager.component.js +15 -1
- package/esm2015/wizishop-img-manager.js +4 -4
- package/esm5/lib/components/canva-btn/canva-btn.component.js +6 -87
- package/esm5/lib/components/images-view/images-view.component.js +18 -11
- package/esm5/lib/components/img-tabs/img-tabs.component.js +2 -2
- package/esm5/lib/components/img-upload/img-upload.component.js +23 -4
- package/esm5/lib/services/canva.service.js +94 -5
- package/esm5/lib/wz-img-manager.component.js +19 -1
- package/esm5/wizishop-img-manager.js +4 -4
- package/fesm2015/wizishop-img-manager.js +231 -188
- package/fesm2015/wizishop-img-manager.js.map +1 -1
- package/fesm5/wizishop-img-manager.js +246 -199
- package/fesm5/wizishop-img-manager.js.map +1 -1
- package/lib/components/canva-btn/canva-btn.component.d.ts +2 -19
- package/lib/components/images-view/images-view.component.d.ts +1 -1
- package/lib/components/img-upload/img-upload.component.d.ts +3 -0
- package/lib/services/canva.service.d.ts +20 -1
- package/lib/wz-img-manager.component.d.ts +2 -0
- package/package.json +1 -1
- package/wizishop-img-manager-0.2.101.tgz +0 -0
- package/wizishop-img-manager.d.ts +3 -3
- package/wizishop-img-manager.metadata.json +1 -1
- package/wz-img-manager.scss +62 -62
- package/wizishop-img-manager-0.2.98.tgz +0 -0
|
@@ -125,9 +125,9 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
125
125
|
this.errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';
|
|
126
126
|
}
|
|
127
127
|
ImagesViewComponent.prototype.ngOnInit = function () {
|
|
128
|
-
if (this.maxLengthCardShow) {
|
|
129
|
-
|
|
130
|
-
}
|
|
128
|
+
/* if (this.maxLengthCardShow) {
|
|
129
|
+
this.reducePictureListMaxLength();
|
|
130
|
+
} */
|
|
131
131
|
this.setEvents();
|
|
132
132
|
this.imgSelectedList = this.imgSelectionService.getImgSelection();
|
|
133
133
|
};
|
|
@@ -138,9 +138,9 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
138
138
|
this.savePictureList = this.picturesList;
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
141
|
+
/* reducePictureListMaxLength() {
|
|
142
|
+
this.picturesList.splice(0, this.maxLengthCardShow);
|
|
143
|
+
} */
|
|
144
144
|
ImagesViewComponent.prototype.getImgList = function () {
|
|
145
145
|
this.filtersChanged.next();
|
|
146
146
|
};
|
|
@@ -166,6 +166,7 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
166
166
|
this.getImgList();
|
|
167
167
|
};
|
|
168
168
|
ImagesViewComponent.prototype.onRenamePicture = function (pictureRenamed) {
|
|
169
|
+
console.log('onRenamePicture pictureRenamed', pictureRenamed);
|
|
169
170
|
this.renamePictureService.onRenamePicture(pictureRenamed);
|
|
170
171
|
};
|
|
171
172
|
ImagesViewComponent.prototype.removeListImg = function () {
|
|
@@ -272,6 +273,10 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
272
273
|
return imgSizesConfig;
|
|
273
274
|
};
|
|
274
275
|
ImagesViewComponent.prototype.getTotalImgPerPage = function () {
|
|
276
|
+
if (this.nbRowToShow) {
|
|
277
|
+
var nbImgPerLine = this.stateDisplayed === 'full' ? this.nbMinImgPerLine : this.nbMaxImgPerLine;
|
|
278
|
+
return nbImgPerLine * this.nbRowToShow;
|
|
279
|
+
}
|
|
275
280
|
var total = this.nbMinImgPerLine;
|
|
276
281
|
while (total < 30 || total % this.nbMaxImgPerLine !== 0 || total % this.nbMinImgPerLine !== 0) {
|
|
277
282
|
total += this.nbMinImgPerLine;
|
|
@@ -279,8 +284,9 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
279
284
|
return total;
|
|
280
285
|
};
|
|
281
286
|
ImagesViewComponent.prototype.setParams = function () {
|
|
287
|
+
var _a;
|
|
282
288
|
this.params = {
|
|
283
|
-
limit: this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage.toString() : this.pageSize.toString(),
|
|
289
|
+
limit: ((_a = this.maxLengthCardShow) === null || _a === void 0 ? void 0 : _a.toString()) || (this.tableFilters.itemsPerPage ? this.tableFilters.itemsPerPage.toString() : this.pageSize.toString()),
|
|
284
290
|
page: this.tableFilters.currentPage.toString()
|
|
285
291
|
};
|
|
286
292
|
if (this.tableFilters.searchValue) {
|
|
@@ -427,9 +433,6 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
427
433
|
_this.length = _this.isTotalRetieved ? _this.length : data.totalRecords;
|
|
428
434
|
_this.tableFilters.totalItems = _this.isTotalRetieved ? _this.tableFilters.totalItems : data.totalRecords;
|
|
429
435
|
_this.tableFilters.itemsPerPage = _this.tableFilters.itemsPerPage ? _this.tableFilters.itemsPerPage : _this.pageSize;
|
|
430
|
-
if (_this.maxLengthCardShow) {
|
|
431
|
-
_this.picturesList = _this.picturesList.splice(0, 8);
|
|
432
|
-
}
|
|
433
436
|
// Display Pexels if no result
|
|
434
437
|
if (data.totalRecords === 0) {
|
|
435
438
|
_this.displayPexelsLib();
|
|
@@ -490,6 +493,10 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
490
493
|
Input(),
|
|
491
494
|
__metadata("design:type", Number)
|
|
492
495
|
], ImagesViewComponent.prototype, "maxLengthCardShow", void 0);
|
|
496
|
+
__decorate([
|
|
497
|
+
Input(),
|
|
498
|
+
__metadata("design:type", Number)
|
|
499
|
+
], ImagesViewComponent.prototype, "nbRowToShow", void 0);
|
|
493
500
|
__decorate([
|
|
494
501
|
Input(),
|
|
495
502
|
__metadata("design:type", Object)
|
|
@@ -525,4 +532,4 @@ var ImagesViewComponent = /** @class */ (function () {
|
|
|
525
532
|
return ImagesViewComponent;
|
|
526
533
|
}());
|
|
527
534
|
export { ImagesViewComponent };
|
|
528
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW1hZ2VzLXZpZXcvaW1hZ2VzLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBZ0IsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBVTVEO0lBdUlFLDZCQUNVLFVBQTZCLEVBQzdCLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxZQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsb0JBQTBDO1FBTDFDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlC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QkFDVCxZQUFZO2FBQ2I7U0FDRixDQUFDO3lDQXlJc0IsaUJBQWlCO1lBQ1osZUFBZTtZQUNYLG1CQUFtQjtZQUMxQixZQUFZO1lBQ0wsbUJBQW1CO1lBQ2xCLG9CQUFvQjtPQTdJekMsbUJBQW1CLENBb2dCL0I7SUFBRCwwQkFBQztDQUFBLEFBcGdCRCxJQW9nQkM7U0FwZ0JZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXItc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZUZpbHRlcnMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWJsZS9maWx0ZXJzLXRhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUgfSBmcm9tICcuLi8uLi9kdG8vcGljdHVyZS1uYW1lLXVwZGF0ZS5kdG8nO1xuaW1wb3J0IHsgZWFzZUluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9lYXNlSW5PdXQvZWFzZS1pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IGluc2VydFJlbW92ZSB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvaW5zZXJ0UmVtb3ZlL2luc2VydC1yZW1vdmUuYW5pbWF0aW9uJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkLCB0YWJEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1hZ2VzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0LFxuICAgIGluc2VydFJlbW92ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KCkgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpIGZ1bGxTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXhMZW5ndGhDYXJkU2hvdzogbnVtYmVyO1xuICBASW5wdXQoKSBsaXN0RGlzcGxheWVkID0gZmFsc2U7IC8vIERpc3BsYXkgZm9ybWF0IGxpc3Qgb3IgbW9zYWljXG4gIEBJbnB1dCgpIG11bHRpcGxlSW1nTW9kZSA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIERhdGEgZmlsdGVyc1xuICB0YWJsZUZpbHRlcnM6IFRhYmxlRmlsdGVycyA9IHtcbiAgICBzb3J0OiB1bmRlZmluZWQsXG4gICAgb3JkZXI6IHVuZGVmaW5lZCxcbiAgICBzZWFyY2hWYWx1ZTogJycsXG4gICAgdG90YWxJdGVtczogMCxcbiAgICBpdGVtc1BlclBhZ2U6IDAsXG4gICAgY3VycmVudFBhZ2U6IDFcbiAgfTtcblxuICBAVmlld0NoaWxkKCdpbWdMaWJDb250YWluZXInKSBpbWdMaWJDb250YWluZXIgOiBFbGVtZW50UmVmO1xuICB3aWR0aExhcmdlQ2FyZDogbnVtYmVyID0gMjE5OyAvLyBEZWZhdWx0IHZhbHVlIG9mIGEgY2FyZCB3aWR0aCAxOTkgKyBtYXJnaW4gMjBcbiAgd2lkdGhTbWFsbENhcmQ6IG51bWJlciA9IDE2MDsgLy8gRGVmYXVsdCB2YWx1ZSBvZiBhIGNhcmQgd2lkdGggMTQwICsgbWFyZ2luIDIwXG4gIG5iTWluSW1nUGVyTGluZTogbnVtYmVyO1xuICBuYk1heEltZ1BlckxpbmU6IG51bWJlcjtcbiAgbmJGYWtlSW1nOiBudW1iZXIgPSAwO1xuXG4gIGltZ0Z1bGxXaWR0aENvbmZpZzphbnkgPSBbXG4gICAge1xuICAgICAgbWF4OiA0MTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjVcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogNDk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDEsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC41XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDcxOSwgLy8gdGFibGV0XG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC41LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMzMzM1xuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMDIzLCAvLyBkZXNrb3BcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4yXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxNTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMixcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjExMTFcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjYsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xXG4gICAgfVxuICBdO1xuXG4gIGltZ1dpZHRoQ29uZmlnOmFueSA9IFtcbiAgICB7XG4gICAgICBtYXg6IDEwMjQsXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMTk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMzMzMyxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjJcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTI5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xNjY2XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEzOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjE2NjZcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTU5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTRcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjI1LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTI1XG4gICAgfVxuICBdO1xuXG4gIGltZ1N1YnNjcmliZTogU3Vic2NyaXB0aW9uO1xuICBpbWdSZW1vdmVkRXZlbnQ6IFN1YnNjcmlwdGlvbjtcbiAgaW1nQWRkZWRFdmVudDogU3Vic2NyaXB0aW9uO1xuICBpbWdTZWxlY3Rpb25DaGFuZ2U6IFN1YnNjcmlwdGlvbjtcbiAgc2VhcmNoUXVlcnlDaGFuZ2VkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIGZpbHRlcnNDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBzYXZlUGljdHVyZUxpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICBpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXTtcbiAgc2VhcmNoZWRWYWx1ZTogc3RyaW5nOyAvLyBWYWx1ZSBmcm9tIHRoZSBzZWFyY2ggYmFyIG9yIGltZyBhZGRlZCBieSBjYW52YVxuICBuYkltZ1RvRGVsU2VsZWN0ZWQ6IG51bWJlciA9IDA7XG4gIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHRvIGRpc2FibGUgYWN0aW9uIGR1cmluZyBzZXJ2ZXIgcmVxdWVzdFxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1RvdGFsUmV0aWV2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGVsTGlzdEltZ0xvYWRlciA9IGZhbHNlO1xuICBpbml0Q29tcG9uZW50OiBib29sZWFuID0gdHJ1ZTtcbiAgZmFpbExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5UGV4ZWxzUmVzdWx0czogYm9vbGVhbiA9IGZhbHNlOyAvLyBVc2Ugd2hlbiBubyBpbWcgZmluZCBieSBuYW1lLCBkaXNwbGF5IGltZyBmcm9tIFBleGVsc1xuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIGNvbmZpcm1JbWdTdXA6Ym9vbGVhbiA9IGZhbHNlO1xuICBwcmV2aW91c1NlYXJjaFZhbHVlOiBzdHJpbmc7XG5cbiAgLy8gUGFnaW5hdG9yIFBhcmFtc1xuICBwYWdlSW5kZXg6IG51bWJlciA9MDtcbiAgbGVuZ3RoOiBudW1iZXIgPSAwO1xuICBwYWdlU2l6ZTogbnVtYmVyID0gMzA7IC8vIERlZmF1bHQgdmFsdWVcbiAgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFsyNSwgNTAsIDEwMCwgMjUwXTtcblxuICAvLyBBcGkgSW1nIG1hbmFnZXIgUGFyYW1zXG4gIHBhcmFtczpQYXJhbXNJbWdNYW5hZ2VyRFRPO1xuXG4gIHByaXZhdGUgZXJyb3JHZXRBbGxJbWcgPSAnSW1nTWFuYWdlci5JbWdMaWIuZXJyb3JHZXRBbGxJbWcnO1xuICBwcml2YXRlIGVycm9yR2V0VG90YWxJbWcgPSAnSW1nTWFuYWdlci5JbWdMaWIuZXJyb3JHZXRUb3RhbEltZyc7XG4gIHByaXZhdGUgZXJyb3JHZXRJbWcgPSAnSW1nTWFuYWdlci5JbWdMaWIuZXJyb3JHZXRDYW52YUltZyc7XG4gIHByaXZhdGUgbXNnTm9JbWdGb3VuZCA9ICdJbWdNYW5hZ2VyLkltZ0xpYi5ub0ltZ0ZvdW5kJztcbiAgcHJpdmF0ZSBlcnJvclJlbW92ZUltZyA9ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZXJyb3JSZW1vdmVJbWcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nTWFuYWdlcjogSW1nTWFuYWdlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdFdmVudFNlcnZpY2U6IEltZ0V2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGltZ1NlbGVjdGlvblNlcnZpY2U6IEltZ1NlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXR0aW5nc1NlcnZpY2U6IFVzZXJTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5hbWVQaWN0dXJlU2VydmljZTogUmVuYW1lUGljdHVyZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1heExlbmd0aENhcmRTaG93KSB7XG4gICAgICB0aGlzLnJlZHVjZVBpY3R1cmVMaXN0TWF4TGVuZ3RoKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0RXZlbnRzKCk7XG4gICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXROYkltZ1RvRGlzcGxheSgpO1xuICAgIHRoaXMuX2dldEltZ0xpc3QoKTtcbiAgICBpZiAoIXRoaXMuc2F2ZVBpY3R1cmVMaXN0KSB7XG4gICAgICB0aGlzLnNhdmVQaWN0dXJlTGlzdCA9IHRoaXMucGljdHVyZXNMaXN0O1xuICAgIH1cbiAgfVxuXG4gIHJlZHVjZVBpY3R1cmVMaXN0TWF4TGVuZ3RoKCkge1xuICAgIHRoaXMucGljdHVyZXNMaXN0LnNwbGljZSgwLCB0aGlzLm1heExlbmd0aENhcmRTaG93KTtcbiAgfVxuXG4gIGdldEltZ0xpc3QoKSB7XG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSA6IGdvIHRvIGxpc3QgZGlzcGxheVxuICAgKiBmYWxzZSA6IGdvIHRvIG1vc2FpYyBkaXNwbGF5XG4gICAqIEBwYXJhbSBhY3RpdmF0ZVxuICAgKi9cbiAgb25Td2l0Y2hGb3JtYXREaXNwbGF5ZWQoYWN0aXZhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxpc3REaXNwbGF5ZWQgPSBhY3RpdmF0ZTtcbiAgICB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2Uuc2V0VXNlckRpc3BsYXlQcmVmZXJlbmNlKGFjdGl2YXRlKTtcbiAgICB0aGlzLmltZ0V2ZW50U2VydmljZS5lbWl0bGlzdERpc3BsYXllZENoYW5nZShhY3RpdmF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsIHRoZSBudW1iZXIgb2YgaW1nIHNlbGVjdGVkIGZvciBtYXNzZSBkZWxldGlvblxuICAgKi9cbiAgb25JbWdTZWxlY3RlZCgpIHtcbiAgICB0aGlzLnNldE5iSW1nVG9EZWxTZWxlY3RlZCgpO1xuICB9XG5cbiAgb25TaG93SW1nVXBsb2FkZWQoKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gbnVsbDtcbiAgICB0aGlzLnNlYXJjaGVkVmFsdWUgPSBudWxsO1xuICAgIHRoaXMuZ2V0SW1nTGlzdCgpO1xuICB9XG5cbiAgb25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkOiBQaWN0dXJlTmFtZVVwZGF0ZSkge1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uub25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkKTtcbiAgfVxuXG4gIHJlbW92ZUxpc3RJbWcoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGUgPSB0cnVlO1xuICAgIHRoaXMuZGVsTGlzdEltZ0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG5cbiAgICAvLyBHZXQgdGhlIGlkIG9mIHRoZSBpbWcgdG8gcmVtb3ZlXG4gICAgLy8gQW5kIGFkZCBkZWxldGVkIHByb3BlcnR5XG4gICAgY29uc3QgaWRJbWdUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKCBpbWcgPT4ge1xuICAgICAgaWYgKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIGlkSW1nVG9SZW1vdmUucHVzaChpbWcuaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIucmVtb3ZlTXVsdGlwbGVJbWcoaWRJbWdUb1JlbW92ZSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkSW1nVG9SZW1vdmUpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVtb3ZlSW1nKTtcbiAgICAgIH1cbiAgICApO1xuXG5cbiAgfVxuXG4gIHNlbGVjdEltZ0Nob3NlbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBpY3R1cmVzTGlzdFNlbGVjdGVkOiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5tYXAoaW1nID0+IHtcbiAgICAgIGlmKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsU2VsZWN0ZWQgPWZhbHNlO1xuICAgICAgICBpbWcuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGltZy5zZWxlY3RlZCkge1xuICAgICAgICBwaWN0dXJlc0xpc3RTZWxlY3RlZC5wdXNoKGltZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0SW1nU2VsZWN0aW9uKHBpY3R1cmVzTGlzdFNlbGVjdGVkKTtcbiAgfVxuXG4gIGRpc3BsYXlDb25maXJtSW1nU3VwKCl7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm1JbWdTdXAgPSB0cnVlO1xuICB9XG5cbiAgY2FuY2VsU3VwKCkge1xuICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXQgd2hlbiBhIGltZyBzZWxlY3RlZCBpbiBvcmRlciB0byBkZWxldGVcbiAgICovXG4gIG9uUGljdHVyZXNMaXN0Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0RlbFNlbGVjdGVkKCk7XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgbnVtYmVyIG9mIGltZyBwZXIgcGFnZSB0byBkaXNwbGF5IGF0IHRoZSBpbml0aWFsaXNhdGlvblxuICAgKiBUaGlzIG51bWJlciBpcyBiZXR3ZWVuIDMwIGFuZCA1MFxuICAgKi9cbiAgcHJpdmF0ZSBzZXROYkltZ1RvRGlzcGxheSgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuaW1nTGliQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAzMDsgLy8gKyAzMHB4IC0+IGxlZnQgKyByaWdodCBtYXJnaW5cbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IFttYXhJbWdXaWR0aEZhY3RvciwgbWluSW1nV2lkdGhGYWN0b3JdID0gdGhpcy5nZXRJbWdXaWR0aEZhY3RvcnMoKTtcblxuICAgIGNvbnN0IG1pbkltZ1dpZHRoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAqIG1pbkltZ1dpZHRoRmFjdG9yKTtcbiAgICBjb25zdCBtYXhJbWdXaWR0aCA9IE1hdGguY2VpbCgoY29udGFpbmVyV2lkdGggKyBzY3JvbGxXaWR0aCApICogbWF4SW1nV2lkdGhGYWN0b3IpO1xuXG4gICAgdGhpcy5uYk1heEltZ1BlckxpbmUgPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gbWluSW1nV2lkdGgpO1xuICAgIHRoaXMubmJNaW5JbWdQZXJMaW5lID0gTWF0aC5mbG9vciggKGNvbnRhaW5lcldpZHRoICsgc2Nyb2xsV2lkdGggKSAvIG1heEltZ1dpZHRoKTtcblxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmdldFRvdGFsSW1nUGVyUGFnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWdXaWR0aEZhY3RvcnMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1pbldpZHRoOm51bWJlciA9IDA7XG4gICAgbGV0IGltZ1NpemVzQ29uZmlnOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEltZ1dpZHRoQ29uZmlnID0gdGhpcy5mdWxsU2l6ZSA/IHRoaXMuaW1nRnVsbFdpZHRoQ29uZmlnIDogdGhpcy5pbWdXaWR0aENvbmZpZztcblxuICAgIGZvciAoY29uc3Qgd2lkdGhDb25maWcgb2YgY3VycmVudEltZ1dpZHRoQ29uZmlnKSB7XG4gICAgICAgIGlmICghd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbldpZHRoIDwgc2NyZWVuV2lkdGggJiYgc2NyZWVuV2lkdGggPD0gd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWluV2lkdGggPSB3aWR0aENvbmZpZy5tYXg7XG4gICAgfVxuICAgIHJldHVybiBpbWdTaXplc0NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxJbWdQZXJQYWdlKCk6IG51bWJlciB7XG4gICAgbGV0IHRvdGFsID0gdGhpcy5uYk1pbkltZ1BlckxpbmU7XG5cbiAgICB3aGlsZSAodG90YWwgPCAzMCB8fCB0b3RhbCAlIHRoaXMubmJNYXhJbWdQZXJMaW5lICE9PSAwIHx8ICB0b3RhbCAlIHRoaXMubmJNaW5JbWdQZXJMaW5lICE9PSAwKSB7XG4gICAgICB0b3RhbCArPSB0aGlzLm5iTWluSW1nUGVyTGluZTtcbiAgICB9XG4gICAgcmV0dXJuIHRvdGFsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYXJhbXMoKSB7XG4gICAgdGhpcy5wYXJhbXMgPSB7XG4gICAgICBsaW1pdDogdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlID8gdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlLnRvU3RyaW5nKCkgOiB0aGlzLnBhZ2VTaXplLnRvU3RyaW5nKCksXG4gICAgICBwYWdlOiB0aGlzLnRhYmxlRmlsdGVycy5jdXJyZW50UGFnZS50b1N0cmluZygpXG4gICAgfTtcbiAgICBpZiAodGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucGFyYW1zW1wiZGlzcGxheV9uYW1lOmNvbnRhaW5zXCJdID0gdGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRWYXJpYWJsZXMobG9hZGluZ1N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCA9IDA7XG4gICAgdGhpcy5kaXNhYmxlID0gZmFsc2U7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmRlbExpc3RJbWdMb2FkZXIgPSBmYWxzZTtcbiAgICB0aGlzLmluaXRDb21wb25lbnQgPSBmYWxzZTtcbiAgICB0aGlzLmRpc3BsYXlQZXhlbHNSZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5mYWlsTG9hZGVkID0gIWxvYWRpbmdTdWNjZXNzO1xuICAgIHRoaXMubmJGYWtlSW1nID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW1nU2VsZWN0ZWQgKCkge1xuICAgIGlmICghdGhpcy5pbWdTZWxlY3RlZExpc3QgfHwgIXRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlkSW1nU2xlY3RlZExpc3Q6IHN0cmluZ1tdID0gW107XG5cbiAgICB0aGlzLmltZ1NlbGVjdGVkTGlzdC5mb3JFYWNoKGltZyA9PlxuICAgICAgaWRJbWdTbGVjdGVkTGlzdC5wdXNoKGltZy5pZF9maWxlKVxuICAgICk7XG5cbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKHBpY3R1cmUgPT4ge1xuICAgICAgaWYgKGlkSW1nU2xlY3RlZExpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpICE9PSAtMSkge1xuICAgICAgICBwaWN0dXJlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheVBleGVsc0xpYiAoKSB7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IHRydWU7XG4gICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnTm9JbWdGb3VuZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgaW1nIGxpc3QgaW4gb3JkZXIgdG8gZmlsbCBwcm9wZXJseSBhbGwgdGhlIGxpbmUgb2YgaW1hZ2VzIGRpc3BsYXllZCBpbiBtb3NhaWMuXG4gICAqIE90aGVyd2lzZSwgdGhlIHNwYWNlLWJldHdlZW4gY3NzIHdpbGwgZG8gYSBiYWQgZGlzcGxheVxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxOYkltZ0Zha2UobmJJbWdEaXNwbGF5ZWQ6IG51bWJlcikge1xuICAgIGNvbnN0IG5iSW1nUGVyTGluZSA9IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgfHwgdGhpcy50YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJyA/IHRoaXMubmJNYXhJbWdQZXJMaW5lIDogdGhpcy5uYk1pbkltZ1BlckxpbmU7XG5cbiAgICBpZiAobmJJbWdEaXNwbGF5ZWQgJSBuYkltZ1BlckxpbmUgIT09IDApIHtcbiAgICAgIHRoaXMubmJGYWtlSW1nID0gbmJJbWdQZXJMaW5lIC0gbmJJbWdEaXNwbGF5ZWQgJSBuYkltZ1BlckxpbmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWcgKGlkX2ZpbGU6IHN0cmluZykge1xuICAgIHRoaXMuaW1nTWFuYWdlci5nZXRTaG9wSW1nKGlkX2ZpbGUpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgKHBpY3R1cmU6IEltZ1BpY3R1cmVEVE8pID0+IHtcblxuICAgICAgICBpZiAoIXRoaXMuaW1nQWxyZWFkeUV4aXN0KHBpY3R1cmUuaWRfZmlsZSkpIHtcbiAgICAgICAgICAvLyBjaGVjayB0aGUgaW1nIGlzIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICAgICAgICB0aGlzLnBpY3R1cmVzTGlzdC51bnNoaWZ0KHBpY3R1cmUpO1xuICAgICAgICAgIHRoaXMubGVuZ3RoICs9IDE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yR2V0SW1nKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbWdBbHJlYWR5RXhpc3QgKGlkX2ZpbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgaW1nIG9mIHRoaXMucGljdHVyZXNMaXN0KSB7XG4gICAgICBpZiAoaW1nLmlkX2ZpbGUgPT09IGlkX2ZpbGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmJJbWdUb0RlbFNlbGVjdGVkICgpIHtcbiAgICB0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCA9IHRoaXMucGljdHVyZXNMaXN0LmZpbHRlcihpbWcgPT5cbiAgICAgIGltZy5kZWxTZWxlY3RlZCkubGVuZ3RoO1xuXG4gICAgaWYgKCF0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCkge1xuICAgICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFdmVudHMoKSB7XG4gICAgLy8gQWRkIGEgdGltZXIgdG8gcmV0cmlldmUgaW1nIHdoZW4gdGhlIHNlYXJjaCBiYXIgb3IgdGhlIHBhZ2luYXRvciBhcmUgdXNlZFxuICAgIHRoaXMuc2VhcmNoUXVlcnlDaGFuZ2VkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNDAwKSkgLy8gd2FpdCAwLjUgc2VjIGFmdGVyIHRoZSBsYXN0IGV2ZW50IGJlZm9yZSBlbWl0dGluZyBsYXN0IGV2ZW50XG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0SW1nTGlzdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDgwMCkpIC8vIHdhaXQgMC44IHNlYyBhZnRlciB0aGUgbGFzdCBldmVudCBiZWZvcmUgZW1pdHRpbmcgbGFzdCBldmVudFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLl9nZXRJbWdMaXN0KCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZWxvYWQgaW1nIHdoZW4gaW1nIGlzL2FyZSByZW1vdmVkXG4gICAgdGhpcy5pbWdSZW1vdmVkRXZlbnQgPSB0aGlzLmltZ0V2ZW50U2VydmljZS5nZXRJbWdSZW1vdmVkRXZlbnRMaXN0bmVyKCkuc3Vic2NyaWJlKGlkX2ZpbGUgPT57XG4gICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBpbWcgZnJvbSBDYW52YVxuICAgIHRoaXMuaW1nQWRkZWRFdmVudCA9IHRoaXMuaW1nRXZlbnRTZXJ2aWNlLmdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCkuc3Vic2NyaWJlKGlkX2ZpbGUgPT57XG4gICAgICBpZiAoaWRfZmlsZSAmJiAhdGhpcy5pbWdBbHJlYWR5RXhpc3QoaWRfZmlsZSkpIHtcbiAgICAgICAgdGhpcy5nZXRJbWcoaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZSA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5nZXRJbWdTZWxlY3Rpb25DaGFuZ2UoKS5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xuICAgICAgaWYgKHRoaXMubGlzdERpc3BsYXllZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpZEZpbGVMaXN0ID0gW107XG4gICAgICBpbWdTZWxlY3Rpb24ubWFwKGltZyA9PiBpZEZpbGVMaXN0LnB1c2goaW1nLmlkX2ZpbGUpKTtcbiAgICAgIGZvciAoY29uc3QgcGljdHVyZSBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xuICAgICAgICBpZiAoaWRGaWxlTGlzdC5pbmRleE9mKHBpY3R1cmUuaWRfZmlsZSkgPT09IC0xKSB7XG4gICAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbWdMaXN0KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BsYXlQZXhlbHNSZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZXRQYXJhbXMoKTtcblxuICAgIHRoaXMucmVmcmVzaFRvdGFsSW1nTGlzdCgpO1xuXG4gICAgdGhpcy5pbWdNYW5hZ2VyLmdldFNob3BJbWdMaXN0KHRoaXMucGFyYW1zKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoZGF0YTogSW1nUGljdHVyZXNEVE8pID0+IHtcbiAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcyh0cnVlKTtcbiAgICAgIGNvbnN0IG5iSW1nRGlzcGxheWVkID0gZGF0YS5kYXRhLmxlbmd0aDtcbiAgICAgIHRoaXMuY2FsY3VsTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkKTtcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0ID0gZGF0YS5kYXRhO1xuICAgICAgdGhpcy5yZW5hbWVQaWN0dXJlU2VydmljZS5zZXRQaWN0dXJlc0xpc3QodGhpcy5waWN0dXJlc0xpc3QpO1xuICAgICAgdGhpcy5zZWxlY3RJbWdTZWxlY3RlZCgpO1xuXG4gICAgICB0aGlzLmxlbmd0aCA9IHRoaXMuaXNUb3RhbFJldGlldmVkID8gdGhpcy5sZW5ndGggOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgIHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgPSB0aGlzLmlzVG90YWxSZXRpZXZlZCA/IHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgIHRoaXMudGFibGVGaWx0ZXJzLml0ZW1zUGVyUGFnZSA9ICB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgPyAgdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlIDogdGhpcy5wYWdlU2l6ZTtcblxuICAgICAgaWYgKHRoaXMubWF4TGVuZ3RoQ2FyZFNob3cpIHtcbiAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QgPSB0aGlzLnBpY3R1cmVzTGlzdC5zcGxpY2UoMCwgOCk7XG4gICAgICB9XG5cbiAgICAgIC8vIERpc3BsYXkgUGV4ZWxzIGlmIG5vIHJlc3VsdFxuICAgICAgaWYgKGRhdGEudG90YWxSZWNvcmRzID09PSAwKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVBleGVsc0xpYigpO1xuICAgICAgfVxuXG4gICAgfSxcbiAgICBlcnJvciA9PiB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldEFsbEltZyk7XG4gICAgICB0aGlzLmluaXRWYXJpYWJsZXMoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVG90YWxJbWdMaXN0KCkge1xuICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gdGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc1RvdGFsUmV0aWV2ZWQgJiYgc2VhcmNoVmFsdWUgPT09IHRoaXMucHJldmlvdXNTZWFyY2hWYWx1ZSkge1xuICAgICAgLy8gS2VlcCBjdXJyZW50IHRvdGFsIHJlc3VsdFxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNUb3RhbFJldGlldmVkID0gZmFsc2U7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIuZ2V0U2hvcFRvdGFsSW1nTGlzdCh0aGlzLnBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXG5cbiAgICAgIChkYXRhOiBJbWdQaWN0dXJlc0RUTykgPT4ge1xuICAgICAgICB0aGlzLnByZXZpb3VzU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICAgICAgdGhpcy5pc1RvdGFsUmV0aWV2ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGRhdGEudG90YWxSZWNvcmRzO1xuICAgICAgICB0aGlzLnRhYmxlRmlsdGVycy50b3RhbEl0ZW1zID0gZGF0YS50b3RhbFJlY29yZHM7XG4gICAgICB9LFxuXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIC8vdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JHZXRUb3RhbEltZyk7XG4gICAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcyhmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93TW9zYWljKCkge1xuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hRdWVyeUNoYW5nZWQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmltZ1JlbW92ZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaW1nQWRkZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
535
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW1hZ2VzLXZpZXcvaW1hZ2VzLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBZ0IsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBVTVEO0lBd0lFLDZCQUNVLFVBQTZCLEVBQzdCLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxZQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsb0JBQTBDO1FBTDFDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXZJM0Msa0JBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxnQ0FBZ0M7UUFDdkQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFakMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsZUFBZTtRQUNmLGlCQUFZLEdBQWlCO1lBQzNCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsQ0FBQztZQUNiLFlBQVksRUFBRSxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUM7U0FDZixDQUFDO1FBR0YsbUJBQWMsR0FBVyxHQUFHLENBQUMsQ0FBQyxnREFBZ0Q7UUFDOUUsbUJBQWMsR0FBVyxHQUFHLENBQUMsQ0FBQyxnREFBZ0Q7UUFHOUUsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUV0Qix1QkFBa0IsR0FBTztZQUN2QjtnQkFDRSxHQUFHLEVBQUUsR0FBRztnQkFDUixtQkFBbUIsRUFBRyxDQUFDO2dCQUN2QixtQkFBbUIsRUFBRyxHQUFHO2FBQzFCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsbUJBQW1CLEVBQUcsQ0FBQztnQkFDdkIsbUJBQW1CLEVBQUcsR0FBRzthQUMxQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxHQUFHO2dCQUNSLG1CQUFtQixFQUFHLEdBQUc7Z0JBQ3pCLG1CQUFtQixFQUFHLE1BQU07YUFDN0I7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSTtnQkFDVCxtQkFBbUIsRUFBRyxNQUFNO2dCQUM1QixtQkFBbUIsRUFBRyxHQUFHO2FBQzFCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsbUJBQW1CLEVBQUcsSUFBSTtnQkFDMUIsbUJBQW1CLEVBQUcsS0FBSzthQUM1QjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULG1CQUFtQixFQUFHLEdBQUc7Z0JBQ3pCLG1CQUFtQixFQUFHLE1BQU07YUFDN0I7WUFDRDtnQkFDRSxtQkFBbUIsRUFBRyxNQUFNO2dCQUM1QixtQkFBbUIsRUFBRyxHQUFHO2FBQzFCO1NBQ0YsQ0FBQztRQUVGLG1CQUFjLEdBQU87WUFDbkI7Z0JBQ0UsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsbUJBQW1CLEVBQUcsSUFBSTtnQkFDMUIsbUJBQW1CLEVBQUcsS0FBSzthQUM1QjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULG1CQUFtQixFQUFHLE1BQU07Z0JBQzVCLG1CQUFtQixFQUFHLEdBQUc7YUFDMUI7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSTtnQkFDVCxtQkFBbUIsRUFBRyxNQUFNO2dCQUM1QixtQkFBbUIsRUFBRyxNQUFNO2FBQzdCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsbUJBQW1CLEVBQUcsSUFBSTtnQkFDMUIsbUJBQW1CLEVBQUcsTUFBTTthQUM3QjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULG1CQUFtQixFQUFHLElBQUk7Z0JBQzFCLG1CQUFtQixFQUFHLElBQUk7YUFDM0I7WUFDRDtnQkFDRSxtQkFBbUIsRUFBRyxJQUFJO2dCQUMxQixtQkFBbUIsRUFBRyxLQUFLO2FBQzVCO1NBQ0YsQ0FBQztRQU1GLHVCQUFrQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzVELG1CQUFjLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFcEQsaUJBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUd0Qyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFZLEtBQUssQ0FBQyxDQUFDLDhDQUE4QztRQUN4RSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHlCQUFvQixHQUFZLEtBQUssQ0FBQyxDQUFDLHdEQUF3RDtRQUUvRixrQkFBYSxHQUFXLEtBQUssQ0FBQztRQUc5QixtQkFBbUI7UUFDbkIsY0FBUyxHQUFVLENBQUMsQ0FBQztRQUNyQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBVyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7UUFDdkMsb0JBQWUsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBS3ZDLG1CQUFjLEdBQUcsa0NBQWtDLENBQUM7UUFDcEQscUJBQWdCLEdBQUcsb0NBQW9DLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLDhCQUE4QixDQUFDO1FBQy9DLG1CQUFjLEdBQUcsbUNBQW1DLENBQUM7SUFRTCxDQUFDO0lBRXpELHNDQUFRLEdBQVI7UUFDRTs7WUFFSTtRQUNKLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsNkNBQWUsR0FBZjtRQUNFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQ7O1FBRUk7SUFFSix3Q0FBVSxHQUFWO1FBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFEQUF1QixHQUF2QixVQUF3QixRQUFpQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQ0FBYSxHQUFiO1FBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELCtDQUFpQixHQUFqQjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsNkNBQWUsR0FBZixVQUFnQixjQUFpQztRQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDJDQUFhLEdBQWI7UUFBQSxpQkE4QkM7UUE3QkMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFFM0Isa0NBQWtDO1FBQ2xDLDJCQUEyQjtRQUMzQixJQUFNLGFBQWEsR0FBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUUsVUFBQSxHQUFHO1lBQzVCLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2pDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FDeEQ7WUFDRSxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsS0FBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsRUFDRCxVQUFBLEtBQUs7WUFDSCxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FDRixDQUFDO0lBR0osQ0FBQztJQUVELDZDQUFlLEdBQWY7UUFDRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBQ0QsSUFBTSxvQkFBb0IsR0FBb0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRztZQUN2QixJQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLEdBQUcsQ0FBQyxXQUFXLEdBQUUsS0FBSyxDQUFDO2dCQUN2QixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUNyQjtZQUNELElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGtEQUFvQixHQUFwQjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsdUNBQVMsR0FBVDtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILGtEQUFvQixHQUFwQjtRQUNFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCw2Q0FBZSxHQUFmO1FBQ0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSywrQ0FBaUIsR0FBekI7UUFDRSxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO1FBQzVHLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFNUQsSUFBQSx5Q0FBa0UsRUFBakUseUJBQWlCLEVBQUUseUJBQThDLENBQUM7UUFFekUsSUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztRQUNuRSxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBRSxHQUFHLGlCQUFpQixDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFFbEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRU8sZ0RBQWtCLEdBQTFCOztRQUNFLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsSUFBSSxRQUFRLEdBQVUsQ0FBQyxDQUFDO1FBQ3hCLElBQUksY0FBYyxHQUFhLEVBQUUsQ0FBQztRQUVsQyxJQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzs7WUFFNUYsS0FBMEIsSUFBQSwwQkFBQSxTQUFBLHFCQUFxQixDQUFBLDREQUFBLCtGQUFFO2dCQUE1QyxJQUFNLFdBQVcsa0NBQUE7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUNwQixjQUFjLEdBQUcsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7b0JBQ3BGLE1BQU07aUJBQ1A7Z0JBQ0QsSUFBSSxRQUFRLEdBQUcsV0FBVyxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUM1RCxjQUFjLEdBQUcsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7b0JBQ3BGLE1BQU07aUJBQ1A7Z0JBQ0QsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDOUI7Ozs7Ozs7OztRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxnREFBa0IsR0FBMUI7UUFDRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDbEcsT0FBTyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN4QztRQUVELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFakMsT0FBTyxLQUFLLEdBQUcsRUFBRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsSUFBSyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLEVBQUU7WUFDOUYsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDL0I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyx1Q0FBUyxHQUFqQjs7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osS0FBSyxFQUFFLE9BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxRQUFRLE9BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEosSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtTQUMvQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakY7SUFDSCxDQUFDO0lBRU8sMkNBQWEsR0FBckIsVUFBc0IsY0FBdUI7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU8sK0NBQWlCLEdBQXpCO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUN6RCxPQUFPO1NBQ1I7UUFFRCxJQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUV0QyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUc7WUFDOUIsT0FBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUFsQyxDQUFrQyxDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBQSxPQUFPO1lBQy9CLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDcEQsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw4Q0FBZ0IsR0FBeEI7UUFDRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssNkNBQWUsR0FBdkIsVUFBd0IsY0FBc0I7UUFDNUMsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFekksSUFBSSxjQUFjLEdBQUcsWUFBWSxLQUFLLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksR0FBRyxjQUFjLEdBQUcsWUFBWSxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVPLG9DQUFNLEdBQWQsVUFBZ0IsT0FBZTtRQUEvQixpQkFjQztRQWJDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ3pELFVBQUMsT0FBc0I7WUFFckIsSUFBSSxDQUFDLEtBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQyx1Q0FBdUM7Z0JBQ3ZDLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxLQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsRUFDRCxVQUFBLEtBQUs7WUFDSCxLQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sNkNBQWUsR0FBdkIsVUFBeUIsT0FBZTs7O1lBQ3RDLEtBQWtCLElBQUEsS0FBQSxTQUFBLElBQUksQ0FBQyxZQUFZLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQWhDLElBQU0sR0FBRyxXQUFBO2dCQUNaLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7b0JBQzNCLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2FBQ0Y7Ozs7Ozs7OztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLG1EQUFxQixHQUE3QjtRQUNFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFBLEdBQUc7WUFDcEQsT0FBQSxHQUFHLENBQUMsV0FBVztRQUFmLENBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLHVDQUFTLEdBQWpCO1FBQUEsaUJBc0NDO1FBckNDLDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsa0JBQWtCO2FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQywrREFBK0Q7YUFDdkYsU0FBUyxDQUFDLFVBQUEsSUFBSTtZQUNYLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjO2FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQywrREFBK0Q7YUFDdkYsU0FBUyxDQUFDLFVBQUEsSUFBSTtZQUNYLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBQSxPQUFPO1lBQ3ZGLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILHdCQUF3QjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBQSxPQUFPO1lBQ25GLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDN0MsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFBLFlBQVk7O1lBQy9GLElBQUksS0FBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdEIsT0FBTzthQUNSO1lBQ0QsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDOztnQkFDdEQsS0FBc0IsSUFBQSxLQUFBLFNBQUEsS0FBSSxDQUFDLFlBQVksQ0FBQSxnQkFBQSw0QkFBRTtvQkFBcEMsSUFBTSxPQUFPLFdBQUE7b0JBQ2hCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzlDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO3FCQUMxQjtpQkFDRjs7Ozs7Ozs7O1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUNBQVcsR0FBbkI7UUFBQSxpQkE2QkM7UUE1QkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQyxJQUFvQjtZQUN2RixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3hDLEtBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsS0FBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzlCLEtBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRXpCLEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNyRSxLQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxLQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN2RyxLQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBSSxLQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUUsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUM7WUFFbkgsOEJBQThCO1lBQzlCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3pCO1FBRUgsQ0FBQyxFQUNELFVBQUEsS0FBSztZQUNILEtBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxLQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlEQUFtQixHQUEzQjtRQUFBLGlCQXVCQztRQXRCQyxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUVsRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNwRSw0QkFBNEI7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFFN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FFdEUsVUFBQyxJQUFvQjtZQUNuQixLQUFJLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1lBQ3ZDLEtBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoQyxLQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ25ELENBQUMsRUFFRCxVQUFBLEtBQUs7WUFDSCxxREFBcUQ7WUFDckQsS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1REFBeUIsR0FBekI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx5Q0FBVyxHQUFYO1FBQ0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7Z0JBN1hxQixpQkFBaUI7Z0JBQ1osZUFBZTtnQkFDWCxtQkFBbUI7Z0JBQzFCLFlBQVk7Z0JBQ0wsbUJBQW1CO2dCQUNsQixvQkFBb0I7O0lBNUkzQztRQUFSLEtBQUssRUFBRTs7K0RBQWdDO0lBQy9CO1FBQVIsS0FBSyxFQUFFOzs2REFBNEI7SUFDM0I7UUFBUixLQUFLLEVBQUU7O3lEQUFtQjtJQUNsQjtRQUFSLEtBQUssRUFBRTs7a0VBQTJCO0lBQzFCO1FBQVIsS0FBSyxFQUFFOzs0REFBcUI7SUFDcEI7UUFBUixLQUFLLEVBQUU7OzhEQUF1QjtJQUN0QjtRQUFSLEtBQUssRUFBRTs7Z0VBQXlCO0lBRWpDO1FBREMsTUFBTSxFQUFFO2tDQUNZLFlBQVk7b0VBQStCO0lBWWxDO1FBQTdCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztrQ0FBbUIsVUFBVTtnRUFBQztJQXRCaEQsbUJBQW1CO1FBUi9CLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLGsyTkFBMkM7WUFDM0MsVUFBVSxFQUFFO2dCQUNWLFNBQVM7Z0JBQ1QsWUFBWTthQUNiO1NBQ0YsQ0FBQzt5Q0EwSXNCLGlCQUFpQjtZQUNaLGVBQWU7WUFDWCxtQkFBbUI7WUFDMUIsWUFBWTtZQUNMLG1CQUFtQjtZQUNsQixvQkFBb0I7T0E5SXpDLG1CQUFtQixDQXVnQi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXZnQkQsSUF1Z0JDO1NBdmdCWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPLCBJbWdQaWN0dXJlc0RUTywgUGFyYW1zSW1nTWFuYWdlckRUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFibGUvZmlsdGVycy10YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBpY3R1cmVOYW1lVXBkYXRlIH0gZnJvbSAnLi4vLi4vZHRvL3BpY3R1cmUtbmFtZS11cGRhdGUuZHRvJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBpbnNlcnRSZW1vdmUgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2luc2VydFJlbW92ZS9pbnNlcnQtcmVtb3ZlLmFuaW1hdGlvbic7XG5pbXBvcnQgeyBzdGF0ZURpc3BsYXllZCwgdGFiRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5pbXBvcnQgeyBSZW5hbWVQaWN0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmFtZS1waWN0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltYWdlcy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dCxcbiAgICBpbnNlcnRSZW1vdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZXNWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpIHRhYkRpc3BsYXllZDogdGFiRGlzcGxheWVkO1xuICBASW5wdXQoKSBmdWxsU2l6ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoQ2FyZFNob3c6IG51bWJlcjtcbiAgQElucHV0KCkgbmJSb3dUb1Nob3c6IG51bWJlcjtcbiAgQElucHV0KCkgbGlzdERpc3BsYXllZCA9IGZhbHNlOyAvLyBEaXNwbGF5IGZvcm1hdCBsaXN0IG9yIG1vc2FpY1xuICBASW5wdXQoKSBtdWx0aXBsZUltZ01vZGUgPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIHN3aXRjaERpc3BsYXlXaW5kb3c6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvLyBEYXRhIGZpbHRlcnNcbiAgdGFibGVGaWx0ZXJzOiBUYWJsZUZpbHRlcnMgPSB7XG4gICAgc29ydDogdW5kZWZpbmVkLFxuICAgIG9yZGVyOiB1bmRlZmluZWQsXG4gICAgc2VhcmNoVmFsdWU6ICcnLFxuICAgIHRvdGFsSXRlbXM6IDAsXG4gICAgaXRlbXNQZXJQYWdlOiAwLFxuICAgIGN1cnJlbnRQYWdlOiAxXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnaW1nTGliQ29udGFpbmVyJykgaW1nTGliQ29udGFpbmVyIDogRWxlbWVudFJlZjtcbiAgd2lkdGhMYXJnZUNhcmQ6IG51bWJlciA9IDIxOTsgLy8gRGVmYXVsdCB2YWx1ZSBvZiBhIGNhcmQgd2lkdGggMTk5ICsgbWFyZ2luIDIwXG4gIHdpZHRoU21hbGxDYXJkOiBudW1iZXIgPSAxNjA7IC8vIERlZmF1bHQgdmFsdWUgb2YgYSBjYXJkIHdpZHRoIDE0MCArIG1hcmdpbiAyMFxuICBuYk1pbkltZ1BlckxpbmU6IG51bWJlcjtcbiAgbmJNYXhJbWdQZXJMaW5lOiBudW1iZXI7XG4gIG5iRmFrZUltZzogbnVtYmVyID0gMDtcblxuICBpbWdGdWxsV2lkdGhDb25maWc6YW55ID0gW1xuICAgIHtcbiAgICAgIG1heDogNDE5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDEsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC41XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDQ5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAxLFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuNVxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiA3MTksIC8vIHRhYmxldFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzNcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTAyMywgLy8gZGVza29wXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4zMzMzLFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMlxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMzk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMjUsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xMjVcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTU5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjIsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xMTExXG4gICAgfSxcbiAgICB7XG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4xNjY2LFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMVxuICAgIH1cbiAgXTtcblxuICBpbWdXaWR0aENvbmZpZzphbnkgPSBbXG4gICAge1xuICAgICAgbWF4OiAxMDI0LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMjUsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xMjVcbiAgICB9LFxuICAgIHtcbiAgICAgIG1heDogMTE5OSxcbiAgICAgIGxhcmdlSW1nV2lkdGhGYWN0b3IgOiAwLjMzMzMsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4yXG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDEyOTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4zMzMzLFxuICAgICAgc21hbGxJbWdXaWR0aEZhY3RvciA6IDAuMTY2NlxuICAgIH0sXG4gICAge1xuICAgICAgbWF4OiAxMzk5LFxuICAgICAgbGFyZ2VJbWdXaWR0aEZhY3RvciA6IDAuMjUsXG4gICAgICBzbWFsbEltZ1dpZHRoRmFjdG9yIDogMC4xNjY2XG4gICAgfSxcbiAgICB7XG4gICAgICBtYXg6IDE1OTksXG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjE0XG4gICAgfSxcbiAgICB7XG4gICAgICBsYXJnZUltZ1dpZHRoRmFjdG9yIDogMC4yNSxcbiAgICAgIHNtYWxsSW1nV2lkdGhGYWN0b3IgOiAwLjEyNVxuICAgIH1cbiAgXTtcblxuICBpbWdTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcbiAgaW1nUmVtb3ZlZEV2ZW50OiBTdWJzY3JpcHRpb247XG4gIGltZ0FkZGVkRXZlbnQ6IFN1YnNjcmlwdGlvbjtcbiAgaW1nU2VsZWN0aW9uQ2hhbmdlOiBTdWJzY3JpcHRpb247XG4gIHNlYXJjaFF1ZXJ5Q2hhbmdlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBmaWx0ZXJzQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgc2F2ZVBpY3R1cmVMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgaW1nU2VsZWN0ZWRMaXN0OiBJbWdQaWN0dXJlRFRPW107XG4gIHNlYXJjaGVkVmFsdWU6IHN0cmluZzsgLy8gVmFsdWUgZnJvbSB0aGUgc2VhcmNoIGJhciBvciBpbWcgYWRkZWQgYnkgY2FudmFcbiAgbmJJbWdUb0RlbFNlbGVjdGVkOiBudW1iZXIgPSAwO1xuICBkaXNhYmxlOiBib29sZWFuID0gZmFsc2U7IC8vIFVzZSB0byBkaXNhYmxlIGFjdGlvbiBkdXJpbmcgc2VydmVyIHJlcXVlc3RcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNUb3RhbFJldGlldmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRlbExpc3RJbWdMb2FkZXIgPSBmYWxzZTtcbiAgaW5pdENvbXBvbmVudDogYm9vbGVhbiA9IHRydWU7XG4gIGZhaWxMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzcGxheVBleGVsc1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHdoZW4gbm8gaW1nIGZpbmQgYnkgbmFtZSwgZGlzcGxheSBpbWcgZnJvbSBQZXhlbHNcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBjb25maXJtSW1nU3VwOmJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNTZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIC8vIFBhZ2luYXRvciBQYXJhbXNcbiAgcGFnZUluZGV4OiBudW1iZXIgPTA7XG4gIGxlbmd0aDogbnVtYmVyID0gMDtcbiAgcGFnZVNpemU6IG51bWJlciA9IDMwOyAvLyBEZWZhdWx0IHZhbHVlXG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbMjUsIDUwLCAxMDAsIDI1MF07XG5cbiAgLy8gQXBpIEltZyBtYW5hZ2VyIFBhcmFtc1xuICBwYXJhbXM6UGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBwcml2YXRlIGVycm9yR2V0QWxsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0QWxsSW1nJztcbiAgcHJpdmF0ZSBlcnJvckdldFRvdGFsSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0VG90YWxJbWcnO1xuICBwcml2YXRlIGVycm9yR2V0SW1nID0gJ0ltZ01hbmFnZXIuSW1nTGliLmVycm9yR2V0Q2FudmFJbWcnO1xuICBwcml2YXRlIG1zZ05vSW1nRm91bmQgPSAnSW1nTWFuYWdlci5JbWdMaWIubm9JbWdGb3VuZCc7XG4gIHByaXZhdGUgZXJyb3JSZW1vdmVJbWcgPSAnSW1nTWFuYWdlci5JbWdMaXN0LmVycm9yUmVtb3ZlSW1nJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpZiAodGhpcy5tYXhMZW5ndGhDYXJkU2hvdykge1xuICAgICAgdGhpcy5yZWR1Y2VQaWN0dXJlTGlzdE1heExlbmd0aCgpO1xuICAgIH0gKi9cbiAgICB0aGlzLnNldEV2ZW50cygpO1xuICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmdldEltZ1NlbGVjdGlvbigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0Rpc3BsYXkoKTtcbiAgICB0aGlzLl9nZXRJbWdMaXN0KCk7XG4gICAgaWYgKCF0aGlzLnNhdmVQaWN0dXJlTGlzdCkge1xuICAgICAgdGhpcy5zYXZlUGljdHVyZUxpc3QgPSB0aGlzLnBpY3R1cmVzTGlzdDtcbiAgICB9XG4gIH1cblxuICAvKiByZWR1Y2VQaWN0dXJlTGlzdE1heExlbmd0aCgpIHtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5zcGxpY2UoMCwgdGhpcy5tYXhMZW5ndGhDYXJkU2hvdyk7XG4gIH0gKi9cblxuICBnZXRJbWdMaXN0KCkge1xuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRydWUgOiBnbyB0byBsaXN0IGRpc3BsYXlcbiAgICogZmFsc2UgOiBnbyB0byBtb3NhaWMgZGlzcGxheVxuICAgKiBAcGFyYW0gYWN0aXZhdGVcbiAgICovXG4gIG9uU3dpdGNoRm9ybWF0RGlzcGxheWVkKGFjdGl2YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5saXN0RGlzcGxheWVkID0gYWN0aXZhdGU7XG4gICAgdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLnNldFVzZXJEaXNwbGF5UHJlZmVyZW5jZShhY3RpdmF0ZSk7XG4gICAgdGhpcy5pbWdFdmVudFNlcnZpY2UuZW1pdGxpc3REaXNwbGF5ZWRDaGFuZ2UoYWN0aXZhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bCB0aGUgbnVtYmVyIG9mIGltZyBzZWxlY3RlZCBmb3IgbWFzc2UgZGVsZXRpb25cbiAgICovXG4gIG9uSW1nU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG9uU2hvd0ltZ1VwbG9hZGVkKCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hlZFZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICBjb25zb2xlLmxvZygnb25SZW5hbWVQaWN0dXJlIHBpY3R1cmVSZW5hbWVkJywgcGljdHVyZVJlbmFtZWQpO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uub25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkKTtcbiAgfVxuXG4gIHJlbW92ZUxpc3RJbWcoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGUgPSB0cnVlO1xuICAgIHRoaXMuZGVsTGlzdEltZ0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG5cbiAgICAvLyBHZXQgdGhlIGlkIG9mIHRoZSBpbWcgdG8gcmVtb3ZlXG4gICAgLy8gQW5kIGFkZCBkZWxldGVkIHByb3BlcnR5XG4gICAgY29uc3QgaWRJbWdUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKCBpbWcgPT4ge1xuICAgICAgaWYgKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIGlkSW1nVG9SZW1vdmUucHVzaChpbWcuaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ01hbmFnZXIucmVtb3ZlTXVsdGlwbGVJbWcoaWRJbWdUb1JlbW92ZSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkSW1nVG9SZW1vdmUpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVtb3ZlSW1nKTtcbiAgICAgIH1cbiAgICApO1xuXG5cbiAgfVxuXG4gIHNlbGVjdEltZ0Nob3NlbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBpY3R1cmVzTGlzdFNlbGVjdGVkOiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5tYXAoaW1nID0+IHtcbiAgICAgIGlmKGltZy5kZWxTZWxlY3RlZCkge1xuICAgICAgICBpbWcuZGVsU2VsZWN0ZWQgPWZhbHNlO1xuICAgICAgICBpbWcuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGltZy5zZWxlY3RlZCkge1xuICAgICAgICBwaWN0dXJlc0xpc3RTZWxlY3RlZC5wdXNoKGltZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZXROYkltZ1RvRGVsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0SW1nU2VsZWN0aW9uKHBpY3R1cmVzTGlzdFNlbGVjdGVkKTtcbiAgfVxuXG4gIGRpc3BsYXlDb25maXJtSW1nU3VwKCl7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm1JbWdTdXAgPSB0cnVlO1xuICB9XG5cbiAgY2FuY2VsU3VwKCkge1xuICAgIHRoaXMuY29uZmlybUltZ1N1cCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXQgd2hlbiBhIGltZyBzZWxlY3RlZCBpbiBvcmRlciB0byBkZWxldGVcbiAgICovXG4gIG9uUGljdHVyZXNMaXN0Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0TmJJbWdUb0RlbFNlbGVjdGVkKCk7XG4gIH1cblxuICBvbkZpbHRlcnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5nZXRJbWdMaXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgbnVtYmVyIG9mIGltZyBwZXIgcGFnZSB0byBkaXNwbGF5IGF0IHRoZSBpbml0aWFsaXNhdGlvblxuICAgKiBUaGlzIG51bWJlciBpcyBiZXR3ZWVuIDMwIGFuZCA1MFxuICAgKi9cbiAgcHJpdmF0ZSBzZXROYkltZ1RvRGlzcGxheSgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuaW1nTGliQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAzMDsgLy8gKyAzMHB4IC0+IGxlZnQgKyByaWdodCBtYXJnaW5cbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IFttYXhJbWdXaWR0aEZhY3RvciwgbWluSW1nV2lkdGhGYWN0b3JdID0gdGhpcy5nZXRJbWdXaWR0aEZhY3RvcnMoKTtcblxuICAgIGNvbnN0IG1pbkltZ1dpZHRoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAqIG1pbkltZ1dpZHRoRmFjdG9yKTtcbiAgICBjb25zdCBtYXhJbWdXaWR0aCA9IE1hdGguY2VpbCgoY29udGFpbmVyV2lkdGggKyBzY3JvbGxXaWR0aCApICogbWF4SW1nV2lkdGhGYWN0b3IpO1xuXG4gICAgdGhpcy5uYk1heEltZ1BlckxpbmUgPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gbWluSW1nV2lkdGgpO1xuICAgIHRoaXMubmJNaW5JbWdQZXJMaW5lID0gTWF0aC5mbG9vciggKGNvbnRhaW5lcldpZHRoICsgc2Nyb2xsV2lkdGggKSAvIG1heEltZ1dpZHRoKTtcblxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmdldFRvdGFsSW1nUGVyUGFnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWdXaWR0aEZhY3RvcnMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1pbldpZHRoOm51bWJlciA9IDA7XG4gICAgbGV0IGltZ1NpemVzQ29uZmlnOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEltZ1dpZHRoQ29uZmlnID0gdGhpcy5mdWxsU2l6ZSA/IHRoaXMuaW1nRnVsbFdpZHRoQ29uZmlnIDogdGhpcy5pbWdXaWR0aENvbmZpZztcblxuICAgIGZvciAoY29uc3Qgd2lkdGhDb25maWcgb2YgY3VycmVudEltZ1dpZHRoQ29uZmlnKSB7XG4gICAgICAgIGlmICghd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbldpZHRoIDwgc2NyZWVuV2lkdGggJiYgc2NyZWVuV2lkdGggPD0gd2lkdGhDb25maWcubWF4KSB7XG4gICAgICAgICAgaW1nU2l6ZXNDb25maWcgPSBbd2lkdGhDb25maWcubGFyZ2VJbWdXaWR0aEZhY3Rvciwgd2lkdGhDb25maWcuc21hbGxJbWdXaWR0aEZhY3Rvcl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWluV2lkdGggPSB3aWR0aENvbmZpZy5tYXg7XG4gICAgfVxuICAgIHJldHVybiBpbWdTaXplc0NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxJbWdQZXJQYWdlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubmJSb3dUb1Nob3cpIHtcbiAgICAgIGNvbnN0IG5iSW1nUGVyTGluZSA9IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyA/IHRoaXMubmJNaW5JbWdQZXJMaW5lIDogdGhpcy5uYk1heEltZ1BlckxpbmU7XG4gICAgICByZXR1cm4gbmJJbWdQZXJMaW5lICogdGhpcy5uYlJvd1RvU2hvdztcbiAgICB9XG5cbiAgICBsZXQgdG90YWwgPSB0aGlzLm5iTWluSW1nUGVyTGluZTtcblxuICAgIHdoaWxlICh0b3RhbCA8IDMwIHx8IHRvdGFsICUgdGhpcy5uYk1heEltZ1BlckxpbmUgIT09IDAgfHwgIHRvdGFsICUgdGhpcy5uYk1pbkltZ1BlckxpbmUgIT09IDApIHtcbiAgICAgIHRvdGFsICs9IHRoaXMubmJNaW5JbWdQZXJMaW5lO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cblxuICBwcml2YXRlIHNldFBhcmFtcygpIHtcbiAgICB0aGlzLnBhcmFtcyA9IHtcbiAgICAgIGxpbWl0OiB0aGlzLm1heExlbmd0aENhcmRTaG93Py50b1N0cmluZygpIHx8ICh0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgPyB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UudG9TdHJpbmcoKSA6IHRoaXMucGFnZVNpemUudG9TdHJpbmcoKSksXG4gICAgICBwYWdlOiB0aGlzLnRhYmxlRmlsdGVycy5jdXJyZW50UGFnZS50b1N0cmluZygpXG4gICAgfTtcbiAgICBpZiAodGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucGFyYW1zW1wiZGlzcGxheV9uYW1lOmNvbnRhaW5zXCJdID0gdGhpcy50YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRWYXJpYWJsZXMobG9hZGluZ1N1Y2Nlc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCA9IDA7XG4gICAgdGhpcy5kaXNhYmxlID0gZmFsc2U7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmRlbExpc3RJbWdMb2FkZXIgPSBmYWxzZTtcbiAgICB0aGlzLmluaXRDb21wb25lbnQgPSBmYWxzZTtcbiAgICB0aGlzLmRpc3BsYXlQZXhlbHNSZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5mYWlsTG9hZGVkID0gIWxvYWRpbmdTdWNjZXNzO1xuICAgIHRoaXMubmJGYWtlSW1nID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW1nU2VsZWN0ZWQgKCkge1xuICAgIGlmICghdGhpcy5pbWdTZWxlY3RlZExpc3QgfHwgIXRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlkSW1nU2xlY3RlZExpc3Q6IHN0cmluZ1tdID0gW107XG5cbiAgICB0aGlzLmltZ1NlbGVjdGVkTGlzdC5mb3JFYWNoKGltZyA9PlxuICAgICAgaWRJbWdTbGVjdGVkTGlzdC5wdXNoKGltZy5pZF9maWxlKVxuICAgICk7XG5cbiAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKHBpY3R1cmUgPT4ge1xuICAgICAgaWYgKGlkSW1nU2xlY3RlZExpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpICE9PSAtMSkge1xuICAgICAgICBwaWN0dXJlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheVBleGVsc0xpYiAoKSB7XG4gICAgdGhpcy5kaXNwbGF5UGV4ZWxzUmVzdWx0cyA9IHRydWU7XG4gICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnTm9JbWdGb3VuZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgaW1nIGxpc3QgaW4gb3JkZXIgdG8gZmlsbCBwcm9wZXJseSBhbGwgdGhlIGxpbmUgb2YgaW1hZ2VzIGRpc3BsYXllZCBpbiBtb3NhaWMuXG4gICAqIE90aGVyd2lzZSwgdGhlIHNwYWNlLWJldHdlZW4gY3NzIHdpbGwgZG8gYSBiYWQgZGlzcGxheVxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxOYkltZ0Zha2UobmJJbWdEaXNwbGF5ZWQ6IG51bWJlcikge1xuICAgIGNvbnN0IG5iSW1nUGVyTGluZSA9IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgfHwgdGhpcy50YWJEaXNwbGF5ZWQgPT09ICdpbWctdXBsb2FkJyA/IHRoaXMubmJNYXhJbWdQZXJMaW5lIDogdGhpcy5uYk1pbkltZ1BlckxpbmU7XG5cbiAgICBpZiAobmJJbWdEaXNwbGF5ZWQgJSBuYkltZ1BlckxpbmUgIT09IDApIHtcbiAgICAgIHRoaXMubmJGYWtlSW1nID0gbmJJbWdQZXJMaW5lIC0gbmJJbWdEaXNwbGF5ZWQgJSBuYkltZ1BlckxpbmU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWcgKGlkX2ZpbGU6IHN0cmluZykge1xuICAgIHRoaXMuaW1nTWFuYWdlci5nZXRTaG9wSW1nKGlkX2ZpbGUpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgKHBpY3R1cmU6IEltZ1BpY3R1cmVEVE8pID0+IHtcblxuICAgICAgICBpZiAoIXRoaXMuaW1nQWxyZWFkeUV4aXN0KHBpY3R1cmUuaWRfZmlsZSkpIHtcbiAgICAgICAgICAvLyBjaGVjayB0aGUgaW1nIGlzIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICAgICAgICB0aGlzLnBpY3R1cmVzTGlzdC51bnNoaWZ0KHBpY3R1cmUpO1xuICAgICAgICAgIHRoaXMubGVuZ3RoICs9IDE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yR2V0SW1nKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbWdBbHJlYWR5RXhpc3QgKGlkX2ZpbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgaW1nIG9mIHRoaXMucGljdHVyZXNMaXN0KSB7XG4gICAgICBpZiAoaW1nLmlkX2ZpbGUgPT09IGlkX2ZpbGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmJJbWdUb0RlbFNlbGVjdGVkICgpIHtcbiAgICB0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCA9IHRoaXMucGljdHVyZXNMaXN0LmZpbHRlcihpbWcgPT5cbiAgICAgIGltZy5kZWxTZWxlY3RlZCkubGVuZ3RoO1xuXG4gICAgaWYgKCF0aGlzLm5iSW1nVG9EZWxTZWxlY3RlZCkge1xuICAgICAgdGhpcy5jb25maXJtSW1nU3VwID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFdmVudHMoKSB7XG4gICAgLy8gQWRkIGEgdGltZXIgdG8gcmV0cmlldmUgaW1nIHdoZW4gdGhlIHNlYXJjaCBiYXIgb3IgdGhlIHBhZ2luYXRvciBhcmUgdXNlZFxuICAgIHRoaXMuc2VhcmNoUXVlcnlDaGFuZ2VkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNDAwKSkgLy8gd2FpdCAwLjUgc2VjIGFmdGVyIHRoZSBsYXN0IGV2ZW50IGJlZm9yZSBlbWl0dGluZyBsYXN0IGV2ZW50XG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0SW1nTGlzdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDgwMCkpIC8vIHdhaXQgMC44IHNlYyBhZnRlciB0aGUgbGFzdCBldmVudCBiZWZvcmUgZW1pdHRpbmcgbGFzdCBldmVudFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLl9nZXRJbWdMaXN0KCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZWxvYWQgaW1nIHdoZW4gaW1nIGlzL2FyZSByZW1vdmVkXG4gICAgdGhpcy5pbWdSZW1vdmVkRXZlbnQgPSB0aGlzLmltZ0V2ZW50U2VydmljZS5nZXRJbWdSZW1vdmVkRXZlbnRMaXN0bmVyKCkuc3Vic2NyaWJlKGlkX2ZpbGUgPT57XG4gICAgICB0aGlzLmdldEltZ0xpc3QoKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBpbWcgZnJvbSBDYW52YVxuICAgIHRoaXMuaW1nQWRkZWRFdmVudCA9IHRoaXMuaW1nRXZlbnRTZXJ2aWNlLmdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCkuc3Vic2NyaWJlKGlkX2ZpbGUgPT57XG4gICAgICBpZiAoaWRfZmlsZSAmJiAhdGhpcy5pbWdBbHJlYWR5RXhpc3QoaWRfZmlsZSkpIHtcbiAgICAgICAgdGhpcy5nZXRJbWcoaWRfZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZSA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5nZXRJbWdTZWxlY3Rpb25DaGFuZ2UoKS5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xuICAgICAgaWYgKHRoaXMubGlzdERpc3BsYXllZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpZEZpbGVMaXN0ID0gW107XG4gICAgICBpbWdTZWxlY3Rpb24ubWFwKGltZyA9PiBpZEZpbGVMaXN0LnB1c2goaW1nLmlkX2ZpbGUpKTtcbiAgICAgIGZvciAoY29uc3QgcGljdHVyZSBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xuICAgICAgICBpZiAoaWRGaWxlTGlzdC5pbmRleE9mKHBpY3R1cmUuaWRfZmlsZSkgPT09IC0xKSB7XG4gICAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbWdMaXN0KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BsYXlQZXhlbHNSZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZXRQYXJhbXMoKTtcblxuICAgIHRoaXMucmVmcmVzaFRvdGFsSW1nTGlzdCgpO1xuXG4gICAgdGhpcy5pbWdNYW5hZ2VyLmdldFNob3BJbWdMaXN0KHRoaXMucGFyYW1zKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoZGF0YTogSW1nUGljdHVyZXNEVE8pID0+IHtcbiAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcyh0cnVlKTtcbiAgICAgIGNvbnN0IG5iSW1nRGlzcGxheWVkID0gZGF0YS5kYXRhLmxlbmd0aDtcbiAgICAgIHRoaXMuY2FsY3VsTmJJbWdGYWtlKG5iSW1nRGlzcGxheWVkKTtcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0ID0gZGF0YS5kYXRhO1xuICAgICAgdGhpcy5yZW5hbWVQaWN0dXJlU2VydmljZS5zZXRQaWN0dXJlc0xpc3QodGhpcy5waWN0dXJlc0xpc3QpO1xuICAgICAgdGhpcy5zZWxlY3RJbWdTZWxlY3RlZCgpO1xuXG4gICAgICB0aGlzLmxlbmd0aCA9IHRoaXMuaXNUb3RhbFJldGlldmVkID8gdGhpcy5sZW5ndGggOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgIHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgPSB0aGlzLmlzVG90YWxSZXRpZXZlZCA/IHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgOiBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgIHRoaXMudGFibGVGaWx0ZXJzLml0ZW1zUGVyUGFnZSA9ICB0aGlzLnRhYmxlRmlsdGVycy5pdGVtc1BlclBhZ2UgPyAgdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlIDogdGhpcy5wYWdlU2l6ZTtcblxuICAgICAgLy8gRGlzcGxheSBQZXhlbHMgaWYgbm8gcmVzdWx0XG4gICAgICBpZiAoZGF0YS50b3RhbFJlY29yZHMgPT09IDApIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5UGV4ZWxzTGliKCk7XG4gICAgICB9XG5cbiAgICB9LFxuICAgIGVycm9yID0+IHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yR2V0QWxsSW1nKTtcbiAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcyhmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hUb3RhbEltZ0xpc3QoKSB7XG4gICAgY29uc3Qgc2VhcmNoVmFsdWUgPSB0aGlzLnRhYmxlRmlsdGVycy5zZWFyY2hWYWx1ZTtcblxuICAgIGlmICh0aGlzLmlzVG90YWxSZXRpZXZlZCAmJiBzZWFyY2hWYWx1ZSA9PT0gdGhpcy5wcmV2aW91c1NlYXJjaFZhbHVlKSB7XG4gICAgICAvLyBLZWVwIGN1cnJlbnQgdG90YWwgcmVzdWx0XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1RvdGFsUmV0aWV2ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuaW1nTWFuYWdlci5nZXRTaG9wVG90YWxJbWdMaXN0KHRoaXMucGFyYW1zKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShcblxuICAgICAgKGRhdGE6IEltZ1BpY3R1cmVzRFRPKSA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNTZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlO1xuICAgICAgICB0aGlzLmlzVG90YWxSZXRpZXZlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS50b3RhbFJlY29yZHM7XG4gICAgICAgIHRoaXMudGFibGVGaWx0ZXJzLnRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsUmVjb3JkcztcbiAgICAgIH0sXG5cbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgLy90aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvckdldFRvdGFsSW1nKTtcbiAgICAgICAgdGhpcy5pbml0VmFyaWFibGVzKGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN3aXRjaERpc3BsYXlXaW5kb3dNb3NhaWMoKSB7XG4gICAgdGhpcy5zd2l0Y2hEaXNwbGF5V2luZG93LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlZC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaW1nUmVtb3ZlZEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbWdBZGRlZEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -121,7 +121,7 @@ var ImgTabsComponent = /** @class */ (function () {
|
|
|
121
121
|
ImgTabsComponent = __decorate([
|
|
122
122
|
Component({
|
|
123
123
|
selector: 'img-tabs',
|
|
124
|
-
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n <div class=\"select-mobile-page\">\n <wac-select\n [(ngModel)]=\"tabActive\"\n name=\"tabs\"\n [items]=\"tabs\"\n ></wac-select>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive.value === tabs[0].value\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive.value\"\n [
|
|
124
|
+
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n <div class=\"select-mobile-page\">\n <wac-select\n [(ngModel)]=\"tabActive\"\n name=\"tabs\"\n [items]=\"tabs\"\n ></wac-select>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive.value === tabs[0].value\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive.value\"\n [nbRowToShow]=\"2\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"false\">\n </images-view>\n\n\n <div [hidden]=\"!imgUpload\">\n <upload-list\n #imgUploadedImg\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabActive.value\"\n [multipleImgMode]=\"multipleImgMode\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive.value\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexel img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\n <div class=\"column\">\n <pexels-lib\n [stateDisplayed]=\"stateDisplayed\"\n (showImgUploaded)=\"onShowImgUploaded()\">\n </pexels-lib>\n </div>\n </div>\n\n <!--Edition section -->\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\n <div class=\"column\">\n <img-editor\n [stateDisplayed]=\"stateDisplayed\"\n [imgToEdit]=\"imgToEdit\"\n (editClosed)=\"onEditClosed($event)\">\n </img-editor>\n </div>\n </div>\n\n</div>\n"
|
|
125
125
|
}),
|
|
126
126
|
__metadata("design:paramtypes", [ImgEventService,
|
|
127
127
|
AlertService,
|
|
@@ -130,4 +130,4 @@ var ImgTabsComponent = /** @class */ (function () {
|
|
|
130
130
|
return ImgTabsComponent;
|
|
131
131
|
}());
|
|
132
132
|
export { ImgTabsComponent };
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW1nLXRhYnMvaW1nLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQU92QztJQTZERSwwQkFDVSxtQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsS0FBYTtRQUZiLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBaUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQTdEdkIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFJakMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHdEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRSxTQUFJLEdBQWlCO1lBQ25CO2dCQUNFLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLEtBQUssRUFBRSxZQUFZO2dCQUNuQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxFQUFFLEVBQUUsQ0FBQzthQUNOO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLEVB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LENBQUU7a0NBQ1IsbUJBQW1CO2tFQUFFO0lBdERoQyxnQkFBZ0I7UUFKNUIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLFVBQVU7WUFDcEIsbzVIQUF3QztTQUN6QyxDQUFDO3lDQStEK0IsZUFBZTtZQUN0QixZQUFZO1lBQ25CLE1BQU07T0FoRVosZ0JBQWdCLENBK0c1QjtJQUFELHVCQUFDO0NBQUEsQUEvR0QsSUErR0M7U0EvR1ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgVXBsb2FkTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBOd2JTbmFja2JhckNvbmZpZyB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWl0ZW1zLmR0byc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltZy10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltZy10YWJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJbWdUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZUltZ01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKVxuICBsaXN0RGlzcGxheWVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGltZ01hbmFnZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGN1cnJlbnRUYWIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHN3aXRjaERpc3BsYXlXaW5kb3c6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0YWJzOiBTZWxlY3RJdGVtW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5hZGRJbWcnLFxuICAgICAgdmFsdWU6ICdpbWctdXBsb2FkJyxcbiAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgaWQ6IDBcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuaW1nTGliJyxcbiAgICAgIHZhbHVlOiAnaW1hZ2VzLXZpZXcnLFxuICAgICAgaWQ6IDFcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuZnJlZUltZ0xpYicsXG4gICAgICB2YWx1ZTogJ3BleGVscy1saWInLFxuICAgICAgaWQ6IDJcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuRWRpdG9yJyxcbiAgICAgIHZhbHVlOiAnaW1nLWVkaXRpb24nLFxuICAgICAgaGlkZTogdHJ1ZSxcbiAgICAgIGlkOiAzXG4gICAgfVxuICBdO1xuXG4gIHRhYkFjdGl2ZTogU2VsZWN0SXRlbSA9IHRoaXMudGFic1swXTtcblxuICAvKiB0YWJBY3RpdmUgPSAnaW1hZ2VzLXZpZXcnO1xuICB0YWJzOiBzdHJpbmdbXSA9IFsnaW1nLXVwbG9hZCcsICdpbWFnZXMtdmlldycsICdwZXhlbHMtbGliJywgJ2ltZy1lZGl0aW9uJ107ICovXG4gIGVkaXRUYWIgPSBmYWxzZTtcblxuICBpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE87XG5cbiAgaW1nVXBsb2FkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCggJ2ltZ1VwbG9hZGVkSW1nJyApXG4gIGltZ1VwbG9hZGVkQ29tcG9uZW50OiBVcGxvYWRMaXN0Q29tcG9uZW50IDtcblxuICBzbmFja0Jhck5ld1ZlcnNpb25Db25maWc6IE53YlNuYWNrYmFyQ29uZmlnID0ge1xuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGR1cmF0aW9uOiAzMDAwXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdFdmVudEVkaXRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBSb3V0ZXJcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb0VkaXRFdmVudExpc3RuZXIoKS5zdWJzY3JpYmUoaW1nVG9FZGl0ID0+e1xuICAgICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbM107XG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcbiAgICAgIHRoaXMuZWRpdFRhYiA9IHRydWU7XG4gICAgICB0aGlzLmN1cnJlbnRUYWIuZW1pdCh0aGlzLnRhYnNbM10pO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlVGFicyhpdGVtOiBTZWxlY3RJdGVtKSB7XG4gICAgdGhpcy5pbWdVcGxvYWQgPSBmYWxzZTtcbiAgICB0aGlzLmVkaXRUYWIgPSBmYWxzZTtcbiAgICB0aGlzLnRhYkFjdGl2ZSA9IGl0ZW07XG4gIH1cblxuICBvbkltZ1VwbG9hZGVkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgdGhpcy5pbWdVcGxvYWQgPSB0cnVlO1xuICAgIHRoaXMuaW1nVXBsb2FkZWRDb21wb25lbnQub25JbWdVcGxvYWRlZChpbWcpO1xuICB9XG5cbiAgb25FZGl0Q2xvc2VkKG1zZ0tleTogc3RyaW5nKSB7XG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XG4gICAgdGhpcy50b2dnbGVUYWJzKHRoaXMudGFic1sxXSk7XG4gICAgaWYgKG1zZ0tleSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KG1zZ0tleSk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KCdjbG9zZScpO1xuICB9XG5cbiAgb25TaG93SW1nVXBsb2FkZWQoKSB7XG4gICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbMV07XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHN3aXRjaFJvdXRlckxpbmsoZXZlbnQpIHtcblxuICB9XG5cbiAgb25JbWdNYW5hZ2VyQ2xvc2VkKCkge1xuICAgIHRoaXMuaW1nTWFuYWdlckNsb3NlZC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,6 +16,7 @@ var ImgUploadComponent = /** @class */ (function () {
|
|
|
16
16
|
this.loadingText = 'ImgManager.ImgUpload.loading';
|
|
17
17
|
this.errorUploadingImg = 'ImgManager.ImgUpload.errorUploadingImg';
|
|
18
18
|
this.errorNotImg = 'ImgManager.ImgUpload.errorNotImg';
|
|
19
|
+
this.MAX_IMAGE_SIZE = 10000000; // In bytes
|
|
19
20
|
}
|
|
20
21
|
ImgUploadComponent.prototype.ngOnInit = function () {
|
|
21
22
|
this.assetsIcon = this.getAssets();
|
|
@@ -41,13 +42,19 @@ var ImgUploadComponent = /** @class */ (function () {
|
|
|
41
42
|
try {
|
|
42
43
|
for (var files_1 = __values(files), files_1_1 = files_1.next(); !files_1_1.done; files_1_1 = files_1.next()) {
|
|
43
44
|
var file = files_1_1.value;
|
|
44
|
-
|
|
45
|
-
formData.append('image', file, file.name);
|
|
45
|
+
console.log('file', file.size);
|
|
46
46
|
if (!this.isFileImage(file.type)) {
|
|
47
47
|
this.alertService.openAlert(this.errorNotImg);
|
|
48
48
|
this.isLoading = false;
|
|
49
49
|
continue;
|
|
50
50
|
}
|
|
51
|
+
if (!this.isSizeValid(file.size)) {
|
|
52
|
+
this.alertService.openAlert("L'image : " + file.name + " est trop grande (" + this.getImageSizeInKo(file.size) + "ko). Taille maximum accept\u00E9e: " + this.getImageSizeInKo(this.MAX_IMAGE_SIZE) + "ko");
|
|
53
|
+
this.isLoading = false;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
var formData = new FormData();
|
|
57
|
+
formData.append('image', file, file.name);
|
|
51
58
|
imgToUploadList.push(this.imgManager.uploadFile(formData));
|
|
52
59
|
}
|
|
53
60
|
}
|
|
@@ -62,7 +69,13 @@ var ImgUploadComponent = /** @class */ (function () {
|
|
|
62
69
|
_this.onImgUpload(img),
|
|
63
70
|
_this.isLoading = false;
|
|
64
71
|
}, function (error) {
|
|
65
|
-
|
|
72
|
+
var _a, _b;
|
|
73
|
+
if (((_b = (_a = error) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message) && error.statusText !== 'Bad Request') {
|
|
74
|
+
_this.alertService.openAlertWithBackendRespons(_this.errorUploadingImg, error.error.message);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
_this.alertService.openAlert(_this.errorUploadingImg);
|
|
78
|
+
}
|
|
66
79
|
_this.isLoading = false;
|
|
67
80
|
});
|
|
68
81
|
};
|
|
@@ -77,6 +90,12 @@ var ImgUploadComponent = /** @class */ (function () {
|
|
|
77
90
|
ImgUploadComponent.prototype.isFileImage = function (fileType) {
|
|
78
91
|
return fileType.split('/')[0] === 'image';
|
|
79
92
|
};
|
|
93
|
+
ImgUploadComponent.prototype.isSizeValid = function (imageBytesSize) {
|
|
94
|
+
return imageBytesSize < this.MAX_IMAGE_SIZE;
|
|
95
|
+
};
|
|
96
|
+
ImgUploadComponent.prototype.getImageSizeInKo = function (size) {
|
|
97
|
+
return Math.round(size / 1024);
|
|
98
|
+
};
|
|
80
99
|
/**
|
|
81
100
|
* Remove the style of the drag and drop box
|
|
82
101
|
* After an img is droped, the box is still grey
|
|
@@ -116,4 +135,4 @@ var ImgUploadComponent = /** @class */ (function () {
|
|
|
116
135
|
return ImgUploadComponent;
|
|
117
136
|
}());
|
|
118
137
|
export { ImgUploadComponent };
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbWctdXBsb2FkL2ltZy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFjLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFFdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUzVEO0lBZ0JFLDRCQUNVLFVBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLHFCQUE4QztRQUY5QyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXlCO1FBakJ4RCxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTNDLGdCQUFXLEdBQUcsOEJBQThCLENBQUM7UUFDN0Msc0JBQWlCLEdBQUcsd0NBQXdDLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxrQ0FBa0MsQ0FBQztRQUVqRCxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVc7SUFNakMsQ0FBQztJQUVOLHFDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFT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WSxHQUFvQjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsd0NBQVcsR0FBWCxVQUFZLFFBQWdCO1FBQzFCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUM7SUFDNUMsQ0FBQztJQUVELHdDQUFXLEdBQVgsVUFBWSxjQUFzQjtRQUNoQyxPQUFPLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzlDLENBQUM7SUFFRCw2Q0FBZ0IsR0FBaEIsVUFBaUIsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtREFBc0IsR0FBdEI7UUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQy9DLENBQUM7O2dCQTlGcUIsaUJBQWlCO2dCQUNmLFlBQVk7Z0JBQ0gsdUJBQXVCOztJQWQvQztRQUFSLEtBQUssRUFBRTs7OERBQWdDO0lBQzlCO1FBQVQsTUFBTSxFQUFFOzsyREFBa0M7SUFFZDtRQUE1QixTQUFTLENBQUMsZ0JBQWdCLENBQUM7a0NBQWlCLFVBQVU7OERBQUM7SUFSN0Msa0JBQWtCO1FBUDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxZQUFZO1lBQ3RCLGt6Q0FBMEM7WUFDMUMsVUFBVSxFQUFFO2dCQUNWLFNBQVM7YUFDVjtTQUNGLENBQUM7eUNBa0JzQixpQkFBaUI7WUFDZixZQUFZO1lBQ0gsdUJBQXVCO09BbkI3QyxrQkFBa0IsQ0FnSDlCO0lBQUQseUJBQUM7Q0FBQSxBQWhIRCxJQWdIQztTQWhIWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQge0ltZ01hbmFnZXJDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY29uZmlnL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBzdGF0ZURpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltZy11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBlYXNlSW5PdXRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWdVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZpbGVzOiBhbnkgPSBbXTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGFzc2V0c0ljb246IHN0cmluZztcbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBAT3V0cHV0KCkgaW1nVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJhZ0FuZERyb3BCb3gnKSBkcmFnQW5kRHJvcEJveDogRWxlbWVudFJlZjtcblxuICBsb2FkaW5nVGV4dCA9ICdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5sb2FkaW5nJztcbiAgZXJyb3JVcGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5JbWdVcGxvYWQuZXJyb3JVcGxvYWRpbmdJbWcnO1xuICBlcnJvck5vdEltZyA9ICdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5lcnJvck5vdEltZyc7XG5cbiAgTUFYX0lNQUdFX1NJWkUgPSAxMDAwMDAwMDsgLy8gSW4gYnl0ZXNcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEltZ01hbmFnZXJDb25maWdTZXJ2aWNlXG4gICAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXNzZXRzSWNvbiA9IHRoaXMuZ2V0QXNzZXRzKCk7XG4gIH1cblxuICBmaWxlc0NoYW5nZUJ5Q2xpY2soZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudXBsb2FkRmlsZShldmVudC50YXJnZXQuZmlsZXMpO1xuICB9XG5cbiAgZ2V0QXNzZXRzKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRSb3V0ZUFzc2V0cygpICsgXCJpbWcvaWNvbl9waWN0dXJlLnN2Z1wiO1xuICB9XG5cbiAgZmlsZXNDaGFuZ2VCeURyYWdBbmREcm9wKGZpbGVzTGlzdDogRmlsZVtdKSB7XG4gICAgdGhpcy5yZW1vdmVEcmFnQW5kRHJvcFN0eWxlKCk7XG4gICAgdGhpcy51cGxvYWRGaWxlKGZpbGVzTGlzdCk7XG4gIH1cblxuICB1cGxvYWRGaWxlKGZpbGVzOiBGaWxlW10pIHtcbiAgICBpZiAoZmlsZXMgJiYgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNMb2FkaW5nID10cnVlO1xuICAgIGNvbnN0IGltZ1RvVXBsb2FkTGlzdDogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdmaWxlJywgZmlsZS5zaXplKTtcblxuICAgICAgaWYoIXRoaXMuaXNGaWxlSW1hZ2UoZmlsZS50eXBlKSkge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvck5vdEltZyk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuaXNTaXplVmFsaWQoZmlsZS5zaXplKSkge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQoYEwnaW1hZ2UgOiAke2ZpbGUubmFtZX0gZXN0IHRyb3AgZ3JhbmRlICgke3RoaXMuZ2V0SW1hZ2VTaXplSW5LbyhmaWxlLnNpemUpfWtvKS4gVGFpbGxlIG1heGltdW0gYWNjZXB0w6llOiAke3RoaXMuZ2V0SW1hZ2VTaXplSW5Lbyh0aGlzLk1BWF9JTUFHRV9TSVpFKX1rb2ApO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1hZ2UnLCBmaWxlLCBmaWxlLm5hbWUpO1xuXG5cbiAgICAgIGltZ1RvVXBsb2FkTGlzdC5wdXNoKHRoaXMuaW1nTWFuYWdlci51cGxvYWRGaWxlKGZvcm1EYXRhKSk7XG4gICAgfVxuXG4gICAgZm9ya0pvaW4oaW1nVG9VcGxvYWRMaXN0KS5zdWJzY3JpYmUoXG4gICAgICAoaW1nOiBJbWdQaWN0dXJlRFRPW10pID0+IHtcbiAgICAgICAgdGhpcy5vbkltZ1VwbG9hZChpbWcpLFxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9ZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICBpZiAoZXJyb3I/LmVycm9yPy5tZXNzYWdlICYmIGVycm9yLnN0YXR1c1RleHQgIT09ICdCYWQgUmVxdWVzdCcpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnModGhpcy5lcnJvclVwbG9hZGluZ0ltZywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JVcGxvYWRpbmdJbWcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID1mYWxzZTtcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICAvKipcbiAgICogU2VuZCB0aGUgaW1nIHVwbG9hZGVkIHRvIHRoZSB0YWJzIGNvbXBvbmVudHMsXG4gICAqIFRoZW4gdGhlIHRhYnMgY29tcG9uZW50cyBhZGQgdGhlIGltZyB0byB1cGxvYWQgbGlzdCBieSBjYWxsaW5nIHRoZSBtZXRob2Qgb25JbWdVcGxvYWRlZCBvZiB0aGUgdXBsb2FkLWxpc3QgY29tcG9uZW50XG4gICAqIEBwYXJhbSBpbWdcbiAgICovXG4gIG9uSW1nVXBsb2FkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgdGhpcy5pbWdVcGxvYWRlZC5lbWl0KGltZyk7XG4gIH1cblxuICBpc0ZpbGVJbWFnZShmaWxlVHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpbGVUeXBlLnNwbGl0KCcvJylbMF0gPT09ICdpbWFnZSc7XG4gIH1cblxuICBpc1NpemVWYWxpZChpbWFnZUJ5dGVzU2l6ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGltYWdlQnl0ZXNTaXplIDwgdGhpcy5NQVhfSU1BR0VfU0laRTtcbiAgfVxuXG4gIGdldEltYWdlU2l6ZUluS28oc2l6ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoc2l6ZSAvIDEwMjQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgc3R5bGUgb2YgdGhlIGRyYWcgYW5kIGRyb3AgYm94XG4gICAqIEFmdGVyIGFuIGltZyBpcyBkcm9wZWQsIHRoZSBib3ggaXMgc3RpbGwgZ3JleVxuICAgKi9cbiAgcmVtb3ZlRHJhZ0FuZERyb3BTdHlsZSgpIHtcbiAgICB0aGlzLmRyYWdBbmREcm9wQm94Lm5hdGl2ZUVsZW1lbnQuc3R5bGUgPSAnJztcbiAgfVxufVxuIl19
|
|
@@ -2,11 +2,30 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { Observable, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { ImgManagerConfigService } from './config/external-config.service';
|
|
5
|
+
import { AlertService } from './alert.service';
|
|
6
|
+
import { ImgManagerService } from './img-manager.service';
|
|
7
|
+
import { ImgEventService } from './img-event.service';
|
|
8
|
+
import { take } from 'rxjs/operators';
|
|
9
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
5
10
|
import * as i0 from "@angular/core";
|
|
6
11
|
import * as i1 from "./config/external-config.service";
|
|
12
|
+
import * as i2 from "./img-manager.service";
|
|
13
|
+
import * as i3 from "./img-event.service";
|
|
14
|
+
import * as i4 from "./alert.service";
|
|
15
|
+
import * as i5 from "@ngx-translate/core";
|
|
7
16
|
var CanvaService = /** @class */ (function () {
|
|
8
|
-
function CanvaService(externalConfigService) {
|
|
17
|
+
function CanvaService(externalConfigService, imgManager, wzImgEventService, alertService, translateService) {
|
|
9
18
|
this.externalConfigService = externalConfigService;
|
|
19
|
+
this.imgManager = imgManager;
|
|
20
|
+
this.wzImgEventService = wzImgEventService;
|
|
21
|
+
this.alertService = alertService;
|
|
22
|
+
this.translateService = translateService;
|
|
23
|
+
this.imgLoading = false;
|
|
24
|
+
this.uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';
|
|
25
|
+
this.successUploadPhoto = 'ImgManager.CanvaBtn.successImport';
|
|
26
|
+
this.errorUploadCanvaImg = 'ImgManager.CanvaBtn.errorUploadCanvaImg';
|
|
27
|
+
this.errorRenameCanvaImg = 'ImgManager.CanvaBtn.errorRenameCanvaImg';
|
|
28
|
+
this.forceToOpenCanva = false;
|
|
10
29
|
this.bindExpectedImgSizeEvent = new BehaviorSubject(null);
|
|
11
30
|
this.bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();
|
|
12
31
|
}
|
|
@@ -22,6 +41,9 @@ var CanvaService = /** @class */ (function () {
|
|
|
22
41
|
};
|
|
23
42
|
CanvaService.prototype.expectedImgSizesChange = function (mediaDTO) {
|
|
24
43
|
this.bindExpectedImgSizeEvent.next(mediaDTO);
|
|
44
|
+
if (this.forceToOpenCanva) {
|
|
45
|
+
this.openCanva(parseInt(mediaDTO.image_width), parseInt(mediaDTO.image_height));
|
|
46
|
+
}
|
|
25
47
|
};
|
|
26
48
|
CanvaService.prototype.getCanvaApi = function () {
|
|
27
49
|
var _this = this;
|
|
@@ -76,17 +98,84 @@ var CanvaService = /** @class */ (function () {
|
|
|
76
98
|
};
|
|
77
99
|
document.getElementsByTagName('head')[0].appendChild(node);
|
|
78
100
|
};
|
|
101
|
+
CanvaService.prototype.openCanva = function (width, height) {
|
|
102
|
+
var _this = this;
|
|
103
|
+
if (this.imgLoading) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this.getCanvaApi().pipe(take(1)).subscribe(function (api) {
|
|
107
|
+
_this.canvaApi = api;
|
|
108
|
+
_this.addOverflowBody();
|
|
109
|
+
_this.createDesign(width, height);
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
CanvaService.prototype.addOverflowBody = function () {
|
|
113
|
+
document.body.classList.add('ovh-canva');
|
|
114
|
+
};
|
|
115
|
+
CanvaService.prototype.removeOverflowBody = function () {
|
|
116
|
+
document.body.classList.remove('ovh-canva');
|
|
117
|
+
};
|
|
118
|
+
CanvaService.prototype.createDesign = function (width, height) {
|
|
119
|
+
var _this = this;
|
|
120
|
+
var createDesign = {
|
|
121
|
+
type: 'EtsyShopIcon',
|
|
122
|
+
dimensions: {
|
|
123
|
+
units: 'px',
|
|
124
|
+
width: width ? width : undefined,
|
|
125
|
+
height: height ? height : undefined,
|
|
126
|
+
},
|
|
127
|
+
publishLabel: this.translateService.instant('ImgManager.CanvaBtn.publish'),
|
|
128
|
+
};
|
|
129
|
+
this.canvaApi.createDesign({
|
|
130
|
+
design: createDesign,
|
|
131
|
+
onDesignPublish: function (_a) {
|
|
132
|
+
var exportUrl = _a.exportUrl, designTitle = _a.designTitle;
|
|
133
|
+
return _this.designPublished(exportUrl, designTitle);
|
|
134
|
+
},
|
|
135
|
+
onDesignClose: function () {
|
|
136
|
+
_this.removeOverflowBody();
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
CanvaService.prototype.designPublished = function (exportUrl, designTitle) {
|
|
141
|
+
var _this = this;
|
|
142
|
+
this.alertService.openAlert(this.uploadingImg);
|
|
143
|
+
this.imgLoading = true;
|
|
144
|
+
this.imgManager.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe(function (img) {
|
|
145
|
+
_this.imgLoading = false;
|
|
146
|
+
_this.removeOverflowBody();
|
|
147
|
+
_this.wzImgEventService.emitImgAdded(img.id_file);
|
|
148
|
+
_this.alertService.openAlert(_this.successUploadPhoto);
|
|
149
|
+
}, function (error) {
|
|
150
|
+
_this.imgLoading = false;
|
|
151
|
+
_this.removeOverflowBody();
|
|
152
|
+
if (error.error.code === 406 && error.error.message) {
|
|
153
|
+
_this.alertService.openAlertWithBackendRespons(_this.errorUploadCanvaImg, error.error.message);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
_this.alertService.openAlert(_this.errorUploadCanvaImg);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
};
|
|
79
160
|
CanvaService.ctorParameters = function () { return [
|
|
80
|
-
{ type: ImgManagerConfigService }
|
|
161
|
+
{ type: ImgManagerConfigService },
|
|
162
|
+
{ type: ImgManagerService },
|
|
163
|
+
{ type: ImgEventService },
|
|
164
|
+
{ type: AlertService },
|
|
165
|
+
{ type: TranslateService }
|
|
81
166
|
]; };
|
|
82
|
-
CanvaService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CanvaService_Factory() { return new CanvaService(i0.ɵɵinject(i1.ImgManagerConfigService)); }, token: CanvaService, providedIn: "root" });
|
|
167
|
+
CanvaService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CanvaService_Factory() { return new CanvaService(i0.ɵɵinject(i1.ImgManagerConfigService), i0.ɵɵinject(i2.ImgManagerService), i0.ɵɵinject(i3.ImgEventService), i0.ɵɵinject(i4.AlertService), i0.ɵɵinject(i5.TranslateService)); }, token: CanvaService, providedIn: "root" });
|
|
83
168
|
CanvaService = __decorate([
|
|
84
169
|
Injectable({
|
|
85
170
|
providedIn: 'root'
|
|
86
171
|
}),
|
|
87
|
-
__metadata("design:paramtypes", [ImgManagerConfigService
|
|
172
|
+
__metadata("design:paramtypes", [ImgManagerConfigService,
|
|
173
|
+
ImgManagerService,
|
|
174
|
+
ImgEventService,
|
|
175
|
+
AlertService,
|
|
176
|
+
TranslateService])
|
|
88
177
|
], CanvaService);
|
|
89
178
|
return CanvaService;
|
|
90
179
|
}());
|
|
91
180
|
export { CanvaService };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3aXppc2hvcC9pbWctbWFuYWdlci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jYW52YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFZM0U7SUFVRSxzQkFDVSxxQkFBOEM7UUFBOUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF5QjtRQUpoRCw2QkFBd0IsR0FBdUMsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBQzVHLHlCQUFvQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUl4RSxDQUFDO0lBRUcsd0NBQWlCLEdBQXpCO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsbUNBQVksR0FBWjtRQUNDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxHQUFHLHNCQUFzQixDQUFDO0lBQzdFLENBQUM7SUFFRCxzREFBK0IsR0FBL0I7UUFDRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNkNBQXNCLEdBQXRCLFVBQXdCLFFBQTJCO1FBQ2pELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGtDQUFXLEdBQVg7UUFBQSxpQkFnQkM7UUFmQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLElBQUksVUFBVSxDQUFDLFVBQUEsUUFBUTtZQUM5QixLQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUN2QixRQUFRLEVBQUU7b0JBQ04sSUFBRyxLQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7d0JBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUM3QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ3ZCO3lCQUFNO3dCQUNILEtBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ2xDO2dCQUNMLENBQUM7YUFDQSxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxzQ0FBZSxHQUF2QixVQUF3QixRQUFvQztRQUE1RCxpQkFXQztRQVZDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUN0QixLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO2FBRXpCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxRQUFRO2dCQUNmLEtBQUksQ0FBQyxRQUFRLEdBQUksUUFBUSxDQUFDO2dCQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sZ0NBQVMsR0FBakI7UUFBQSxpQkFRQztRQVBHLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBQSxRQUFRO1lBQzVCLElBQUcsS0FBSSxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3JCO2lCQUFJO2dCQUNILEtBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxzQ0FBZSxHQUF2QixVQUF3QixRQUEwQjtRQUVoRCxJQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFBO1FBQ0QsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDOztnQkF4RWdDLHVCQUF1Qjs7O0lBWDdDLFlBQVk7UUFIeEIsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQzt5Q0FZaUMsdUJBQXVCO09BWDdDLFlBQVksQ0FvRnhCO3VCQW5HRDtDQW1HQyxBQXBGRCxJQW9GQztTQXBGWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYW52YUJ1dHRvbkFwaSB9IGZyb20gJy4uL2R0by9jYW52YS5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy9leHRlcm5hbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBXaXppQmxvY2tNZWRpYUR0byB9IGZyb20gJy4uL2R0by93aXppLWJsb2NrLW1lZGlhLmR0byc7XG5cbmRlY2xhcmUgbGV0IENhbnZhICA6IHtcbiAgRGVzaWduQnV0dG9uIDoge1xuICAgIGluaXRpYWxpemU6IChvcHRzOiB7IGFwaUtleTogc3RyaW5nIH0pID0+IFByb21pc2U8Q2FudmFCdXR0b25BcGk+O1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYW52YVNlcnZpY2Uge1xuXG4gIGNhbnZhQXBpOyAvLyBPYmplY3QgdXNlIHRvIG1hbmFnZSB0aGUgY2FudmEgYXBpXG4gIGNhbnZhQXBpVVJMOiBzdHJpbmc7XG4gIGNhbnZhQXBpS2V5OiBzdHJpbmc7XG4gIGNhbnZhTG9nb1JvdXRlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBiaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQ6IEJlaGF2aW9yU3ViamVjdDxXaXppQmxvY2tNZWRpYUR0bz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPihudWxsKTtcbiAgcHJpdmF0ZSBiaW5kRXhwZWN0ZWRTaXplRG9uZSA9IHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZVxuICApIHsgfVxuXG4gIHByaXZhdGUgc2V0Q2FudmFBcGlDb25maWcoKSB7XG4gICAgdGhpcy5jYW52YUFwaVVSTCA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldENhbnZhQXBpVVJMKCk7XG4gICAgdGhpcy5jYW52YUFwaUtleSA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldENhbnZhQXBpVG9rZW4oKTtcbiAgfVxuXG4gIGdldENhbnZhTG9nbygpIHtcbiAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRSb3V0ZUFzc2V0cygpICsgXCJjYW52YS9pY29uX2NhbnZhLnN2Z1wiO1xuICB9XG5cbiAgYmluZEV2ZW50RXhlcGVjdGVkSW1nU2l6ZUNoYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaW5kRXhwZWN0ZWRTaXplRG9uZTtcbiAgfVxuXG4gIGV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UgKG1lZGlhRFRPOiBXaXppQmxvY2tNZWRpYUR0byl7XG4gICAgdGhpcy5iaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQubmV4dChtZWRpYURUTyk7XG4gIH1cblxuICBnZXRDYW52YUFwaSgpOk9ic2VydmFibGU8Q2FudmFCdXR0b25BcGk+IHtcbiAgICBpZiAoIXRoaXMuY2FudmFBcGlVUkwgfHwgIXRoaXMuY2FudmFBcGlLZXkpIHtcbiAgICAgIHRoaXMuc2V0Q2FudmFBcGlDb25maWcoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICB0aGlzLmxvYWRDYW52YSgpLnN1YnNjcmliZSh7XG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLmNhbnZhQXBpICYmIENhbnZhLkRlc2lnbkJ1dHRvbikge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodGhpcy5jYW52YUFwaSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ2FudmEob2JzZXJ2ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDYW52YShvYnNlcnZlcjogU3Vic2NyaWJlcjxDYW52YUJ1dHRvbkFwaT4pIHtcbiAgICBpZiAoQ2FudmEuRGVzaWduQnV0dG9uKSB7XG4gICAgICBDYW52YS5EZXNpZ25CdXR0b24uaW5pdGlhbGl6ZSh7XG4gICAgICAgIGFwaUtleTogdGhpcy5jYW52YUFwaUtleVxuXG4gICAgICB9KS50aGVuKChjYW52YUFwaSkgPT4ge1xuICAgICAgICB0aGlzLmNhbnZhQXBpID0gIGNhbnZhQXBpO1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmEoKTpPYnNlcnZhYmxlPG51bGw+IHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgIGlmKHRoaXMuY2FudmFBcGkpIHtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmxvYWRDYW52YVNjcmlwdChvYnNlcnZlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXI6IFN1YnNjcmliZXI8bnVsbD4pIHtcblxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBub2RlLnNyYyA9IHRoaXMuY2FudmFBcGlVUkw7XG4gICAgbm9kZS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgbm9kZS5hc3luYyA9IGZhbHNlO1xuICAgIG5vZGUuY2hhcnNldCA9ICd1dGYtOCc7XG4gICAgbm9kZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG5vZGUpO1xuICB9XG59XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3aXppc2hvcC9pbWctbWFuYWdlci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jYW52YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBV3ZEO0lBa0JFLHNCQUNVLHFCQUE4QyxFQUM5QyxVQUE2QixFQUM3QixpQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSmxDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEI1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsa0NBQWtDLENBQUM7UUFDbEQsdUJBQWtCLEdBQUcsbUNBQW1DLENBQUM7UUFDekQsd0JBQW1CLEdBQUcseUNBQXlDLENBQUM7UUFDaEUsd0JBQW1CLEdBQUcseUNBQXlDLENBQUM7UUFFaEUscUJBQWdCLEdBQVks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QUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxDQUFDLEVBQ0QsVUFBQSxLQUFLO1lBQ0gsS0FBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsS0FBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFMUIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ25ELEtBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsS0FBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDN0Y7aUJBQU07Z0JBQ0wsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2dCQWhKZ0MsdUJBQXVCO2dCQUNsQyxpQkFBaUI7Z0JBQ1YsZUFBZTtnQkFDcEIsWUFBWTtnQkFDUixnQkFBZ0I7OztJQXZCakMsWUFBWTtRQUh4QixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO3lDQW9CaUMsdUJBQXVCO1lBQ2xDLGlCQUFpQjtZQUNWLGVBQWU7WUFDcEIsWUFBWTtZQUNSLGdCQUFnQjtPQXZCakMsWUFBWSxDQW9LeEI7dUJBMUxEO0NBMExDLEFBcEtELElBb0tDO1NBcEtZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbnZhQnV0dG9uQXBpIH0gZnJvbSAnLi4vZHRvL2NhbnZhLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpemlCbG9ja01lZGlhRHRvIH0gZnJvbSAnLi4vZHRvL3dpemktYmxvY2stbWVkaWEuZHRvJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vaW1nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmRlY2xhcmUgbGV0IENhbnZhICA6IHtcbiAgRGVzaWduQnV0dG9uIDoge1xuICAgIGluaXRpYWxpemU6IChvcHRzOiB7IGFwaUtleTogc3RyaW5nIH0pID0+IFByb21pc2U8Q2FudmFCdXR0b25BcGk+O1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYW52YVNlcnZpY2Uge1xuXG4gIGNhbnZhQXBpOyAvLyBPYmplY3QgdXNlIHRvIG1hbmFnZSB0aGUgY2FudmEgYXBpXG4gIGNhbnZhQXBpVVJMOiBzdHJpbmc7XG4gIGNhbnZhQXBpS2V5OiBzdHJpbmc7XG4gIGNhbnZhTG9nb1JvdXRlOiBzdHJpbmc7XG5cbiAgaW1nTG9hZGluZyA9IGZhbHNlO1xuICB1cGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi51cGxvYWRpbmdJbWcnO1xuICBzdWNjZXNzVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5zdWNjZXNzSW1wb3J0JztcbiAgZXJyb3JVcGxvYWRDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yVXBsb2FkQ2FudmFJbWcnO1xuICBlcnJvclJlbmFtZUNhbnZhSW1nID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uZXJyb3JSZW5hbWVDYW52YUltZyc7XG5cbiAgZm9yY2VUb09wZW5DYW52YTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50OiBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaXppQmxvY2tNZWRpYUR0bz4obnVsbCk7XG4gIHByaXZhdGUgYmluZEV4cGVjdGVkU2l6ZURvbmUgPSB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogSW1nTWFuYWdlckNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdNYW5hZ2VyOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHd6SW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7IH1cblxuICBwcml2YXRlIHNldENhbnZhQXBpQ29uZmlnKCkge1xuICAgIHRoaXMuY2FudmFBcGlVUkwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRDYW52YUFwaVVSTCgpO1xuICAgIHRoaXMuY2FudmFBcGlLZXkgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRDYW52YUFwaVRva2VuKCk7XG4gIH1cblxuICBnZXRDYW52YUxvZ28oKSB7XG4gICByZXR1cm4gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0Um91dGVBc3NldHMoKSArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcbiAgfVxuXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZEV4cGVjdGVkU2l6ZURvbmU7XG4gIH1cblxuICBleHBlY3RlZEltZ1NpemVzQ2hhbmdlIChtZWRpYURUTzogV2l6aUJsb2NrTWVkaWFEdG8pe1xuICAgIHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50Lm5leHQobWVkaWFEVE8pO1xuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcbiAgICAgIHRoaXMub3BlbkNhbnZhKHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX3dpZHRoKSwgcGFyc2VJbnQobWVkaWFEVE8uaW1hZ2VfaGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2FudmFBcGkoKTpPYnNlcnZhYmxlPENhbnZhQnV0dG9uQXBpPiB7XG4gICAgaWYgKCF0aGlzLmNhbnZhQXBpVVJMIHx8ICF0aGlzLmNhbnZhQXBpS2V5KSB7XG4gICAgICB0aGlzLnNldENhbnZhQXBpQ29uZmlnKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgdGhpcy5sb2FkQ2FudmEoKS5zdWJzY3JpYmUoe1xuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgaWYodGhpcy5jYW52YUFwaSAmJiBDYW52YS5EZXNpZ25CdXR0b24pIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNhbnZhKG9ic2VydmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2FudmEob2JzZXJ2ZXI6IFN1YnNjcmliZXI8Q2FudmFCdXR0b25BcGk+KSB7XG4gICAgaWYgKENhbnZhLkRlc2lnbkJ1dHRvbikge1xuICAgICAgQ2FudmEuRGVzaWduQnV0dG9uLmluaXRpYWxpemUoe1xuICAgICAgICBhcGlLZXk6IHRoaXMuY2FudmFBcGlLZXlcblxuICAgICAgfSkudGhlbigoY2FudmFBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jYW52YUFwaSA9ICBjYW52YUFwaTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmNhbnZhQXBpKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZENhbnZhKCk6T2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICBpZih0aGlzLmNhbnZhQXBpKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5sb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENhbnZhU2NyaXB0KG9ic2VydmVyOiBTdWJzY3JpYmVyPG51bGw+KSB7XG5cbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgbm9kZS5zcmMgPSB0aGlzLmNhbnZhQXBpVVJMO1xuICAgIG5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgIG5vZGUuYXN5bmMgPSBmYWxzZTtcbiAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnO1xuICAgIG5vZGUub25sb2FkID0gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICB9XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgfVxuXG4gIG9wZW5DYW52YSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmltZ0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5nZXRDYW52YUFwaSgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChhcGk6IENhbnZhQnV0dG9uQXBpKSA9PiB7XG4gICAgICB0aGlzLmNhbnZhQXBpID0gYXBpO1xuICAgICAgdGhpcy5hZGRPdmVyZmxvd0JvZHkoKTtcbiAgICAgIHRoaXMuY3JlYXRlRGVzaWduKHdpZHRoLCBoZWlnaHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPdmVyZmxvd0JvZHkoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdvdmgtY2FudmEnKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlT3ZlcmZsb3dCb2R5KCkge1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnb3ZoLWNhbnZhJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlc2lnbih3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIGNvbnN0ICBjcmVhdGVEZXNpZ246IENhbnZhQ3JlYXRlRGVzaWduID0ge1xuICAgICAgdHlwZTogJ0V0c3lTaG9wSWNvbicsXG4gICAgICBkaW1lbnNpb25zIDoge1xuICAgICAgICB1bml0czogJ3B4JyxcbiAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgIGhlaWdodDogaGVpZ2h0ID8gaGVpZ2h0IDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIHB1Ymxpc2hMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ltZ01hbmFnZXIuQ2FudmFCdG4ucHVibGlzaCcpLFxuICAgIH07XG4gICAgdGhpcy5jYW52YUFwaS5jcmVhdGVEZXNpZ24oe1xuICAgICAgZGVzaWduOiBjcmVhdGVEZXNpZ24sXG4gICAgICBvbkRlc2lnblB1Ymxpc2g6ICh7IGV4cG9ydFVybCwgZGVzaWduVGl0bGUgfSkgPT4gdGhpcy5kZXNpZ25QdWJsaXNoZWQoZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSksXG4gICAgICBvbkRlc2lnbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XG4gICAgICB9XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzaWduUHVibGlzaGVkKGV4cG9ydFVybDogc3RyaW5nLCBkZXNpZ25UaXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMudXBsb2FkaW5nSW1nKTtcbiAgICB0aGlzLmltZ0xvYWRpbmcgPSB0cnVlO1xuXG5cbiAgICB0aGlzLmltZ01hbmFnZXIudXBsb2FkRmlsZUJ5VXJsKGV4cG9ydFVybCwgZGVzaWduVGl0bGUpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgKGltZzogSW1nUGljdHVyZURUTykgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnModGhpcy5lcnJvclVwbG9hZENhbnZhSW1nLCBlcnJvci5lcnJvci5tZXNzYWdlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yVXBsb2FkQ2FudmFJbWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
|