@wizishop/img-manager 15.1.2 → 15.2.0
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/README.md +1 -0
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +8 -8
- package/esm2020/lib/components/images-view/images-view.component.mjs +13 -10
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +7 -7
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +7 -7
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +7 -7
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +52 -37
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +16 -17
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +12 -12
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +2 -2
- package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +2 -10
- package/esm2020/lib/services/alert.service.mjs +2 -2
- package/esm2020/lib/services/api.service.mjs +10 -0
- package/esm2020/lib/services/canva.service.mjs +36 -33
- package/esm2020/lib/services/config/img-cdn.service.mjs +5 -7
- package/esm2020/lib/services/img-manager.service.mjs +39 -51
- package/esm2020/lib/services/img-selection.service.mjs +20 -7
- package/esm2020/lib/services/pexels.service.mjs +15 -12
- package/esm2020/lib/services/rename-picture.service.mjs +12 -23
- package/esm2020/lib/services/upload.service.mjs +22 -0
- package/esm2020/lib/wz-img-manager.component.mjs +21 -21
- package/esm2020/lib/wz-img-manager.module.mjs +9 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/wizishop-img-manager.mjs +285 -291
- package/fesm2015/wizishop-img-manager.mjs.map +1 -1
- package/fesm2020/wizishop-img-manager.mjs +386 -392
- package/fesm2020/wizishop-img-manager.mjs.map +1 -1
- package/lib/components/images-view/images-actions-handler.d.ts +3 -3
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +2 -2
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +2 -2
- package/lib/components/images-view/table-view/table-view.component.d.ts +2 -2
- package/lib/components/img-editor/img-editor.component.d.ts +4 -2
- package/lib/components/img-upload/img-upload.component.d.ts +5 -5
- package/lib/components/pexels-lib/pexels-lib.component.d.ts +3 -3
- package/lib/dto/config/image-cdn/image-cdn-config.dto.d.ts +1 -1
- package/lib/services/alert.service.d.ts +1 -1
- package/lib/services/api.service.d.ts +27 -0
- package/lib/services/canva.service.d.ts +7 -9
- package/lib/services/config/img-cdn.service.d.ts +0 -2
- package/lib/services/img-manager.service.d.ts +14 -14
- package/lib/services/img-selection.service.d.ts +6 -0
- package/lib/services/pexels.service.d.ts +5 -5
- package/lib/services/rename-picture.service.d.ts +5 -7
- package/lib/services/upload.service.d.ts +10 -0
- package/lib/wz-img-manager.component.d.ts +2 -6
- package/lib/wz-img-manager.module.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/wizishop-img-manager-15.2.0.tgz +0 -0
- package/esm2020/lib/services/config/external-config.service.mjs +0 -49
- package/lib/services/config/external-config.service.d.ts +0 -24
- package/wizishop-img-manager-15.1.2.tgz +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
|
|
2
|
-
import { ImgManagerService } from '../../services/img-manager.service';
|
|
3
2
|
import { forkJoin } from 'rxjs';
|
|
4
3
|
import { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';
|
|
5
|
-
import { ImgManagerConfigService } from "../../services/config/external-config.service";
|
|
6
4
|
import { AlertService } from '../../services/alert.service';
|
|
7
5
|
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
+
import { UploadService } from '../../services/upload.service';
|
|
7
|
+
import { ApiService } from '../../services/api.service';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../services/
|
|
10
|
-
import * as i2 from "../../services/
|
|
11
|
-
import * as i3 from "
|
|
12
|
-
import * as i4 from "
|
|
9
|
+
import * as i1 from "../../services/alert.service";
|
|
10
|
+
import * as i2 from "../../services/api.service";
|
|
11
|
+
import * as i3 from "@ngx-translate/core";
|
|
12
|
+
import * as i4 from "../../services/upload.service";
|
|
13
13
|
import * as i5 from "@angular/common";
|
|
14
14
|
import * as i6 from "../loader/loader.component";
|
|
15
15
|
import * as i7 from "../../directives/drag-drop.directive";
|
|
16
16
|
export class ImgUploadComponent {
|
|
17
|
-
constructor(
|
|
18
|
-
this.imgManager = imgManager;
|
|
17
|
+
constructor(alertService, apiService, translateService, uploadService) {
|
|
19
18
|
this.alertService = alertService;
|
|
20
|
-
this.
|
|
19
|
+
this.apiService = apiService;
|
|
21
20
|
this.translateService = translateService;
|
|
21
|
+
this.uploadService = uploadService;
|
|
22
22
|
this.files = [];
|
|
23
23
|
this.isLoading = false;
|
|
24
24
|
this.imgUploaded = new EventEmitter();
|
|
@@ -34,10 +34,9 @@ export class ImgUploadComponent {
|
|
|
34
34
|
this.uploadFile(event.target.files);
|
|
35
35
|
}
|
|
36
36
|
getAssets() {
|
|
37
|
-
return this.
|
|
37
|
+
return this.apiService.CONFIG.assets_route + "img/icon_picture.svg";
|
|
38
38
|
}
|
|
39
39
|
filesChangeByDragAndDrop(filesList) {
|
|
40
|
-
console.log('filesList', filesList);
|
|
41
40
|
this.removeDragAndDropStyle();
|
|
42
41
|
this.uploadFile(Array.from(filesList));
|
|
43
42
|
}
|
|
@@ -64,14 +63,14 @@ export class ImgUploadComponent {
|
|
|
64
63
|
}
|
|
65
64
|
const formData = new FormData();
|
|
66
65
|
formData.append('image', file, file.name);
|
|
67
|
-
imgToUploadList.push(this.
|
|
66
|
+
imgToUploadList.push(this.uploadService.uploadFile(formData));
|
|
68
67
|
}
|
|
69
68
|
forkJoin(imgToUploadList).subscribe((img) => {
|
|
70
69
|
this.onImgUpload(img),
|
|
71
70
|
this.isLoading = false;
|
|
72
71
|
}, error => {
|
|
73
72
|
if (error?.error?.message && error.statusText !== 'Bad Request') {
|
|
74
|
-
this.alertService.
|
|
73
|
+
this.alertService.openAlertWithBackendResponse(this.errorUploadingImg, error.error.message);
|
|
75
74
|
}
|
|
76
75
|
else {
|
|
77
76
|
this.alertService.openAlert(this.errorUploadingImg);
|
|
@@ -104,8 +103,8 @@ export class ImgUploadComponent {
|
|
|
104
103
|
this.dragAndDropBox.nativeElement.style = '';
|
|
105
104
|
}
|
|
106
105
|
}
|
|
107
|
-
ImgUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgUploadComponent, deps: [{ token: i1.
|
|
108
|
-
ImgUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgUploadComponent, selector: "img-upload", inputs: { stateDisplayed: "stateDisplayed" }, outputs: { imgUploaded: "imgUploaded" }, viewQueries: [{ propertyName: "dragAndDropBox", first: true, predicate: ["dragAndDropBox"], descendants: true }], ngImport: i0, template: "<div\n class=\"img-upload has-text-centered\"\n [ngClass]=\"{'img-upload--small': stateDisplayed === 'small'}\"\n (click)=\"fileInput.click()\"\n appDragDrop\n (onFileDropped)=\"filesChangeByDragAndDrop($any($event))\"\n #dragAndDropBox\n [@easeInOut]=\"'in'\"\n>\n <input hidden type=\"file\" #fileInput (change)=\"filesChangeByClick($event)\" accept=\"image/*\" multiple >\n <div class=\"img-upload__container\" [ngClass]=\"{'img-upload__container--small': stateDisplayed === 'small'}\">\n\n <div class=\"img-upload__container__wrapper\">\n\n <div class=\"img-upload__container__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\" [position]=\"'relative'\"></wz-loader>\n </div>\n\n <ng-container *ngIf=\"!isLoading\">\n <div class=\"blueColor img-upload__container__dropImgIconDiv\">\n <img *ngIf=\"assetsIcon\" [src]=\"assetsIcon\" alt=\"icon picture\" />\n <p>{{ 'ImgManager.ImgUpload.dropImg' | translate }}</p>\n </div>\n\n <p class=\"img-upload__container__or\">{{ 'ImgManager.ImgUpload.or' | translate }}</p>\n\n <div class=\"img-upload__container__text\">\n <i class=\"fal fa-file-upload\"></i>{{ 'ImgManager.ImgUpload.selectImg' | translate }}\n </div>\n </ng-container>\n\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "directive", type: i7.DragDropDirective, selector: "[appDragDrop]", outputs: ["onFileDropped"] }, { kind: "pipe", type:
|
|
106
|
+
ImgUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgUploadComponent, deps: [{ token: i1.AlertService }, { token: i2.ApiService }, { token: i3.TranslateService }, { token: i4.UploadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
+
ImgUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgUploadComponent, selector: "img-upload", inputs: { stateDisplayed: "stateDisplayed" }, outputs: { imgUploaded: "imgUploaded" }, viewQueries: [{ propertyName: "dragAndDropBox", first: true, predicate: ["dragAndDropBox"], descendants: true }], ngImport: i0, template: "<div\n class=\"img-upload has-text-centered\"\n [ngClass]=\"{'img-upload--small': stateDisplayed === 'small'}\"\n (click)=\"fileInput.click()\"\n appDragDrop\n (onFileDropped)=\"filesChangeByDragAndDrop($any($event))\"\n #dragAndDropBox\n [@easeInOut]=\"'in'\"\n>\n <input hidden type=\"file\" #fileInput (change)=\"filesChangeByClick($event)\" accept=\"image/*\" multiple >\n <div class=\"img-upload__container\" [ngClass]=\"{'img-upload__container--small': stateDisplayed === 'small'}\">\n\n <div class=\"img-upload__container__wrapper\">\n\n <div class=\"img-upload__container__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\" [position]=\"'relative'\"></wz-loader>\n </div>\n\n <ng-container *ngIf=\"!isLoading\">\n <div class=\"blueColor img-upload__container__dropImgIconDiv\">\n <img *ngIf=\"assetsIcon\" [src]=\"assetsIcon\" alt=\"icon picture\" />\n <p>{{ 'ImgManager.ImgUpload.dropImg' | translate }}</p>\n </div>\n\n <p class=\"img-upload__container__or\">{{ 'ImgManager.ImgUpload.or' | translate }}</p>\n\n <div class=\"img-upload__container__text\">\n <i class=\"fal fa-file-upload\"></i>{{ 'ImgManager.ImgUpload.selectImg' | translate }}\n </div>\n </ng-container>\n\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "directive", type: i7.DragDropDirective, selector: "[appDragDrop]", outputs: ["onFileDropped"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [
|
|
109
108
|
easeInOut
|
|
110
109
|
] });
|
|
111
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgUploadComponent, decorators: [{
|
|
@@ -113,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
113
112
|
args: [{ selector: 'img-upload', animations: [
|
|
114
113
|
easeInOut
|
|
115
114
|
], template: "<div\n class=\"img-upload has-text-centered\"\n [ngClass]=\"{'img-upload--small': stateDisplayed === 'small'}\"\n (click)=\"fileInput.click()\"\n appDragDrop\n (onFileDropped)=\"filesChangeByDragAndDrop($any($event))\"\n #dragAndDropBox\n [@easeInOut]=\"'in'\"\n>\n <input hidden type=\"file\" #fileInput (change)=\"filesChangeByClick($event)\" accept=\"image/*\" multiple >\n <div class=\"img-upload__container\" [ngClass]=\"{'img-upload__container--small': stateDisplayed === 'small'}\">\n\n <div class=\"img-upload__container__wrapper\">\n\n <div class=\"img-upload__container__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\" [position]=\"'relative'\"></wz-loader>\n </div>\n\n <ng-container *ngIf=\"!isLoading\">\n <div class=\"blueColor img-upload__container__dropImgIconDiv\">\n <img *ngIf=\"assetsIcon\" [src]=\"assetsIcon\" alt=\"icon picture\" />\n <p>{{ 'ImgManager.ImgUpload.dropImg' | translate }}</p>\n </div>\n\n <p class=\"img-upload__container__or\">{{ 'ImgManager.ImgUpload.or' | translate }}</p>\n\n <div class=\"img-upload__container__text\">\n <i class=\"fal fa-file-upload\"></i>{{ 'ImgManager.ImgUpload.selectImg' | translate }}\n </div>\n </ng-container>\n\n </div>\n </div>\n</div>\n" }]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
115
|
+
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.ApiService }, { type: i3.TranslateService }, { type: i4.UploadService }]; }, propDecorators: { stateDisplayed: [{
|
|
117
116
|
type: Input
|
|
118
117
|
}], imgUploaded: [{
|
|
119
118
|
type: Output
|
|
@@ -121,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
121
120
|
type: ViewChild,
|
|
122
121
|
args: ['dragAndDropBox']
|
|
123
122
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLXVwbG9hZC9pbWctdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdXBsb2FkL2ltZy11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBU3ZELE1BQU0sT0FBTyxrQkFBa0I7SUFnQjdCLFlBQ1UsVUFBNkIsRUFDN0IsWUFBMEIsRUFDMUIscUJBQThDLEVBQzlDLGdCQUFrQztRQUhsQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXlCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsQjVDLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFZ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IHtDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHtJbWdNYW5hZ2VyQ29uZmlnU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2NvbmZpZy9leHRlcm5hbC1jb25maWcuc2VydmljZVwiO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbWctdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltZy11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSW1nVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBmaWxlczogYW55ID0gW107XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBhc3NldHNJY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQE91dHB1dCgpIGltZ1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2RyYWdBbmREcm9wQm94JykgZHJhZ0FuZERyb3BCb3g6IEVsZW1lbnRSZWY7XG5cbiAgbG9hZGluZ1RleHQgPSAnSW1nTWFuYWdlci5JbWdVcGxvYWQubG9hZGluZyc7XG4gIGVycm9yVXBsb2FkaW5nSW1nID0gJ0ltZ01hbmFnZXIuSW1nVXBsb2FkLmVycm9yVXBsb2FkaW5nSW1nJztcbiAgZXJyb3JOb3RJbWcgPSAnSW1nTWFuYWdlci5JbWdVcGxvYWQuZXJyb3JOb3RJbWcnO1xuXG4gIE1BWF9JTUFHRV9TSVpFID0gMTAwMDAwMDA7IC8vIEluIGJ5dGVzXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdNYW5hZ2VyOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NldHNJY29uID0gdGhpcy5nZXRBc3NldHMoKTtcbiAgfVxuXG4gIGZpbGVzQ2hhbmdlQnlDbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy51cGxvYWRGaWxlKGV2ZW50LnRhcmdldC5maWxlcyk7XG4gIH1cblxuICBnZXRBc3NldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFJvdXRlQXNzZXRzKCkgKyBcImltZy9pY29uX3BpY3R1cmUuc3ZnXCI7XG4gIH1cblxuICBmaWxlc0NoYW5nZUJ5RHJhZ0FuZERyb3AoZmlsZXNMaXN0OiBGaWxlTGlzdCkge1xuICAgIGNvbnNvbGUubG9nKCdmaWxlc0xpc3QnLCBmaWxlc0xpc3QpO1xuICAgIHRoaXMucmVtb3ZlRHJhZ0FuZERyb3BTdHlsZSgpO1xuICAgIHRoaXMudXBsb2FkRmlsZShBcnJheS5mcm9tKGZpbGVzTGlzdCkpO1xuICB9XG5cbiAgdXBsb2FkRmlsZShmaWxlczogRmlsZVtdKSB7XG4gICAgaWYgKGZpbGVzICYmICFmaWxlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzTG9hZGluZyA9dHJ1ZTtcbiAgICBjb25zdCBpbWdUb1VwbG9hZExpc3Q6IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBpZighdGhpcy5pc0ZpbGVJbWFnZShmaWxlLnR5cGUpKSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yTm90SW1nKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5pc1NpemVWYWxpZChmaWxlLnNpemUpKSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydChcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnSW1nTWFuYWdlci5JbWdVcGxvYWQuRXJyb3JJbWdTaXplJywge1xuICAgICAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIGZpbGVTaXplOiB0aGlzLmdldEltYWdlU2l6ZUluS28oZmlsZS5zaXplKSxcbiAgICAgICAgICAgIG1heEZpbGVTaXplOiB0aGlzLmdldEltYWdlU2l6ZUluS28odGhpcy5NQVhfSU1BR0VfU0laRSlcbiAgICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdpbWFnZScsIGZpbGUsIGZpbGUubmFtZSk7XG5cblxuICAgICAgaW1nVG9VcGxvYWRMaXN0LnB1c2godGhpcy5pbWdNYW5hZ2VyLnVwbG9hZEZpbGUoZm9ybURhdGEpKTtcbiAgICB9XG5cbiAgICBmb3JrSm9pbihpbWdUb1VwbG9hZExpc3QpLnN1YnNjcmliZShcbiAgICAgIChpbWc6IEltZ1BpY3R1cmVEVE9bXSkgPT4ge1xuICAgICAgICB0aGlzLm9uSW1nVXBsb2FkKGltZyksXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID1mYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIGlmIChlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgJiYgZXJyb3Iuc3RhdHVzVGV4dCAhPT0gJ0JhZCBSZXF1ZXN0Jykge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9ucyh0aGlzLmVycm9yVXBsb2FkaW5nSW1nLCBlcnJvci5lcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclVwbG9hZGluZ0ltZyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPWZhbHNlO1xuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIHRoZSBpbWcgdXBsb2FkZWQgdG8gdGhlIHRhYnMgY29tcG9uZW50cyxcbiAgICogVGhlbiB0aGUgdGFicyBjb21wb25lbnRzIGFkZCB0aGUgaW1nIHRvIHVwbG9hZCBsaXN0IGJ5IGNhbGxpbmcgdGhlIG1ldGhvZCBvbkltZ1VwbG9hZGVkIG9mIHRoZSB1cGxvYWQtbGlzdCBjb21wb25lbnRcbiAgICogQHBhcmFtIGltZ1xuICAgKi9cbiAgb25JbWdVcGxvYWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICB0aGlzLmltZ1VwbG9hZGVkLmVtaXQoaW1nKTtcbiAgfVxuXG4gIGlzRmlsZUltYWdlKGZpbGVUeXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmlsZVR5cGUuc3BsaXQoJy8nKVswXSA9PT0gJ2ltYWdlJztcbiAgfVxuXG4gIGlzU2l6ZVZhbGlkKGltYWdlQnl0ZXNTaXplOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaW1hZ2VCeXRlc1NpemUgPCB0aGlzLk1BWF9JTUFHRV9TSVpFO1xuICB9XG5cbiAgZ2V0SW1hZ2VTaXplSW5LbyhzaXplOiBudW1iZXIpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChzaXplIC8gMTAyNCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBzdHlsZSBvZiB0aGUgZHJhZyBhbmQgZHJvcCBib3hcbiAgICogQWZ0ZXIgYW4gaW1nIGlzIGRyb3BlZCwgdGhlIGJveCBpcyBzdGlsbCBncmV5XG4gICAqL1xuICByZW1vdmVEcmFnQW5kRHJvcFN0eWxlKCkge1xuICAgIHRoaXMuZHJhZ0FuZERyb3BCb3gubmF0aXZlRWxlbWVudC5zdHlsZSA9ICcnO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaW1nLXVwbG9hZCBoYXMtdGV4dC1jZW50ZXJlZFwiXG4gIFtuZ0NsYXNzXT1cInsnaW1nLXVwbG9hZC0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIlxuICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICBhcHBEcmFnRHJvcFxuICAob25GaWxlRHJvcHBlZCk9XCJmaWxlc0NoYW5nZUJ5RHJhZ0FuZERyb3AoJGFueSgkZXZlbnQpKVwiXG4gICNkcmFnQW5kRHJvcEJveFxuICBbQGVhc2VJbk91dF09XCInaW4nXCJcbj5cbiAgPGlucHV0IGhpZGRlbiB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgKGNoYW5nZSk9XCJmaWxlc0NoYW5nZUJ5Q2xpY2soJGV2ZW50KVwiIGFjY2VwdD1cImltYWdlLypcIiBtdWx0aXBsZSA+XG4gIDxkaXYgY2xhc3M9XCJpbWctdXBsb2FkX19jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J2ltZy11cGxvYWRfX2NvbnRhaW5lci0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbWctdXBsb2FkX19jb250YWluZXJfX3dyYXBwZXJcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cImltZy11cGxvYWRfX2NvbnRhaW5lcl9fbG9hZGVyXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgPHd6LWxvYWRlciBbc21hbGxdPVwidHJ1ZVwiIFtwb3NpdGlvbl09XCIncmVsYXRpdmUnXCI+PC93ei1sb2FkZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJsdWVDb2xvciBpbWctdXBsb2FkX19jb250YWluZXJfX2Ryb3BJbWdJY29uRGl2XCI+XG4gICAgICAgICAgPGltZyAqbmdJZj1cImFzc2V0c0ljb25cIiBbc3JjXT1cImFzc2V0c0ljb25cIiBhbHQ9XCJpY29uIHBpY3R1cmVcIiAvPlxuICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5kcm9wSW1nJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHAgY2xhc3M9XCJpbWctdXBsb2FkX19jb250YWluZXJfX29yXCI+e3sgJ0ltZ01hbmFnZXIuSW1nVXBsb2FkLm9yJyB8IHRyYW5zbGF0ZSB9fTwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXVwbG9hZF9fY29udGFpbmVyX190ZXh0XCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtZmlsZS11cGxvYWRcIj48L2k+e3sgJ0ltZ01hbmFnZXIuSW1nVXBsb2FkLnNlbGVjdEltZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLXVwbG9hZC9pbWctdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdXBsb2FkL2ltZy11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFTeEQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxZQUEwQixFQUMxQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsYUFBNEI7UUFINUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbEJ0QyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBWSxLQUFLLENBQUM7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QUMsQ0FBQzthQUM3RjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNyRDtZQUNELElBQUksQ0FBQyxTQUFTLEdBQUUsS0FBSyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsR0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsY0FBc0I7UUFDaEMsT0FBTyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzsrR0FqSFUsa0JBQWtCO21HQUFsQixrQkFBa0IsMlBDakIvQiw4eUNBa0NBLHNmRHJCYztRQUNWLFNBQVM7S0FDVjsyRkFFVSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsWUFBWSxjQUVWO3dCQUNWLFNBQVM7cUJBQ1Y7dUxBT1EsY0FBYztzQkFBdEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltZy11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBlYXNlSW5PdXRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWdVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZpbGVzOiBhbnkgPSBbXTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGFzc2V0c0ljb246IHN0cmluZztcbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBAT3V0cHV0KCkgaW1nVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJhZ0FuZERyb3BCb3gnKSBkcmFnQW5kRHJvcEJveDogRWxlbWVudFJlZjtcblxuICBsb2FkaW5nVGV4dCA9ICdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5sb2FkaW5nJztcbiAgZXJyb3JVcGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5JbWdVcGxvYWQuZXJyb3JVcGxvYWRpbmdJbWcnO1xuICBlcnJvck5vdEltZyA9ICdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5lcnJvck5vdEltZyc7XG5cbiAgTUFYX0lNQUdFX1NJWkUgPSAxMDAwMDAwMDsgLy8gSW4gYnl0ZXNcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlXG4gICAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXNzZXRzSWNvbiA9IHRoaXMuZ2V0QXNzZXRzKCk7XG4gIH1cblxuICBmaWxlc0NoYW5nZUJ5Q2xpY2soZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudXBsb2FkRmlsZShldmVudC50YXJnZXQuZmlsZXMpO1xuICB9XG5cbiAgZ2V0QXNzZXRzKCkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmFzc2V0c19yb3V0ZSArIFwiaW1nL2ljb25fcGljdHVyZS5zdmdcIjtcbiAgfVxuXG4gIGZpbGVzQ2hhbmdlQnlEcmFnQW5kRHJvcChmaWxlc0xpc3Q6IEZpbGVMaXN0KSB7XG4gICAgdGhpcy5yZW1vdmVEcmFnQW5kRHJvcFN0eWxlKCk7XG4gICAgdGhpcy51cGxvYWRGaWxlKEFycmF5LmZyb20oZmlsZXNMaXN0KSk7XG4gIH1cblxuICB1cGxvYWRGaWxlKGZpbGVzOiBGaWxlW10pIHtcbiAgICBpZiAoZmlsZXMgJiYgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNMb2FkaW5nID10cnVlO1xuICAgIGNvbnN0IGltZ1RvVXBsb2FkTGlzdDogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGlmKCF0aGlzLmlzRmlsZUltYWdlKGZpbGUudHlwZSkpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JOb3RJbWcpO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmlzU2l6ZVZhbGlkKGZpbGUuc2l6ZSkpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdJbWdNYW5hZ2VyLkltZ1VwbG9hZC5FcnJvckltZ1NpemUnLCB7XG4gICAgICAgICAgICBmaWxlTmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgZmlsZVNpemU6IHRoaXMuZ2V0SW1hZ2VTaXplSW5LbyhmaWxlLnNpemUpLFxuICAgICAgICAgICAgbWF4RmlsZVNpemU6IHRoaXMuZ2V0SW1hZ2VTaXplSW5Lbyh0aGlzLk1BWF9JTUFHRV9TSVpFKVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ltYWdlJywgZmlsZSwgZmlsZS5uYW1lKTtcbiAgICAgIGltZ1RvVXBsb2FkTGlzdC5wdXNoKHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlKGZvcm1EYXRhKSk7XG4gICAgfVxuXG4gICAgZm9ya0pvaW4oaW1nVG9VcGxvYWRMaXN0KS5zdWJzY3JpYmUoXG4gICAgICAoaW1nOiBJbWdQaWN0dXJlRFRPW10pID0+IHtcbiAgICAgICAgdGhpcy5vbkltZ1VwbG9hZChpbWcpLFxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9ZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICBpZiAoZXJyb3I/LmVycm9yPy5tZXNzYWdlICYmIGVycm9yLnN0YXR1c1RleHQgIT09ICdCYWQgUmVxdWVzdCcpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnNlKHRoaXMuZXJyb3JVcGxvYWRpbmdJbWcsIGVycm9yLmVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yVXBsb2FkaW5nSW1nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9ZmFsc2U7XG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgdGhlIGltZyB1cGxvYWRlZCB0byB0aGUgdGFicyBjb21wb25lbnRzLFxuICAgKiBUaGVuIHRoZSB0YWJzIGNvbXBvbmVudHMgYWRkIHRoZSBpbWcgdG8gdXBsb2FkIGxpc3QgYnkgY2FsbGluZyB0aGUgbWV0aG9kIG9uSW1nVXBsb2FkZWQgb2YgdGhlIHVwbG9hZC1saXN0IGNvbXBvbmVudFxuICAgKiBAcGFyYW0gaW1nXG4gICAqL1xuICBvbkltZ1VwbG9hZChpbWc6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgIHRoaXMuaW1nVXBsb2FkZWQuZW1pdChpbWcpO1xuICB9XG5cbiAgaXNGaWxlSW1hZ2UoZmlsZVR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiBmaWxlVHlwZS5zcGxpdCgnLycpWzBdID09PSAnaW1hZ2UnO1xuICB9XG5cbiAgaXNTaXplVmFsaWQoaW1hZ2VCeXRlc1NpemU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbWFnZUJ5dGVzU2l6ZSA8IHRoaXMuTUFYX0lNQUdFX1NJWkU7XG4gIH1cblxuICBnZXRJbWFnZVNpemVJbktvKHNpemU6IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHNpemUgLyAxMDI0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIHN0eWxlIG9mIHRoZSBkcmFnIGFuZCBkcm9wIGJveFxuICAgKiBBZnRlciBhbiBpbWcgaXMgZHJvcGVkLCB0aGUgYm94IGlzIHN0aWxsIGdyZXlcbiAgICovXG4gIHJlbW92ZURyYWdBbmREcm9wU3R5bGUoKSB7XG4gICAgdGhpcy5kcmFnQW5kRHJvcEJveC5uYXRpdmVFbGVtZW50LnN0eWxlID0gJyc7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJpbWctdXBsb2FkIGhhcy10ZXh0LWNlbnRlcmVkXCJcbiAgW25nQ2xhc3NdPVwieydpbWctdXBsb2FkLS1zbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiXG4gIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiXG4gIGFwcERyYWdEcm9wXG4gIChvbkZpbGVEcm9wcGVkKT1cImZpbGVzQ2hhbmdlQnlEcmFnQW5kRHJvcCgkYW55KCRldmVudCkpXCJcbiAgI2RyYWdBbmREcm9wQm94XG4gIFtAZWFzZUluT3V0XT1cIidpbidcIlxuPlxuICA8aW5wdXQgaGlkZGVuIHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCAoY2hhbmdlKT1cImZpbGVzQ2hhbmdlQnlDbGljaygkZXZlbnQpXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIG11bHRpcGxlID5cbiAgPGRpdiBjbGFzcz1cImltZy11cGxvYWRfX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnaW1nLXVwbG9hZF9fY29udGFpbmVyLS1zbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImltZy11cGxvYWRfX2NvbnRhaW5lcl9fd3JhcHBlclwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1nLXVwbG9hZF9fY29udGFpbmVyX19sb2FkZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICA8d3otbG9hZGVyIFtzbWFsbF09XCJ0cnVlXCIgW3Bvc2l0aW9uXT1cIidyZWxhdGl2ZSdcIj48L3d6LWxvYWRlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmx1ZUNvbG9yIGltZy11cGxvYWRfX2NvbnRhaW5lcl9fZHJvcEltZ0ljb25EaXZcIj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiYXNzZXRzSWNvblwiIFtzcmNdPVwiYXNzZXRzSWNvblwiIGFsdD1cImljb24gcGljdHVyZVwiIC8+XG4gICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuSW1nVXBsb2FkLmRyb3BJbWcnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8cCBjbGFzcz1cImltZy11cGxvYWRfX2NvbnRhaW5lcl9fb3JcIj57eyAnSW1nTWFuYWdlci5JbWdVcGxvYWQub3InIHwgdHJhbnNsYXRlIH19PC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWctdXBsb2FkX19jb250YWluZXJfX3RleHRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlLXVwbG9hZFwiPjwvaT57eyAnSW1nTWFuYWdlci5JbWdVcGxvYWQuc2VsZWN0SW1nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Component, ElementRef, ViewChild, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { PexelsService } from '../../services/pexels.service';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
-
import { ImgManagerService } from '../../services/img-manager.service';
|
|
5
4
|
import { TranslateService } from '@ngx-translate/core';
|
|
6
5
|
import { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';
|
|
7
6
|
import { listAnnimation } from '../../animations/listAnnimation/list.animation';
|
|
8
7
|
import { AlertService } from '../../services/alert.service';
|
|
8
|
+
import { UploadService } from '../../services/upload.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../../services/pexels.service";
|
|
11
|
-
import * as i2 from "../../services/
|
|
12
|
-
import * as i3 from "
|
|
13
|
-
import * as i4 from "
|
|
11
|
+
import * as i2 from "../../services/alert.service";
|
|
12
|
+
import * as i3 from "@ngx-translate/core";
|
|
13
|
+
import * as i4 from "../../services/upload.service";
|
|
14
14
|
import * as i5 from "@angular/common";
|
|
15
15
|
import * as i6 from "@angular/forms";
|
|
16
16
|
import * as i7 from "ngx-scrollbar";
|
|
@@ -20,11 +20,11 @@ import * as i10 from "../shared/input-search/input-search.component";
|
|
|
20
20
|
import * as i11 from "../shared/alert/alert.component";
|
|
21
21
|
import * as i12 from "../../directives/loading.directive";
|
|
22
22
|
export class PexelLibComponent {
|
|
23
|
-
constructor(wzImgLibService,
|
|
23
|
+
constructor(wzImgLibService, alertService, translateService, uploadService) {
|
|
24
24
|
this.wzImgLibService = wzImgLibService;
|
|
25
|
-
this.imgManager = imgManager;
|
|
26
25
|
this.alertService = alertService;
|
|
27
26
|
this.translateService = translateService;
|
|
27
|
+
this.uploadService = uploadService;
|
|
28
28
|
this.searchValue = '';
|
|
29
29
|
/** Pass to true to hide search input */
|
|
30
30
|
this.disableSearch = false;
|
|
@@ -154,14 +154,14 @@ export class PexelLibComponent {
|
|
|
154
154
|
}
|
|
155
155
|
uploadPhoto(photo, url) {
|
|
156
156
|
photo.uploading = true;
|
|
157
|
-
const uploadSub = this.
|
|
157
|
+
const uploadSub = this.uploadService.uploadFileByUrl(url, photo.alt).subscribe(img => {
|
|
158
158
|
photo.uploading = false;
|
|
159
159
|
photo.uploaded = true;
|
|
160
160
|
this.alertService.openAlert(this.successUploadPhoto);
|
|
161
161
|
}, error => {
|
|
162
162
|
photo.uploading = false;
|
|
163
163
|
if (error.error.code === 406 && error.error.message) {
|
|
164
|
-
this.alertService.
|
|
164
|
+
this.alertService.openAlertWithBackendResponse(this.errorUploadPhoto, error.error.message);
|
|
165
165
|
}
|
|
166
166
|
else {
|
|
167
167
|
this.alertService.openAlert(this.errorUploadPhoto);
|
|
@@ -175,8 +175,8 @@ export class PexelLibComponent {
|
|
|
175
175
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
PexelLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelLibComponent, deps: [{ token: i1.PexelsService }, { token: i2.
|
|
179
|
-
PexelLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PexelLibComponent, selector: "pexels-lib", inputs: { stateDisplayed: "stateDisplayed", searchValue: "searchValue", disableSearch: "disableSearch" }, outputs: { showImgUploaded: "showImgUploaded" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["outerElement"], descendants: true }], ngImport: i0, template: "<div class=\"pexels-lib\" #outerElement [@easeInOut]=\"'in'\">\n <ng-scrollbar\n [reachedOffset]=\"300\"\n class=\"pexels-lib__scroll\"\n [ngClass]=\"{'pexels-lib__scroll--smallDisplay': stateDisplayed === 'small'}\"\n (reachedBottom)=\"onBottomReached()\"\n >\n <div\n *ngIf=\"!disableSearch\"\n class=\"pexels-lib__search\"\n [ngClass]=\"{'pexels-lib__search--smallDisplay': stateDisplayed === 'small'}\"\n >\n <wz-input-search\n [(ngModel)]=\"searchValue\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n (changeDebounced)=\"onSearchNameChanged()\"\n [smallPadding]=\"stateDisplayed === 'small'\">\n </wz-input-search>\n </div>\n\n <div *ngIf=\"!initComponent\" class=\"pexels-lib__wrapper\">\n <p *ngIf=\"nbResult\" class=\"pexels-lib__wrapper__result-nb\">{{ 'ImgManager.PexelLib.nbImgFound' | translate }} : {{ nbResult }}</p>\n\n <div class=\"pexels-lib__wrapper__result\">\n\n <div *ngFor=\"let photosColumn of photosColumns; let indexCol = index;\" class=\"pexels-lib__wrapper__result__column\" [@listAnimation]=\"photosColumn.photos.length\">\n <div *ngFor=\"let photo of photosColumn.photos; let indexPhoto = index;\" class=\"pexels-lib__wrapper__result__column__element\">\n\n <img [alt]=\"photo.src.medium\" [src]=\"photo.src.medium\"\n class=\"pexels-lib__wrapper__result__column__element__img\"/>\n\n <div class=\"pexels-lib__wrapper__result__column__element__wrapper\">\n <span class=\"pexels-lib__wrapper__result__column__element__wrapper__infos\">\n {{ photo.width }} x {{ photo.height}}\n </span>\n\n <div class=\"dropdown is-up\" [ngClass]=\"{'is-hoverable': !photo.uploading}\">\n <div class=\"dropdown-trigger\">\n <button\n type=\"button\"\n class=\"button pexels-lib__wrapper__result__column__element__wrapper__button\"\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\">\n\n <div *ngIf=\"!photo.uploading\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <span>{{ 'ImgManager.PexelLib.import' | translate }}</span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-up\" aria-hidden=\"true\"></i>\n </span>\n <ng-container *ngIf=\"photo.uploaded\">\n <i class=\"fal fa-check\"></i>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"photo.uploading\">\n {{ 'ImgManager.PexelLib.importation' | translate }}\n <span btnLoadingAnim class=\"btnLoadingAnnimation\"></span>\n </ng-container>\n\n </button>\n </div>\n <div class=\"dropdown-menu pexels-lib__wrapper__result__column__element__wrapper__dropdown\" id=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-content__wrapper\">\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.portrait)\">\n <p>{{ 'ImgManager.PexelLib.portrait' | translate }}</p>\n <i class=\"fal fa-check iPortrait\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.landscape)\">\n <p>{{ 'ImgManager.PexelLib.landscape' | translate }}</p>\n <i class=\"fal fa-check iLandscape\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <p>{{ 'ImgManager.PexelLib.original' | translate }}</p>\n <i class=\"fal fa-check iOriginal\"></i>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"isLoading\">\n <wz-loader></wz-loader>\n </ng-container>\n <div\n *ngIf=\"!isLoading && !nbResult\"\n class=\"pexels-lib__alert\"\n [@easeInOut]=\"'in'\">\n <wz-alert [warning]=\"true\">\n {{ 'ImgManager.PexelLib.noResult' | translate }}\n </wz-alert>\n </div>\n\n </ng-scrollbar>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i8.NgScrollbarReachedBottom, selector: "[reachedBottom], [reached-bottom]", outputs: ["reachedBottom"] }, { kind: "component", type: i9.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i10.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i11.AlertComponent, selector: "wz-alert", inputs: ["icon", "warning", "success", "iconClass"] }, { kind: "directive", type: i12.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type:
|
|
178
|
+
PexelLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelLibComponent, deps: [{ token: i1.PexelsService }, { token: i2.AlertService }, { token: i3.TranslateService }, { token: i4.UploadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
179
|
+
PexelLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PexelLibComponent, selector: "pexels-lib", inputs: { stateDisplayed: "stateDisplayed", searchValue: "searchValue", disableSearch: "disableSearch" }, outputs: { showImgUploaded: "showImgUploaded" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["outerElement"], descendants: true }], ngImport: i0, template: "<div class=\"pexels-lib\" #outerElement [@easeInOut]=\"'in'\">\n <ng-scrollbar\n [reachedOffset]=\"300\"\n class=\"pexels-lib__scroll\"\n [ngClass]=\"{'pexels-lib__scroll--smallDisplay': stateDisplayed === 'small'}\"\n (reachedBottom)=\"onBottomReached()\"\n >\n <div\n *ngIf=\"!disableSearch\"\n class=\"pexels-lib__search\"\n [ngClass]=\"{'pexels-lib__search--smallDisplay': stateDisplayed === 'small'}\"\n >\n <wz-input-search\n [(ngModel)]=\"searchValue\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n (changeDebounced)=\"onSearchNameChanged()\"\n [smallPadding]=\"stateDisplayed === 'small'\">\n </wz-input-search>\n </div>\n\n <div *ngIf=\"!initComponent\" class=\"pexels-lib__wrapper\">\n <p *ngIf=\"nbResult\" class=\"pexels-lib__wrapper__result-nb\">{{ 'ImgManager.PexelLib.nbImgFound' | translate }} : {{ nbResult }}</p>\n\n <div class=\"pexels-lib__wrapper__result\">\n\n <div *ngFor=\"let photosColumn of photosColumns; let indexCol = index;\" class=\"pexels-lib__wrapper__result__column\" [@listAnimation]=\"photosColumn.photos.length\">\n <div *ngFor=\"let photo of photosColumn.photos; let indexPhoto = index;\" class=\"pexels-lib__wrapper__result__column__element\">\n\n <img [alt]=\"photo.src.medium\" [src]=\"photo.src.medium\"\n class=\"pexels-lib__wrapper__result__column__element__img\"/>\n\n <div class=\"pexels-lib__wrapper__result__column__element__wrapper\">\n <span class=\"pexels-lib__wrapper__result__column__element__wrapper__infos\">\n {{ photo.width }} x {{ photo.height}}\n </span>\n\n <div class=\"dropdown is-up\" [ngClass]=\"{'is-hoverable': !photo.uploading}\">\n <div class=\"dropdown-trigger\">\n <button\n type=\"button\"\n class=\"button pexels-lib__wrapper__result__column__element__wrapper__button\"\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\">\n\n <div *ngIf=\"!photo.uploading\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <span>{{ 'ImgManager.PexelLib.import' | translate }}</span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-up\" aria-hidden=\"true\"></i>\n </span>\n <ng-container *ngIf=\"photo.uploaded\">\n <i class=\"fal fa-check\"></i>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"photo.uploading\">\n {{ 'ImgManager.PexelLib.importation' | translate }}\n <span btnLoadingAnim class=\"btnLoadingAnnimation\"></span>\n </ng-container>\n\n </button>\n </div>\n <div class=\"dropdown-menu pexels-lib__wrapper__result__column__element__wrapper__dropdown\" id=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-content__wrapper\">\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.portrait)\">\n <p>{{ 'ImgManager.PexelLib.portrait' | translate }}</p>\n <i class=\"fal fa-check iPortrait\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.landscape)\">\n <p>{{ 'ImgManager.PexelLib.landscape' | translate }}</p>\n <i class=\"fal fa-check iLandscape\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <p>{{ 'ImgManager.PexelLib.original' | translate }}</p>\n <i class=\"fal fa-check iOriginal\"></i>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"isLoading\">\n <wz-loader></wz-loader>\n </ng-container>\n <div\n *ngIf=\"!isLoading && !nbResult\"\n class=\"pexels-lib__alert\"\n [@easeInOut]=\"'in'\">\n <wz-alert [warning]=\"true\">\n {{ 'ImgManager.PexelLib.noResult' | translate }}\n </wz-alert>\n </div>\n\n </ng-scrollbar>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i8.NgScrollbarReachedBottom, selector: "[reachedBottom], [reached-bottom]", outputs: ["reachedBottom"] }, { kind: "component", type: i9.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i10.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i11.AlertComponent, selector: "wz-alert", inputs: ["icon", "warning", "success", "iconClass"] }, { kind: "directive", type: i12.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [
|
|
180
180
|
easeInOut,
|
|
181
181
|
listAnnimation
|
|
182
182
|
] });
|
|
@@ -186,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
186
186
|
easeInOut,
|
|
187
187
|
listAnnimation
|
|
188
188
|
], template: "<div class=\"pexels-lib\" #outerElement [@easeInOut]=\"'in'\">\n <ng-scrollbar\n [reachedOffset]=\"300\"\n class=\"pexels-lib__scroll\"\n [ngClass]=\"{'pexels-lib__scroll--smallDisplay': stateDisplayed === 'small'}\"\n (reachedBottom)=\"onBottomReached()\"\n >\n <div\n *ngIf=\"!disableSearch\"\n class=\"pexels-lib__search\"\n [ngClass]=\"{'pexels-lib__search--smallDisplay': stateDisplayed === 'small'}\"\n >\n <wz-input-search\n [(ngModel)]=\"searchValue\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n (changeDebounced)=\"onSearchNameChanged()\"\n [smallPadding]=\"stateDisplayed === 'small'\">\n </wz-input-search>\n </div>\n\n <div *ngIf=\"!initComponent\" class=\"pexels-lib__wrapper\">\n <p *ngIf=\"nbResult\" class=\"pexels-lib__wrapper__result-nb\">{{ 'ImgManager.PexelLib.nbImgFound' | translate }} : {{ nbResult }}</p>\n\n <div class=\"pexels-lib__wrapper__result\">\n\n <div *ngFor=\"let photosColumn of photosColumns; let indexCol = index;\" class=\"pexels-lib__wrapper__result__column\" [@listAnimation]=\"photosColumn.photos.length\">\n <div *ngFor=\"let photo of photosColumn.photos; let indexPhoto = index;\" class=\"pexels-lib__wrapper__result__column__element\">\n\n <img [alt]=\"photo.src.medium\" [src]=\"photo.src.medium\"\n class=\"pexels-lib__wrapper__result__column__element__img\"/>\n\n <div class=\"pexels-lib__wrapper__result__column__element__wrapper\">\n <span class=\"pexels-lib__wrapper__result__column__element__wrapper__infos\">\n {{ photo.width }} x {{ photo.height}}\n </span>\n\n <div class=\"dropdown is-up\" [ngClass]=\"{'is-hoverable': !photo.uploading}\">\n <div class=\"dropdown-trigger\">\n <button\n type=\"button\"\n class=\"button pexels-lib__wrapper__result__column__element__wrapper__button\"\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\">\n\n <div *ngIf=\"!photo.uploading\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <span>{{ 'ImgManager.PexelLib.import' | translate }}</span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-up\" aria-hidden=\"true\"></i>\n </span>\n <ng-container *ngIf=\"photo.uploaded\">\n <i class=\"fal fa-check\"></i>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"photo.uploading\">\n {{ 'ImgManager.PexelLib.importation' | translate }}\n <span btnLoadingAnim class=\"btnLoadingAnnimation\"></span>\n </ng-container>\n\n </button>\n </div>\n <div class=\"dropdown-menu pexels-lib__wrapper__result__column__element__wrapper__dropdown\" id=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-content__wrapper\">\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.portrait)\">\n <p>{{ 'ImgManager.PexelLib.portrait' | translate }}</p>\n <i class=\"fal fa-check iPortrait\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.landscape)\">\n <p>{{ 'ImgManager.PexelLib.landscape' | translate }}</p>\n <i class=\"fal fa-check iLandscape\"></i>\n </div>\n <div class=\"dropdown-item\" (click)=\"uploadPhoto(photo, photo.src.large2x)\">\n <p>{{ 'ImgManager.PexelLib.original' | translate }}</p>\n <i class=\"fal fa-check iOriginal\"></i>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"isLoading\">\n <wz-loader></wz-loader>\n </ng-container>\n <div\n *ngIf=\"!isLoading && !nbResult\"\n class=\"pexels-lib__alert\"\n [@easeInOut]=\"'in'\">\n <wz-alert [warning]=\"true\">\n {{ 'ImgManager.PexelLib.noResult' | translate }}\n </wz-alert>\n </div>\n\n </ng-scrollbar>\n</div>\n" }]
|
|
189
|
-
}], ctorParameters: function () { return [{ type: i1.PexelsService }, { type: i2.
|
|
189
|
+
}], ctorParameters: function () { return [{ type: i1.PexelsService }, { type: i2.AlertService }, { type: i3.TranslateService }, { type: i4.UploadService }]; }, propDecorators: { stateDisplayed: [{
|
|
190
190
|
type: Input
|
|
191
191
|
}], searchValue: [{
|
|
192
192
|
type: Input
|
|
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
198
198
|
type: ViewChild,
|
|
199
199
|
args: ['outerElement']
|
|
200
200
|
}] } });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvcGV4ZWxzLWxpYi9wZXhlbHMtbGliLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9wZXhlbHMtbGliL3BleGVscy1saWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRWhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVNUQsTUFBTSxPQUFPLGlCQUFpQjtJQXNDNUIsWUFDVSxlQUE4QixFQUM5QixVQUE2QixFQUM3QixZQUEwQixFQUMxQixnQkFBa0M7UUFIbEMsb0JBQWUsR0FBZixlQUFlLENBQWU7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtR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QUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OzhHQXJNVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzVENwQjlCLDRzSkFvR0EsZ3dERHJGYztRQUNWLFNBQVM7UUFDVCxjQUFjO0tBQ2Y7MkZBRVUsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLFlBQVksY0FFVjt3QkFDVixTQUFTO3dCQUNULGNBQWM7cUJBQ2Y7OExBS0QsY0FBYztzQkFEYixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxNQUFNO2dCQXdCd0IsT0FBTztzQkFBckMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQZXhlbHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXhlbHMuc2VydmljZSc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1d6SW1nTGliRHRvLCBQaG90b3NDb2x1bW5zLCBXekltZ0xpYlBob3RvRHRvfSBmcm9tICcuLi8uLi9kdG8vcGV4ZWxzLWltZy5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBsaXN0QW5uaW1hdGlvbiB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZXhlbHMtbGliJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BleGVscy1saWIuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0LFxuICAgIGxpc3RBbm5pbWF0aW9uXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGV4ZWxMaWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KClcbiAgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIC8qKiBQYXNzIHRvIHRydWUgdG8gaGlkZSBzZWFyY2ggaW5wdXQgKi9cbiAgQElucHV0KClcbiAgZGlzYWJsZVNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93SW1nVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcGVyUGFnZSA9IDMwO1xuICBzZWFyY2hVcGRhdGVkID0gbmV3IFN1YmplY3QoKTtcbiAgb2xkU2VhcmNoVmFsdWU6IHN0cmluZztcbiAgbmJSZXN1bHQgPSAwO1xuICB3ekltZ0xpYkR0bzogV3pJbWdMaWJEdG87XG4gIGN1cnJlbnRQYWdlID0gMTtcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgaW5pdENvbXBvbmVudCA9IHRydWU7XG4gIHBob3Rvc0NvbHVtbnM6IFBob3Rvc0NvbHVtbnNbXSA9IFtdO1xuICBuYkNvbHVtdW5zID0gNjtcbiAgcmVzcG9uc2l2ZUNvbHVtbnMgPSBbMTI1MCwgMTA1MCwgNzUwLCA1MDBdO1xuICBvdXRlckVsZW1lbnQgPSBudWxsO1xuXG4gIHVwbG9hZGluZ0ltZyA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLnVwbG9hZGluZ0ltZyc7XG4gIHVudGl0bGVkID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIudW50aXRsZWQnO1xuICBzdWNjZXNzVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5QZXhlbExpYi5zdWNjZXNzSW1wb3J0JztcbiAgZXJyb3JVcGxvYWRQaG90byA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLmVycm9yVXBsb2FkUGhvdG8nO1xuICBlcnJvclJldHJpZXZlUGhvdG9zID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuZXJyb3JSZXRyaWV2ZVBob3Rvcyc7XG5cbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ291dGVyRWxlbWVudCcpIHNldCBjb250ZW50KGNvbnRyb2w6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLm91dGVyRWxlbWVudCA9IGNvbnRyb2w7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHd6SW1nTGliU2VydmljZTogUGV4ZWxzU2VydmljZSxcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9sZFNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5zZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBzZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpOiB2b2lkIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMub3V0ZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycpIHtcbiAgICAgIHRoaXMubmJDb2x1bXVucyA9IDg7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNwb25zaXZlQ29sdW1ucy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIGlmICh3aWR0aCA8IHZhbHVlKSB7XG4gICAgICAgIHRoaXMubmJDb2x1bXVucy0tO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25TZWFyY2hOYW1lQ2hhbmdlZCgpIHtcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlKCk7XG4gIH1cblxuICBvbkJvdHRvbVJlYWNoZWQoKSB7XG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyKCk7XG4gIH1cblxuICBvblNlYXJjaENoYW5nZSgpIHtcbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgc2VhcmNoKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWFyY2hWYWx1ZSAhPT0gdGhpcy5vbGRTZWFyY2hWYWx1ZSkge1xuICAgICAgdGhpcy5yZXNldFNlYXJjaCgpO1xuICAgIH1cblxuICAgIC8vIEFsbCB0aGUgcGljdHVyZSBhcmUgZGlzcGxheWVkXG4gICAgaWYgKHRoaXMubmJSZXN1bHQgJiYgdGhpcy5uYlJlc3VsdCA8PSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wZXJQYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHNlYXJjaFN1YiA9IHRoaXMud3pJbWdMaWJTZXJ2aWNlLnNlYXJjaE9uUGV4ZWxzKHRoaXMuc2VhcmNoVmFsdWUsIHRoaXMucGVyUGFnZSwgdGhpcy5jdXJyZW50UGFnZSkuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IFd6SW1nTGliRHRvKSA9PiB7XG4gICAgICAgIHRoaXMud3pJbWdMaWJEdG8gPSBkYXRhO1xuICAgICAgICB0aGlzLm5iUmVzdWx0ID0gdGhpcy53ekltZ0xpYkR0by50b3RhbF9yZXN1bHRzO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUmVzdWx0KSB7XG4gICAgICAgICAgZGF0YS5waG90b3MuZm9yRWFjaChwaG90byA9PiB7XG4gICAgICAgICAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IChwaG90by5oZWlnaHQgLyBwaG90by53aWR0aCkgKiAxMDAwO1xuXG4gICAgICAgICAgICB0aGlzLnBob3Rvc0NvbHVtbnNbYmVzdENvbHVtbkluZGV4XS5oZWlnaHQgKz0gaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zLnB1c2gocGhvdG8pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmluaXRDb21wb25lbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZXRyaWV2ZVBob3Rvcyk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3Vicy5wdXNoKHNlYXJjaFN1Yik7XG4gIH1cblxuICBzY3JvbGxIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICBjb25zdCBsYXN0UGljID0gdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zW3RoaXMucGhvdG9zQ29sdW1uc1tiZXN0Q29sdW1uSW5kZXhdLnBob3Rvcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBsYXN0UGhvdG8gPSBsYXN0UGljID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MSW1hZ2VFbGVtZW50PignaW1nW3NyYz1cIicgKyBsYXN0UGljLnNyYy5tZWRpdW0gKyAnXCJdJykgOiBudWxsO1xuXG4gICAgaWYgKGxhc3RQaG90bykge1xuICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UGhvdG9zQ29sdW1ucygpIHtcbiAgICBmb3IgKGxldCBpbmRleENvbHVtbj0wOyBpbmRleENvbHVtbiA8IHRoaXMubmJDb2x1bXVucyA7IGluZGV4Q29sdW1uKyspIHtcbiAgICAgIGNvbnN0IHBob3Rvc0NvbHVtbjogUGhvdG9zQ29sdW1ucyA9IHtcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICBwaG90b3M6IFtdXG4gICAgICB9O1xuICAgICAgdGhpcy5waG90b3NDb2x1bW5zLnB1c2gocGhvdG9zQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBnZXRCZXN0Q29sdW1uKCk6IG51bWJlciB7XG4gICAgY29uc3QgYmVzdENvbHVtbiA9IHtcbiAgICAgIGluZGV4OiAwLFxuICAgICAgaGVpZ2h0OiB0aGlzLnBob3Rvc0NvbHVtbnNbMF0uaGVpZ2h0XG4gICAgfTtcbiAgICB0aGlzLnBob3Rvc0NvbHVtbnMuZm9yRWFjaCgocGhvdG9zQ29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGJlc3RDb2x1bW4uaGVpZ2h0ID4gcGhvdG9zQ29sdW1uLmhlaWdodCkge1xuICAgICAgICBiZXN0Q29sdW1uLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIGJlc3RDb2x1bW4uaGVpZ2h0ID0gcGhvdG9zQ29sdW1uLmhlaWdodDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYmVzdENvbHVtbi5pbmRleDtcbiAgfVxuXG4gIHJlc2V0U2VhcmNoKCkge1xuICAgIHRoaXMub2xkU2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xuICAgIHRoaXMucGhvdG9zQ29sdW1ucyA9IFtdO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICB9XG5cbiAgdXBsb2FkUGhvdG8ocGhvdG86IFd6SW1nTGliUGhvdG9EdG8sIHVybDogc3RyaW5nKSB7XG4gICAgcGhvdG8udXBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IHVwbG9hZFN1YiA9IHRoaXMuaW1nTWFuYWdlci51cGxvYWRGaWxlQnlVcmwodXJsLCBwaG90by5hbHQpLnN1YnNjcmliZShcbiAgICAgIGltZyA9PiB7XG4gICAgICAgIHBob3RvLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBwaG90by51cGxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICBwaG90by51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnModGhpcy5lcnJvclVwbG9hZFBob3RvLCBlcnJvci5lcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclVwbG9hZFBob3RvKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIERpc3BsYXkgaW1nIHVwbG9hZGluZyBtc2dcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnVwbG9hZGluZ0ltZyk7XG4gICAgICB0aGlzLnN1YnMucHVzaCh1cGxvYWRTdWIpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBleGVscy1saWJcIiAjb3V0ZXJFbGVtZW50IFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgPG5nLXNjcm9sbGJhclxuICAgIFtyZWFjaGVkT2Zmc2V0XT1cIjMwMFwiXG4gICAgY2xhc3M9XCJwZXhlbHMtbGliX19zY3JvbGxcIlxuICAgIFtuZ0NsYXNzXT1cInsncGV4ZWxzLWxpYl9fc2Nyb2xsLS1zbWFsbERpc3BsYXknOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIlxuICAgIChyZWFjaGVkQm90dG9tKT1cIm9uQm90dG9tUmVhY2hlZCgpXCJcbiAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIiFkaXNhYmxlU2VhcmNoXCJcbiAgICAgICAgY2xhc3M9XCJwZXhlbHMtbGliX19zZWFyY2hcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J3BleGVscy1saWJfX3NlYXJjaC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCd9XCJcbiAgICAgICAgPlxuICAgICAgICA8d3otaW5wdXQtc2VhcmNoXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJbWdNYW5hZ2VyLlNlYXJjaEJhci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIChjaGFuZ2VEZWJvdW5jZWQpPVwib25TZWFyY2hOYW1lQ2hhbmdlZCgpXCJcbiAgICAgICAgICBbc21hbGxQYWRkaW5nXT1cInN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnXCI+XG4gICAgICAgIDwvd3otaW5wdXQtc2VhcmNoPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaW5pdENvbXBvbmVudFwiIGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlclwiPlxuICAgICAgICA8cCAqbmdJZj1cIm5iUmVzdWx0XCIgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHQtbmJcIj57eyAnSW1nTWFuYWdlci5QZXhlbExpYi5uYkltZ0ZvdW5kJyB8IHRyYW5zbGF0ZSB9fSA6IHt7IG5iUmVzdWx0IH19PC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRcIj5cblxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBob3Rvc0NvbHVtbiBvZiBwaG90b3NDb2x1bW5zOyBsZXQgaW5kZXhDb2wgPSBpbmRleDtcIiBjbGFzcz1cInBleGVscy1saWJfX3dyYXBwZXJfX3Jlc3VsdF9fY29sdW1uXCIgIFtAbGlzdEFuaW1hdGlvbl09XCJwaG90b3NDb2x1bW4ucGhvdG9zLmxlbmd0aFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcGhvdG8gb2YgcGhvdG9zQ29sdW1uLnBob3RvczsgbGV0IGluZGV4UGhvdG8gPSBpbmRleDtcIiBjbGFzcz1cInBleGVscy1saWJfX3dyYXBwZXJfX3Jlc3VsdF9fY29sdW1uX19lbGVtZW50XCI+XG5cbiAgICAgICAgICAgICAgPGltZyBbYWx0XT1cInBob3RvLnNyYy5tZWRpdW1cIiBbc3JjXT1cInBob3RvLnNyYy5tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtbl9fZWxlbWVudF9faW1nXCIvPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtbl9fZWxlbWVudF9fd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0X19jb2x1bW5fX2VsZW1lbnRfX3dyYXBwZXJfX2luZm9zXCI+XG4gICAgICAgICAgICAgICAgICB7eyBwaG90by53aWR0aCB9fSB4IHt7IHBob3RvLmhlaWdodH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duIGlzLXVwXCIgW25nQ2xhc3NdPVwieydpcy1ob3ZlcmFibGUnOiAhcGhvdG8udXBsb2FkaW5nfVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIHBleGVscy1saWJfX3dyYXBwZXJfX3Jlc3VsdF9fY29sdW1uX19lbGVtZW50X193cmFwcGVyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tbWVudVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFwaG90by51cGxvYWRpbmdcIiAoY2xpY2spPVwidXBsb2FkUGhvdG8ocGhvdG8sIHBob3RvLnNyYy5sYXJnZTJ4KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuaW1wb3J0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpcy1zbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1hbmdsZS11cFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwaG90by51cGxvYWRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDs8aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBob3RvLnVwbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuaW1wb3J0YXRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBidG5Mb2FkaW5nQW5pbSBjbGFzcz1cImJ0bkxvYWRpbmdBbm5pbWF0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudSBwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtbl9fZWxlbWVudF9fd3JhcHBlcl9fZHJvcGRvd25cIiBpZD1cImRyb3Bkb3duLW1lbnVcIiByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50X193cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJ1cGxvYWRQaG90byhwaG90bywgcGhvdG8uc3JjLnBvcnRyYWl0KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5QZXhlbExpYi5wb3J0cmFpdCcgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrIGlQb3J0cmFpdFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidXBsb2FkUGhvdG8ocGhvdG8sIHBob3RvLnNyYy5sYW5kc2NhcGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlBleGVsTGliLmxhbmRzY2FwZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrIGlMYW5kc2NhcGVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cInVwbG9hZFBob3RvKHBob3RvLCBwaG90by5zcmMubGFyZ2UyeClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIub3JpZ2luYWwnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1jaGVjayBpT3JpZ2luYWxcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICA8d3otbG9hZGVyPjwvd3otbG9hZGVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZyAmJiAhbmJSZXN1bHRcIlxuICAgICAgICBjbGFzcz1cInBleGVscy1saWJfX2FsZXJ0XCJcbiAgICAgICAgW0BlYXNlSW5PdXRdPVwiJ2luJ1wiPlxuICAgICAgICAgIDx3ei1hbGVydCBbd2FybmluZ109XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyAnSW1nTWFuYWdlci5QZXhlbExpYi5ub1Jlc3VsdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3d6LWFsZXJ0PlxuICAgICAgPC9kaXY+XG5cbiAgPC9uZy1zY3JvbGxiYXI+XG48L2Rpdj5cbiJdfQ==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvcGV4ZWxzLWxpYi9wZXhlbHMtbGliLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9wZXhlbHMtbGliL3BleGVscy1saWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRWhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBVTlELE1BQU0sT0FBTyxpQkFBaUI7SUFzQzVCLFlBQ1UsZUFBOEIsRUFDOUIsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBSDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFlO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFy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QyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs4R0FyTVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsc1RDbkI5Qiw0c0pBb0dBLGd3RER0RmM7UUFDVixTQUFTO1FBQ1QsY0FBYztLQUNmOzJGQUVVLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxZQUFZLGNBRVY7d0JBQ1YsU0FBUzt3QkFDVCxjQUFjO3FCQUNmOzBMQUtELGNBQWM7c0JBRGIsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsTUFBTTtnQkF3QndCLE9BQU87c0JBQXJDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGV4ZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGV4ZWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXekltZ0xpYkR0bywgUGhvdG9zQ29sdW1ucywgV3pJbWdMaWJQaG90b0R0b30gZnJvbSAnLi4vLi4vZHRvL3BleGVscy1pbWcuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBsaXN0QW5uaW1hdGlvbiB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGV4ZWxzLWxpYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXhlbHMtbGliLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dCxcbiAgICBsaXN0QW5uaW1hdGlvblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBleGVsTGliQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKVxuICBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgICAvKiogUGFzcyB0byB0cnVlIHRvIGhpZGUgc2VhcmNoIGlucHV0ICovXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgc2hvd0ltZ1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHBlclBhZ2UgPSAzMDtcbiAgc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0KCk7XG4gIG9sZFNlYXJjaFZhbHVlOiBzdHJpbmc7XG4gIG5iUmVzdWx0ID0gMDtcbiAgd3pJbWdMaWJEdG86IFd6SW1nTGliRHRvO1xuICBjdXJyZW50UGFnZSA9IDE7XG4gIGlzTG9hZGluZyA9IHRydWU7XG4gIGluaXRDb21wb25lbnQgPSB0cnVlO1xuICBwaG90b3NDb2x1bW5zOiBQaG90b3NDb2x1bW5zW10gPSBbXTtcbiAgbmJDb2x1bXVucyA9IDY7XG4gIHJlc3BvbnNpdmVDb2x1bW5zID0gWzEyNTAsIDEwNTAsIDc1MCwgNTAwXTtcbiAgb3V0ZXJFbGVtZW50ID0gbnVsbDtcblxuICB1cGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5QZXhlbExpYi51cGxvYWRpbmdJbWcnO1xuICB1bnRpdGxlZCA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLnVudGl0bGVkJztcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuc3VjY2Vzc0ltcG9ydCc7XG4gIGVycm9yVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5QZXhlbExpYi5lcnJvclVwbG9hZFBob3RvJztcbiAgZXJyb3JSZXRyaWV2ZVBob3RvcyA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLmVycm9yUmV0cmlldmVQaG90b3MnO1xuXG4gIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdvdXRlckVsZW1lbnQnKSBzZXQgY29udGVudChjb250cm9sOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5vdXRlckVsZW1lbnQgPSBjb250cm9sO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3ekltZ0xpYlNlcnZpY2U6IFBleGVsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9sZFNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5zZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBzZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpOiB2b2lkIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMub3V0ZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycpIHtcbiAgICAgIHRoaXMubmJDb2x1bXVucyA9IDg7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNwb25zaXZlQ29sdW1ucy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIGlmICh3aWR0aCA8IHZhbHVlKSB7XG4gICAgICAgIHRoaXMubmJDb2x1bXVucy0tO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25TZWFyY2hOYW1lQ2hhbmdlZCgpIHtcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlKCk7XG4gIH1cblxuICBvbkJvdHRvbVJlYWNoZWQoKSB7XG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyKCk7XG4gIH1cblxuICBvblNlYXJjaENoYW5nZSgpIHtcbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgc2VhcmNoKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWFyY2hWYWx1ZSAhPT0gdGhpcy5vbGRTZWFyY2hWYWx1ZSkge1xuICAgICAgdGhpcy5yZXNldFNlYXJjaCgpO1xuICAgIH1cblxuICAgIC8vIEFsbCB0aGUgcGljdHVyZSBhcmUgZGlzcGxheWVkXG4gICAgaWYgKHRoaXMubmJSZXN1bHQgJiYgdGhpcy5uYlJlc3VsdCA8PSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wZXJQYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHNlYXJjaFN1YiA9IHRoaXMud3pJbWdMaWJTZXJ2aWNlLnNlYXJjaE9uUGV4ZWxzKHRoaXMuc2VhcmNoVmFsdWUsIHRoaXMucGVyUGFnZSwgdGhpcy5jdXJyZW50UGFnZSkuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IFd6SW1nTGliRHRvKSA9PiB7XG4gICAgICAgIHRoaXMud3pJbWdMaWJEdG8gPSBkYXRhO1xuICAgICAgICB0aGlzLm5iUmVzdWx0ID0gdGhpcy53ekltZ0xpYkR0by50b3RhbF9yZXN1bHRzO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUmVzdWx0KSB7XG4gICAgICAgICAgZGF0YS5waG90b3MuZm9yRWFjaChwaG90byA9PiB7XG4gICAgICAgICAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IChwaG90by5oZWlnaHQgLyBwaG90by53aWR0aCkgKiAxMDAwO1xuXG4gICAgICAgICAgICB0aGlzLnBob3Rvc0NvbHVtbnNbYmVzdENvbHVtbkluZGV4XS5oZWlnaHQgKz0gaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zLnB1c2gocGhvdG8pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmluaXRDb21wb25lbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZXRyaWV2ZVBob3Rvcyk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3Vicy5wdXNoKHNlYXJjaFN1Yik7XG4gIH1cblxuICBzY3JvbGxIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICBjb25zdCBsYXN0UGljID0gdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zW3RoaXMucGhvdG9zQ29sdW1uc1tiZXN0Q29sdW1uSW5kZXhdLnBob3Rvcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBsYXN0UGhvdG8gPSBsYXN0UGljID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MSW1hZ2VFbGVtZW50PignaW1nW3NyYz1cIicgKyBsYXN0UGljLnNyYy5tZWRpdW0gKyAnXCJdJykgOiBudWxsO1xuXG4gICAgaWYgKGxhc3RQaG90bykge1xuICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UGhvdG9zQ29sdW1ucygpIHtcbiAgICBmb3IgKGxldCBpbmRleENvbHVtbj0wOyBpbmRleENvbHVtbiA8IHRoaXMubmJDb2x1bXVucyA7IGluZGV4Q29sdW1uKyspIHtcbiAgICAgIGNvbnN0IHBob3Rvc0NvbHVtbjogUGhvdG9zQ29sdW1ucyA9IHtcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICBwaG90b3M6IFtdXG4gICAgICB9O1xuICAgICAgdGhpcy5waG90b3NDb2x1bW5zLnB1c2gocGhvdG9zQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBnZXRCZXN0Q29sdW1uKCk6IG51bWJlciB7XG4gICAgY29uc3QgYmVzdENvbHVtbiA9IHtcbiAgICAgIGluZGV4OiAwLFxuICAgICAgaGVpZ2h0OiB0aGlzLnBob3Rvc0NvbHVtbnNbMF0uaGVpZ2h0XG4gICAgfTtcbiAgICB0aGlzLnBob3Rvc0NvbHVtbnMuZm9yRWFjaCgocGhvdG9zQ29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGJlc3RDb2x1bW4uaGVpZ2h0ID4gcGhvdG9zQ29sdW1uLmhlaWdodCkge1xuICAgICAgICBiZXN0Q29sdW1uLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIGJlc3RDb2x1bW4uaGVpZ2h0ID0gcGhvdG9zQ29sdW1uLmhlaWdodDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYmVzdENvbHVtbi5pbmRleDtcbiAgfVxuXG4gIHJlc2V0U2VhcmNoKCkge1xuICAgIHRoaXMub2xkU2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xuICAgIHRoaXMucGhvdG9zQ29sdW1ucyA9IFtdO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICB9XG5cbiAgdXBsb2FkUGhvdG8ocGhvdG86IFd6SW1nTGliUGhvdG9EdG8sIHVybDogc3RyaW5nKSB7XG4gICAgcGhvdG8udXBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IHVwbG9hZFN1YiA9IHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlQnlVcmwodXJsLCBwaG90by5hbHQpLnN1YnNjcmliZShcbiAgICAgIGltZyA9PiB7XG4gICAgICAgIHBob3RvLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBwaG90by51cGxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICBwaG90by51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnNlKHRoaXMuZXJyb3JVcGxvYWRQaG90bywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JVcGxvYWRQaG90byk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBEaXNwbGF5IGltZyB1cGxvYWRpbmcgbXNnXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xuICAgICAgdGhpcy5zdWJzLnB1c2godXBsb2FkU3ViKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwZXhlbHMtbGliXCIgI291dGVyRWxlbWVudCBbQGVhc2VJbk91dF09XCInaW4nXCI+XG4gIDxuZy1zY3JvbGxiYXJcbiAgICBbcmVhY2hlZE9mZnNldF09XCIzMDBcIlxuICAgIGNsYXNzPVwicGV4ZWxzLWxpYl9fc2Nyb2xsXCJcbiAgICBbbmdDbGFzc109XCJ7J3BleGVscy1saWJfX3Njcm9sbC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCd9XCJcbiAgICAocmVhY2hlZEJvdHRvbSk9XCJvbkJvdHRvbVJlYWNoZWQoKVwiXG4gID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhZGlzYWJsZVNlYXJjaFwiXG4gICAgICAgIGNsYXNzPVwicGV4ZWxzLWxpYl9fc2VhcmNoXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydwZXhlbHMtbGliX19zZWFyY2gtLXNtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiXG4gICAgICAgID5cbiAgICAgICAgPHd6LWlucHV0LXNlYXJjaFxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSW1nTWFuYWdlci5TZWFyY2hCYXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2hhbmdlRGVib3VuY2VkKT1cIm9uU2VhcmNoTmFtZUNoYW5nZWQoKVwiXG4gICAgICAgICAgW3NtYWxsUGFkZGluZ109XCJzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ1wiPlxuICAgICAgICA8L3d6LWlucHV0LXNlYXJjaD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWluaXRDb21wb25lbnRcIiBjbGFzcz1cInBleGVscy1saWJfX3dyYXBwZXJcIj5cbiAgICAgICAgPHAgKm5nSWY9XCJuYlJlc3VsdFwiIGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0LW5iXCI+e3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIubmJJbWdGb3VuZCcgfCB0cmFuc2xhdGUgfX0gOiB7eyBuYlJlc3VsdCB9fTwvcD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0XCI+XG5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwaG90b3NDb2x1bW4gb2YgcGhvdG9zQ29sdW1uczsgbGV0IGluZGV4Q29sID0gaW5kZXg7XCIgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtblwiICBbQGxpc3RBbmltYXRpb25dPVwicGhvdG9zQ29sdW1uLnBob3Rvcy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBob3RvIG9mIHBob3Rvc0NvbHVtbi5waG90b3M7IGxldCBpbmRleFBob3RvID0gaW5kZXg7XCIgY2xhc3M9XCJwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtbl9fZWxlbWVudFwiPlxuXG4gICAgICAgICAgICAgIDxpbWcgW2FsdF09XCJwaG90by5zcmMubWVkaXVtXCIgW3NyY109XCJwaG90by5zcmMubWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0X19jb2x1bW5fX2VsZW1lbnRfX2ltZ1wiLz5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0X19jb2x1bW5fX2VsZW1lbnRfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBleGVscy1saWJfX3dyYXBwZXJfX3Jlc3VsdF9fY29sdW1uX19lbGVtZW50X193cmFwcGVyX19pbmZvc1wiPlxuICAgICAgICAgICAgICAgICAge3sgcGhvdG8ud2lkdGggfX0geCB7eyBwaG90by5oZWlnaHR9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93biBpcy11cFwiIFtuZ0NsYXNzXT1cInsnaXMtaG92ZXJhYmxlJzogIXBob3RvLnVwbG9hZGluZ31cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi10cmlnZ2VyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBwZXhlbHMtbGliX193cmFwcGVyX19yZXN1bHRfX2NvbHVtbl9fZWxlbWVudF9fd3JhcHBlcl9fYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cImRyb3Bkb3duLW1lbnVcIj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcGhvdG8udXBsb2FkaW5nXCIgKGNsaWNrKT1cInVwbG9hZFBob3RvKHBob3RvLCBwaG90by5zcmMubGFyZ2UyeClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdJbWdNYW5hZ2VyLlBleGVsTGliLmltcG9ydCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gaXMtc21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYW5nbGUtdXBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGhvdG8udXBsb2FkZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwaG90by51cGxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLlBleGVsTGliLmltcG9ydGF0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYnRuTG9hZGluZ0FuaW0gY2xhc3M9XCJidG5Mb2FkaW5nQW5uaW1hdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgcGV4ZWxzLWxpYl9fd3JhcHBlcl9fcmVzdWx0X19jb2x1bW5fX2VsZW1lbnRfX3dyYXBwZXJfX2Ryb3Bkb3duXCIgaWQ9XCJkcm9wZG93bi1tZW51XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGVudF9fd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidXBsb2FkUGhvdG8ocGhvdG8sIHBob3RvLnNyYy5wb3J0cmFpdClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIucG9ydHJhaXQnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1jaGVjayBpUG9ydHJhaXRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cInVwbG9hZFBob3RvKHBob3RvLCBwaG90by5zcmMubGFuZHNjYXBlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5QZXhlbExpYi5sYW5kc2NhcGUnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1jaGVjayBpTGFuZHNjYXBlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJ1cGxvYWRQaG90byhwaG90bywgcGhvdG8uc3JjLmxhcmdlMngpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlBleGVsTGliLm9yaWdpbmFsJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtY2hlY2sgaU9yaWdpbmFsXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgPHd6LWxvYWRlcj48L3d6LWxvYWRlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIW5iUmVzdWx0XCJcbiAgICAgICAgY2xhc3M9XCJwZXhlbHMtbGliX19hbGVydFwiXG4gICAgICAgIFtAZWFzZUluT3V0XT1cIidpbidcIj5cbiAgICAgICAgICA8d3otYWxlcnQgW3dhcm5pbmddPVwidHJ1ZVwiPlxuICAgICAgICAgICAge3sgJ0ltZ01hbmFnZXIuUGV4ZWxMaWIubm9SZXN1bHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC93ei1hbGVydD5cbiAgICAgIDwvZGl2PlxuXG4gIDwvbmctc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -41,7 +41,7 @@ export class UploadListComponent {
|
|
|
41
41
|
this.switchDisplayWindow.emit(true);
|
|
42
42
|
}
|
|
43
43
|
onRenamePicture(pictureRenamed) {
|
|
44
|
-
this.renamePictureService.
|
|
44
|
+
this.renamePictureService.renamePicture(pictureRenamed);
|
|
45
45
|
}
|
|
46
46
|
setEvents() {
|
|
47
47
|
this.imgSelectionChange = this.imgSelectionService.imgSelection$.subscribe(imgSelection => {
|
|
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
76
76
|
}], switchDisplayWindow: [{
|
|
77
77
|
type: Output
|
|
78
78
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtbGlzdC91cGxvYWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQU0xQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUxQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs1RCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQW9CO1FBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEYsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdkMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7O2dIQTlEVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0TkNmaEMsdWhIQWdFQSx1aENEckRjO1FBQ1YsU0FBUztLQUNWOzJGQUVVLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLGNBRVg7d0JBQ1YsU0FBUztxQkFDVjs2SUFRUSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFTixtQkFBbUI7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSwgc3RhdGVEaXNwbGF5ZWQsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgUmVuYW1lUGljdHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZW5hbWUtcGljdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXBsb2FkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgaW1nU2VsZWN0aW9uQ2hhbmdlOiBTdWJzY3JpcHRpb247XG4gIHNlbGVjdEltZ0V2ZW50OiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKSB0YWJEaXNwbGF5ZWQ6IHRhYkRpc3BsYXllZDtcbiAgQElucHV0KCkgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRFdmVudHMoKTtcbiAgfVxuXG4gIG9uSW1nVXBsb2FkZWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICBpbWcuZm9yRWFjaChwaWN0dXJlID0+XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5wdXNoKHBpY3R1cmUpXG4gICAgICApO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgfVxuXG4gIG9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5hZGRJbWdTZWxlY3RlZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0pO1xuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uaWRfZmlsZSk7XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLm9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV2ZW50cygpIHtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZSA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5pbWdTZWxlY3Rpb24kLnN1YnNjcmliZShpbWdTZWxlY3Rpb24gPT57XG4gICAgICBjb25zdCBpZEZpbGVMaXN0ID0gW107XG4gICAgICBpbWdTZWxlY3Rpb24ubWFwKGltZyA9PiBpZEZpbGVMaXN0LnB1c2goaW1nLmlkX2ZpbGUpKTtcbiAgICAgIGZvciAoY29uc3QgcGljdHVyZSBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xuICAgICAgICBpZiAoaWRGaWxlTGlzdC5pbmRleE9mKHBpY3R1cmUuaWRfZmlsZSkgPT09IC0xKSB7XG4gICAgICAgICAgcGljdHVyZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0XCIgW25nQ2xhc3NdPVwieydzbWFsbERpc3BsYXknOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIiBbQGVhc2VJbk91dF09XCInaW4nXCI+XG5cbiAgICA8bmctc2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzPVwidXBsb2FkLWxpc3RfX3Njcm9sbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd1cGxvYWQtbGlzdF9fc2Nyb2xsLS1zbWFsbERpc3BsYXknOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcbiAgICAgICAgICAgICd1cGxvYWQtbGlzdF9fc2Nyb2xsLS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdyd9XCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBpY3R1cmVzTGlzdD8gcGljdHVyZXNMaXN0Lmxlbmd0aCA6ICcnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGljdHVyZXNMaXN0ICYmIHBpY3R1cmVzTGlzdC5sZW5ndGggPiAxXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5pbWdTdWNjZXNzSW1wb3J0JyB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVzTGlzdCAmJiBwaWN0dXJlc0xpc3QubGVuZ3RoID09PSAxXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5pbWdTdWNjZXNzSW1wb3J0T25lJyB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93biBpcy1ob3ZlcmFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi10cmlnZ2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tbWVudUluZm9TZW9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcERvd25TaGFkb3dcIiBpZD1cImRyb3Bkb3duLW1lbnVJbmZvU2VvXCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ucmV6aXNlJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPiAxMDAlPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLndlYnAnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5jZG4nIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5sYXp5bG9hZGluZycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPiAxMDAlPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveF9fY2FyZHNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveF9fY2FyZHNfX2NhcmRcIiAqbmdGb3I9XCJsZXQgcGljdHVyZSBvZiBwaWN0dXJlc0xpc3Q7IGxldCBpbmRleCA9IGluZGV4O1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nLWNhcmRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwaWN0dXJlXT1cInBpY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh0b2dnbGVJbWdTZWxlY3RlZCk9XCJvblRvZ2dsZVNlbGVjdEltZyhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0NhcmQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocGljdHVyZU5hbWVDaGFuZ2UpPVwib25SZW5hbWVQaWN0dXJlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pbWctY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkX19idG5Cb3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHN1Y2Nlc3MgdXBsb2FkLWxpc3RfX2JveF9fY2FyZHNfX2NhcmRfX2J0bkJveF9fYnRuXCI+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtbGlzdC91cGxvYWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQU0xQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUxQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs1RCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQW9CO1FBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEYsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdkMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7O2dIQTlEVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0TkNmaEMsdWhIQWdFQSx1aENEckRjO1FBQ1YsU0FBUztLQUNWOzJGQUVVLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLGNBRVg7d0JBQ1YsU0FBUztxQkFDVjs2SUFRUSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFTixtQkFBbUI7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSwgc3RhdGVEaXNwbGF5ZWQsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgUmVuYW1lUGljdHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZW5hbWUtcGljdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXBsb2FkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgaW1nU2VsZWN0aW9uQ2hhbmdlOiBTdWJzY3JpcHRpb247XG4gIHNlbGVjdEltZ0V2ZW50OiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKSB0YWJEaXNwbGF5ZWQ6IHRhYkRpc3BsYXllZDtcbiAgQElucHV0KCkgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRFdmVudHMoKTtcbiAgfVxuXG4gIG9uSW1nVXBsb2FkZWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICBpbWcuZm9yRWFjaChwaWN0dXJlID0+XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5wdXNoKHBpY3R1cmUpXG4gICAgICApO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgfVxuXG4gIG9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5hZGRJbWdTZWxlY3RlZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0pO1xuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uaWRfZmlsZSk7XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLnJlbmFtZVBpY3R1cmUocGljdHVyZVJlbmFtZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFdmVudHMoKSB7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuaW1nU2VsZWN0aW9uJC5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xuICAgICAgY29uc3QgaWRGaWxlTGlzdCA9IFtdO1xuICAgICAgaW1nU2VsZWN0aW9uLm1hcChpbWcgPT4gaWRGaWxlTGlzdC5wdXNoKGltZy5pZF9maWxlKSk7XG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcbiAgICAgICAgaWYgKGlkRmlsZUxpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpID09PSAtMSkge1xuICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdFwiIFtuZ0NsYXNzXT1cInsnc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCd9XCIgW0BlYXNlSW5PdXRdPVwiJ2luJ1wiPlxuXG4gICAgPG5nLXNjcm9sbGJhclxuICAgICAgICBjbGFzcz1cInVwbG9hZC1saXN0X19zY3JvbGxcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAndXBsb2FkLWxpc3RfX3Njcm9sbC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXG4gICAgICAgICAgICAndXBsb2FkLWxpc3RfX3Njcm9sbC0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWFpbkNvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBwaWN0dXJlc0xpc3Q/IHBpY3R1cmVzTGlzdC5sZW5ndGggOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVzTGlzdCAmJiBwaWN0dXJlc0xpc3QubGVuZ3RoID4gMVwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3QuaW1nU3VjY2Vzc0ltcG9ydCcgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwaWN0dXJlc0xpc3QgJiYgcGljdHVyZXNMaXN0Lmxlbmd0aCA9PT0gMVwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3QuaW1nU3VjY2Vzc0ltcG9ydE9uZScgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gaXMtaG92ZXJhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1jb250cm9scz1cImRyb3Bkb3duLW1lbnVJbmZvU2VvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtaW5mby1jaXJjbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3BEb3duU2hhZG93XCIgaWQ9XCJkcm9wZG93bi1tZW51SW5mb1Nlb1wiIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLnJlemlzZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby53ZWJwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+IDEwMCU8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8uY2RuJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYWwgZmEtY2hlY2tcIj48L2k+IDEwMCU8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ubGF6eWxvYWRpbmcnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkXCIgKm5nRm9yPVwibGV0IHBpY3R1cmUgb2YgcGljdHVyZXNMaXN0OyBsZXQgaW5kZXggPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZy1jYXJkXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGljdHVyZV09XCJwaWN0dXJlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodG9nZ2xlSW1nU2VsZWN0ZWQpPVwib25Ub2dnbGVTZWxlY3RJbWcoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dDYXJkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHBpY3R1cmVOYW1lQ2hhbmdlKT1cIm9uUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaW1nLWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94X19jYXJkc19fY2FyZF9fYnRuQm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBzdWNjZXNzIHVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkX19idG5Cb3hfX2J0blwiPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXNjcm9sbGJhcj5cbjwvZGl2PlxuIl19
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
this.url_raw_image = '';
|
|
4
|
-
this.url_100_image = '';
|
|
5
|
-
this.url_200_image = '';
|
|
6
|
-
this.url_400_image = '';
|
|
7
|
-
this.url_800_image = '';
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2RuLWNvbmZpZy5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2R0by9jb25maWcvaW1hZ2UtY2RuL2ltYWdlLWNkbi1jb25maWcuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0ksa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEltZ0NETkNvbmZpZ0RUTyB7XG4gICAgdXJsX3Jhd19pbWFnZSA9ICcnO1xuICAgIHVybF8xMDBfaW1hZ2UgPSAnJztcbiAgICB1cmxfMjAwX2ltYWdlID0gJyc7XG4gICAgdXJsXzQwMF9pbWFnZSA9ICcnO1xuICAgIHVybF84MDBfaW1hZ2UgPSAnJztcbn0iXX0=
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2RuLWNvbmZpZy5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2R0by9jb25maWcvaW1hZ2UtY2RuL2ltYWdlLWNkbi1jb25maWcuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEltZ0NETkNvbmZpZ0RUTyB7XG4gICAgdXJsX3Jhd19pbWFnZTogc3RyaW5nLFxuICAgIHVybF8xMDBfaW1hZ2U6IHN0cmluZyxcbiAgICB1cmxfMjAwX2ltYWdlOiBzdHJpbmcsXG4gICAgdXJsXzQwMF9pbWFnZTogc3RyaW5nLFxuICAgIHVybF84MDBfaW1hZ2U6IHN0cmluZyxcbn0iXX0=
|
|
@@ -23,7 +23,7 @@ export class AlertService {
|
|
|
23
23
|
this.alertRefComponent.afterClosed().subscribe();
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
openAlertWithBackendResponse(msgKey, msgBackend) {
|
|
27
27
|
this.translateService.get(msgKey).subscribe(trans => {
|
|
28
28
|
this.alertConfig.message = trans;
|
|
29
29
|
this.alertConfig.message += '<br/>' + JSON.parse(msgBackend).message;
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
50
50
|
providedIn: 'root'
|
|
51
51
|
}]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.NwbAlertService }, { type: i2.TranslateService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUsxRCxNQUFNLE9BQU8sWUFBWTtJQVdyQixZQUNZLGVBQWdDLEVBQ2hDLGdCQUFrQztRQURsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVg5QyxjQUFTLEdBQUcseUJBQXlCLENBQUM7UUFFdEMsZ0JBQVcsR0FBbUI7WUFDNUIsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUE7SUFPTyxDQUFDO0lBRVQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFFckUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsTUFBYztRQUNsQyxNQUFNLFVBQVUsR0FBWSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbkUsQ0FBQzs7eUdBL0NRLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOd2JBbGVydENvbmZpZywgTndiQWxlcnRDb21wb25lbnQgfSBmcm9tICdAd2l6aXNob3Avbmctd2l6aS1idWxtYSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBOd2JBbGVydFNlcnZpY2UgfSBmcm9tICdAd2l6aXNob3Avbmctd2l6aS1idWxtYSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XG5cbiAgICBhY3Rpb25Nc2cgPSAnSW1nTWFuYWdlci5hbGVydC5hY3Rpb24nO1xuXG4gICAgYWxlcnRDb25maWc6IE53YkFsZXJ0Q29uZmlnID0ge1xuICAgICAgbWVzc2FnZTogJycsXG4gICAgICBkdXJhdGlvbjogNTAwMFxuICAgIH1cblxuICAgIHByaXZhdGUgYWxlcnRSZWZDb21wb25lbnQ6IE53YkFsZXJ0Q29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbndiQWxlcnRTZXJ2aWNlOiBOd2JBbGVydFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICAgICApIHsgfVxuXG4gICAgb3BlbkFsZXJ0KG1zZ0tleTogc3RyaW5nKSB7XG4gICAgICB0aGlzLmNsb3NlUHJldmlvdXNBbGVydCgpO1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2dLZXkpLnN1YnNjcmliZSh0cmFucyA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydENvbmZpZy5tZXNzYWdlID0gdHJhbnM7XG4gICAgICAgICAgdGhpcy5zZXRBbGVydENvbG9yKG1zZ0tleSk7XG5cbiAgICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50ID0gdGhpcy5ud2JBbGVydFNlcnZpY2Uub3Blbih0aGlzLmFsZXJ0Q29uZmlnKTtcbiAgICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBvcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnNlKG1zZ0tleTogc3RyaW5nLCBtc2dCYWNrZW5kOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQobXNnS2V5KS5zdWJzY3JpYmUodHJhbnMgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0Q29uZmlnLm1lc3NhZ2UgPSB0cmFucztcbiAgICAgICAgdGhpcy5hbGVydENvbmZpZy5tZXNzYWdlICs9ICc8YnIvPicgKyBKU09OLnBhcnNlKG1zZ0JhY2tlbmQpLm1lc3NhZ2U7XG5cbiAgICAgICAgdGhpcy5jbG9zZVByZXZpb3VzQWxlcnQoKTtcbiAgICAgICAgdGhpcy5hbGVydFJlZkNvbXBvbmVudCA9IHRoaXMubndiQWxlcnRTZXJ2aWNlLm9wZW4odGhpcy5hbGVydENvbmZpZyk7XG4gICAgICAgIHRoaXMuYWxlcnRSZWZDb21wb25lbnQuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VQcmV2aW91c0FsZXJ0KCkge1xuICAgICAgaWYgKHRoaXMuYWxlcnRSZWZDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5hbGVydFJlZkNvbXBvbmVudC5kaXNtaXNzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbGVydENvbG9yKG1zZ0tleTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBpc0Vycm9yTXNnOiBib29sZWFuID0gL2Vycm9yL2kudGVzdChtc2dLZXkpO1xuICAgICAgdGhpcy5hbGVydENvbmZpZy5jb2xvciA9IGlzRXJyb3JNc2cgPyAnaXMtZGFuZ2VyJyA6ICdpcy1zdWNjZXNzJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ApiService {
|
|
4
|
+
}
|
|
5
|
+
ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6
|
+
ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ApiService });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ApiService, decorators: [{
|
|
8
|
+
type: Injectable
|
|
9
|
+
}] });
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBZ0IsVUFBVTs7dUdBQVYsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPLCBJbWdQaWN0dXJlc0RUTywgUGFyYW1zSW1nTWFuYWdlckRUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcblxuICAgIGFic3RyYWN0IENPTkZJRzoge1xuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XG4gICAgICAgIGNhbnZhX3Rva2VuOiBzdHJpbmc7XG4gICAgICAgIGNhbnZhX3VybDogc3RyaW5nO1xuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xuICAgICAgICBwZXhlbHNfcm91dGU6IHN0cmluZztcbiAgICAgICAgc2hvcF9jYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICBhc3NldHNfcm91dGU6IHN0cmluZztcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBJTUdfU0laRSA6IEltZ0NETkNvbmZpZ0RUTztcblxuICAgIGFic3RyYWN0IGdldFNob3BJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVzRFRPPjtcblxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogUGFyYW1zSW1nTWFuYWdlckRUTyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xuXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XG5cbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk7XG5cbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlQnlVcmwodXJsOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKTtcblxuICAgIGFic3RyYWN0IHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTtcblxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTtcblxuICAgIGFic3RyYWN0IHJlbW92ZUltZyhpZF9maWxlOiBzdHJpbmcpO1xuXG4gICAgYWJzdHJhY3QgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKTtcblxufSJdfQ==
|