@dsivd/prestations-ng 16.4.0-beta.7 → 16.4.0-beta.9

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 (29) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/dsivd-prestations-ng-v16.4.0-beta.9.tgz +0 -0
  3. package/esm2020/foehn-navigation/abstract-foehn-navigation.component.mjs +10 -4
  4. package/esm2020/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +3 -3
  5. package/esm2020/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +3 -3
  6. package/esm2020/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +59 -0
  7. package/esm2020/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +46 -0
  8. package/esm2020/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +144 -0
  9. package/esm2020/foehn-page/foehn-page.component.mjs +23 -19
  10. package/esm2020/foehn-page/foehn-page.module.mjs +14 -7
  11. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +82 -49
  12. package/esm2020/index.mjs +3 -1
  13. package/esm2020/sdk-appinfo/application-info.mjs +3 -1
  14. package/esm2020/sdk-dictionary/default-dictionary.mjs +10 -1
  15. package/fesm2015/dsivd-prestations-ng.mjs +344 -60
  16. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
  17. package/fesm2020/dsivd-prestations-ng.mjs +343 -59
  18. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
  19. package/foehn-navigation/abstract-foehn-navigation.component.d.ts +4 -2
  20. package/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.d.ts +15 -0
  21. package/foehn-page/foehn-page-expiration-timer/demande-expiration.service.d.ts +16 -0
  22. package/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.d.ts +31 -0
  23. package/foehn-page/foehn-page.component.d.ts +4 -1
  24. package/foehn-page/foehn-page.module.d.ts +15 -14
  25. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +15 -7
  26. package/index.d.ts +2 -0
  27. package/package.json +1 -1
  28. package/sdk-appinfo/application-info.d.ts +4 -0
  29. package/dsivd-prestations-ng-v16.4.0-beta.7.tgz +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,20 @@
10
10
 
11
11
  ### Added
12
12
 
13
+ - [foehn-page-expiration-timer.component.ts](projects/prestations-ng/src/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.ts)
14
+ - [foehn-page-expiration-timer.component.html](projects/prestations-ng/src/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.html)
15
+
16
+ - added a timer message to alert user of session expiration
17
+ - `session-token.session-time-to-live-in-minutes` can be overridden in back-end properties
18
+ - `session-token.message-delay-in-minutes` can be overridden in back-end properties
19
+
20
+ - New dictionary keys:
21
+
22
+ - `foehn-page-expiration-timer.count-down-message` is the message displayed when timer is running
23
+ - `foehn-page-expiration-timer.count-down-message.sr-only` same as above but for screen reader
24
+ - `foehn-page-expiration-timer.expired-message` is the message displayed when session has expired
25
+ - `foehn-page-expiration-timer.expired-message.sr-only` same as above but for screen reader
26
+
13
27
  - [foehn-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.ts)
14
28
  - [foehn-bo-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.ts)
15
29
 
@@ -23,15 +37,19 @@
23
37
 
24
38
  ### Updated
25
39
 
40
+ - [foehn-page.component.html](projects/prestations-ng/src/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.html)
41
+
42
+ - updated `foehn-page` to add session expiration timer message
43
+
26
44
  - [gesdem-action-recovery-registration.component.ts](projects/prestations-ng/src/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.ts)
27
45
 
28
46
  - updated recovery registration modal to inform the user of its current registration
29
- - added `@Input() triggerOnFirstSave = false`
47
+ - added `@Input() triggerOnPageChange = false`
30
48
 
31
49
  - [foehn-simple-navigation.component.ts](projects/prestations-ng/src/foehn-navigation/foehn-navigation/foehn-navigation.component.ts)
32
50
  - [foehn-simple-navigation.component.ts](projects/prestations-ng/src/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.ts)
33
51
 
34
- - added `@Input() triggerRecoveryOnFirstSave = false` to set `triggerOnFirstSave` to its `<gesdem-action-recovery-registration>'
52
+ - added `@Input() triggerRecoveryOnPageChange = false` to set `triggerOnPageChange` to its `<gesdem-action-recovery-registration>'
35
53
 
36
54
  - [ApplicationInfo](projects/prestations-ng/src/sdk-appinfo/application-info.ts)
37
55
 
@@ -9,9 +9,11 @@ export class AbstractFoehnNavigationComponent {
9
9
  this.nextLabel = 'foehn-navigation.next.label';
10
10
  this.prevLabel = 'foehn-navigation.previous.label';
11
11
  this.continueLaterLabel = 'foehn-navigation.continue-later.label';
12
+ this.continueLaterAlreadyRegisteredLabel = 'foehn-navigation.continue-later-already-registered.label';
13
+ this.continueLaterConnectedLabel = 'foehn-navigation.continue-later-connected.label';
12
14
  this.showContinueLaterButton = true;
13
15
  this.showNextButton = true;
14
- this.triggerRecoveryOnFirstSave = false;
16
+ this.triggerRecoveryOnPageChange = false;
15
17
  }
16
18
  goToNext() {
17
19
  this.onNext.emit();
@@ -24,7 +26,7 @@ export class AbstractFoehnNavigationComponent {
24
26
  }
25
27
  }
26
28
  AbstractFoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
- AbstractFoehnNavigationComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnFirstSave: "triggerRecoveryOnFirstSave" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 });
29
+ AbstractFoehnNavigationComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractFoehnNavigationComponent, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 });
28
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
29
31
  type: Directive
