@dsivd/prestations-ng 15.5.2 → 15.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dsivd-prestations-ng-v15.5.3.tgz +0 -0
  3. package/esm2020/foehn-input-date-time/foehn-input-date-time.component.mjs +7 -3
  4. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +11 -6
  5. package/esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +14 -6
  6. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +15 -8
  7. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +8 -4
  8. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +9 -3
  9. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +15 -8
  10. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +8 -4
  11. package/esm2020/supported-browser.mjs +2 -2
  12. package/fesm2015/dsivd-prestations-ng.mjs +63 -28
  13. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
  14. package/fesm2020/dsivd-prestations-ng.mjs +62 -28
  15. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
  16. package/foehn-input-date-time/foehn-input-date-time.component.d.ts +1 -0
  17. package/foehn-status-progress-bar/foehn-status-progress-bar.component.d.ts +1 -1
  18. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +3 -1
  19. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.d.ts +2 -1
  20. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +2 -1
  21. package/package.json +1 -1
  22. package/dsivd-prestations-ng-v15.5.2.tgz +0 -0
package/CHANGELOG.md CHANGED
@@ -26,6 +26,35 @@ A change is considered **breaking** if you have to change your code or update yo
26
26
 
27
27
  ---
28
28
 
29
+ ## [15.5.3]
30
+
31
+ ### Added
32
+
33
+ - [foehn-bo-multi-upload.component.html](projects/prestations-ng/src/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.html)
34
+ - Added `<foehn-upload-progress-bar></foehn-upload-progress-bar>`
35
+
36
+ - [foehn-status-progress-bar.component.ts](projects/prestations-ng/src/foehn-status-progress-bar/foehn-status-progress-bar.component.ts)
37
+ - In your application routing module, you can force page to be in step 2 (Verification)
38
+
39
+ ```diff
40
+ data: {
41
+ order: 3,
42
+ + isStep2: true
43
+ }
44
+ ```
45
+
46
+ ### Fixed
47
+
48
+ - [foehn-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.ts)
49
+ - Now provides `MultiUploadService` and `UploadProgressService` to avoid using a singleton
50
+
51
+ - [foehn-bo-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.ts)
52
+ - Now provides `BoMultiUploadService` and `UploadProgressService` to avoid using a singleton
53
+
54
+ - [foehn-input-date-time.component.ts](projects/prestations-ng/src/foehn-input-date-time/foehn-input-date-time.component.ts)
55
+ - [foehn-input-date-time.component.html](projects/prestations-ng/src/foehn-input-date-time/foehn-input-date-time.component.html)
56
+ - Fixed date picker not selecting nor updating model after first selection
57
+
29
58
  ## [15.5.2]
30
59
 
31
60
  ### Updated
