@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.
Files changed (52) hide show
  1. package/README.md +1 -0
  2. package/esm2020/lib/components/images-view/images-actions-handler.mjs +8 -8
  3. package/esm2020/lib/components/images-view/images-view.component.mjs +13 -10
  4. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +7 -7
  5. package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +7 -7
  6. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +7 -7
  7. package/esm2020/lib/components/img-editor/img-editor.component.mjs +52 -37
  8. package/esm2020/lib/components/img-upload/img-upload.component.mjs +16 -17
  9. package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +12 -12
  10. package/esm2020/lib/components/upload-list/upload-list.component.mjs +2 -2
  11. package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +2 -10
  12. package/esm2020/lib/services/alert.service.mjs +2 -2
  13. package/esm2020/lib/services/api.service.mjs +10 -0
  14. package/esm2020/lib/services/canva.service.mjs +36 -33
  15. package/esm2020/lib/services/config/img-cdn.service.mjs +5 -7
  16. package/esm2020/lib/services/img-manager.service.mjs +39 -51
  17. package/esm2020/lib/services/img-selection.service.mjs +20 -7
  18. package/esm2020/lib/services/pexels.service.mjs +15 -12
  19. package/esm2020/lib/services/rename-picture.service.mjs +12 -23
  20. package/esm2020/lib/services/upload.service.mjs +22 -0
  21. package/esm2020/lib/wz-img-manager.component.mjs +21 -21
  22. package/esm2020/lib/wz-img-manager.module.mjs +9 -1
  23. package/esm2020/public-api.mjs +2 -1
  24. package/fesm2015/wizishop-img-manager.mjs +285 -291
  25. package/fesm2015/wizishop-img-manager.mjs.map +1 -1
  26. package/fesm2020/wizishop-img-manager.mjs +386 -392
  27. package/fesm2020/wizishop-img-manager.mjs.map +1 -1
  28. package/lib/components/images-view/images-actions-handler.d.ts +3 -3
  29. package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +2 -2
  30. package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +2 -2
  31. package/lib/components/images-view/table-view/table-view.component.d.ts +2 -2
  32. package/lib/components/img-editor/img-editor.component.d.ts +4 -2
  33. package/lib/components/img-upload/img-upload.component.d.ts +5 -5
  34. package/lib/components/pexels-lib/pexels-lib.component.d.ts +3 -3
  35. package/lib/dto/config/image-cdn/image-cdn-config.dto.d.ts +1 -1
  36. package/lib/services/alert.service.d.ts +1 -1
  37. package/lib/services/api.service.d.ts +27 -0
  38. package/lib/services/canva.service.d.ts +7 -9
  39. package/lib/services/config/img-cdn.service.d.ts +0 -2
  40. package/lib/services/img-manager.service.d.ts +14 -14
  41. package/lib/services/img-selection.service.d.ts +6 -0
  42. package/lib/services/pexels.service.d.ts +5 -5
  43. package/lib/services/rename-picture.service.d.ts +5 -7
  44. package/lib/services/upload.service.d.ts +10 -0
  45. package/lib/wz-img-manager.component.d.ts +2 -6
  46. package/lib/wz-img-manager.module.d.ts +2 -0
  47. package/package.json +1 -1
  48. package/public-api.d.ts +1 -0
  49. package/wizishop-img-manager-15.2.0.tgz +0 -0
  50. package/esm2020/lib/services/config/external-config.service.mjs +0 -49
  51. package/lib/services/config/external-config.service.d.ts +0 -24
  52. package/wizishop-img-manager-15.1.2.tgz +0 -0
@@ -1,24 +1,24 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { Observable, BehaviorSubject } from 'rxjs';
3
- import { ImgManagerConfigService } from './config/external-config.service';
4
3
  import { AlertService } from './alert.service';
5
- import { ImgManagerService } from './img-manager.service';
6
4
  import { ImgEventService } from './img-event.service';
7
5
  import { take } from 'rxjs/operators';
8
6
  import { TranslateService } from '@ngx-translate/core';