30
32
  }], propDecorators: {
@@ -41,11 +43,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
41
43
  type: Input
42
44
  }], continueLaterLabel: [{
43
45
  type: Input
46
+ }], continueLaterAlreadyRegisteredLabel: [{
47
+ type: Input
48
+ }], continueLaterConnectedLabel: [{
49
+ type: Input
44
50
  }], showContinueLaterButton: [{
45
51
  type: Input
46
52
  }], showNextButton: [{
47
53
  type: Input
48
- }], triggerRecoveryOnFirstSave: [{
54
+ }], triggerRecoveryOnPageChange: [{
49
55
  type: Input
50
56
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUdJLCtEQUErRDtRQUMvRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsQywrREFBK0Q7UUFDL0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEMsY0FBUyxHQUFHLDZCQUE2QixDQUFDO1FBRzFDLGNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztRQUc5Qyx1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUc3RCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHL0IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFHdEIsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO0tBYXRDO0lBWEcsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs7NkhBckNpQixnQ0FBZ0M7aUhBQWhDLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQURyRCxTQUFTOztRQUdOLCtEQUErRDtRQUMvRCxNQUFNO3NCQUZMLE1BQU07O1FBS1AsK0RBQStEO1FBQy9ELFVBQVU7c0JBRlQsTUFBTTtnQkFLUCxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLDBCQUEwQjtzQkFEekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvblByZXZpb3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQElucHV0KClcbiAgICBuZXh0TGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi5uZXh0LmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHJldkxhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyTGFiZWwgPSAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb250aW51ZUxhdGVyQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd05leHRCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2VyUmVjb3ZlcnlPbkZpcnN0U2F2ZSA9IGZhbHNlO1xuXG4gICAgZ29Ub05leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25OZXh0LmVtaXQoKTtcbiAgICB9XG5cbiAgICBnb1RvUHJldmlvdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25QcmV2aW91cy5lbWl0KCk7XG4gICAgfVxuXG4gICAgY2FuU2hvd05leHRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dOZXh0QnV0dG9uO1xuICAgIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RSxNQUFNLE9BQWdCLGdDQUFnQztJQUR0RDtRQUdJLCtEQUErRDtRQUMvRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsQywrREFBK0Q7UUFDL0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEMsY0FBUyxHQUFHLDZCQUE2QixDQUFDO1FBRzFDLGNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztRQUc5Qyx1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUc3RCx3Q0FBbUMsR0FDL0IsMERBQTBELENBQUM7UUFHL0QsZ0NBQTJCLEdBQ3ZCLGlEQUFpRCxDQUFDO1FBR3RELDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUcvQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7S0FhdkM7SUFYRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDOzs2SEE3Q2lCLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRHJELFNBQVM7O1FBR04sK0RBQStEO1FBQy9ELE1BQU07c0JBRkwsTUFBTTs7UUFLUCwrREFBK0Q7UUFDL0QsVUFBVTtzQkFGVCxNQUFNO2dCQUtQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLG1DQUFtQztzQkFEbEMsS0FBSztnQkFLTiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBS04sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvZWhuTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24ubmV4dC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnByZXZpb3VzLmxhYmVsJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29udGludWVMYXRlckxhYmVsID0gJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXIubGFiZWwnO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWFscmVhZHktcmVnaXN0ZXJlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJDb25uZWN0ZWRMYWJlbCA9XG4gICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWNvbm5lY3RlZC5sYWJlbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb250aW51ZUxhdGVyQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd05leHRCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2VyUmVjb3ZlcnlPblBhZ2VDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGdvVG9OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTmV4dC5lbWl0KCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uUHJldmlvdXMuZW1pdCgpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93TmV4dEJ1dHRvbjtcbiAgICB9XG59XG4iXX0=
@@ -53,11 +53,11 @@ export class FoehnNavigationComponent extends AbstractFoehnNavigationComponent {
53
53
  }
54
54
  }
55
55
  FoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
56
- FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [triggerOnFirstSave]=\"triggerRecoveryOnFirstSave\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "triggerOnFirstSave"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] });
56
+ FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i6.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] });
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [triggerOnFirstSave]=\"triggerRecoveryOnFirstSave\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
59
+ args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
60
60
  }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i2.ActivatedRoute }]; }, propDecorators: { transmitLabel: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBS3hDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIseUZBQXlGO1lBQ3pGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUhBQXlIO1FBQ3pILHVEQUF1RDtRQUN2RCxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNkLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3BELENBQUM7O3FIQXpEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwySENYckMsdXZHQWdGQTsyRkRyRWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjswSUFRNUIsYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbdHJpZ2dlck9uRmlyc3RTYXZlXT1cInRyaWdnZXJSZWNvdmVyeU9uRmlyc3RTYXZlXCJcbj48L2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uPlxuXG48bmF2IGNsYXNzPVwidmQtcGFnaW5hdGlvblwiIGlkPVwiZm9laG5fbmF2Q29udGFpbmVyXCIgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIj5cbiAgICA8dWwgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19saXN0XCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzXCJcbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU2hvd1ByZXZpb3VzQnV0dG9uKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmV2QnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBnb1RvUHJldmlvdXMoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAge3sgcHJldkxhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0UHJldmlvdXNSb3V0ZUluZGV4KCkgfX1cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1uYXZpZ2F0aW9uLnJvdXRlLmluZGV4LnNlcGFyYXRvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFRvdGFsUm91dGVzU2l6ZSgpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgKm5nSWY9XCIhaXNMYXN0Rm9ybVBhZ2UoKSAmJiBjYW5TaG93TmV4dEJ1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwibmV4dEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub05leHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBuZXh0TGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBnZXROZXh0Um91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMYXN0Rm9ybVBhZ2UoKSAmJiBjYW5TaG93TmV4dEJ1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMYXN0Rm9ybVBhZ2UoKSAmJiBjYW5TaG93TmV4dEJ1dHRvbigpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICBpZD1cInRyYW5zbWl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub05leHQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgdmQtYnRuLXBhZ2luYXRpb24tc3VibWl0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0cmFuc21pdExhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLHdCQUNULFNBQVEsZ0NBQWdDO0lBS3hDLFlBQ1ksaUJBQXlDLEVBQ3pDLGNBQThCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBSEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKMUMsa0JBQWEsR0FBRyxpQ0FBaUMsQ0FBQztJQU9sRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIseUZBQXlGO1lBQ3pGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQseUhBQXlIO1FBQ3pILHVEQUF1RDtRQUN2RCxPQUFPLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNkLHdGQUF3RjtRQUN4RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3BELENBQUM7O3FIQXpEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwySENYckMsaThHQW9GQTsyRkR6RWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjswSUFRNUIsYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtZm9laG4tbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk5hdmlnYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgdHJhbnNtaXRMYWJlbCA9ICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS51cGRhdGVSb3V0ZUluZm9ybWF0aW9ucygpO1xuICAgIH1cblxuICAgIGNhblNob3dOZXh0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd05leHRCdXR0b24pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgdGhlIHVzZXIgZXhwbGljaXRseSBkaXNhYmxlIHRoZSBuZXh0IGJ1dHRvbiwgZm9yIHZhbGlkYXRpb24gb3IgZXJyb3IgcHVycG9zZXMuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0Um91dGVJbmRleCA9IHRoaXMuZ2V0TmV4dFJvdXRlSW5kZXgoKTtcbiAgICAgICAgaWYgKG5leHRSb3V0ZUluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgcm91dGUgb3JkZXJzIGFyZSBsb3dlciB0aGFuIHRoZSBsYXN0IG9uZS4gRm9yIGluc3RhbmNlIHRoZSBsYXN0IG9uZSBiZWluZyB0aGUgY29uZmlybWF0aW9uIHBhZ2UsXG4gICAgICAgIC8vIGl0cyBvcmRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIG90aGVyIG9yZGVycy5cbiAgICAgICAgcmV0dXJuIG5leHRSb3V0ZUluZGV4IDw9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TGFzdFJvdXRlT3JkZXIoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBpc0xhc3RGb3JtUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXROZXh0Um91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROZXh0Um91dGVJbmRleCgpO1xuICAgIH1cblxuICAgIGdldFByZXZpb3VzUm91dGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQcmV2aW91c1JvdXRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBnZXRUb3RhbFJvdXRlc1NpemUoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aGF0IGxhc3Qgcm91dGUgaXMgdGhlIGNvbmZpcm1hdGlvbiBwYWdlIGFuZCB0aHVzIGlzbid0IGNvbnNpZGVyZWQgYXMgYSBzdGVwLlxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRUb3RhbFJvdXRlc1NpemUoKSAtIDE7XG4gICAgfVxuXG4gICAgaXNMaW5lYXJSb3V0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5pc0xpbmVhclJvdXRpbmcoKTtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGluZWFyUm91dGluZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFByZXZpb3VzUm91dGVJbmRleCgpIH19XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbmF2aWdhdGlvbi5yb3V0ZS5pbmRleC5zZXBhcmF0b3InXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRUb3RhbFJvdXRlc1NpemUoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIm5leHRCdXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGdvVG9OZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCIgKm5nSWY9XCJpc0xpbmVhclJvdXRpbmcoKVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiICpuZ0lmPVwiaXNMaW5lYXJSb3V0aW5nKClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0TmV4dFJvdXRlSW5kZXgoKSB9fVxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VG90YWxSb3V0ZXNTaXplKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdEZvcm1QYWdlKCkgJiYgY2FuU2hvd05leHRCdXR0b24oKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0cmFuc21pdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHZkLWJ0bi1wYWdpbmF0aW9uLXN1Ym1pdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHJhbnNtaXRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -16,11 +16,11 @@ export class FoehnSimpleNavigationComponent extends AbstractFoehnNavigationCompo
16
16
  }