Binary file
@@ -69,6 +69,10 @@ export class FoehnDateTimeComponent extends FoehnInputComponent {
69
69
  handleUserInputTime(value) {
70
70
  this.userInputTimeSubject.next(value);
71
71
  }
72
+ handleUserInputDate() {
73
+ this.updateDateTime();
74
+ this.handleUserInput();
75
+ }
72
76
  onModelChange(value) {
73
77
  if (value && value.length >= 5) {
74
78
  this.date = value.slice(0, 3);
@@ -113,7 +117,7 @@ FoehnDateTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
113
117
  useExisting: forwardRef(() => FoehnDateTimeComponent),
114
118
  multi: true
115
119
  }
116
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend *ngIf=\"!!label\" [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\">\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n hideDatePickerButton\n ? 'col-lg-7 col-md-9'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-sm-7 pr-sm-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (modelChange)=\"updateDateTime()\"\n (userInput)=\"handleUserInput()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-sm-5 pl-sm-0\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_date'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-time>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnDateComponent, selector: "foehn-input-date", inputs: ["disableDay", "disableMonth", "disableYear", "minDate", "maxDate", "hideDatePickerButton"] }, { type: i3.FoehnTimeComponent, selector: "foehn-input-time" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
120
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend *ngIf=\"!!label\" [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\">\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n hideDatePickerButton\n ? 'col-lg-7 col-md-9'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-sm-7 pr-sm-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (userInput)=\"handleUserInputDate()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-sm-5 pl-sm-0\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_date'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-time>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnDateComponent, selector: "foehn-input-date", inputs: ["disableDay", "disableMonth", "disableYear", "minDate", "maxDate", "hideDatePickerButton"] }, { type: i3.FoehnTimeComponent, selector: "foehn-input-time" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
117
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnDateTimeComponent, decorators: [{
118
122
  type: Component,
119
123
  args: [{ selector: 'foehn-input-date-time', providers: [
@@ -122,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
122
126
  useExisting: forwardRef(() => FoehnDateTimeComponent),
123
127
  multi: true
124
128
  }
125
- ], template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend *ngIf=\"!!label\" [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\">\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n hideDatePickerButton\n ? 'col-lg-7 col-md-9'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-sm-7 pr-sm-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (modelChange)=\"updateDateTime()\"\n (userInput)=\"handleUserInput()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-sm-5 pl-sm-0\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_date'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-time>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n" }]
129
+ ], template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend *ngIf=\"!!label\" [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\">\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n hideDatePickerButton\n ? 'col-lg-7 col-md-9'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-sm-7 pr-sm-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (userInput)=\"handleUserInputDate()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-sm-5 pl-sm-0\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_date'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n ></foehn-input-time>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n" }]
126
130
  }], ctorParameters: function () { return []; }, propDecorators: { disableDay: [{
127
131
  type: Input
128
132
  }], disableMonth: [{
@@ -136,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
136
140
  }], hideDatePickerButton: [{
137
141
  type: Input
138
142
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC1kYXRlLXRpbWUvZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC1kYXRlLXRpbWUvZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUV0RDs7O0dBR0c7QUFDSCwrREFBK0Q7QUFDL0QsU0FBUyxPQUFPLENBQUMsR0FBVztJQUN4QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtRQUNuQyxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7S0FDcEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFhRCxNQUFNLE9BQU8sc0JBQ1QsU0FBUSxtQkFBNkI7SUE0QnJDO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUExQlosZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDN0JMLG9xR0FrRkE7NEZEbkRhLHNCQUFzQjtrQkFYbEMsU0FBUzsrQkFDSSx1QkFBdUIsYUFFdEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzBFQU1ELFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQHBhcmFtIG51bSBhcyBzdHJpbmdcbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWFycm93L3ByZWZlci1hcnJvdy1mdW5jdGlvbnNcbmZ1bmN0aW9uIGxlZnRQYWQobnVtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChudW0gPT09IHVuZGVmaW5lZCB8fCBudW0gPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAobnVtLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgcmV0dXJuIGAwJHtudW19YDtcbiAgICB9XG4gICAgcmV0dXJuIG51bTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC1kYXRlLXRpbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5EYXRlVGltZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkRhdGVUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0Q29tcG9uZW50PG51bWJlcltdPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVEYXkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZU1vbnRoID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVZZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkRhdGU6IG51bWJlcltdO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhEYXRlOiBudW1iZXJbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZURhdGVQaWNrZXJCdXR0b24gPSBmYWxzZTtcblxuICAgIGRhdGU6IG51bWJlcltdID0gbnVsbDtcbiAgICB0aW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSB1c2VySW5wdXRUaW1lU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICBwcml2YXRlIHRpbWVNb2RlbENoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gd2FpdCBmb3IgZm9laG4taW5wdXQtdGltZSBtb2RlbENoYW5nZSB0byBiZSBmaXJlZCBhcyBpdCBpcyBkb25lIG9uICdmb2N1c091dCdcbiAgICAgICAgLy8gb3RoZXJ3aXNlIHVzZXJJbnB1dCB2YWx1ZSBhbmQgdGltZSBtb2RlbCBhcmUgbm90IHN5bmNocm9uaXplZFxuICAgICAgICB0aGlzLnVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YmplY3QuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlbENoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChbdXNlcklucHV0VGltZSwgdGltZU1vZGVsXSkgPT4gdXNlcklucHV0VGltZSA9PT0gdGltZU1vZGVsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVc2VySW5wdXQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICBpZiAoISF0aGlzLnVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0ZVRpbWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGltZU1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVEYXRlVGltZSgpO1xuICAgICAgICB0aGlzLnRpbWVNb2RlbENoYW5nZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0VGltZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+PSA1KSB7XG4gICAgICAgICAgICB0aGlzLmRhdGUgPSB2YWx1ZS5zbGljZSgwLCAzKTtcbiAgICAgICAgICAgIHRoaXMudGltZSA9IGAke2xlZnRQYWQodGhpcy50b1N0cmluZyh2YWx1ZVszXSkpfToke2xlZnRQYWQoXG4gICAgICAgICAgICAgICAgdGhpcy50b1N0cmluZyh2YWx1ZVs0XSlcbiAgICAgICAgICAgICl9YDtcbiAgICAgICAgfSBlbHNlIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnRpbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VmFsaWRWYWx1ZSgpOiBudW1iZXJbXSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy5pc0VtcHR5KHRoaXMuZGF0ZSkgJiYgdGhpcy5pc0VtcHR5KHRoaXMudGltZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsXyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBudW1iZXJbXSA9IFtudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsXTtcbiAgICAgICAgaWYgKCEhdGhpcy5kYXRlKSB7XG4gICAgICAgICAgICByZXN1bHRbMF0gPSB0aGlzLmRhdGVbMF07XG4gICAgICAgICAgICByZXN1bHRbMV0gPSB0aGlzLmRhdGVbMV07XG4gICAgICAgICAgICByZXN1bHRbMl0gPSB0aGlzLmRhdGVbMl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGltZVBhcnRzID0gISF0aGlzLnRpbWUgPyB0aGlzLnRpbWUuc3BsaXQoJzonKSA6IG51bGw7XG4gICAgICAgIGlmICh0aW1lUGFydHMpIHtcbiAgICAgICAgICAgIHJlc3VsdFszXSA9IHRoaXMudG9OdW1iZXIodGltZVBhcnRzWzBdKTtcbiAgICAgICAgICAgIHJlc3VsdFs0XSA9IHRoaXMudG9OdW1iZXIodGltZVBhcnRzWzFdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9OdW1iZXIoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gc3RyID8gTnVtYmVyKHN0cikgOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9TdHJpbmcobnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbnVtID8gbnVtLnRvU3RyaW5nKCkgOiBudWxsO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgIFtjbGFzcy5oYXMtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbY2xhc3MudmQtZm9ybS1ncm91cC1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8ZmllbGRzZXRcbiAgICAgICAgY2xhc3M9XCJtYi0zXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgID5cbiAgICAgICAgPGxlZ2VuZCAqbmdJZj1cIiEhbGFiZWxcIiBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogJ3ZkLXAnXCI+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sZWdlbmQ+XG5cbiAgICAgICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAqbmdJZj1cImhlbHBUZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoKSArICdIZWxwJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgICAgICA+PC9zbWFsbD5cblxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoKSArICdNYWluQ29sdW1uJ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgIGhpZGVEYXRlUGlja2VyQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdjb2wtbGctNyBjb2wtbWQtOSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ2NvbC1sZy04IGNvbC1tZC0xMCdcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgpICsgJ0RhdGVDb2x1bW4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLXNtLTcgcHItc20tMFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1kYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkSWQoKSArICdfZGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX2RhdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZURheV09XCJkaXNhYmxlRGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZU1vbnRoXT1cImRpc2FibGVNb250aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVZZWFyXT1cImRpc2FibGVZZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZURhdGVQaWNrZXJCdXR0b25dPVwiaGlkZURhdGVQaWNrZXJCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVEYXRlVGltZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtZGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoKSArICdUaW1lQ29sdW1uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1zbS01IHBsLXNtLTBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtdGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3RpbWUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19kYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwidGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInRpbWVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dFRpbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LXRpbWU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC1kYXRlLXRpbWUvZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1pbnB1dC1kYXRlLXRpbWUvZm9laG4taW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUV0RDs7O0dBR0c7QUFDSCwrREFBK0Q7QUFDL0QsU0FBUyxPQUFPLENBQUMsR0FBVztJQUN4QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtRQUNuQyxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7S0FDcEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFhRCxNQUFNLE9BQU8sc0JBQ1QsU0FBUSxtQkFBNkI7SUE0QnJDO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUExQlosZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7O29IQTVIUSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzT0FScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDN0JMLHdtR0FpRkE7NEZEbERhLHNCQUFzQjtrQkFYbEMsU0FBUzsrQkFDSSx1QkFBdUIsYUFFdEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzBFQU1ELFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQHBhcmFtIG51bSBhcyBzdHJpbmdcbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWFycm93L3ByZWZlci1hcnJvdy1mdW5jdGlvbnNcbmZ1bmN0aW9uIGxlZnRQYWQobnVtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChudW0gPT09IHVuZGVmaW5lZCB8fCBudW0gPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAobnVtLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgcmV0dXJuIGAwJHtudW19YDtcbiAgICB9XG4gICAgcmV0dXJuIG51bTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1pbnB1dC1kYXRlLXRpbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5EYXRlVGltZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkRhdGVUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGb2VobklucHV0Q29tcG9uZW50PG51bWJlcltdPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVEYXkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZU1vbnRoID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVZZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkRhdGU6IG51bWJlcltdO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhEYXRlOiBudW1iZXJbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZURhdGVQaWNrZXJCdXR0b24gPSBmYWxzZTtcblxuICAgIGRhdGU6IG51bWJlcltdID0gbnVsbDtcbiAgICB0aW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSB1c2VySW5wdXRUaW1lU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICBwcml2YXRlIHRpbWVNb2RlbENoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gd2FpdCBmb3IgZm9laG4taW5wdXQtdGltZSBtb2RlbENoYW5nZSB0byBiZSBmaXJlZCBhcyBpdCBpcyBkb25lIG9uICdmb2N1c091dCdcbiAgICAgICAgLy8gb3RoZXJ3aXNlIHVzZXJJbnB1dCB2YWx1ZSBhbmQgdGltZSBtb2RlbCBhcmUgbm90IHN5bmNocm9uaXplZFxuICAgICAgICB0aGlzLnVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YmplY3QuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlbENoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChbdXNlcklucHV0VGltZSwgdGltZU1vZGVsXSkgPT4gdXNlcklucHV0VGltZSA9PT0gdGltZU1vZGVsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVc2VySW5wdXQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICBpZiAoISF0aGlzLnVzZXJJbnB1dFRpbWVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0ZVRpbWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGltZU1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVEYXRlVGltZSgpO1xuICAgICAgICB0aGlzLnRpbWVNb2RlbENoYW5nZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0VGltZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXNlcklucHV0VGltZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVEYXRlVGltZSgpO1xuICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IG51bWJlcltdKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPj0gNSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gdmFsdWUuc2xpY2UoMCwgMyk7XG4gICAgICAgICAgICB0aGlzLnRpbWUgPSBgJHtsZWZ0UGFkKHRoaXMudG9TdHJpbmcodmFsdWVbM10pKX06JHtsZWZ0UGFkKFxuICAgICAgICAgICAgICAgIHRoaXMudG9TdHJpbmcodmFsdWVbNF0pXG4gICAgICAgICAgICApfWA7XG4gICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50aW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFZhbGlkVmFsdWUoKTogbnVtYmVyW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSh0aGlzLmRhdGUpICYmIHRoaXMuaXNFbXB0eSh0aGlzLnRpbWUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbF8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogbnVtYmVyW10gPSBbbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbF07XG4gICAgICAgIGlmICghIXRoaXMuZGF0ZSkge1xuICAgICAgICAgICAgcmVzdWx0WzBdID0gdGhpcy5kYXRlWzBdO1xuICAgICAgICAgICAgcmVzdWx0WzFdID0gdGhpcy5kYXRlWzFdO1xuICAgICAgICAgICAgcmVzdWx0WzJdID0gdGhpcy5kYXRlWzJdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRpbWVQYXJ0cyA9ICEhdGhpcy50aW1lID8gdGhpcy50aW1lLnNwbGl0KCc6JykgOiBudWxsO1xuICAgICAgICBpZiAodGltZVBhcnRzKSB7XG4gICAgICAgICAgICByZXN1bHRbM10gPSB0aGlzLnRvTnVtYmVyKHRpbWVQYXJ0c1swXSk7XG4gICAgICAgICAgICByZXN1bHRbNF0gPSB0aGlzLnRvTnVtYmVyKHRpbWVQYXJ0c1sxXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTnVtYmVyKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHN0ciA/IE51bWJlcihzdHIpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvU3RyaW5nKG51bTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG51bSA/IG51bS50b1N0cmluZygpIDogbnVsbDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGZpZWxkc2V0XG4gICAgICAgIGNsYXNzPVwibWItM1wiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZ2V0RGVzY3JpYmVkQnkoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICA+XG4gICAgICAgIDxsZWdlbmQgKm5nSWY9XCIhIWxhYmVsXCIgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICdzci1vbmx5JyA6ICd2ZC1wJ1wiPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGVnZW5kPlxuXG4gICAgICAgIDxmb2Vobi12YWxpZGF0aW9uLWFsZXJ0cyBbY29tcG9uZW50XT1cInRoaXNcIj48L2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzPlxuXG4gICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwVGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICAgICAgPjwvc21hbGw+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZElkKCkgKyAnTWFpbkNvbHVtbidcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICBoaWRlRGF0ZVBpY2tlckJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnY29sLWxnLTcgY29sLW1kLTknXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdjb2wtbGctOCBjb2wtbWQtMTAnXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoKSArICdEYXRlQ29sdW1uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1zbS03IHByLXNtLTBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtZGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX2RhdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19kYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVEYXldPVwiZGlzYWJsZURheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVNb250aF09XCJkaXNhYmxlTW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlWWVhcl09XCJkaXNhYmxlWWVhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVEYXRlUGlja2VyQnV0dG9uXT1cImhpZGVEYXRlUGlja2VyQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXNlcklucHV0KT1cImhhbmRsZVVzZXJJbnB1dERhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LWRhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZElkKCkgKyAnVGltZUNvbHVtbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtc20tNSBwbC1zbS0wXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWlucHV0LXRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ190aW1lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSArICdfZGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ0aW1lTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVzZXJJbnB1dCk9XCJoYW5kbGVVc2VySW5wdXRUaW1lKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC10aW1lPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -20,11 +20,16 @@ export class FoehnStatusProgressBarComponent {
20
20
  isEnabled() {
21
21
  return this.hidden !== true;
22
22
  }
23
- isStepVerificationActive() {
24
- return (this.isTransmitted ||
23
+ isStep2Active() {
24
+ if (this.isTransmitted ||
25
25
  (this.navigation.initialized &&
26
26
  this.navigation.isLastFormPage() &&
27
- !this.navigation.isFirstFormPage()));
27
+ !this.navigation.isFirstFormPage())) {
28
+ return true;
29
+ }
30
+ const orderedRoutes = this.navigation.orderedRoutes;
31
+ return (!!orderedRoutes &&
32
+ !!orderedRoutes[this.navigation.currentRouteOrder]?.data?.isStep2);
28
33
  }
29
34
  ngOnInit() {
30
35
  this.isTransmittedSub = merge(of(this.gesdemHand.lastResponse?.meta), this.gesdemHand.updateFormDataSubject.pipe(map(() => this.gesdemHand.lastResponse.meta)))
@@ -40,11 +45,11 @@ export class FoehnStatusProgressBarComponent {
40
45
  }
41
46
  }
42
47
  FoehnStatusProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnStatusProgressBarComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FoehnNavigationService }, { token: i3.GesdemEventService }, { token: i4.GesdemHandlerService }], target: i0.ɵɵFactoryTarget.Component });