7
+ import { UploadService } from './upload.service';
8
+ import { ApiService } from './api.service';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "./config/external-config.service";
11
- import * as i2 from "./img-manager.service";
12
- import * as i3 from "./img-event.service";
13
- import * as i4 from "./alert.service";
14
- import * as i5 from "@ngx-translate/core";
10
+ import * as i1 from "./img-event.service";
11
+ import * as i2 from "./alert.service";
12
+ import * as i3 from "@ngx-translate/core";
13
+ import * as i4 from "./upload.service";
14
+ import * as i5 from "./api.service";
15
15
  export class CanvaService {
16
- constructor(externalConfigService, imgManager, wzImgEventService, alertService, translateService) {
17
- this.externalConfigService = externalConfigService;
18
- this.imgManager = imgManager;
16
+ constructor(wzImgEventService, alertService, translateService, uploadService, apiService) {
19
17
  this.wzImgEventService = wzImgEventService;
20
18
  this.alertService = alertService;
21
19
  this.translateService = translateService;
20
+ this.uploadService = uploadService;
21
+ this.apiService = apiService;
22
22
  this.imgLoading = false;
23
23
  this.uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';
24
24
  this.successUploadPhoto = 'ImgManager.CanvaBtn.successImport';
@@ -28,12 +28,15 @@ export class CanvaService {
28
28
  this.bindExpectedImgSizeEvent = new BehaviorSubject(null);
29
29
  this.bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();
30
30
  }
31
- setCanvaApiConfig() {
32
- this.canvaApiURL = this.externalConfigService.getCanvaApiURL();
33
- this.canvaApiKey = this.externalConfigService.getCanvaApiToken();
31
+ get canvaApiURL() {
32
+ return this.apiService.CONFIG.canva_url;
33
+ }
34
+ ;
35
+ get canvaApiKey() {
36
+ return this.apiService.CONFIG.canva_token;
34
37
  }
35
38
  getCanvaLogo() {
36
- return this.externalConfigService.getRouteAssets() + "canva/icon_canva.svg";
39
+ return this.apiService.CONFIG.canva_url + "canva/icon_canva.svg";
37
40
  }
38
41
  bindEventExepectedImgSizeChange() {
39
42
  return this.bindExpectedSizeDone;
@@ -45,9 +48,6 @@ export class CanvaService {
45
48
  }
46
49
  }
47
50
  getCanvaApi() {
48
- if (!this.canvaApiURL || !this.canvaApiKey) {
49
- this.setCanvaApiConfig();
50
- }
51
51
  return new Observable(observer => {
52
52
  this.loadCanva().subscribe({
53
53
  complete: () => {
@@ -131,29 +131,32 @@ export class CanvaService {
131
131
  designPublished(exportUrl, designTitle) {
132
132
  this.alertService.openAlert(this.uploadingImg);
133
133
  this.imgLoading = true;
134
- this.imgManager.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe((img) => {
135
- this.imgLoading = false;
136
- this.removeOverflowBody();
137
- this.wzImgEventService.emitImgAdded(img.id_file);
138
- this.alertService.openAlert(this.successUploadPhoto);
139
- }, error => {
140
- this.imgLoading = false;
141
- this.removeOverflowBody();
142
- if (error.error.code === 406 && error.error.message) {
143
- this.alertService.openAlertWithBackendRespons(this.errorUploadCanvaImg, error.error.message);
144
- }
145
- else {
146
- this.alertService.openAlert(this.errorUploadCanvaImg);
134
+ this.uploadService.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe({
135
+ next: (img) => {
136
+ this.imgLoading = false;
137
+ this.removeOverflowBody();
138
+ this.wzImgEventService.emitImgAdded(img.id_file);
139
+ this.alertService.openAlert(this.successUploadPhoto);
140
+ },
141
+ error: error => {
142
+ this.imgLoading = false;
143
+ this.removeOverflowBody();
144
+ if (error.error.code === 406 && error.error.message) {
145
+ this.alertService.openAlertWithBackendResponse(this.errorUploadCanvaImg, error.error.message);
146
+ }
147
+ else {
148
+ this.alertService.openAlert(this.errorUploadCanvaImg);
149
+ }
147
150
  }
148
151
  });
149
152
  }
150
153
  }
151
- CanvaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CanvaService, deps: [{ token: i1.ImgManagerConfigService }, { token: i2.ImgManagerService }, { token: i3.ImgEventService }, { token: i4.AlertService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
154
+ CanvaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CanvaService, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.TranslateService }, { token: i4.UploadService }, { token: i5.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
152
155
  CanvaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CanvaService, providedIn: 'root' });
153
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CanvaService, decorators: [{
154
157
  type: Injectable,
155
158
  args: [{
156
159
  providedIn: 'root'
157
160
  }]
158
- }], ctorParameters: function () { return [{ type: i1.ImgManagerConfigService }, { type: i2.ImgManagerService }, { type: i3.ImgEventService }, { type: i4.AlertService }, { type: i5.TranslateService }]; } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBV3ZELE1BQU0sT0FBTyxZQUFZO0lBa0J2QixZQUNVLHFCQUE4QyxFQUM5QyxVQUE2QixFQUM3QixpQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSmxDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEI1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsa0NBQWtDLENBQUM7UUFDbEQsdUJBQWtCLEdBQUcsbUNBQW1DLENBQUM7UUFDekQsd0JBQW1CLEdBQUcseUNBQXlDLENBQUM7UUFDaEUsd0JBQW1CLEdB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Q0QsS0FBSyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUUxQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUM3RjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7eUdBbktVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbnZhQnV0dG9uQXBpIH0gZnJvbSAnLi4vZHRvL2NhbnZhLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpemlCbG9ja01lZGlhRHRvIH0gZnJvbSAnLi4vZHRvL3dpemktYmxvY2stbWVkaWEuZHRvJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vaW1nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmRlY2xhcmUgbGV0IENhbnZhICA6IHtcbiAgRGVzaWduQnV0dG9uIDoge1xuICAgIGluaXRpYWxpemU6IChvcHRzOiB7IGFwaUtleTogc3RyaW5nIH0pID0+IFByb21pc2U8Q2FudmFCdXR0b25BcGk+O1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYW52YVNlcnZpY2Uge1xuXG4gIGNhbnZhQXBpOyAvLyBPYmplY3QgdXNlIHRvIG1hbmFnZSB0aGUgY2FudmEgYXBpXG4gIGNhbnZhQXBpVVJMOiBzdHJpbmc7XG4gIGNhbnZhQXBpS2V5OiBzdHJpbmc7XG4gIGNhbnZhTG9nb1JvdXRlOiBzdHJpbmc7XG5cbiAgaW1nTG9hZGluZyA9IGZhbHNlO1xuICB1cGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi51cGxvYWRpbmdJbWcnO1xuICBzdWNjZXNzVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5zdWNjZXNzSW1wb3J0JztcbiAgZXJyb3JVcGxvYWRDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yVXBsb2FkQ2FudmFJbWcnO1xuICBlcnJvclJlbmFtZUNhbnZhSW1nID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uZXJyb3JSZW5hbWVDYW52YUltZyc7XG5cbiAgZm9yY2VUb09wZW5DYW52YTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50OiBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaXppQmxvY2tNZWRpYUR0bz4obnVsbCk7XG4gIHByaXZhdGUgYmluZEV4cGVjdGVkU2l6ZURvbmUgPSB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogSW1nTWFuYWdlckNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdNYW5hZ2VyOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHd6SW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7IH1cblxuICBwcml2YXRlIHNldENhbnZhQXBpQ29uZmlnKCkge1xuICAgIHRoaXMuY2FudmFBcGlVUkwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRDYW52YUFwaVVSTCgpO1xuICAgIHRoaXMuY2FudmFBcGlLZXkgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRDYW52YUFwaVRva2VuKCk7XG4gIH1cblxuICBnZXRDYW52YUxvZ28oKSB7XG4gICByZXR1cm4gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0Um91dGVBc3NldHMoKSArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcbiAgfVxuXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZEV4cGVjdGVkU2l6ZURvbmU7XG4gIH1cblxuICBleHBlY3RlZEltZ1NpemVzQ2hhbmdlIChtZWRpYURUTzogV2l6aUJsb2NrTWVkaWFEdG8pe1xuICAgIHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50Lm5leHQobWVkaWFEVE8pO1xuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcbiAgICAgIHRoaXMub3BlbkNhbnZhKHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX3dpZHRoKSwgcGFyc2VJbnQobWVkaWFEVE8uaW1hZ2VfaGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2FudmFBcGkoKTpPYnNlcnZhYmxlPENhbnZhQnV0dG9uQXBpPiB7XG4gICAgaWYgKCF0aGlzLmNhbnZhQXBpVVJMIHx8ICF0aGlzLmNhbnZhQXBpS2V5KSB7XG4gICAgICB0aGlzLnNldENhbnZhQXBpQ29uZmlnKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgdGhpcy5sb2FkQ2FudmEoKS5zdWJzY3JpYmUoe1xuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgaWYodGhpcy5jYW52YUFwaSAmJiBDYW52YS5EZXNpZ25CdXR0b24pIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNhbnZhKG9ic2VydmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2FudmEob2JzZXJ2ZXI6IFN1YnNjcmliZXI8Q2FudmFCdXR0b25BcGk+KSB7XG4gICAgaWYgKENhbnZhLkRlc2lnbkJ1dHRvbikge1xuICAgICAgQ2FudmEuRGVzaWduQnV0dG9uLmluaXRpYWxpemUoe1xuICAgICAgICBhcGlLZXk6IHRoaXMuY2FudmFBcGlLZXlcblxuICAgICAgfSkudGhlbigoY2FudmFBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jYW52YUFwaSA9ICBjYW52YUFwaTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmNhbnZhQXBpKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZENhbnZhKCk6T2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICBpZih0aGlzLmNhbnZhQXBpKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5sb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENhbnZhU2NyaXB0KG9ic2VydmVyOiBTdWJzY3JpYmVyPG51bGw+KSB7XG5cbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgbm9kZS5zcmMgPSB0aGlzLmNhbnZhQXBpVVJMO1xuICAgIG5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgIG5vZGUuYXN5bmMgPSBmYWxzZTtcbiAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnO1xuICAgIG5vZGUub25sb2FkID0gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICB9XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcbiAgfVxuXG4gIG9wZW5DYW52YSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmltZ0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5nZXRDYW52YUFwaSgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChhcGk6IENhbnZhQnV0dG9uQXBpKSA9PiB7XG4gICAgICB0aGlzLmNhbnZhQXBpID0gYXBpO1xuICAgICAgdGhpcy5hZGRPdmVyZmxvd0JvZHkoKTtcbiAgICAgIHRoaXMuY3JlYXRlRGVzaWduKHdpZHRoLCBoZWlnaHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPdmVyZmxvd0JvZHkoKSB7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdvdmgtY2FudmEnKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlT3ZlcmZsb3dCb2R5KCkge1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnb3ZoLWNhbnZhJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlc2lnbih3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIGNvbnN0ICBjcmVhdGVEZXNpZ246IENhbnZhQ3JlYXRlRGVzaWduID0ge1xuICAgICAgdHlwZTogJ0V0c3lTaG9wSWNvbicsXG4gICAgICBkaW1lbnNpb25zIDoge1xuICAgICAgICB1bml0czogJ3B4JyxcbiAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgIGhlaWdodDogaGVpZ2h0ID8gaGVpZ2h0IDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIHB1Ymxpc2hMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ltZ01hbmFnZXIuQ2FudmFCdG4ucHVibGlzaCcpLFxuICAgIH07XG4gICAgdGhpcy5jYW52YUFwaS5jcmVhdGVEZXNpZ24oe1xuICAgICAgZGVzaWduOiBjcmVhdGVEZXNpZ24sXG4gICAgICBvbkRlc2lnblB1Ymxpc2g6ICh7IGV4cG9ydFVybCwgZGVzaWduVGl0bGUgfSkgPT4gdGhpcy5kZXNpZ25QdWJsaXNoZWQoZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSksXG4gICAgICBvbkRlc2lnbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XG4gICAgICB9XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzaWduUHVibGlzaGVkKGV4cG9ydFVybDogc3RyaW5nLCBkZXNpZ25UaXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMudXBsb2FkaW5nSW1nKTtcbiAgICB0aGlzLmltZ0xvYWRpbmcgPSB0cnVlO1xuXG5cbiAgICB0aGlzLmltZ01hbmFnZXIudXBsb2FkRmlsZUJ5VXJsKGV4cG9ydFVybCwgZGVzaWduVGl0bGUpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgKGltZzogSW1nUGljdHVyZURUTykgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnN1Y2Nlc3NVcGxvYWRQaG90byk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnModGhpcy5lcnJvclVwbG9hZENhbnZhSW1nLCBlcnJvci5lcnJvci5tZXNzYWdlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yVXBsb2FkQ2FudmFJbWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
161
+ }], ctorParameters: function () { return [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.TranslateService }, { type: i4.UploadService }, { type: i5.ApiService }]; } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxZQUFZO0lBcUJ2QixZQUNVLGlCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsVUFBc0I7UUFKdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQmhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxrQ0FBa0MsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FBQztRQUNoRSx3QkFBbUIsR0FBRyx5Q0FBeUMsQ0FB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QyxrQkFBa0IsRUFBRSxDQUFDO2dCQUUxQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDOUY7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ3ZEO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQTlKVSxZQUFZOzZHQUFaLFlBQVksY0FGWCxNQUFNOzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYW52YUJ1dHRvbkFwaSB9IGZyb20gJy4uL2R0by9jYW52YS5kdG8nO1xuaW1wb3J0IHsgV2l6aUJsb2NrTWVkaWFEdG8gfSBmcm9tICcuLi9kdG8vd2l6aS1ibG9jay1tZWRpYS5kdG8nO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4vaW1nLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbnZhQ3JlYXRlRGVzaWduIH0gZnJvbSAnLi4vZHRvL2NhbnZhLWNyZWF0ZS1kZXNpZ24uZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2UgfSBmcm9tICcuL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcblxuZGVjbGFyZSBsZXQgQ2FudmEgIDoge1xuICBEZXNpZ25CdXR0b24gOiB7XG4gICAgaW5pdGlhbGl6ZTogKG9wdHM6IHsgYXBpS2V5OiBzdHJpbmcgfSkgPT4gUHJvbWlzZTxDYW52YUJ1dHRvbkFwaT47XG4gIH1cbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhbnZhU2VydmljZSB7XG5cbiAgY2FudmFBcGkgLy8gT2JqZWN0IHVzZSB0byBtYW5hZ2UgdGhlIGNhbnZhIGFwaVxuICBnZXQgY2FudmFBcGlVUkwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5DT05GSUcuY2FudmFfdXJsO1xuICB9O1xuICBnZXQgY2FudmFBcGlLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5DT05GSUcuY2FudmFfdG9rZW47XG4gIH1cblxuICBpbWdMb2FkaW5nID0gZmFsc2U7XG4gIHVwbG9hZGluZ0ltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLnVwbG9hZGluZ0ltZyc7XG4gIHN1Y2Nlc3NVcGxvYWRQaG90byA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLnN1Y2Nlc3NJbXBvcnQnO1xuICBlcnJvclVwbG9hZENhbnZhSW1nID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uZXJyb3JVcGxvYWRDYW52YUltZyc7XG4gIGVycm9yUmVuYW1lQ2FudmFJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5lcnJvclJlbmFtZUNhbnZhSW1nJztcblxuICBmb3JjZVRvT3BlbkNhbnZhOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBiaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQ6IEJlaGF2aW9yU3ViamVjdDxXaXppQmxvY2tNZWRpYUR0bz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPihudWxsKTtcbiAgcHJpdmF0ZSBiaW5kRXhwZWN0ZWRTaXplRG9uZSA9IHRoaXMuYmluZEV4cGVjdGVkSW1nU2l6ZUV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgd3pJbWdFdmVudFNlcnZpY2U6IEltZ0V2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgZ2V0Q2FudmFMb2dvKCkge1xuICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5DT05GSUcuY2FudmFfdXJsICsgXCJjYW52YS9pY29uX2NhbnZhLnN2Z1wiO1xuICB9XG5cbiAgYmluZEV2ZW50RXhlcGVjdGVkSW1nU2l6ZUNoYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaW5kRXhwZWN0ZWRTaXplRG9uZTtcbiAgfVxuXG4gIGV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UgKG1lZGlhRFRPOiBXaXppQmxvY2tNZWRpYUR0byl7XG4gICAgdGhpcy5iaW5kRXhwZWN0ZWRJbWdTaXplRXZlbnQubmV4dChtZWRpYURUTyk7XG4gICAgaWYgKHRoaXMuZm9yY2VUb09wZW5DYW52YSkge1xuICAgICAgdGhpcy5vcGVuQ2FudmEocGFyc2VJbnQobWVkaWFEVE8uaW1hZ2Vfd2lkdGgpLCBwYXJzZUludChtZWRpYURUTy5pbWFnZV9oZWlnaHQpKTtcbiAgICB9XG4gIH1cblxuICBnZXRDYW52YUFwaSgpOk9ic2VydmFibGU8Q2FudmFCdXR0b25BcGk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgIHRoaXMubG9hZENhbnZhKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIGlmKHRoaXMuY2FudmFBcGkgJiYgQ2FudmEuRGVzaWduQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmNhbnZhQXBpKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDYW52YShvYnNlcnZlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNhbnZhKG9ic2VydmVyOiBTdWJzY3JpYmVyPENhbnZhQnV0dG9uQXBpPikge1xuICAgIGlmIChDYW52YS5EZXNpZ25CdXR0b24pIHtcbiAgICAgIENhbnZhLkRlc2lnbkJ1dHRvbi5pbml0aWFsaXplKHtcbiAgICAgICAgYXBpS2V5OiB0aGlzLmNhbnZhQXBpS2V5XG5cbiAgICAgIH0pLnRoZW4oKGNhbnZhQXBpKSA9PiB7XG4gICAgICAgIHRoaXMuY2FudmFBcGkgPSAgY2FudmFBcGk7XG4gICAgICAgIG9ic2VydmVyLm5leHQodGhpcy5jYW52YUFwaSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRDYW52YSgpOk9ic2VydmFibGU8bnVsbD4ge1xuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgICAgaWYodGhpcy5jYW52YUFwaSkge1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMubG9hZENhbnZhU2NyaXB0KG9ic2VydmVyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDYW52YVNjcmlwdChvYnNlcnZlcjogU3Vic2NyaWJlcjxudWxsPikge1xuXG4gICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIG5vZGUuc3JjID0gdGhpcy5jYW52YUFwaVVSTDtcbiAgICBub2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBub2RlLmFzeW5jID0gZmFsc2U7XG4gICAgbm9kZS5jaGFyc2V0ID0gJ3V0Zi04JztcbiAgICBub2RlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfVxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobm9kZSk7XG4gIH1cblxuICBvcGVuQ2FudmEod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5pbWdMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZ2V0Q2FudmFBcGkoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoYXBpOiBDYW52YUJ1dHRvbkFwaSkgPT4ge1xuICAgICAgdGhpcy5jYW52YUFwaSA9IGFwaTtcbiAgICAgIHRoaXMuYWRkT3ZlcmZsb3dCb2R5KCk7XG4gICAgICB0aGlzLmNyZWF0ZURlc2lnbih3aWR0aCwgaGVpZ2h0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkT3ZlcmZsb3dCb2R5KCkge1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnb3ZoLWNhbnZhJyk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU92ZXJmbG93Qm9keSgpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ292aC1jYW52YScpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZXNpZ24od2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICBjb25zdCAgY3JlYXRlRGVzaWduOiBDYW52YUNyZWF0ZURlc2lnbiA9IHtcbiAgICAgIHR5cGU6ICdFdHN5U2hvcEljb24nLFxuICAgICAgZGltZW5zaW9ucyA6IHtcbiAgICAgICAgdW5pdHM6ICdweCcsXG4gICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoIDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IGhlaWdodCA/IGhlaWdodCA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBwdWJsaXNoTGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdJbWdNYW5hZ2VyLkNhbnZhQnRuLnB1Ymxpc2gnKSxcbiAgICB9O1xuICAgIHRoaXMuY2FudmFBcGkuY3JlYXRlRGVzaWduKHtcbiAgICAgIGRlc2lnbjogY3JlYXRlRGVzaWduLFxuICAgICAgb25EZXNpZ25QdWJsaXNoOiAoeyBleHBvcnRVcmwsIGRlc2lnblRpdGxlIH0pID0+IHRoaXMuZGVzaWduUHVibGlzaGVkKGV4cG9ydFVybCwgZGVzaWduVGl0bGUpLFxuICAgICAgb25EZXNpZ25DbG9zZTogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xuICAgICAgfVxuXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRlc2lnblB1Ymxpc2hlZChleHBvcnRVcmw6IHN0cmluZywgZGVzaWduVGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLnVwbG9hZGluZ0ltZyk7XG4gICAgdGhpcy5pbWdMb2FkaW5nID0gdHJ1ZTtcblxuXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEZpbGVCeVVybChleHBvcnRVcmwsIGRlc2lnblRpdGxlKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoaW1nKSA9PiB7XG4gICAgICAgIHRoaXMuaW1nTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xuXG4gICAgICAgIHRoaXMud3pJbWdFdmVudFNlcnZpY2UuZW1pdEltZ0FkZGVkKGltZy5pZF9maWxlKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuc3VjY2Vzc1VwbG9hZFBob3RvKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZW1vdmVPdmVyZmxvd0JvZHkoKTtcblxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnRXaXRoQmFja2VuZFJlc3BvbnNlKHRoaXMuZXJyb3JVcGxvYWRDYW52YUltZywgZXJyb3IuZXJyb3IubWVzc2FnZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclVwbG9hZENhbnZhSW1nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,9 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ApiService } from '../api.service';
2
3
  import * as i0 from "@angular/core";
3
4
  export class ImgCDNService {
4
5
  constructor() {
5
- this.imgCDNConfig = null;
6
- }
7
- setImgCDNConfig(imgCDNConfig) {
8
- this.imgCDNConfig = imgCDNConfig;
6
+ this.imgCDNConfig = inject(ApiService).IMG_SIZE;
9
7
  }
10
8
  getUrlImg(size) {
11
9
  const urlProperty = Object.keys(this.imgCDNConfig)
@@ -24,5 +22,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
24
22
  args: [{
25
23
  providedIn: 'root'
26
24
  }]
27
- }], ctorParameters: function () { return []; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNkbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBSXhCO1FBRkEsaUJBQVksR0FBb0IsSUFBSSxDQUFDO0lBRXRCLENBQUM7SUFFaEIsZUFBZSxDQUFDLFlBQTZCO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBMEM7UUFDbEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNaLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNwQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDVixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQzs7MEdBeEJVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdDRE5Db25maWdEVE8gfSBmcm9tICcuLi8uLi9kdG8vY29uZmlnL2ltYWdlLWNkbi9pbWFnZS1jZG4tY29uZmlnLmR0byc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltZ0NETlNlcnZpY2Uge1xuXG4gIGltZ0NETkNvbmZpZzogSW1nQ0ROQ29uZmlnRFRPID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgc2V0SW1nQ0ROQ29uZmlnKGltZ0NETkNvbmZpZzogSW1nQ0ROQ29uZmlnRFRPKSB7XG4gICAgdGhpcy5pbWdDRE5Db25maWcgPSBpbWdDRE5Db25maWc7XG4gIH1cblxuICBnZXRVcmxJbWcoc2l6ZTogJzEwMCd8JzIwMCd8JzQwMCd8JzgwMCd8J3Jhdyd8c3RyaW5nKSB7XG4gICAgY29uc3QgdXJsUHJvcGVydHkgPSBPYmplY3Qua2V5cyh0aGlzLmltZ0NETkNvbmZpZylcbiAgICAgIC5maWx0ZXIodXJsID0+XG4gICAgICAgIG5ldyBSZWdFeHAoc2l6ZSwgJ2knKS50ZXN0KHVybClcbiAgICAgIClbMF07XG5cbiAgICAgIHJldHVybiB0aGlzLmltZ0NETkNvbmZpZ1t1cmxQcm9wZXJ0eV07XG4gIH1cblxuICBnZXRBbGxTaXplKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWdDRE5Db25maWcpXG4gICAgLm1hcChlbGVtID0+XG4gICAgICBlbGVtLm1hdGNoKC9fKFxcdyspXy8pWzFdXG4gICAgKTtcbiAgfVxufVxuIl19
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNkbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFLRSxpQkFBWSxHQUFvQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDO0tBaUI3RDtJQWZDLFNBQVMsQ0FBQyxJQUEwQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDL0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ1osSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDSixDQUFDOzswR0FsQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2NvbmZpZy9pbWFnZS1jZG4vaW1hZ2UtY2RuLWNvbmZpZy5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uL2FwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1nQ0ROU2VydmljZSB7XG5cbiAgaW1nQ0ROQ29uZmlnOiBJbWdDRE5Db25maWdEVE8gPSBpbmplY3QoQXBpU2VydmljZSkuSU1HX1NJWkU7XG5cbiAgZ2V0VXJsSW1nKHNpemU6ICcxMDAnfCcyMDAnfCc0MDAnfCc4MDAnfCdyYXcnfHN0cmluZykge1xuICAgIGNvbnN0IHVybFByb3BlcnR5ID0gT2JqZWN0LmtleXModGhpcy5pbWdDRE5Db25maWcpXG4gICAgICAuZmlsdGVyKHVybCA9PlxuICAgICAgICBuZXcgUmVnRXhwKHNpemUsICdpJykudGVzdCh1cmwpXG4gICAgICApWzBdO1xuXG4gICAgICByZXR1cm4gdGhpcy5pbWdDRE5Db25maWdbdXJsUHJvcGVydHldO1xuICB9XG5cbiAgZ2V0QWxsU2l6ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaW1nQ0ROQ29uZmlnKVxuICAgIC5tYXAoZWxlbSA9PlxuICAgICAgZWxlbS5tYXRjaCgvXyhcXHcrKV8vKVsxXVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
1
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
3
  import { delay, of, tap } from "rxjs";
4
+ import { ApiService } from './api.service';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
+ import * as i1 from "./api.service";
6
7
  export class ImgManagerService {
7
- constructor(http) {
8
- this.http = http;
8
+ constructor(apiService) {
9
+ this.apiService = apiService;
9
10
  this.params = new HttpParams().set("limit", "20").set("page", "1");
10
11
  // Display the img selection
11
12
  this.pageFicheProductConfig = {
@@ -46,37 +47,29 @@ export class ImgManagerService {
46
47
  displayBtn: false
47
48
  };
48
49
  }
49
- setApiConfig(img_manager_route, shop_token) {
50
- this.imgManagerRoute = img_manager_route;
51
- this.shopToken = shop_token;
52
- }
53
- getOptionsHeaders(params) {
54
- const header = { headers: new HttpHeaders({
55
- Authorization: 'Bearer ' + this.shopToken
56
- })
57
- };
58
- if (params) {
59
- this.resetParams(params);
60
- header['params'] = this.params;
61
- }
62
- return header;
63
- }
64
50
  getShopImgList(params) {
65
51
  if (params && this.previousParams && this.previousParams.limit === params.limit
66
52
  && this.previousParams.page === params.page && this.shopImgList
67
53
  && this.previousParams.search === params.search) {
68
54
  return of(this.shopImgList).pipe(delay(0));
69
55
  }
70
- return this.http.get(`${this.imgManagerRoute}/images`, this.getOptionsHeaders(params)).pipe(tap((shopImgList) => {
56
+ if (params) {
57
+ this.resetParams(params);
58
+ }
59
+ return this.apiService.getShopImgList(params).pipe(tap((shopImgList) => {
71
60
  this.shopImgList = shopImgList;
72
61
  this.previousParams = params;
73
62
  }));
63
+ ;
74
64
  }
75
65
  getShopTotalImgList(params) {
76
- return this.http.get(`${this.imgManagerRoute}/total/image`, this.getOptionsHeaders(params));
66
+ if (params) {
67
+ this.resetParams(params);
68
+ }
69
+ return this.apiService.getShopTotalImgList(params);
77
70
  }
78
71
  getShopImg(idFile) {
79
- return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());
72
+ return this.apiService.getShopImg(idFile);
80
73
  }
81
74
  resetParams(params) {
82
75
  this.params = new HttpParams();
@@ -88,31 +81,14 @@ export class ImgManagerService {
88
81
  this.params = this.params.set('display_name:contains', params.search);
89
82
  }
90
83
  }
91
- uploadFile(formData) {
92
- return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());
93
- }
94
- uploadFileByUrl(url, fileName) {
95
- const body = {
96
- url,
97
- fileName
98
- };
99
- return this.http.post(`${this.imgManagerRoute}/images/template`, { url, fileName }, this.getOptionsHeaders());
100
- }
101
84
  replaceImg(imageBase64, id_file) {
102
- const body = {
103
- imageBase64,
104
- type: "RAW"
105
- };
106
- return this.http.put(`${this.imgManagerRoute}/images/${id_file}/replace`, body, this.getOptionsHeaders());
107
- }
108
- changeImgName(fileName, id_file) {
109
- return this.http.put(`${this.imgManagerRoute}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
85
+ return this.apiService.replaceImg(imageBase64, id_file);
110
86
  }
111
87
  removeImg(id_file) {
112
- return this.http.delete(`${this.imgManagerRoute}/images/${id_file}`, this.getOptionsHeaders());
88
+ return this.apiService.removeImg(id_file);
113
89
  }
114
90
  removeMultipleImg(id_array) {
115
- return this.http.post(`${this.imgManagerRoute}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
91
+ return this.apiService.removeMultipleImg(id_array);
116
92
  }
117
93
  getImgManagerDisplayConfig(displayName) {
118
94
  switch (displayName) {
@@ -139,12 +115,24 @@ export class ImgManagerService {
139
115
  ];
140
116
  }
141
117
  }
142
- ImgManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
143
- ImgManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService, providedIn: 'root' });
118
+ ImgManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
119
+ ImgManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService });
144
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerService, decorators: [{
145
- type: Injectable,
146
- args: [{
147
- providedIn: 'root'
148
- }]
149
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxpQkFBaUI7SUFrRDVCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUE3Q3BDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztRQUU1RCw0QkFBNEI7UUFDcEIsMkJBQXNCLEdBQTRCO1lBQ3hELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sOEJBQXlCLEdBQTRCO1lBQzNELGNBQWMsRUFBRSxRQUFRO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFBO1FBRU8sb0JBQWUsR0FBNEI7WUFDakQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFB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LENBQUE7SUFDSCxDQUFDOzs4R0F6S1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBkZWxheSwgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPLCBJbWdQaWN0dXJlc0RUTywgUGFyYW1zSW1nTWFuYWdlckRUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlckRpc3BsYXlDb25maWcgfSBmcm9tICcuLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi9kdG8vY29uZmlnL2ltZy1tYW5hZ2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1nTWFuYWdlclNlcnZpY2Uge1xuXG4gIGltZ01hbmFnZXJSb3V0ZTogc3RyaW5nO1xuICBzaG9wVG9rZW46IHN0cmluZztcblxuICBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImxpbWl0XCIsXCIyMFwiKS5zZXQoXCJwYWdlXCIsXCIxXCIpO1xuXG4gIC8vIERpc3BsYXkgdGhlIGltZyBzZWxlY3Rpb25cbiAgcHJpdmF0ZSBwYWdlRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiB0cnVlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIGFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZSxcbiAgICBwYWdlZmljaGVQcm9kdWN0OiB0cnVlXG4gIH1cblxuICBwcml2YXRlIHdpemlibG9ja0NvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcbiAgfVxuXG4gIHByaXZhdGUgc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSBmdWxsV2luZG93Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ3dpbmRvdycsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiBmYWxzZSxcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICBzZXRBcGlDb25maWcoaW1nX21hbmFnZXJfcm91dGU6IHN0cmluZywgc2hvcF90b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5pbWdNYW5hZ2VyUm91dGUgPSBpbWdfbWFuYWdlcl9yb3V0ZTtcbiAgICB0aGlzLnNob3BUb2tlbiA9IHNob3BfdG9rZW47XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvbnNIZWFkZXJzKHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcbiAgICBjb25zdCBoZWFkZXIgPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLnNob3BUb2tlblxuICAgICAgfSlcbiAgICB9O1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHRoaXMucmVzZXRQYXJhbXMocGFyYW1zKTtcbiAgICAgIGhlYWRlclsncGFyYW1zJ10gPSB0aGlzLnBhcmFtc1xuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyO1xuICB9XG5cbiAgc2hvcEltZ0xpc3Q6IEltZ1BpY3R1cmVzRFRPO1xuICBwcmV2aW91c1BhcmFtczogUGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBnZXRTaG9wSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKSB7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zICYmIHRoaXMucHJldmlvdXNQYXJhbXMgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5saW1pdCA9PT0gcGFyYW1zLmxpbWl0XG4gICAgICAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLnBhZ2UgPT09IHBhcmFtcy5wYWdlICYmIHRoaXMuc2hvcEltZ0xpc3RcbiAgICAgICYmIHRoaXMucHJldmlvdXNQYXJhbXMuc2VhcmNoID09PSBwYXJhbXMuc2VhcmNoXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5zaG9wSW1nTGlzdCkucGlwZShkZWxheSgwKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEltZ1BpY3R1cmVzRFRPPihgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzYCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycyhwYXJhbXMpKS5waXBlKFxuICAgICAgdGFwKChzaG9wSW1nTGlzdCkgPT4ge1xuICAgICAgICB0aGlzLnNob3BJbWdMaXN0ID0gc2hvcEltZ0xpc3Q7XG4gICAgICAgIHRoaXMucHJldmlvdXNQYXJhbXMgPSBwYXJhbXM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRTaG9wVG90YWxJbWdMaXN0KHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS90b3RhbC9pbWFnZWAsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMocGFyYW1zKSk7XG4gIH1cblxuICBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRGaWxlfWAsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICByZXNldFBhcmFtcyhwYXJhbXM6IFBhcmFtc0ltZ01hbmFnZXJEVE8pe1xuICAgIHRoaXMucGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldCgnaWRfZmlsZTpzb3J0JywgJ2Rlc2MnKTtcbiAgICBmb3IgKGNvbnN0IHBhcmFtIGluIHBhcmFtcykge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQocGFyYW0sIHBhcmFtc1twYXJhbV0pO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuc2VhcmNoKSB7XG4gICAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldCgnZGlzcGxheV9uYW1lOmNvbnRhaW5zJywgcGFyYW1zLnNlYXJjaCk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRmlsZShmb3JtRGF0YTogRm9ybURhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy90ZW1wbGF0ZWAsIGZvcm1EYXRhLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICB1cmwsXG4gICAgICBmaWxlTmFtZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEltZ1BpY3R1cmVEVE8+KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvdGVtcGxhdGVgLCB7IHVybCwgZmlsZU5hbWUgfSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIGltYWdlQmFzZTY0LFxuICAgICAgdHlwZSA6IFwiUkFXXCJcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkX2ZpbGV9L3JlcGxhY2VgLCBib2R5LCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgY2hhbmdlSW1nTmFtZShmaWxlTmFtZTogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX0/ZmlsZV9uYW1lPSR7ZmlsZU5hbWV9YCwgbnVsbCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlbW92ZUltZyhpZF9maWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzLyR7aWRfZmlsZX1gLCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy1tdWx0aXBsZS1kZWxldGVgLCB7IGlkX2FycmF5IH0sIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICBnZXRJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyhkaXNwbGF5TmFtZTogSW1nTWFuYWdlckNvbmZpZykge1xuICAgIHN3aXRjaCAoZGlzcGxheU5hbWUpIHtcbiAgICAgIGNhc2UgXCJ3aW5kb3dcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbFdpbmRvd0NvbmZpZztcblxuICAgICAgY2FzZSBcIndpemktYmxvY2tcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMud2l6aWJsb2NrQ29uZmlnO1xuXG4gICAgICBjYXNlIFwiZmljaGUtcHJvZHVjdFwiOlxuICAgICAgICByZXR1cm4gdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnO1xuXG4gICAgICBjYXNlIFwic2ltcGxlLXdpdGgtYnV0dG9uXCI6XG4gICAgICAgIHJldHVybiB0aGlzLnNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWc7XG5cbiAgICAgIGNhc2UgJ2FuZ3VsYXItZmljaGUtcHJvZHVjdCc6XG4gICAgICAgIHJldHVybiB0aGlzLmFuZ3VsYXJGaWNoZVByb2R1Y3RDb25maWdcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKCk6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnW10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmZ1bGxXaW5kb3dDb25maWcsXG4gICAgICB0aGlzLndpemlibG9ja0NvbmZpZyxcbiAgICAgIHRoaXMucGFnZUZpY2hlUHJvZHVjdENvbmZpZyxcbiAgICAgIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZyxcbiAgICBdXG4gIH1cbn1cbiJdfQ==
121
+ type: Injectable
122
+ }], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
123
+ export const ImgManagerServiceProvider = {
124
+ provide: ImgManagerService,
125
+ useFactory: (parentService, apiService) => {
126
+ // Vérifie si le service existe déjà dans le provider parent
127
+ if (parentService) {
128
+ return parentService;
129
+ }
130
+ else {
131
+ // Si le service n'existe pas dans le provider parent, crée un nouveau service
132
+ return new ImgManagerService(apiService);
133
+ }
134
+ },
135
+ // Utilise l'injection conditionnelle pour vérifier si le service existe déjà dans le provider parent
136
+ deps: [[new Optional(), new SkipSelf(), ImgManagerService], ApiService],
137
+ };
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLGlCQUFpQjtJQStDNUIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTdDMUMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELDRCQUE0QjtRQUNwQiwyQkFBc0IsR0FBNEI7WUFDeEQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyw4QkFBeUIsR0FBNEI7WUFDM0QsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyxv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LFVBQVUsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUNELHFHQUFxRztJQUNyRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZGVsYXksIE9ic2VydmFibGUsIG9mLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTywgSW1nUGljdHVyZXNEVE8sIFBhcmFtc0ltZ01hbmFnZXJEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnIH0gZnJvbSAnLi4vZHRvL2NvbmZpZy9pbWctbWFuYWdlcic7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbWdNYW5hZ2VyU2VydmljZSB7XG5cbiAgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJsaW1pdFwiLFwiMjBcIikuc2V0KFwicGFnZVwiLFwiMVwiKTtcblxuICAvLyBEaXNwbGF5IHRoZSBpbWcgc2VsZWN0aW9uXG4gIHByaXZhdGUgcGFnZUZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiB0cnVlLFxuICAgIGRpc3BsYXlCdG46IHRydWUsXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSBhbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiB0cnVlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXG4gICAgZGlzcGxheUJ0bjogZmFsc2UsXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSB3aXppYmxvY2tDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlXG4gIH1cblxuICBwcml2YXRlIHNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgZnVsbFdpbmRvd0NvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICd3aW5kb3cnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkgeyB9XG5cbiAgc2hvcEltZ0xpc3Q6IEltZ1BpY3R1cmVzRFRPO1xuICBwcmV2aW91c1BhcmFtczogUGFyYW1zSW1nTWFuYWdlckRUTztcblxuICBnZXRTaG9wSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKSB7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zICYmIHRoaXMucHJldmlvdXNQYXJhbXMgJiYgdGhpcy5wcmV2aW91c1BhcmFtcy5saW1pdCA9PT0gcGFyYW1zLmxpbWl0XG4gICAgICAmJiB0aGlzLnByZXZpb3VzUGFyYW1zLnBhZ2UgPT09IHBhcmFtcy5wYWdlICYmIHRoaXMuc2hvcEltZ0xpc3RcbiAgICAgICYmIHRoaXMucHJldmlvdXNQYXJhbXMuc2VhcmNoID09PSBwYXJhbXMuc2VhcmNoXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5zaG9wSW1nTGlzdCkucGlwZShkZWxheSgwKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgdGhpcy5yZXNldFBhcmFtcyhwYXJhbXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcEltZ0xpc3QocGFyYW1zKS5waXBlKFxuICAgICAgdGFwKChzaG9wSW1nTGlzdCkgPT4ge1xuICAgICAgICB0aGlzLnNob3BJbWdMaXN0ID0gc2hvcEltZ0xpc3Q7XG4gICAgICAgIHRoaXMucHJldmlvdXNQYXJhbXMgPSBwYXJhbXM7XG4gICAgICB9KVxuICAgICk7O1xuICB9XG5cbiAgZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnJlc2V0UGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXMpO1xuICB9XG5cbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcEltZyhpZEZpbGUpO1xuICB9XG5cbiAgcmVzZXRQYXJhbXMocGFyYW1zOiBQYXJhbXNJbWdNYW5hZ2VyRFRPKXtcbiAgICB0aGlzLnBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2lkX2ZpbGU6c29ydCcsICdkZXNjJyk7XG4gICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHtcbiAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXMuc2V0KHBhcmFtLCBwYXJhbXNbcGFyYW1dKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCkge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQoJ2Rpc3BsYXlfbmFtZTpjb250YWlucycsIHBhcmFtcy5zZWFyY2gpO1xuICAgIH1cbiAgfVxuXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5yZXBsYWNlSW1nKGltYWdlQmFzZTY0LCBpZF9maWxlKTtcbiAgfVxuXG5cbiAgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucmVtb3ZlSW1nKGlkX2ZpbGUpO1xuICB9XG5cbiAgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKXtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5KTtcbiAgfVxuXG4gIGdldEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKGRpc3BsYXlOYW1lOiBJbWdNYW5hZ2VyQ29uZmlnKSB7XG4gICAgc3dpdGNoIChkaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSBcIndpbmRvd1wiOlxuICAgICAgICByZXR1cm4gdGhpcy5mdWxsV2luZG93Q29uZmlnO1xuXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxuICAgICAgICByZXR1cm4gdGhpcy53aXppYmxvY2tDb25maWc7XG5cbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VGaWNoZVByb2R1Y3RDb25maWc7XG5cbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZztcblxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZ1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsSW1nTWFuYWdlckRpc3BsYXlDb25maWcoKTogSW1nTWFuYWdlckRpc3BsYXlDb25maWdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZnVsbFdpbmRvd0NvbmZpZyxcbiAgICAgIHRoaXMud2l6aWJsb2NrQ29uZmlnLFxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxuICAgICAgdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnLFxuICAgIF1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgSW1nTWFuYWdlclNlcnZpY2VQcm92aWRlciA9XG57XG4gIHByb3ZpZGU6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICB1c2VGYWN0b3J5OiAocGFyZW50U2VydmljZTogSW1nTWFuYWdlclNlcnZpY2UsIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpID0+IHtcbiAgICAvLyBWw6lyaWZpZSBzaSBsZSBzZXJ2aWNlIGV4aXN0ZSBkw6lqw6AgZGFucyBsZSBwcm92aWRlciBwYXJlbnRcbiAgICBpZiAocGFyZW50U2VydmljZSkge1xuICAgICAgcmV0dXJuIHBhcmVudFNlcnZpY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNpIGxlIHNlcnZpY2UgbidleGlzdGUgcGFzIGRhbnMgbGUgcHJvdmlkZXIgcGFyZW50LCBjcsOpZSB1biBub3V2ZWF1IHNlcnZpY2VcbiAgICAgIHJldHVybiBuZXcgSW1nTWFuYWdlclNlcnZpY2UoYXBpU2VydmljZSk7XG4gICAgfVxuICB9LFxuICAvLyBVdGlsaXNlIGwnaW5qZWN0aW9uIGNvbmRpdGlvbm5lbGxlIHBvdXIgdsOpcmlmaWVyIHNpIGxlIHNlcnZpY2UgZXhpc3RlIGTDqWrDoCBkYW5zIGxlIHByb3ZpZGVyIHBhcmVudFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgSW1nTWFuYWdlclNlcnZpY2VdLCBBcGlTZXJ2aWNlXSxcbn07Il19
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ImgSelectionService {
@@ -69,11 +69,24 @@ export class ImgSelectionService {
69
69
  }
70
70
  }
71
71
  ImgSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- ImgSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionService, providedIn: 'root' });
72
+ ImgSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionService });
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionService, decorators: [{
74
- type: Injectable,
75
- args: [{
76
- providedIn: 'root'
77
- }]
74
+ type: Injectable
78
75
  }], ctorParameters: function () { return []; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQXlDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNOUUsTUFBTSxPQUFPLG1CQUFtQjtJQU01QjtRQUpBLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQXFDLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUMzRiw0QkFBdUIsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFekUsQ0FBQztJQUVoQixlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsZUFBZSxDQUFDLGVBQWdDO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ2xDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTdDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUFlO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFzQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZUFBZ0M7UUFDaEQsOENBQThDO1FBQzlDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dIQTVFUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltZ1NlbGVjdGlvblNlcnZpY2Uge1xuXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgaW1nU2VsZWN0aW9uJDogQmVoYXZpb3JTdWJqZWN0PEltZ1BpY3R1cmVEVE9bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEltZ1BpY3R1cmVEVE9bXT4oW10pO1xuICAgIGltZ1NlbGVjdGVkTGlzdExvYWRpbmckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIGdldEltZ1NlbGVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8vIFVzZSBpbiBpbWcgbWFuYWdlciB3ZWJlbGVtZW50LCB3aGVuIHRoZSBwcm9kdWN0IGltZyBzZWxlY3Rpb24gaXMgcmV0cmlldmVkXG4gICAgc2V0SW1nU2VsZWN0aW9uKGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdKSB7IC8vIFRPRE8gdGVzdCAhXG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCB8fCBbXSk7XG4gICAgfVxuXG4gICAgYWRkSW1nU2VsZWN0ZWQocGljdHVyZSA6IEltZ1BpY3R1cmVEVE8pIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbLi4udGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCksIHBpY3R1cmVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KFtwaWN0dXJlXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJbWdTZWxlY3RlZEJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbWdTZWxlY3RlZExpc3QgPSB0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG5cbiAgICB9XG5cbiAgICByZW1vdmVJbWdTZWxlY3RlZEJ5SWQoaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZUltZ01vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KFtdKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dCh0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKS5maWx0ZXIoaW1nID0+IGltZy5pZF9maWxlICE9PSBpZF9maWxlKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0aW9uQnlJZHMoaWRfZmlsZV9saXN0OiBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQodGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCkuZmlsdGVyKGltZyA9PiBpZF9maWxlX2xpc3QuaW5jbHVkZXMoaW1nLmlkX2ZpbGUpKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQWxsSW1nU2VsZWN0ZWQoKSB7IC8vIFRPRE8gdGVzdCBpdFxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgfVxuXG4gICAgc2V0TXVsdGlwbGVJbWdNb2RlKGFjdGl2YXRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm11bHRpcGxlSW1nTW9kZSA9IGFjdGl2YXRlZDtcbiAgICB9XG5cbiAgICBpbml0SW1nU2VsZWN0ZWRMaXN0KGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgICAgIC8vIFJldHJpZXZlIHRoZSBpbWdTZWxlY3RlZExpc3QgZnJvbSBwYXJhbWV0ZXJcbiAgICAgICAgaWYgKGltZ1NlbGVjdGVkTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoaW1nU2VsZWN0ZWRMaXN0KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlIGFuZ3VsYXIgY2RrIGZ1bmN0aW9uXG4gICAgICogQ2FsbGVkIGJ5IGltZyBzZWxlY3Rpb24gY29tcG9uZW50XG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgbW92ZUltZ09yZGVyKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICAgICAgY29uc3QgZnJvbUluZGV4ID0gZXZlbnQucHJldmlvdXNJbmRleDtcbiAgICAgICAgY29uc3QgdG9JbmRleCA9IGV2ZW50LmN1cnJlbnRJbmRleDtcbiAgICAgICAgY29uc3QgaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCk7XG4gICAgICAgIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UodG9JbmRleCwgMCwgaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoaW1nU2VsZWN0ZWRMaXN0KTtcbiAgICB9XG59XG4iXX0=
76
+ export const ImgSelectionServiceProvider = {
77
+ provide: ImgSelectionService,
78
+ useFactory: (parentService) => {
79
+ console.log('parentService', !!parentService);
80
+ // Vérifie si le service existe déjà dans le provider parent
81
+ if (parentService) {
82
+ return parentService;
83
+ }
84
+ else {
85
+ // Si le service n'existe pas dans le provider parent, crée un nouveau service
86
+ return new ImgSelectionService();
87
+ }
88
+ },
89
+ // Utilise l'injection conditionnelle pour vérifier si le service existe déjà dans le provider parent
90
+ deps: [[new Optional(), new SkipSelf(), ImgSelectionService]],
91
+ };
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSXZDLE1BQU0sT0FBTyxtQkFBbUI7SUFNNUI7UUFKQSxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxrQkFBYSxHQUFxQyxJQUFJLGVBQWUsQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFDM0YsNEJBQXVCLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXpFLENBQUM7SUFFaEIsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLGVBQWUsQ0FBQyxlQUFnQztRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWE7UUFDbEMsTUFBTSxlQUFl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LEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0NBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEltZ1NlbGVjdGlvblNlcnZpY2Uge1xuXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgaW1nU2VsZWN0aW9uJDogQmVoYXZpb3JTdWJqZWN0PEltZ1BpY3R1cmVEVE9bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEltZ1BpY3R1cmVEVE9bXT4oW10pO1xuICAgIGltZ1NlbGVjdGVkTGlzdExvYWRpbmckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIGdldEltZ1NlbGVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8vIFVzZSBpbiBpbWcgbWFuYWdlciB3ZWJlbGVtZW50LCB3aGVuIHRoZSBwcm9kdWN0IGltZyBzZWxlY3Rpb24gaXMgcmV0cmlldmVkXG4gICAgc2V0SW1nU2VsZWN0aW9uKGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdKSB7IC8vIFRPRE8gdGVzdCAhXG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCB8fCBbXSk7XG4gICAgfVxuXG4gICAgYWRkSW1nU2VsZWN0ZWQocGljdHVyZSA6IEltZ1BpY3R1cmVEVE8pIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbLi4udGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCksIHBpY3R1cmVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KFtwaWN0dXJlXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJbWdTZWxlY3RlZEJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbWdTZWxlY3RlZExpc3QgPSB0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCk7XG5cbiAgICB9XG5cbiAgICByZW1vdmVJbWdTZWxlY3RlZEJ5SWQoaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZUltZ01vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KFtdKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dCh0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKS5maWx0ZXIoaW1nID0+IGltZy5pZF9maWxlICE9PSBpZF9maWxlKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1nU2VsZWN0aW9uQnlJZHMoaWRfZmlsZV9saXN0OiBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQodGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCkuZmlsdGVyKGltZyA9PiBpZF9maWxlX2xpc3QuaW5jbHVkZXMoaW1nLmlkX2ZpbGUpKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQWxsSW1nU2VsZWN0ZWQoKSB7IC8vIFRPRE8gdGVzdCBpdFxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgfVxuXG4gICAgc2V0TXVsdGlwbGVJbWdNb2RlKGFjdGl2YXRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm11bHRpcGxlSW1nTW9kZSA9IGFjdGl2YXRlZDtcbiAgICB9XG5cbiAgICBpbml0SW1nU2VsZWN0ZWRMaXN0KGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgICAgIC8vIFJldHJpZXZlIHRoZSBpbWdTZWxlY3RlZExpc3QgZnJvbSBwYXJhbWV0ZXJcbiAgICAgICAgaWYgKGltZ1NlbGVjdGVkTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoaW1nU2VsZWN0ZWRMaXN0KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlIGFuZ3VsYXIgY2RrIGZ1bmN0aW9uXG4gICAgICogQ2FsbGVkIGJ5IGltZyBzZWxlY3Rpb24gY29tcG9uZW50XG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgbW92ZUltZ09yZGVyKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICAgICAgY29uc3QgZnJvbUluZGV4ID0gZXZlbnQucHJldmlvdXNJbmRleDtcbiAgICAgICAgY29uc3QgdG9JbmRleCA9IGV2ZW50LmN1cnJlbnRJbmRleDtcbiAgICAgICAgY29uc3QgaW1nU2VsZWN0ZWRMaXN0ID0gdGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCk7XG4gICAgICAgIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UodG9JbmRleCwgMCwgaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdKTtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoaW1nU2VsZWN0ZWRMaXN0KTtcbiAgICB9XG59XG5cbiAgZXhwb3J0IGNvbnN0IEltZ1NlbGVjdGlvblNlcnZpY2VQcm92aWRlciA9XG4gIHtcbiAgICBwcm92aWRlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHVzZUZhY3Rvcnk6IChwYXJlbnRTZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdwYXJlbnRTZXJ2aWNlJywgISFwYXJlbnRTZXJ2aWNlKTtcbiAgICAgIC8vIFbDqXJpZmllIHNpIGxlIHNlcnZpY2UgZXhpc3RlIGTDqWrDoCBkYW5zIGxlIHByb3ZpZGVyIHBhcmVudFxuICAgICAgaWYgKHBhcmVudFNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudFNlcnZpY2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaSBsZSBzZXJ2aWNlIG4nZXhpc3RlIHBhcyBkYW5zIGxlIHByb3ZpZGVyIHBhcmVudCwgY3LDqWUgdW4gbm91dmVhdSBzZXJ2aWNlXG4gICAgICAgIHJldHVybiBuZXcgSW1nU2VsZWN0aW9uU2VydmljZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gVXRpbGlzZSBsJ2luamVjdGlvbiBjb25kaXRpb25uZWxsZSBwb3VyIHbDqXJpZmllciBzaSBsZSBzZXJ2aWNlIGV4aXN0ZSBkw6lqw6AgZGFucyBsZSBwcm92aWRlciBwYXJlbnRcbiAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgSW1nU2VsZWN0aW9uU2VydmljZV1dLFxuICB9OyJdfQ==
@@ -1,16 +1,16 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { HttpClient, HttpHeaders } from '@angular/common/http';
3
3
  import { map } from "rxjs/operators";
4
- import { ImgManagerConfigService } from './config/external-config.service';
5
4
  import { TranslateService } from '@ngx-translate/core';
5
+ import { ApiService } from './api.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common/http";
8
- import * as i2 from "./config/external-config.service";
8
+ import * as i2 from "./api.service";
9
9
  import * as i3 from "@ngx-translate/core";
10
10
  export class PexelsService {
11
- constructor(http, externalConfigService, translateService) {
11
+ constructor(http, apiService, translateService) {
12
12
  this.http = http;
13
- this.externalConfigService = externalConfigService;
13
+ this.apiService = apiService;
14
14
  this.translateService = translateService;
15
15
  this.languages = { 'fr': 'fr-FR', 'en': 'en-US', 'it': 'it-IT', 'es': 'es-ES' };
16
16
  this.setLang(this.translateService.currentLang);
@@ -18,14 +18,17 @@ export class PexelsService {
18
18
  this.setLang(langData.lang);
19
19
  });
20
20
  }
21
+ get apiBaseUrl() {
22
+ return this.apiService.CONFIG.pexels_route;
23
+ }
24
+ ;
25
+ get apiKey() {
26
+ return this.apiService.CONFIG.pexels_token;
27
+ }
21
28
  setLang(lang) {
22
29
  this.lang = this.languages[lang] ? this.languages[lang] : 'fr-FR';
23
30
  }
24
31
  searchOnPexels(toSearch, perPage, page) {
25
- if (!this.apiBaseUrl || this.apiKey) {
26
- this.apiBaseUrl = this.externalConfigService.getPexelsApiURL();
27
- this.apiKey = this.externalConfigService.getPexelsApiToken();
28
- }
29
32
  const httpOptions = {
30
33
  headers: new HttpHeaders({
31
34
  Authorization: this.apiKey
@@ -37,7 +40,7 @@ export class PexelsService {
37
40
  request = `/search?query=${toSearch}&per_page=${perPage}&page=${page}&locale=${this.lang}`;
38
41
  }
39
42
  else { // Search by category or display Pexels selection
40
- const shopCategory = this.externalConfigService.getShopCategory();
43
+ const shopCategory = this.apiService.CONFIG.shop_category;
41
44
  // Search by shop category
42
45
  if (shopCategory && shopCategory !== 'other' && shopCategory !== 'btob') {
43
46
  request = `/search?query=${shopCategory}&per_page=${perPage}&page=${page}&locale=en-US`;
@@ -51,12 +54,12 @@ export class PexelsService {
51
54
  }));
52
55
  }
53
56
  }
54
- PexelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelsService, deps: [{ token: i1.HttpClient }, { token: i2.ImgManagerConfigService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ PexelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelsService, deps: [{ token: i1.HttpClient }, { token: i2.ApiService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
55
58
  PexelsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelsService, providedIn: 'root' });
56
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PexelsService, decorators: [{
57
60
  type: Injectable,
58
61
  args: [{
59
62
  providedIn: 'root'
60
63
  }]
61
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ImgManagerConfigService }, { type: i3.TranslateService }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3BleGVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBS3ZELE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQ1UsSUFBZ0IsRUFDaEIscUJBQThDLEVBQzlDLGdCQUFrQztRQUZsQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFDOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUw1QyxjQUFTLEdBQUcsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFPdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkUsQ0FBQztJQUVGLGNBQWMsQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBRSxJQUFZO1FBQzVELElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM5RDtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQzNCLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUM7UUFFWix3Q0FBd0M7UUFDeEMsSUFBSSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxpQkFBaUIsUUFBUSxhQUFhLE9BQU8sU0FBUyxJQUFJLFdBQVcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBRTVGO2FBQU0sRUFBRSxpREFBaUQ7WUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRWxFLDBCQUEwQjtZQUMxQixJQUFJLFlBQVksSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLFlBQVksS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZFLE9BQU8sR0FBRyxpQkFBaUIsWUFBWSxhQUFhLE9BQU8sU0FBUyxJQUFJLGVBQWUsQ0FBQzthQUN6RjtpQkFBTSxFQUFFLDJCQUEyQjtnQkFDbEMsT0FBTyxHQUFHLHFCQUFxQixPQUFPLFNBQVMsSUFBSSxFQUFFLENBQUM7YUFDdkQ7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsQ0FBQyxJQUFpQixFQUFFLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEdBdkRVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7V3pJbWdMaWJEdG99IGZyb20gXCIuLi9kdG8vcGV4ZWxzLWltZy5kdG9cIjtcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQZXhlbHNTZXJ2aWNlIHtcbiAgYXBpQmFzZVVybDtcbiAgYXBpS2V5O1xuICBsYW5nOiBzdHJpbmc7XG4gIGxhbmd1YWdlcyA9IHsnZnInOiAnZnItRlInLCAnZW4nOiAnZW4tVVMnLCAnaXQnOiAnaXQtSVQnLCAnZXMnOiAnZXMtRVMnfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEltZ01hbmFnZXJDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNldExhbmcodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZShsYW5nRGF0YSA9PiB7XG4gICAgICB0aGlzLnNldExhbmcobGFuZ0RhdGEubGFuZyk7XG4gICAgfSlcbiAgIH1cblxuICAgc2V0TGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxhbmd1YWdlc1tsYW5nXSA/IHRoaXMubGFuZ3VhZ2VzW2xhbmddIDogJ2ZyLUZSJztcbiAgIH1cblxuICBzZWFyY2hPblBleGVscyh0b1NlYXJjaDogc3RyaW5nLCBwZXJQYWdlOiBudW1iZXIsIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8V3pJbWdMaWJEdG8+IHtcbiAgICBpZighdGhpcy5hcGlCYXNlVXJsIHx8IHRoaXMuYXBpS2V5KSB7XG4gICAgICB0aGlzLmFwaUJhc2VVcmwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRQZXhlbHNBcGlVUkwoKTtcbiAgICAgIHRoaXMuYXBpS2V5ID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0UGV4ZWxzQXBpVG9rZW4oKTtcbiAgICB9XG5cbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuYXBpS2V5XG4gICAgICB9KVxuICAgIH07XG5cbiAgICBsZXQgcmVxdWVzdDtcblxuICAgIC8vIElmIHNlYXJjaCB2YWx1ZSBpcyBub3QgZW1wdHkgb3IgYmxhbmtcbiAgICBpZiAodG9TZWFyY2ggJiYgIS9eXFxzKiQvLnRlc3QodG9TZWFyY2gpKSB7XG4gICAgICByZXF1ZXN0ID0gYC9zZWFyY2g/cXVlcnk9JHt0b1NlYXJjaH0mcGVyX3BhZ2U9JHtwZXJQYWdlfSZwYWdlPSR7cGFnZX0mbG9jYWxlPSR7dGhpcy5sYW5nfWA7XG5cbiAgICB9IGVsc2UgeyAvLyBTZWFyY2ggYnkgY2F0ZWdvcnkgb3IgZGlzcGxheSBQZXhlbHMgc2VsZWN0aW9uXG4gICAgICBjb25zdCBzaG9wQ2F0ZWdvcnkgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRTaG9wQ2F0ZWdvcnkoKTtcblxuICAgICAgLy8gU2VhcmNoIGJ5IHNob3AgY2F0ZWdvcnlcbiAgICAgIGlmIChzaG9wQ2F0ZWdvcnkgJiYgc2hvcENhdGVnb3J5ICE9PSAnb3RoZXInICYmIHNob3BDYXRlZ29yeSAhPT0gJ2J0b2InKSB7XG4gICAgICAgIHJlcXVlc3QgPSBgL3NlYXJjaD9xdWVyeT0ke3Nob3BDYXRlZ29yeX0mcGVyX3BhZ2U9JHtwZXJQYWdlfSZwYWdlPSR7cGFnZX0mbG9jYWxlPWVuLVVTYDtcbiAgICAgIH0gZWxzZSB7IC8vIERpc3BsYXkgUGV4ZWxzIHNlbGVjdGlvblxuICAgICAgICByZXF1ZXN0ID0gYC9jdXJhdGVkP3Blcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaUJhc2VVcmwgKyByZXF1ZXN0LCBodHRwT3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgoZGF0YTogV3pJbWdMaWJEdG8pID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
64
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ApiService }, { type: i3.TranslateService }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3BleGVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFLM0MsTUFBTSxPQUFPLGFBQWE7SUFVeEIsWUFDVSxJQUFnQixFQUNoQixVQUFzQixFQUN0QixnQkFBa0M7UUFGbEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFMNUMsY0FBUyxHQUFHLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDO1FBT3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQWxCRixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM3QyxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFlQSxPQUFPLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNuRSxDQUFDO0lBRUYsY0FBYyxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLElBQVk7UUFDNUQsTUFBTSxXQUFXLEdBQUc7WUFDbEIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDM0IsQ0FBQztTQUNILENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQztRQUVaLHdDQUF3QztRQUN4QyxJQUFJLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkMsT0FBTyxHQUFHLGlCQUFpQixRQUFRLGFBQWEsT0FBTyxTQUFTLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FFNUY7YUFBTSxFQUFFLGlEQUFpRDtZQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFFMUQsMEJBQTBCO1lBQzFCLElBQUksWUFBWSxJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksWUFBWSxLQUFLLE1BQU0sRUFBRTtnQkFDdkUsT0FBTyxHQUFHLGlCQUFpQixZQUFZLGFBQWEsT0FBTyxTQUFTLElBQUksZUFBZSxDQUFDO2FBQ3pGO2lCQUFNLEVBQUUsMkJBQTJCO2dCQUNsQyxPQUFPLEdBQUcscUJBQXFCLE9BQU8sU0FBUyxJQUFJLEVBQUUsQ0FBQzthQUN2RDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzswR0F0RFUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtXekltZ0xpYkR0b30gZnJvbSBcIi4uL2R0by9wZXhlbHMtaW1nLmR0b1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQZXhlbHNTZXJ2aWNlIHtcbiAgZ2V0IGFwaUJhc2VVcmwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5DT05GSUcucGV4ZWxzX3JvdXRlO1xuICB9O1xuICBnZXQgYXBpS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLnBleGVsc190b2tlbjtcbiAgfVxuICBsYW5nOiBzdHJpbmc7XG4gIGxhbmd1YWdlcyA9IHsnZnInOiAnZnItRlInLCAnZW4nOiAnZW4tVVMnLCAnaXQnOiAnaXQtSVQnLCAnZXMnOiAnZXMtRVMnfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNldExhbmcodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZShsYW5nRGF0YSA9PiB7XG4gICAgICB0aGlzLnNldExhbmcobGFuZ0RhdGEubGFuZyk7XG4gICAgfSlcbiAgIH1cblxuICAgc2V0TGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxhbmd1YWdlc1tsYW5nXSA/IHRoaXMubGFuZ3VhZ2VzW2xhbmddIDogJ2ZyLUZSJztcbiAgIH1cblxuICBzZWFyY2hPblBleGVscyh0b1NlYXJjaDogc3RyaW5nLCBwZXJQYWdlOiBudW1iZXIsIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8V3pJbWdMaWJEdG8+IHtcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuYXBpS2V5XG4gICAgICB9KVxuICAgIH07XG5cbiAgICBsZXQgcmVxdWVzdDtcblxuICAgIC8vIElmIHNlYXJjaCB2YWx1ZSBpcyBub3QgZW1wdHkgb3IgYmxhbmtcbiAgICBpZiAodG9TZWFyY2ggJiYgIS9eXFxzKiQvLnRlc3QodG9TZWFyY2gpKSB7XG4gICAgICByZXF1ZXN0ID0gYC9zZWFyY2g/cXVlcnk9JHt0b1NlYXJjaH0mcGVyX3BhZ2U9JHtwZXJQYWdlfSZwYWdlPSR7cGFnZX0mbG9jYWxlPSR7dGhpcy5sYW5nfWA7XG5cbiAgICB9IGVsc2UgeyAvLyBTZWFyY2ggYnkgY2F0ZWdvcnkgb3IgZGlzcGxheSBQZXhlbHMgc2VsZWN0aW9uXG4gICAgICBjb25zdCBzaG9wQ2F0ZWdvcnkgPSB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLnNob3BfY2F0ZWdvcnk7XG5cbiAgICAgIC8vIFNlYXJjaCBieSBzaG9wIGNhdGVnb3J5XG4gICAgICBpZiAoc2hvcENhdGVnb3J5ICYmIHNob3BDYXRlZ29yeSAhPT0gJ290aGVyJyAmJiBzaG9wQ2F0ZWdvcnkgIT09ICdidG9iJykge1xuICAgICAgICByZXF1ZXN0ID0gYC9zZWFyY2g/cXVlcnk9JHtzaG9wQ2F0ZWdvcnl9JnBlcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9JmxvY2FsZT1lbi1VU2A7XG4gICAgICB9IGVsc2UgeyAvLyBEaXNwbGF5IFBleGVscyBzZWxlY3Rpb25cbiAgICAgICAgcmVxdWVzdCA9IGAvY3VyYXRlZD9wZXJfcGFnZT0ke3BlclBhZ2V9JnBhZ2U9JHtwYWdlfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5hcGlCYXNlVXJsICsgcmVxdWVzdCwgaHR0cE9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IFd6SW1nTGliRHRvKSA9PiB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=