17
17
  }
18
18
  FoehnSimpleNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnSimpleNavigationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- FoehnSimpleNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnSimpleNavigationComponent, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [triggerOnFirstSave]=\"triggerRecoveryOnFirstSave\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i3.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i4.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "triggerOnFirstSave"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] });
19
+ FoehnSimpleNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnSimpleNavigationComponent, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i3.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: i4.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: i5.SdkDictionaryPipe, name: "fromDictionary" }] });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnSimpleNavigationComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'foehn-simple-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [triggerOnFirstSave]=\"triggerRecoveryOnFirstSave\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
22
+ args: [{ selector: 'foehn-simple-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n [continueLaterAlreadyRegisteredLabel]=\"\n continueLaterAlreadyRegisteredLabel | fromDictionary\n \"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel | fromDictionary\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
23
23
  }], propDecorators: { showPreviousButton: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdDQUFnQztJQUxwRjs7UUFPSSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7S0FLN0I7SUFIRyxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQzs7MkhBTlEsOEJBQThCOytHQUE5Qiw4QkFBOEIsNElDVDNDLHkxREFnREE7MkZEdkNhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDSSx5QkFBeUI7OEJBTW5DLGtCQUFrQjtzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tc2ltcGxlLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuU2ltcGxlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHNob3dQcmV2aW91c0J1dHRvbiA9IHRydWU7XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dQcmV2aW91c0J1dHRvbjtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbdHJpZ2dlck9uRmlyc3RTYXZlXT1cInRyaWdnZXJSZWNvdmVyeU9uRmlyc3RTYXZlXCJcbj48L2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uPlxuXG48bmF2IGNsYXNzPVwidmQtcGFnaW5hdGlvblwiIGlkPVwiZm9laG5fbmF2Q29udGFpbmVyXCIgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIj5cbiAgICA8dWwgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19saXN0XCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzXCJcbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU2hvd1ByZXZpb3VzQnV0dG9uKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmV2QnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBnb1RvUHJldmlvdXMoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAge3sgcHJldkxhYmVsIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dOZXh0QnV0dG9uKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJuZXh0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBnb1RvTmV4dCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tcmlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tcmlnaHQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24vZm9laG4tc2ltcGxlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdDQUFnQztJQUxwRjs7UUFPSSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7S0FLN0I7SUFIRyxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQzs7MkhBTlEsOEJBQThCOytHQUE5Qiw4QkFBOEIsNElDVDNDLG1pRUFvREE7MkZEM0NhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDSSx5QkFBeUI7OEJBTW5DLGtCQUFrQjtzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGb2Vobk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb2Vobi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tc2ltcGxlLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1zaW1wbGUtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2ZvZWhuLW5hdmlnYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuU2ltcGxlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Rm9laG5OYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHNob3dQcmV2aW91c0J1dHRvbiA9IHRydWU7XG5cbiAgICBjYW5TaG93UHJldmlvdXNCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dQcmV2aW91c0J1dHRvbjtcbiAgICB9XG59XG4iLCI8Z2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb25cbiAgICAqbmdJZj1cInNob3dDb250aW51ZUxhdGVyQnV0dG9uXCJcbiAgICBbY29udGludWVMYXRlckxhYmVsXT1cImNvbnRpbnVlTGF0ZXJMYWJlbCB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICBbY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWxdPVwiXG4gICAgICAgIGNvbnRpbnVlTGF0ZXJBbHJlYWR5UmVnaXN0ZXJlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWxdPVwiY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgIFt0cmlnZ2VyT25QYWdlQ2hhbmdlXT1cInRyaWdnZXJSZWNvdmVyeU9uUGFnZUNoYW5nZVwiXG4+PC9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbj5cblxuPG5hdiBjbGFzcz1cInZkLXBhZ2luYXRpb25cIiBpZD1cImZvZWhuX25hdkNvbnRhaW5lclwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNob3dQcmV2aW91c0J1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwicHJldkJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub1ByZXZpb3VzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByZXZMYWJlbCB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5TaG93TmV4dEJ1dHRvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwibmV4dEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZ29Ub05leHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBuZXh0TGFiZWwgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { HTTP_INTERCEPTORS, HttpEventType, HttpResponse } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import dayjs from 'dayjs';
4
+ import { tap } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./demande-expiration.service";
7
+ export class DemandeExpirationInterceptor {
8
+ constructor(demandeExpirationService) {
9
+ this.demandeExpirationService = demandeExpirationService;
10
+ }
11
+ intercept(request, next) {
12
+ return next.handle(request).pipe(tap((httpEvent) => {
13
+ if (httpEvent.type === HttpEventType.Sent) {
14
+ return;
15
+ }
16
+ if (httpEvent instanceof HttpResponse) {
17
+ if (httpEvent.headers.has('Demande-Expiration')) {
18
+ this.manageDemandeExpirationHeader(httpEvent.headers.get('Demande-Expiration'),
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ httpEvent.body);
21
+ }
22
+ }
23
+ }));
24
+ }
25
+ manageDemandeExpirationHeader(expirationByDemande,
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ formPostResponse) {
28
+ const expirationByDemandeMap = this.getExpirationByDemandeMap(expirationByDemande);
29
+ if (!!formPostResponse.meta) {
30
+ const dateTime = expirationByDemandeMap.get(formPostResponse.meta.reference);
31
+ this.demandeExpirationService.setDemandeExpirationDateTime(dayjs(dateTime));
32
+ }
33
+ }
34
+ getExpirationByDemandeMap(expirationByDemande) {
35
+ const myMap = new Map();
36
+ const expirationByDemandesAsArray = expirationByDemande.split(';');
37
+ expirationByDemandesAsArray.forEach(value => {
38
+ const valueAsArray = value.split(',');
39
+ myMap.set(valueAsArray[0], new Date(valueAsArray[1]));
40
+ });
41
+ return myMap;
42
+ }
43
+ }
44
+ DemandeExpirationInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationInterceptor, deps: [{ token: i1.DemandeExpirationService }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ DemandeExpirationInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationInterceptor, providedIn: 'root' });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationInterceptor, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root'
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: i1.DemandeExpirationService }]; } });
52
+ export const DEMANDE_EXPIRATION_INTERCEPTOR_PROVIDER = [
53
+ {
54
+ provide: HTTP_INTERCEPTORS,
55
+ useExisting: DemandeExpirationInterceptor,
56
+ multi: true
57
+ }
58
+ ];
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtYW5kZS1leHBpcmF0aW9uLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyL2RlbWFuZGUtZXhwaXJhdGlvbi1pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBRWpCLGFBQWEsRUFJYixZQUFZLEVBQ2YsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUXZDLE1BQU0sT0FBTyw0QkFBNEI7SUFDckMsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFBRyxDQUFDO0lBRTFFLFNBQVMsQ0FDTCxPQUE2QixFQUM3QixJQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUU7WUFDbEMsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLE9BQU87YUFDVjtZQUNELElBQUksU0FBUyxZQUFZLFlBQVksRUFBRTtnQkFDbkMsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO29CQUM3QyxJQUFJLENBQUMsNkJBQTZCLENBQzlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDO29CQUMzQyw4REFBOEQ7b0JBQzlELFNBQVMsQ0FBQyxJQUE2QixDQUMxQyxDQUFDO2lCQUNMO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLDZCQUE2QixDQUNqQyxtQkFBMkI7SUFDM0IsOERBQThEO0lBQzlELGdCQUF1QztRQUV2QyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDekQsbUJBQW1CLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDekIsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUN2QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUNsQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDRCQUE0QixDQUN0RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQ2xCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FDN0IsbUJBQTJCO1FBRTNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBQ3RDLE1BQU0sMkJBQTJCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzt5SEFyRFEsNEJBQTRCOzZIQUE1Qiw0QkFBNEIsY0FGekIsTUFBTTsyRkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOztBQXlERCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBdUI7SUFDdkU7UUFDSSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFdBQVcsRUFBRSw0QkFBNEI7UUFDekMsS0FBSyxFQUFFLElBQUk7S0FDZDtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEhUVFBfSU5URVJDRVBUT1JTLFxuICAgIEh0dHBFdmVudCxcbiAgICBIdHRwRXZlbnRUeXBlLFxuICAgIEh0dHBIYW5kbGVyLFxuICAgIEh0dHBJbnRlcmNlcHRvcixcbiAgICBIdHRwUmVxdWVzdCxcbiAgICBIdHRwUmVzcG9uc2Vcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXhpc3RpbmdQcm92aWRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGb3JtUG9zdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vZm9ybS1wb3N0LXJlc3BvbnNlJztcbmltcG9ydCB7IERlbWFuZGVFeHBpcmF0aW9uU2VydmljZSB9IGZyb20gJy4vZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlbWFuZGVFeHBpcmF0aW9uSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVtYW5kZUV4cGlyYXRpb25TZXJ2aWNlOiBEZW1hbmRlRXhwaXJhdGlvblNlcnZpY2UpIHt9XG5cbiAgICBpbnRlcmNlcHQoXG4gICAgICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgICAgICBuZXh0OiBIdHRwSGFuZGxlclxuICAgICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgdGFwKChodHRwRXZlbnQ6IEh0dHBFdmVudDx1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChodHRwRXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5TZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGh0dHBFdmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaHR0cEV2ZW50LmhlYWRlcnMuaGFzKCdEZW1hbmRlLUV4cGlyYXRpb24nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VEZW1hbmRlRXhwaXJhdGlvbkhlYWRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwRXZlbnQuaGVhZGVycy5nZXQoJ0RlbWFuZGUtRXhwaXJhdGlvbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cEV2ZW50LmJvZHkgYXMgRm9ybVBvc3RSZXNwb25zZTxhbnk+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZURlbWFuZGVFeHBpcmF0aW9uSGVhZGVyKFxuICAgICAgICBleHBpcmF0aW9uQnlEZW1hbmRlOiBzdHJpbmcsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGZvcm1Qb3N0UmVzcG9uc2U6IEZvcm1Qb3N0UmVzcG9uc2U8YW55PlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBleHBpcmF0aW9uQnlEZW1hbmRlTWFwID0gdGhpcy5nZXRFeHBpcmF0aW9uQnlEZW1hbmRlTWFwKFxuICAgICAgICAgICAgZXhwaXJhdGlvbkJ5RGVtYW5kZVxuICAgICAgICApO1xuICAgICAgICBpZiAoISFmb3JtUG9zdFJlc3BvbnNlLm1ldGEpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVUaW1lID0gZXhwaXJhdGlvbkJ5RGVtYW5kZU1hcC5nZXQoXG4gICAgICAgICAgICAgICAgZm9ybVBvc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZGVtYW5kZUV4cGlyYXRpb25TZXJ2aWNlLnNldERlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWUoXG4gICAgICAgICAgICAgICAgZGF5anMoZGF0ZVRpbWUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFeHBpcmF0aW9uQnlEZW1hbmRlTWFwKFxuICAgICAgICBleHBpcmF0aW9uQnlEZW1hbmRlOiBzdHJpbmdcbiAgICApOiBNYXA8c3RyaW5nLCBEYXRlPiB7XG4gICAgICAgIGNvbnN0IG15TWFwID0gbmV3IE1hcDxzdHJpbmcsIERhdGU+KCk7XG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25CeURlbWFuZGVzQXNBcnJheSA9IGV4cGlyYXRpb25CeURlbWFuZGUuc3BsaXQoJzsnKTtcbiAgICAgICAgZXhwaXJhdGlvbkJ5RGVtYW5kZXNBc0FycmF5LmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVBc0FycmF5ID0gdmFsdWUuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIG15TWFwLnNldCh2YWx1ZUFzQXJyYXlbMF0sIG5ldyBEYXRlKHZhbHVlQXNBcnJheVsxXSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG15TWFwO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IERFTUFOREVfRVhQSVJBVElPTl9JTlRFUkNFUFRPUl9QUk9WSURFUjogRXhpc3RpbmdQcm92aWRlcltdID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBEZW1hbmRlRXhwaXJhdGlvbkludGVyY2VwdG9yLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbl07XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Injectable } from '@angular/core';
2
+ import dayjs from 'dayjs';
3
+ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
4
+ import { filter, map, shareReplay, tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class DemandeExpirationService {
7
+ constructor() {
8
+ this.PULLING_IN_MILLISECONDS = 1000;
9
+ this._demandeExpirationDateTimeSubject = new BehaviorSubject(null);
10
+ this.intervalSubject = new Subject();
11
+ }
12
+ shouldDisplayExpirationTimerMessage() {
13
+ return combineLatest([
14
+ this.getDemandeExpirationDateTime(),
15
+ this.intervalSubject.asObservable()
16
+ ]).pipe(map(([value]) => value), filter(value => !!value && value.isValid()), map(value => dayjs().isAfter(value)), tap(visible => {
17
+ if (visible) {
18
+ this.clearPulling();
19
+ }
20
+ }), shareReplay(1));
21
+ }
22
+ setDemandeExpirationDateTime(date) {
23
+ this._demandeExpirationDateTimeSubject.next(date);
24
+ }
25
+ getDemandeExpirationDateTime() {
26
+ return this._demandeExpirationDateTimeSubject.asObservable().pipe(tap(() => this.startPulling()), shareReplay(1));
27
+ }
28
+ startPulling() {
29
+ this.clearPulling();
30
+ this.interval = setInterval(() => {
31
+ this.intervalSubject.next();
32
+ }, this.PULLING_IN_MILLISECONDS);
33
+ }
34
+ clearPulling() {
35
+ clearInterval(this.interval);
36
+ }
37
+ }
38
+ DemandeExpirationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
+ DemandeExpirationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DemandeExpirationService, decorators: [{
41
+ type: Injectable,
42
+ args: [{
43
+ providedIn: 'root'
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIvZGVtYW5kZS1leHBpcmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQU9xQiw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFFeEMsc0NBQWlDLEdBQWlDLElBQUksZUFBZSxDQUN6RixJQUFJLENBQ1AsQ0FBQztRQUNNLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQXdDakQ7SUF0Q0csbUNBQW1DO1FBQy9CLE9BQU8sYUFBYSxDQUFDO1lBQ2pCLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRTtTQUN0QyxDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUMzQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3ZCO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELDRCQUE0QixDQUFDLElBQWlCO1FBQzFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDRCQUE0QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFDOUIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUMsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sWUFBWTtRQUNoQixhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O3FIQWhEUSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzJGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZW1hbmRlRXhwaXJhdGlvblNlcnZpY2Uge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBpbnRlcnZhbDogYW55O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBQVUxMSU5HX0lOX01JTExJU0VDT05EUyA9IDEwMDA7XG5cbiAgICBwcml2YXRlIF9kZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGRheWpzLkRheWpzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8ZGF5anMuRGF5anM+KFxuICAgICAgICBudWxsXG4gICAgKTtcbiAgICBwcml2YXRlIGludGVydmFsU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaG91bGREaXNwbGF5RXhwaXJhdGlvblRpbWVyTWVzc2FnZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5nZXREZW1hbmRlRXhwaXJhdGlvbkRhdGVUaW1lKCksXG4gICAgICAgICAgICB0aGlzLmludGVydmFsU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbdmFsdWVdKSA9PiB2YWx1ZSksXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSAmJiB2YWx1ZS5pc1ZhbGlkKCkpLFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IGRheWpzKCkuaXNBZnRlcih2YWx1ZSkpLFxuICAgICAgICAgICAgdGFwKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJQdWxsaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNldERlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWUoZGF0ZTogZGF5anMuRGF5anMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVtYW5kZUV4cGlyYXRpb25EYXRlVGltZVN1YmplY3QubmV4dChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlbWFuZGVFeHBpcmF0aW9uRGF0ZVRpbWUoKTogT2JzZXJ2YWJsZTxkYXlqcy5EYXlqcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVtYW5kZUV4cGlyYXRpb25EYXRlVGltZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnN0YXJ0UHVsbGluZygpKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFB1bGxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJQdWxsaW5nKCk7XG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmludGVydmFsU3ViamVjdC5uZXh0KCk7XG4gICAgICAgIH0sIHRoaXMuUFVMTElOR19JTl9NSUxMSVNFQ09ORFMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJQdWxsaW5nKCk6IHZvaWQge1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { Component } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { filter, map, shareReplay, tap } from 'rxjs/operators';
4
+ import { DateHelper } from '../../sdk-date/date.helper';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../sdk-appinfo/application-info.service";
7
+ import * as i2 from "../..//sdk-dictionary/sdk-dictionary.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "../../sdk-dictionary/sdk-dictionary.pipe";
10
+ export class FoehnPageExpirationTimerComponent {
11
+ constructor(applicationInfoService, dictionaryService) {
12
+ this.applicationInfoService = applicationInfoService;
13
+ this.dictionaryService = dictionaryService;
14
+ this.srAnnouncements = '';
15
+ this.countDownTimeInSeconds = new BehaviorSubject(null);
16
+ this.sessionHasExpired = new BehaviorSubject(false);
17
+ this.dateHelper = new DateHelper();
18
+ this.PULLING_IN_MILLISECONDS = 1000;
19
+ this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS = 2000;
20
+ this.sessionExpired = this.sessionHasExpired
21
+ .asObservable()
22
+ .pipe(shareReplay(1));
23
+ this.countDownTimeToDisplay = this.countDownTimeInSeconds
24
+ .asObservable()
25
+ .pipe(tap(countDownTimeInSeconds => this.sessionHasExpired.next(countDownTimeInSeconds === 0)), map(countDownTimeInSeconds => this.formatTime(countDownTimeInSeconds)), shareReplay(1));
26
+ this.applicationInfoRetrieved = this.applicationInfoService.data.pipe(map((info) => info.configuration.session.messageDelayInMinutes), filter(messageDelayInMinutes => !!messageDelayInMinutes), tap(messageDelayInMinutes => this.countDownTimeInSeconds.next(messageDelayInMinutes * 60)), map(() => true), shareReplay(1));
27
+ }
28
+ ngAfterViewInit() {
29
+ this.startTimer();
30
+ }
31
+ ngOnDestroy() {
32
+ this.clearTimer();
33
+ }
34
+ startTimer() {
35
+ this.interval = setInterval(() => {
36
+ let time = this.countDownTimeInSeconds.getValue();
37
+ if (time === 0) {
38
+ this.clearTimer();
39
+ return;
40
+ }
41
+ time -= 1;
42
+ this.countDownTimeInSeconds.next(time);
43
+ }, this.PULLING_IN_MILLISECONDS);
44
+ }
45
+ clearTimer() {
46
+ clearInterval(this.interval);
47
+ }
48
+ formatTime(timeInSeconds) {
49
+ const hours = Math.floor(timeInSeconds / (60 * 60));
50
+ const divisor_for_minutes = timeInSeconds % (60 * 60);
51
+ const minutes = Math.floor(divisor_for_minutes / 60);
52
+ const divisor_for_seconds = divisor_for_minutes % 60;
53
+ const seconds = Math.ceil(divisor_for_seconds);
54
+ this.manageScreenReaderAnnouncement(timeInSeconds, hours, minutes, seconds);
55
+ const leftPadHours = this.dateHelper.leftPad(hours.toString());
56
+ const leftPadMinutes = this.dateHelper.leftPad(minutes.toString());
57
+ const leftPadSeconds = this.dateHelper.leftPad(seconds.toString());
58
+ return `${leftPadHours}:${leftPadMinutes}:${leftPadSeconds}`;
59
+ }
60
+ announceSrMessage(msg) {
61
+ clearTimeout(this.srAnnouncementClearTimer);
62
+ this.srAnnouncements = msg;
63
+ this.srAnnouncementClearTimer = setTimeout(() => {
64
+ this.srAnnouncements = '';
65
+ }, this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS);
66
+ }
67
+ getReadableTimerForScreenReader(hours, minutes, seconds) {
68
+ if (!hours && !minutes && !seconds) {
69
+ return '';
70
+ }
71
+ if (!!hours && !minutes && !seconds) {
72
+ return `${hours} heures.`;
73
+ }
74
+ if (!!minutes && !hours && !seconds) {
75
+ return `${minutes} minutes.`;
76
+ }
77
+ if (!!seconds && !minutes && !hours) {
78
+ return `${seconds} secondes.`;
79
+ }
80
+ if (!!hours && !!minutes && !!seconds) {
81
+ return `${hours} heures ${minutes} minutes et ${seconds} secondes.`;
82
+ }
83
+ if (!!hours && !!minutes && !seconds) {
84
+ return `${hours} heures et ${minutes} minutes.`;
85
+ }
86
+ if (!!hours && !!seconds && !minutes) {
87
+ return `${hours} heures et ${seconds} secondes.`;
88
+ }
89
+ if (!!minutes && !!seconds && !hours) {
90
+ return `${minutes} minutes et ${seconds} secondes.`;
91
+ }
92
+ }
93
+ manageScreenReaderAnnouncement(timeInSeconds, hours, minutes, seconds) {
94
+ const _1_hourInSeconds = 60 * 60;
95
+ const _5_minutesInSeconds = 5 * 60;
96
+ const _10_minutesInSeconds = 10 * 60;
97
+ const _1_minuteInSeconds = 60;
98
+ const _2_minuteInSeconds = 2 * 60;
99
+ // When finished, display expired message
100
+ if (timeInSeconds === 0) {
101
+ this.srAnnouncements = this.dictionaryService.getKeySync('foehn-page-expiration-timer.expired-message.sr-only');
102
+ return;
103
+ }
104
+ // Every second for the last 15s
105
+ if (timeInSeconds <= 15) {
106
+ this.srAnnouncements = timeInSeconds.toString();
107
+ return;
108
+ }
109
+ // Every 30s when less than 2 minutes
110
+ if (timeInSeconds <= _2_minuteInSeconds && timeInSeconds % 30 === 0) {
111
+ const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
112
+ this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
113
+ return;
114
+ }
115
+ // Every minute for the last 5 minutes
116
+ if (timeInSeconds <= _5_minutesInSeconds &&
117
+ timeInSeconds % _1_minuteInSeconds === 0) {
118
+ const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
119
+ this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
120
+ return;
121
+ }
122
+ // Every 10 minutes when less than an hour
123
+ if (timeInSeconds < _1_hourInSeconds &&
124
+ timeInSeconds % _10_minutesInSeconds === 0) {
125
+ const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
126
+ this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
127
+ return;
128
+ }
129
+ // Every hour when more than an hour
130
+ if (timeInSeconds >= _1_hourInSeconds &&
131
+ timeInSeconds % _1_hourInSeconds === 0) {
132
+ const msg = this.getReadableTimerForScreenReader(hours, minutes, seconds);
133
+ this.announceSrMessage(this.dictionaryService.getKeySync('foehn-page-expiration-timer.count-down-message.sr-only', { countDownValue: msg }));
134
+ return;
135
+ }
136
+ }
137
+ }
138
+ FoehnPageExpirationTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnPageExpirationTimerComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
139
+ FoehnPageExpirationTimerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FoehnPageExpirationTimerComponent, selector: "foehn-page-expiration-timer", ngImport: i0, template: "<div\n *ngIf=\"applicationInfoRetrieved | async\"\n class=\"sticky-top alert text-center my-0\"\n [class.alert-warning]=\"(sessionExpired | async) === false\"\n [class.alert-danger]=\"(sessionExpired | async) === true\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n <div\n *ngIf=\"(sessionExpired | async) === false\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.count-down-message'\n | fromDictionary\n : { countDownValue: countDownTimeToDisplay | async }\n \"\n ></div>\n <div\n *ngIf=\"(sessionExpired | async) === true\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.expired-message' | fromDictionary\n \"\n ></div>\n</div>\n\n<p class=\"sr-only\" aria-live=\"assertive\" aria-atomic=\"true\">\n {{ srAnnouncements }}\n</p>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FoehnPageExpirationTimerComponent, decorators: [{
141
+ type: Component,
142
+ args: [{ selector: 'foehn-page-expiration-timer', template: "<div\n *ngIf=\"applicationInfoRetrieved | async\"\n class=\"sticky-top alert text-center my-0\"\n [class.alert-warning]=\"(sessionExpired | async) === false\"\n [class.alert-danger]=\"(sessionExpired | async) === true\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n>\n <div\n *ngIf=\"(sessionExpired | async) === false\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.count-down-message'\n | fromDictionary\n : { countDownValue: countDownTimeToDisplay | async }\n \"\n ></div>\n <div\n *ngIf=\"(sessionExpired | async) === true\"\n [innerHTML]=\"\n 'foehn-page-expiration-timer.expired-message' | fromDictionary\n \"\n ></div>\n</div>\n\n<p class=\"sr-only\" aria-live=\"assertive\" aria-atomic=\"true\">\n {{ srAnnouncements }}\n</p>\n" }]
143
+ }], ctorParameters: function () { return [{ type: i1.ApplicationInfoService }, { type: i2.SdkDictionaryService }]; } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci9mb2Vobi1wYWdlLWV4cGlyYXRpb24tdGltZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyL2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQU14RCxNQUFNLE9BQU8saUNBQWlDO0lBb0IxQyxZQUNZLHNCQUE4QyxFQUM5QyxpQkFBdUM7UUFEdkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBaEJuRCxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUViLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQzNELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBSXhELGVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRXJCLDRCQUF1QixHQUFHLElBQUksQ0FBQztRQUcvQiw4Q0FBeUMsR0FBRyxJQUFJLENB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YUFBYSxJQUFJLGdCQUFnQjtZQUNqQyxhQUFhLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxFQUN4QztZQUNFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FDNUMsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLENBQ1YsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDN0Isd0RBQXdELEVBQ3hELEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUMxQixDQUNKLENBQUM7WUFDRixPQUFPO1NBQ1Y7SUFDTCxDQUFDOzs4SEExT1EsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsbUVDYjlDLG0yQkEyQkE7MkZEZGEsaUNBQWlDO2tCQUo3QyxTQUFTOytCQUNJLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbyB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vc2RrLWRhdGUvZGF0ZS5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlRXhwaXJhdGlvblRpbWVyQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIGFwcGxpY2F0aW9uSW5mb1JldHJpZXZlZDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjb3VudERvd25UaW1lVG9EaXNwbGF5OiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgc2Vzc2lvbkV4cGlyZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBzckFubm91bmNlbWVudHMgPSAnJztcblxuICAgIHByaXZhdGUgY291bnREb3duVGltZUluU2Vjb25kcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihudWxsKTtcbiAgICBwcml2YXRlIHNlc3Npb25IYXNFeHBpcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgaW50ZXJ2YWw6IGFueTtcbiAgICBwcml2YXRlIGRhdGVIZWxwZXIgPSBuZXcgRGF0ZUhlbHBlcigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBQVUxMSU5HX0lOX01JTExJU0VDT05EUyA9IDEwMDA7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lcjogYW55O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU1JfQU5OT1VOQ0VNRU5UX0NMRUFSX1RJTUVPVVRfSU5URVJWQUxfTVMgPSAyMDAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uRXhwaXJlZCA9IHRoaXMuc2Vzc2lvbkhhc0V4cGlyZWRcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuXG4gICAgICAgIHRoaXMuY291bnREb3duVGltZVRvRGlzcGxheSA9IHRoaXMuY291bnREb3duVGltZUluU2Vjb25kc1xuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoY291bnREb3duVGltZUluU2Vjb25kcyA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25IYXNFeHBpcmVkLm5leHQoY291bnREb3duVGltZUluU2Vjb25kcyA9PT0gMClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcChjb3VudERvd25UaW1lSW5TZWNvbmRzID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0VGltZShjb3VudERvd25UaW1lSW5TZWNvbmRzKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9SZXRyaWV2ZWQgPSB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIChpbmZvOiBBcHBsaWNhdGlvbkluZm8pID0+XG4gICAgICAgICAgICAgICAgICAgIGluZm8uY29uZmlndXJhdGlvbi5zZXNzaW9uLm1lc3NhZ2VEZWxheUluTWludXRlc1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZpbHRlcihtZXNzYWdlRGVsYXlJbk1pbnV0ZXMgPT4gISFtZXNzYWdlRGVsYXlJbk1pbnV0ZXMpLFxuICAgICAgICAgICAgdGFwKG1lc3NhZ2VEZWxheUluTWludXRlcyA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY291bnREb3duVGltZUluU2Vjb25kcy5uZXh0KG1lc3NhZ2VEZWxheUluTWludXRlcyAqIDYwKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNvdW50RG93blRpbWVJblNlY29uZHMuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgIGlmICh0aW1lID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGltZSAtPSAxO1xuICAgICAgICAgICAgdGhpcy5jb3VudERvd25UaW1lSW5TZWNvbmRzLm5leHQodGltZSk7XG4gICAgICAgIH0sIHRoaXMuUFVMTElOR19JTl9NSUxMSVNFQ09ORFMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFRpbWUodGltZUluU2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHRpbWVJblNlY29uZHMgLyAoNjAgKiA2MCkpO1xuXG4gICAgICAgIGNvbnN0IGRpdmlzb3JfZm9yX21pbnV0ZXMgPSB0aW1lSW5TZWNvbmRzICUgKDYwICogNjApO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihkaXZpc29yX2Zvcl9taW51dGVzIC8gNjApO1xuXG4gICAgICAgIGNvbnN0IGRpdmlzb3JfZm9yX3NlY29uZHMgPSBkaXZpc29yX2Zvcl9taW51dGVzICUgNjA7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmNlaWwoZGl2aXNvcl9mb3Jfc2Vjb25kcyk7XG5cbiAgICAgICAgdGhpcy5tYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzLFxuICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGxlZnRQYWRIb3VycyA9IHRoaXMuZGF0ZUhlbHBlci5sZWZ0UGFkKGhvdXJzLnRvU3RyaW5nKCkpO1xuICAgICAgICBjb25zdCBsZWZ0UGFkTWludXRlcyA9IHRoaXMuZGF0ZUhlbHBlci5sZWZ0UGFkKG1pbnV0ZXMudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgY29uc3QgbGVmdFBhZFNlY29uZHMgPSB0aGlzLmRhdGVIZWxwZXIubGVmdFBhZChzZWNvbmRzLnRvU3RyaW5nKCkpO1xuICAgICAgICByZXR1cm4gYCR7bGVmdFBhZEhvdXJzfToke2xlZnRQYWRNaW51dGVzfToke2xlZnRQYWRTZWNvbmRzfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhbm5vdW5jZVNyTWVzc2FnZShtc2c6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zckFubm91bmNlbWVudENsZWFyVGltZXIpO1xuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50cyA9IG1zZztcblxuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgPSAnJztcbiAgICAgICAgfSwgdGhpcy5TUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZWFkYWJsZVRpbWVyRm9yU2NyZWVuUmVhZGVyKFxuICAgICAgICBob3VyczogbnVtYmVyLFxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHNlY29uZHM6IG51bWJlclxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGlmICghaG91cnMgJiYgIW1pbnV0ZXMgJiYgIXNlY29uZHMpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFob3VycyAmJiAhbWludXRlcyAmJiAhc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJzfSBoZXVyZXMuYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFtaW51dGVzICYmICFob3VycyAmJiAhc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIGAke21pbnV0ZXN9IG1pbnV0ZXMuYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFzZWNvbmRzICYmICFtaW51dGVzICYmICFob3Vycykge1xuICAgICAgICAgICAgcmV0dXJuIGAke3NlY29uZHN9IHNlY29uZGVzLmA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEhaG91cnMgJiYgISFtaW51dGVzICYmICEhc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJzfSBoZXVyZXMgJHttaW51dGVzfSBtaW51dGVzIGV0ICR7c2Vjb25kc30gc2Vjb25kZXMuYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISFob3VycyAmJiAhIW1pbnV0ZXMgJiYgIXNlY29uZHMpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtob3Vyc30gaGV1cmVzIGV0ICR7bWludXRlc30gbWludXRlcy5gO1xuICAgICAgICB9XG4gICAgICAgIGlmICghIWhvdXJzICYmICEhc2Vjb25kcyAmJiAhbWludXRlcykge1xuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJzfSBoZXVyZXMgZXQgJHtzZWNvbmRzfSBzZWNvbmRlcy5gO1xuICAgICAgICB9XG4gICAgICAgIGlmICghIW1pbnV0ZXMgJiYgISFzZWNvbmRzICYmICFob3Vycykge1xuICAgICAgICAgICAgcmV0dXJuIGAke21pbnV0ZXN9IG1pbnV0ZXMgZXQgJHtzZWNvbmRzfSBzZWNvbmRlcy5gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoXG4gICAgICAgIHRpbWVJblNlY29uZHM6IG51bWJlcixcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzOiBudW1iZXJcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgXzFfaG91ckluU2Vjb25kcyA9IDYwICogNjA7XG4gICAgICAgIGNvbnN0IF81X21pbnV0ZXNJblNlY29uZHMgPSA1ICogNjA7XG4gICAgICAgIGNvbnN0IF8xMF9taW51dGVzSW5TZWNvbmRzID0gMTAgKiA2MDtcbiAgICAgICAgY29uc3QgXzFfbWludXRlSW5TZWNvbmRzID0gNjA7XG4gICAgICAgIGNvbnN0IF8yX21pbnV0ZUluU2Vjb25kcyA9IDIgKiA2MDtcblxuICAgICAgICAvLyBXaGVuIGZpbmlzaGVkLCBkaXNwbGF5IGV4cGlyZWQgbWVzc2FnZVxuICAgICAgICBpZiAodGltZUluU2Vjb25kcyA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5leHBpcmVkLW1lc3NhZ2Uuc3Itb25seSdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gRXZlcnkgc2Vjb25kIGZvciB0aGUgbGFzdCAxNXNcbiAgICAgICAgaWYgKHRpbWVJblNlY29uZHMgPD0gMTUpIHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzID0gdGltZUluU2Vjb25kcy50b1N0cmluZygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEV2ZXJ5IDMwcyB3aGVuIGxlc3MgdGhhbiAyIG1pbnV0ZXNcbiAgICAgICAgaWYgKHRpbWVJblNlY29uZHMgPD0gXzJfbWludXRlSW5TZWNvbmRzICYmIHRpbWVJblNlY29uZHMgJSAzMCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gdGhpcy5nZXRSZWFkYWJsZVRpbWVyRm9yU2NyZWVuUmVhZGVyKFxuICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2VTck1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGFnZS1leHBpcmF0aW9uLXRpbWVyLmNvdW50LWRvd24tbWVzc2FnZS5zci1vbmx5JyxcbiAgICAgICAgICAgICAgICAgICAgeyBjb3VudERvd25WYWx1ZTogbXNnIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEV2ZXJ5IG1pbnV0ZSBmb3IgdGhlIGxhc3QgNSBtaW51dGVzXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRpbWVJblNlY29uZHMgPD0gXzVfbWludXRlc0luU2Vjb25kcyAmJlxuICAgICAgICAgICAgdGltZUluU2Vjb25kcyAlIF8xX21pbnV0ZUluU2Vjb25kcyA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IHRoaXMuZ2V0UmVhZGFibGVUaW1lckZvclNjcmVlblJlYWRlcihcbiAgICAgICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgIHNlY29uZHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmFubm91bmNlU3JNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2Uuc3Itb25seScsXG4gICAgICAgICAgICAgICAgICAgIHsgY291bnREb3duVmFsdWU6IG1zZyB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBFdmVyeSAxMCBtaW51dGVzIHdoZW4gbGVzcyB0aGFuIGFuIGhvdXJcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGltZUluU2Vjb25kcyA8IF8xX2hvdXJJblNlY29uZHMgJiZcbiAgICAgICAgICAgIHRpbWVJblNlY29uZHMgJSBfMTBfbWludXRlc0luU2Vjb25kcyA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IHRoaXMuZ2V0UmVhZGFibGVUaW1lckZvclNjcmVlblJlYWRlcihcbiAgICAgICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgIHNlY29uZHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmFubm91bmNlU3JNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2Uuc3Itb25seScsXG4gICAgICAgICAgICAgICAgICAgIHsgY291bnREb3duVmFsdWU6IG1zZyB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBFdmVyeSBob3VyIHdoZW4gbW9yZSB0aGFuIGFuIGhvdXJcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGltZUluU2Vjb25kcyA+PSBfMV9ob3VySW5TZWNvbmRzICYmXG4gICAgICAgICAgICB0aW1lSW5TZWNvbmRzICUgXzFfaG91ckluU2Vjb25kcyA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IHRoaXMuZ2V0UmVhZGFibGVUaW1lckZvclNjcmVlblJlYWRlcihcbiAgICAgICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgIHNlY29uZHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmFubm91bmNlU3JNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2Uuc3Itb25seScsXG4gICAgICAgICAgICAgICAgICAgIHsgY291bnREb3duVmFsdWU6IG1zZyB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAqbmdJZj1cImFwcGxpY2F0aW9uSW5mb1JldHJpZXZlZCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cInN0aWNreS10b3AgYWxlcnQgdGV4dC1jZW50ZXIgbXktMFwiXG4gICAgW2NsYXNzLmFsZXJ0LXdhcm5pbmddPVwiKHNlc3Npb25FeHBpcmVkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgW2NsYXNzLmFsZXJ0LWRhbmdlcl09XCIoc2Vzc2lvbkV4cGlyZWQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cIihzZXNzaW9uRXhwaXJlZCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5jb3VudC1kb3duLW1lc3NhZ2UnXG4gICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IHsgY291bnREb3duVmFsdWU6IGNvdW50RG93blRpbWVUb0Rpc3BsYXkgfCBhc3luYyB9XG4gICAgICAgIFwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIoc2Vzc2lvbkV4cGlyZWQgfCBhc3luYykgPT09IHRydWVcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2ZvZWhuLXBhZ2UtZXhwaXJhdGlvbi10aW1lci5leHBpcmVkLW1lc3NhZ2UnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cblxuPHAgY2xhc3M9XCJzci1vbmx5XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCI+XG4gICAge3sgc3JBbm5vdW5jZW1lbnRzIH19XG48L3A+XG4iXX0=