43
- FoehnStatusProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FoehnStatusProgressBarComponent, selector: "foehn-status-progress-bar", inputs: { hidden: "hidden" }, ngImport: i0, template: "<div *ngIf=\"isEnabled()\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col\">\n <div\n class=\"sr-only\"\n aria-live=\"polite\"\n role=\"status\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n >\n <span *ngIf=\"isTransmitted; else notTransmitted\">\n {{\n 'foehn-status-progress-bar.step3.srOnly'\n | fromDictionary\n }}\n </span>\n <ng-template #notTransmitted>\n <span *ngIf=\"isStepVerificationActive()\">\n {{\n 'foehn-status-progress-bar.step2.srOnly'\n | fromDictionary\n }}\n </span>\n <span *ngIf=\"!isStepVerificationActive()\">\n {{\n 'foehn-status-progress-bar.step1.srOnly'\n | fromDictionary\n }}\n </span>\n </ng-template>\n </div>\n\n <ul id=\"progressbar\" class=\"pl-0 mt-1\" aria-hidden=\"true\">\n <li class=\"active\" id=\"step1\">\n <strong>\n {{\n 'foehn-status-progress-bar.step1'\n | fromDictionary\n }}\n </strong>\n </li>\n <li\n id=\"step2\"\n [ngClass]=\"{\n active: isStepVerificationActive()\n }\"\n >\n <strong>\n {{\n 'foehn-status-progress-bar.step2'\n | fromDictionary\n }}\n </strong>\n </li>\n\n <li id=\"step3\" [ngClass]=\"{ active: isTransmitted }\">\n <strong>\n {{\n 'foehn-status-progress-bar.step3'\n | fromDictionary\n }}\n </strong>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".col{text-align:center;position:relative}#progressbar{overflow:hidden;color:#d3d3d3}#progressbar .active{color:var(--vd-primary-dark)}#progressbar li{list-style-type:none;font-size:15px;width:33%;float:left;position:relative;font-weight:400}#progressbar #step1:before{content:\"1\"}#progressbar #step2:before{content:\"2\"}#progressbar #step3:before{content:\"3\"}#progressbar li:before{width:50px;height:50px;line-height:45px;display:block;font-size:20px;color:var(--white);background:lightgray;border-radius:50%;margin:0 auto 10px;padding:2px}#progressbar li:after{content:\"\";width:100%;height:2px;background:lightgray;position:absolute;left:0;top:25px;z-index:-1}#progressbar li.active:before,#progressbar li.active:after{background:var(--vd-primary-dark)}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "fromDictionary": i6.SdkDictionaryPipe } });
48
+ FoehnStatusProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FoehnStatusProgressBarComponent, selector: "foehn-status-progress-bar", inputs: { hidden: "hidden" }, ngImport: i0, template: "<div *ngIf=\"isEnabled()\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col\">\n <div\n class=\"sr-only\"\n aria-live=\"polite\"\n role=\"status\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n >\n <span *ngIf=\"isTransmitted; else notTransmitted\">\n {{\n 'foehn-status-progress-bar.step3.srOnly'\n | fromDictionary\n }}\n </span>\n <ng-template #notTransmitted>\n <span *ngIf=\"isStep2Active()\">\n {{\n 'foehn-status-progress-bar.step2.srOnly'\n | fromDictionary\n }}\n </span>\n <span *ngIf=\"!isStep2Active()\">\n {{\n 'foehn-status-progress-bar.step1.srOnly'\n | fromDictionary\n }}\n </span>\n </ng-template>\n </div>\n\n <ul id=\"progressbar\" class=\"pl-0 mt-1\" aria-hidden=\"true\">\n <li class=\"active\" id=\"step1\">\n <strong>\n {{\n 'foehn-status-progress-bar.step1'\n | fromDictionary\n }}\n </strong>\n </li>\n <li\n id=\"step2\"\n [ngClass]=\"{\n active: isStep2Active()\n }\"\n >\n <strong>\n {{\n 'foehn-status-progress-bar.step2'\n | fromDictionary\n }}\n </strong>\n </li>\n\n <li id=\"step3\" [ngClass]=\"{ active: isTransmitted }\">\n <strong>\n {{\n 'foehn-status-progress-bar.step3'\n | fromDictionary\n }}\n </strong>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".col{text-align:center;position:relative}#progressbar{overflow:hidden;color:#d3d3d3}#progressbar .active{color:var(--vd-primary-dark)}#progressbar li{list-style-type:none;font-size:15px;width:33%;float:left;position:relative;font-weight:400}#progressbar #step1:before{content:\"1\"}#progressbar #step2:before{content:\"2\"}#progressbar #step3:before{content:\"3\"}#progressbar li:before{width:50px;height:50px;line-height:45px;display:block;font-size:20px;color:var(--white);background:lightgray;border-radius:50%;margin:0 auto 10px;padding:2px}#progressbar li:after{content:\"\";width:100%;height:2px;background:lightgray;position:absolute;left:0;top:25px;z-index:-1}#progressbar li.active:before,#progressbar li.active:after{background:var(--vd-primary-dark)}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "fromDictionary": i6.SdkDictionaryPipe } });
44
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnStatusProgressBarComponent, decorators: [{
45
50
  type: Component,
46
- args: [{ selector: 'foehn-status-progress-bar', template: "<div *ngIf=\"isEnabled()\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col\">\n <div\n class=\"sr-only\"\n aria-live=\"polite\"\n role=\"status\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n >\n <span *ngIf=\"isTransmitted; else notTransmitted\">\n {{\n 'foehn-status-progress-bar.step3.srOnly'\n | fromDictionary\n }}\n </span>\n <ng-template #notTransmitted>\n <span *ngIf=\"isStepVerificationActive()\">\n {{\n 'foehn-status-progress-bar.step2.srOnly'\n | fromDictionary\n }}\n </span>\n <span *ngIf=\"!isStepVerificationActive()\">\n {{\n 'foehn-status-progress-bar.step1.srOnly'\n | fromDictionary\n }}\n </span>\n </ng-template>\n </div>\n\n <ul id=\"progressbar\" class=\"pl-0 mt-1\" aria-hidden=\"true\">\n <li class=\"active\" id=\"step1\">\n <strong>\n {{\n 'foehn-status-progress-bar.step1'\n | fromDictionary\n }}\n </strong>\n </li>\n <li\n id=\"step2\"\n [ngClass]=\"{\n active: isStepVerificationActive()\n }\"\n >\n <strong>\n {{\n 'foehn-status-progress-bar.step2'\n | fromDictionary\n }}\n </strong>\n </li>\n\n <li id=\"step3\" [ngClass]=\"{ active: isTransmitted }\">\n <strong>\n {{\n 'foehn-status-progress-bar.step3'\n | fromDictionary\n }}\n </strong>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".col{text-align:center;position:relative}#progressbar{overflow:hidden;color:#d3d3d3}#progressbar .active{color:var(--vd-primary-dark)}#progressbar li{list-style-type:none;font-size:15px;width:33%;float:left;position:relative;font-weight:400}#progressbar #step1:before{content:\"1\"}#progressbar #step2:before{content:\"2\"}#progressbar #step3:before{content:\"3\"}#progressbar li:before{width:50px;height:50px;line-height:45px;display:block;font-size:20px;color:var(--white);background:lightgray;border-radius:50%;margin:0 auto 10px;padding:2px}#progressbar li:after{content:\"\";width:100%;height:2px;background:lightgray;position:absolute;left:0;top:25px;z-index:-1}#progressbar li.active:before,#progressbar li.active:after{background:var(--vd-primary-dark)}\n"] }]
51
+ args: [{ selector: 'foehn-status-progress-bar', template: "<div *ngIf=\"isEnabled()\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col\">\n <div\n class=\"sr-only\"\n aria-live=\"polite\"\n role=\"status\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n >\n <span *ngIf=\"isTransmitted; else notTransmitted\">\n {{\n 'foehn-status-progress-bar.step3.srOnly'\n | fromDictionary\n }}\n </span>\n <ng-template #notTransmitted>\n <span *ngIf=\"isStep2Active()\">\n {{\n 'foehn-status-progress-bar.step2.srOnly'\n | fromDictionary\n }}\n </span>\n <span *ngIf=\"!isStep2Active()\">\n {{\n 'foehn-status-progress-bar.step1.srOnly'\n | fromDictionary\n }}\n </span>\n </ng-template>\n </div>\n\n <ul id=\"progressbar\" class=\"pl-0 mt-1\" aria-hidden=\"true\">\n <li class=\"active\" id=\"step1\">\n <strong>\n {{\n 'foehn-status-progress-bar.step1'\n | fromDictionary\n }}\n </strong>\n </li>\n <li\n id=\"step2\"\n [ngClass]=\"{\n active: isStep2Active()\n }\"\n >\n <strong>\n {{\n 'foehn-status-progress-bar.step2'\n | fromDictionary\n }}\n </strong>\n </li>\n\n <li id=\"step3\" [ngClass]=\"{ active: isTransmitted }\">\n <strong>\n {{\n 'foehn-status-progress-bar.step3'\n | fromDictionary\n }}\n </strong>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".col{text-align:center;position:relative}#progressbar{overflow:hidden;color:#d3d3d3}#progressbar .active{color:var(--vd-primary-dark)}#progressbar li{list-style-type:none;font-size:15px;width:33%;float:left;position:relative;font-weight:400}#progressbar #step1:before{content:\"1\"}#progressbar #step2:before{content:\"2\"}#progressbar #step3:before{content:\"3\"}#progressbar li:before{width:50px;height:50px;line-height:45px;display:block;font-size:20px;color:var(--white);background:lightgray;border-radius:50%;margin:0 auto 10px;padding:2px}#progressbar li:after{content:\"\";width:100%;height:2px;background:lightgray;position:absolute;left:0;top:25px;z-index:-1}#progressbar li.active:before,#progressbar li.active:after{background:var(--vd-primary-dark)}\n"] }]
47
52
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FoehnNavigationService }, { type: i3.GesdemEventService }, { type: i4.GesdemHandlerService }]; }, propDecorators: { hidden: [{
48
53
  type: Input
49
54
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci9mb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyL2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFRN0MsTUFBTSxPQUFPLCtCQUErQjtJQU94QyxZQUNjLGNBQThCLEVBQ2hDLFVBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxVQUFnQztRQUg5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDbEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQVA1QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVFuQixDQUFDO0lBRUosU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPLENBQ0gsSUFBSSxDQUFDLGFBQWE7WUFDbEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVc7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUNoQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FDekIsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUMvQyxDQUNKO2FBQ0ksSUFBSSxDQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFzQixDQUFDLENBQUMsRUFDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ25EO2FBQ0EsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDOzs2SEFoRFEsK0JBQStCO2lIQUEvQiwrQkFBK0IsK0ZDZDVDLG1xRkFxRUE7NEZEdkRhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDSSwyQkFBMkI7OE1BTXJDLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgR2VzZGVtRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IG1lcmdlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5TdGF0dXNQcm9ncmVzc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGhpZGRlbjogYm9vbGVhbjtcblxuICAgIGlzVHJhbnNtaXR0ZWQgPSBmYWxzZTtcbiAgICBpc1RyYW5zbWl0dGVkU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUhhbmQ6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgaXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRkZW4gIT09IHRydWU7XG4gICAgfVxuXG4gICAgaXNTdGVwVmVyaWZpY2F0aW9uQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pc1RyYW5zbWl0dGVkIHx8XG4gICAgICAgICAgICAodGhpcy5uYXZpZ2F0aW9uLmluaXRpYWxpemVkICYmXG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uLmlzTGFzdEZvcm1QYWdlKCkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5uYXZpZ2F0aW9uLmlzRmlyc3RGb3JtUGFnZSgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVHJhbnNtaXR0ZWRTdWIgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHRoaXMuZ2VzZGVtSGFuZC5sYXN0UmVzcG9uc2U/Lm1ldGEpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kLnVwZGF0ZUZvcm1EYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdlc2RlbUhhbmQubGFzdFJlc3BvbnNlLm1ldGEpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihtZXRhID0+ICEhbWV0YSksXG4gICAgICAgICAgICAgICAgbWFwKG1ldGEgPT4gQWN0aW9uU3RhdHV0W21ldGEuc3RhdHV0IGFzIEFjdGlvblN0YXR1dF0pLFxuICAgICAgICAgICAgICAgIG1hcChzdGF0dXQgPT4gR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChzdGF0dXQpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0cmFuc21pdHRlZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RyYW5zbWl0dGVkID0gdHJhbnNtaXR0ZWQ7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUcmFuc21pdHRlZFN1Yikge1xuICAgICAgICAgICAgdGhpcy5pc1RyYW5zbWl0dGVkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNFbmFibGVkKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtYXRvbWljPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVHJhbnNtaXR0ZWQ7IGVsc2Ugbm90VHJhbnNtaXR0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDMuc3JPbmx5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90VHJhbnNtaXR0ZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzU3RlcFZlcmlmaWNhdGlvbkFjdGl2ZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDIuc3JPbmx5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1N0ZXBWZXJpZmljYXRpb25BY3RpdmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPHVsIGlkPVwicHJvZ3Jlc3NiYXJcIiBjbGFzcz1cInBsLTAgbXQtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJhY3RpdmVcIiBpZD1cInN0ZXAxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInN0ZXAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IGlzU3RlcFZlcmlmaWNhdGlvbkFjdGl2ZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGlkPVwic3RlcDNcIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXNUcmFuc21pdHRlZCB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci9mb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyL2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFRN0MsTUFBTSxPQUFPLCtCQUErQjtJQU94QyxZQUNjLGNBQThCLEVBQ2hDLFVBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxVQUFnQztRQUg5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDbEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQVA1QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVFuQixDQUFDO0lBRUosU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUNJLElBQUksQ0FBQyxhQUFhO1lBQ2xCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXO2dCQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ3pDO1lBQ0UsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3BELE9BQU8sQ0FDSCxDQUFDLENBQUMsYUFBYTtZQUNmLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQ3BFLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQ3pCLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FDL0MsQ0FDSjthQUNJLElBQUksQ0FDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBc0IsQ0FBQyxDQUFDLEVBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNuRDthQUNBLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs7NkhBeERRLCtCQUErQjtpSEFBL0IsK0JBQStCLCtGQ2Q1Qyxrb0ZBcUVBOzRGRHZEYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0ksMkJBQTJCOzhNQU1yQyxNQUFNO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tc3RhdHV0LXV0aWxzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuU3RhdHVzUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBoaWRkZW46IGJvb2xlYW47XG5cbiAgICBpc1RyYW5zbWl0dGVkID0gZmFsc2U7XG4gICAgaXNUcmFuc21pdHRlZFN1YjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvbjogRm9laG5OYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kOiBHZXNkZW1IYW5kbGVyU2VydmljZVxuICAgICkge31cblxuICAgIGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZGVuICE9PSB0cnVlO1xuICAgIH1cblxuICAgIGlzU3RlcDJBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaXNUcmFuc21pdHRlZCB8fFxuICAgICAgICAgICAgKHRoaXMubmF2aWdhdGlvbi5pbml0aWFsaXplZCAmJlxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbi5pc0xhc3RGb3JtUGFnZSgpICYmXG4gICAgICAgICAgICAgICAgIXRoaXMubmF2aWdhdGlvbi5pc0ZpcnN0Rm9ybVBhZ2UoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yZGVyZWRSb3V0ZXMgPSB0aGlzLm5hdmlnYXRpb24ub3JkZXJlZFJvdXRlcztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhb3JkZXJlZFJvdXRlcyAmJlxuICAgICAgICAgICAgISFvcmRlcmVkUm91dGVzW3RoaXMubmF2aWdhdGlvbi5jdXJyZW50Um91dGVPcmRlcl0/LmRhdGE/LmlzU3RlcDJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1RyYW5zbWl0dGVkU3ViID0gbWVyZ2UoXG4gICAgICAgICAgICBvZih0aGlzLmdlc2RlbUhhbmQubGFzdFJlc3BvbnNlPy5tZXRhKSxcbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtSGFuZC51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXNkZW1IYW5kLmxhc3RSZXNwb25zZS5tZXRhKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIobWV0YSA9PiAhIW1ldGEpLFxuICAgICAgICAgICAgICAgIG1hcChtZXRhID0+IEFjdGlvblN0YXR1dFttZXRhLnN0YXR1dCBhcyBBY3Rpb25TdGF0dXRdKSxcbiAgICAgICAgICAgICAgICBtYXAoc3RhdHV0ID0+IEdlc2RlbVN0YXR1dFV0aWxzLmlzRmluYWwoc3RhdHV0KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodHJhbnNtaXR0ZWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc21pdHRlZCA9IHRyYW5zbWl0dGVkO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVHJhbnNtaXR0ZWRTdWIpIHtcbiAgICAgICAgICAgIHRoaXMuaXNUcmFuc21pdHRlZFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzRW5hYmxlZCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itb25seVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RyYW5zbWl0dGVkOyBlbHNlIG5vdFRyYW5zbWl0dGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdFRyYW5zbWl0dGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1N0ZXAyQWN0aXZlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMi5zck9ubHknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzU3RlcDJBY3RpdmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPHVsIGlkPVwicHJvZ3Jlc3NiYXJcIiBjbGFzcz1cInBsLTAgbXQtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJhY3RpdmVcIiBpZD1cInN0ZXAxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInN0ZXAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IGlzU3RlcDJBY3RpdmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICAgICAgICAgIDxsaSBpZD1cInN0ZXAzXCIgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGlzVHJhbnNtaXR0ZWQgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { catchError, map, tap } from 'rxjs/operators';
2
+ import { catchError, filter, map, tap } from 'rxjs/operators';
3
3
  import { throwError } from 'rxjs';
4
4
  import { GrowlType } from '../../foehn-growl/growl-types';
5
5
  import { UploaderHelper } from '../uploader.helper';
@@ -8,12 +8,14 @@ import * as i1 from "@angular/common/http";
8
8
  import * as i2 from "../../foehn-growl/growl-broker.service";
9
9
  import * as i3 from "../../sdk-appinfo/application-info.service";
10
10
  import * as i4 from "../../sdk-dictionary/sdk-dictionary.service";
11
+ import * as i5 from "../foehn-upload-progress-bar/upload-progress.service";
11
12
  export class BoMultiUploadService {
12
- constructor(httpClient, growlService, applicationInfoService, dictionaryService) {
13
+ constructor(httpClient, growlService, applicationInfoService, dictionaryService, uploadProgressService) {
13
14
  this.httpClient = httpClient;
14
15
  this.growlService = growlService;
15
16
  this.applicationInfoService = applicationInfoService;
16
17
  this.dictionaryService = dictionaryService;
18
+ this.uploadProgressService = uploadProgressService;
17
19
  // A way to have a unique Id per file
18
20
  this.globalSequence = 0;
19
21
  this.uniqPrefix = new Date().getTime();
@@ -22,7 +24,13 @@ export class BoMultiUploadService {
22
24
  uploadDocuments(url, formKey, label, files, key, isMultiple, language, shouldDisplayFileSavedConfirmation) {
23
25
  const documents = files.map(file => this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, this.uniqPrefix, this.globalSequence++));
24
26
  const formData = this.uploaderHelper.mapToFormData(documents, formKey, language);
25
- return this.httpClient.post(url, formData).pipe(tap(result => {
27
+ return this.httpClient
28
+ .post(url, formData, {
29
+ reportProgress: true,
30
+ observe: 'events',
31
+ responseType: 'json'
32
+ })
33
+ .pipe(filter((e) => this.uploadProgressService.manageUploadEventFilter(e)), map((e) => e.body), tap(result => {
26
34
  const successfulDocumentsCount = result.documents && result.documents.length;
27
35
  if (successfulDocumentsCount &&
28
36
  shouldDisplayFileSavedConfirmation) {
@@ -52,12 +60,12 @@ export class BoMultiUploadService {
52
60
  return `${baseUrl}/${document.reference}`;
53
61
  }
54
62
  }
55
- BoMultiUploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BoMultiUploadService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }, { token: i3.ApplicationInfoService }, { token: i4.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ BoMultiUploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BoMultiUploadService, deps: [{ token: i1.HttpClient }, { token: i2.GrowlBrokerService }, { token: i3.ApplicationInfoService }, { token: i4.SdkDictionaryService }, { token: i5.UploadProgressService }], target: i0.ɵɵFactoryTarget.Injectable });
56
64
  BoMultiUploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BoMultiUploadService, providedIn: 'root' });
57
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BoMultiUploadService, decorators: [{
58
66
  type: Injectable,
59
67
  args: [{
60
68
  providedIn: 'root'
61
69
  }]
62
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.ApplicationInfoService }, { type: i4.SdkDictionaryService }]; } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm8tbXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLWJvLW11bHRpLXVwbG9hZC9iby1tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBS3BELE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFDWSxVQUFzQixFQUN0QixZQUFnQyxFQUNoQyxzQkFBOEMsRUFDOUMsaUJBQXVDO1FBSHZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQVRuRCxxQ0FBcUM7UUFDN0IsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFTdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDcEMsaUJBQWlCLEVBQ2pCLHNCQUFzQixDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWUsQ0FDWCxHQUFXLEVBQ1gsT0FBZSxFQUNmLEtBQWEsRUFDYixLQUFhLEVBQ2IsR0FBVyxFQUNYLFVBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLGtDQUEyQztRQUUzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQ3RDLElBQUksRUFDSixLQUFLLEVBQ0wsR0FBRyxFQUNILFVBQVUsRUFDVixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FDeEIsQ0FDSixDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQzlDLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxDQUNYLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF3QixHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDVCxNQUFNLHdCQUF3QixHQUMxQixNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ2hELElBQ0ksd0JBQXdCO2dCQUN4QixrQ0FBa0MsRUFDcEM7Z0JBQ0UsTUFBTSxPQUFPLEdBQUcsR0FBRyx3QkFBd0IsdUNBQXVDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDN0Q7UUFDTCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtZQUN0QixNQUFNLE9BQU8sR0FDVCxrRUFBa0UsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUNWLE9BQWUsRUFDZixRQUEyQjtRQUUzQixNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFL0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJO1FBQ25DLDZFQUE2RTtRQUM3RSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ25CLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxNQUFNLE9BQU8sR0FBRywwQkFBMEIsUUFBUSxDQUFDLFFBQVEsVUFBVSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxPQUFPLEdBQ1Qsa0VBQWtFLENBQUM7WUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6RCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlLEVBQUUsUUFBMkI7UUFDdkQsT0FBTyxHQUFHLE9BQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7a0hBeEZRLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvRG9jdW1lbnRzV2l0aEVycm9ycyB9IGZyb20gJy4vYm8tbXVsdGktdXBsb2FkLnR5cGUnO1xuaW1wb3J0IHsgR3Jvd2xUeXBlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtdHlwZXMnO1xuaW1wb3J0IHsgR3Jvd2xCcm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jdW1lbnRSZWZlcmVuY2UgfSBmcm9tICcuLi9kb2N1bWVudC1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkZXJIZWxwZXIgfSBmcm9tICcuLi91cGxvYWRlci5oZWxwZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJvTXVsdGlVcGxvYWRTZXJ2aWNlIHtcbiAgICAvLyBBIHdheSB0byBoYXZlIGEgdW5pcXVlIElkIHBlciBmaWxlXG4gICAgcHJpdmF0ZSBnbG9iYWxTZXF1ZW5jZSA9IDA7XG4gICAgcHJpdmF0ZSB1bmlxUHJlZml4ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgcHJpdmF0ZSB1cGxvYWRlckhlbHBlcjogVXBsb2FkZXJIZWxwZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGdyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZXJIZWxwZXIgPSBuZXcgVXBsb2FkZXJIZWxwZXIoXG4gICAgICAgICAgICBkaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGxvYWREb2N1bWVudHMoXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBsYW5ndWFnZTogc3RyaW5nLFxuICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uOiBib29sZWFuXG4gICAgKTogT2JzZXJ2YWJsZTxCb0RvY3VtZW50c1dpdGhFcnJvcnM+IHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRzID0gZmlsZXMubWFwKGZpbGUgPT5cbiAgICAgICAgICAgIHRoaXMudXBsb2FkZXJIZWxwZXIubWFwVG9Eb2N1bWVudFJlZmVyZW5jZShcbiAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBpc011bHRpcGxlLFxuICAgICAgICAgICAgICAgIHRoaXMudW5pcVByZWZpeCxcbiAgICAgICAgICAgICAgICB0aGlzLmdsb2JhbFNlcXVlbmNlKytcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLnVwbG9hZGVySGVscGVyLm1hcFRvRm9ybURhdGEoXG4gICAgICAgICAgICBkb2N1bWVudHMsXG4gICAgICAgICAgICBmb3JtS2V5LFxuICAgICAgICAgICAgbGFuZ3VhZ2VcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEJvRG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSkucGlwZShcbiAgICAgICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudCA9XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5kb2N1bWVudHMgJiYgcmVzdWx0LmRvY3VtZW50cy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgc2hvdWxkRGlzcGxheUZpbGVTYXZlZENvbmZpcm1hdGlvblxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYCR7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8Ooc2A7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5TVUNDRVNTLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICAgICAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvcyBkb2N1bWVudHMnO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVEb2N1bWVudChcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2VcbiAgICApOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9LyR7ZG9jdW1lbnQucmVmZXJlbmNlfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgLy8gUmVmbGVjdCB0aGUgZG9jdW1lbnQgb25jZSB0aGUgdXBkYXRlIGlzIGRvbmUgdG8gZWFzZSBjaGFpbmluZyBvYnNlcnZhYmxlcy5cbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudCksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgU3VwcHJlc3Npb24gZHUgZmljaGllciAke2RvY3VtZW50LmZpbGVuYW1lfSByw6l1c3NpZWA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoR3Jvd2xUeXBlLlNVQ0NFU1MsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JztcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuREFOR0VSLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRVcmwoYmFzZVVybDogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcbiAgICB9XG59XG4iXX0=
70
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.ApplicationInfoService }, { type: i4.SdkDictionaryService }, { type: i5.UploadProgressService }]; } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm8tbXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLWJvLW11bHRpLXVwbG9hZC9iby1tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUsxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFNcEQsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUNZLFVBQXNCLEVBQ3RCLFlBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxpQkFBdUMsRUFDdkMscUJBQTRDO1FBSjVDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBVnhELHFDQUFxQztRQUM3QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQVV0QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUNwQyxpQkFBaUIsRUFDakIsc0JBQXNCLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUNYLEdBQVcsRUFDWCxPQUFlLEVB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QUM5QyxDQUFDOztrSEF6R1Esb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9Eb2N1bWVudHNXaXRoRXJyb3JzIH0gZnJvbSAnLi9iby1tdWx0aS11cGxvYWQudHlwZSc7XG5pbXBvcnQgeyBHcm93bFR5cGUgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC10eXBlcyc7XG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZSB9IGZyb20gJy4uL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRlckhlbHBlciB9IGZyb20gJy4uL3VwbG9hZGVyLmhlbHBlcic7XG5pbXBvcnQgeyBVcGxvYWRQcm9ncmVzc1NlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyL3VwbG9hZC1wcm9ncmVzcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCb011bHRpVXBsb2FkU2VydmljZSB7XG4gICAgLy8gQSB3YXkgdG8gaGF2ZSBhIHVuaXF1ZSBJZCBwZXIgZmlsZVxuICAgIHByaXZhdGUgZ2xvYmFsU2VxdWVuY2UgPSAwO1xuICAgIHByaXZhdGUgdW5pcVByZWZpeCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHByaXZhdGUgdXBsb2FkZXJIZWxwZXI6IFVwbG9hZGVySGVscGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRQcm9ncmVzc1NlcnZpY2U6IFVwbG9hZFByb2dyZXNzU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnVwbG9hZGVySGVscGVyID0gbmV3IFVwbG9hZGVySGVscGVyKFxuICAgICAgICAgICAgZGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgICAgICBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBsb2FkRG9jdW1lbnRzKFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgICAgZm9ybUtleTogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nLFxuICAgICAgICBmaWxlczogRmlsZVtdLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgaXNNdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICAgICAgc2hvdWxkRGlzcGxheUZpbGVTYXZlZENvbmZpcm1hdGlvbjogYm9vbGVhblxuICAgICk6IE9ic2VydmFibGU8Qm9Eb2N1bWVudHNXaXRoRXJyb3JzPiB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGZpbGVzLm1hcChmaWxlID0+XG4gICAgICAgICAgICB0aGlzLnVwbG9hZGVySGVscGVyLm1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgaXNNdWx0aXBsZSxcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXFQcmVmaXgsXG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxTZXF1ZW5jZSsrXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0Zvcm1EYXRhKFxuICAgICAgICAgICAgZG9jdW1lbnRzLFxuICAgICAgICAgICAgZm9ybUtleSxcbiAgICAgICAgICAgIGxhbmd1YWdlXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0PEJvRG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBIdHRwRXZlbnQ8Qm9Eb2N1bWVudHNXaXRoRXJyb3JzPikgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UubWFuYWdlVXBsb2FkRXZlbnRGaWx0ZXIoZSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKGU6IEh0dHBFdmVudDxCb0RvY3VtZW50c1dpdGhFcnJvcnM+KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKGUgYXMgSHR0cFJlc3BvbnNlPEJvRG9jdW1lbnRzV2l0aEVycm9ycz4pLmJvZHlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRvY3VtZW50cyAmJiByZXN1bHQuZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGAke3N1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudH0gZmljaGllcihzKSBzYXV2ZWdhcmTDqShzKSBhdmVjIHN1Y2PDqHNgO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jvd2xUeXBlLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgbG9ycyBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm9zIGRvY3VtZW50cyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVEb2N1bWVudChcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2VcbiAgICApOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9LyR7ZG9jdW1lbnQucmVmZXJlbmNlfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgLy8gUmVmbGVjdCB0aGUgZG9jdW1lbnQgb25jZSB0aGUgdXBkYXRlIGlzIGRvbmUgdG8gZWFzZSBjaGFpbmluZyBvYnNlcnZhYmxlcy5cbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudCksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgU3VwcHJlc3Npb24gZHUgZmljaGllciAke2RvY3VtZW50LmZpbGVuYW1lfSByw6l1c3NpZWA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoR3Jvd2xUeXBlLlNVQ0NFU1MsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JztcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuREFOR0VSLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRVcmwoYmFzZVVybDogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcbiAgICB9XG59XG4iXX0=