@dsivd/prestations-ng 15.5.10 → 15.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -26,6 +26,25 @@ A change is considered **breaking** if you have to change your code or update yo
26
26
 
27
27
  ---
28
28
 
29
+ ## [15.5.12]
30
+
31
+ ### Added
32
+
33
+ - [foehn-input-prefixed-text.ts](projects/prestations-ng/src/foehn-input/foehn-input-prefixed-text.component.ts)
34
+ - new text input to request a text with a read-only prefix
35
+ - `@Input prefix: string` : the read-only prefix
36
+ - `@Input() prefixColClass = 'col-md-4'` : the class applied to the foehn-input-text of the prefix part
37
+ - `@Input() textColClass = 'col-md-8'` : the class applied to the foehn-input-text of the user text part
38
+
39
+ - [gesdem-confirmation.component.ts](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.component.ts)
40
+ - go to top of the page when component initializes (same as [abstract-page-component.ts](projects/prestations-ng/src/abstract-page-component.ts)).
41
+
42
+ ### Fixed
43
+
44
+ - [multi-upload.service.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/multi-upload.service.ts)
45
+ - [bo-multi-upload.service.ts](projects/prestations-ng/src/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.ts)
46
+ - timestamp used in document `key` for multiple uploads is now generated when calling `mapToDocumentReference` (not when service is created).
47
+
29
48
  ## [15.5.10]
30
49
 
31
50
  ### Added
@@ -0,0 +1,73 @@
1
+ import { Component, forwardRef, Input } from '@angular/core';
2
+ import { FoehnInputStringComponent } from '../foehn-input/foehn-input-string.component';
3
+ import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../foehn-validation-alerts/foehn-validation-alerts.component";
6
+ import * as i2 from "./foehn-input-text.component";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "../sdk-dictionary/sdk-dictionary.pipe";
9
+ export class FoehnInputPrefixedTextComponent extends FoehnInputStringComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.prefix = 'prefix ';
13
+ this.prefixColClass = 'col-md-4';
14
+ this.textColClass = 'col-md-8';
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ updateFullText() {
20
+ const validValue = this.getValidValue();
21
+ if (typeof validValue !== 'undefined') {
22
+ this.updateNgModel(validValue);
23
+ }
24
+ }
25
+ handleUserInput() {
26
+ const validValue = this.getValidValue();
27
+ if (typeof validValue !== 'undefined') {
28
+ this.handleChange(validValue);
29
+ }
30
+ }
31
+ onModelChange(value) {
32
+ if (!!value) {
33
+ this.text = value.slice(this.prefix.length);
34
+ }
35
+ else {
36
+ this.text = null;
37
+ }
38
+ }
39
+ getValidValue() {
40
+ if (!this.text?.length) {
41
+ if (this.model_ !== undefined) {
42
+ return null;
43
+ }
44
+ return undefined;
45
+ }
46
+ return `${this.prefix}${this.text}`;
47
+ }
48
+ }
49
+ FoehnInputPrefixedTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnInputPrefixedTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
50
+ FoehnInputPrefixedTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FoehnInputPrefixedTextComponent, selector: "foehn-input-prefixed-text", inputs: { prefix: "prefix", prefixColClass: "prefixColClass", textColClass: "textColClass" }, providers: [
51
+ {
52
+ provide: FoehnInputComponent,
53
+ useExisting: forwardRef(() => FoehnInputPrefixedTextComponent),
54
+ multi: true
55
+ }
56
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div [class]=\"prefixColClass\">\n <foehn-input-text\n [name]=\"name + '_prefix'\"\n [id]=\"buildId() + '_prefix'\"\n [model]=\"prefix\"\n [autocomplete]=\"'off'\"\n [disabled]=\"true\"\n ></foehn-input-text>\n </div>\n\n <div [class]=\"textColClass\">\n <foehn-input-text\n [name]=\"name + '_text'\"\n [id]=\"buildId() + '_text'\"\n [(model)]=\"text\"\n (modelChange)=\"updateFullText()\"\n [autocomplete]=\"'off'\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n ></foehn-input-text>\n </div>\n </div>\n </fieldset>\n</div>\n", components: [{ type: i1.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i2.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fromDictionary": i4.SdkDictionaryPipe } });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnInputPrefixedTextComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'foehn-input-prefixed-text', providers: [
60
+ {
61
+ provide: FoehnInputComponent,
62
+ useExisting: forwardRef(() => FoehnInputPrefixedTextComponent),
63
+ multi: true
64
+ }
65
+ ], template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n class=\"mb-3\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n [attr.for]=\"buildChildId()\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div [class]=\"prefixColClass\">\n <foehn-input-text\n [name]=\"name + '_prefix'\"\n [id]=\"buildId() + '_prefix'\"\n [model]=\"prefix\"\n [autocomplete]=\"'off'\"\n [disabled]=\"true\"\n ></foehn-input-text>\n </div>\n\n <div [class]=\"textColClass\">\n <foehn-input-text\n [name]=\"name + '_text'\"\n [id]=\"buildId() + '_text'\"\n [(model)]=\"text\"\n (modelChange)=\"updateFullText()\"\n [autocomplete]=\"'off'\"\n (userInput)=\"handleUserInput()\"\n [isErrorInherited]=\"hasErrorsToDisplay()\"\n [disabled]=\"disabled\"\n ></foehn-input-text>\n </div>\n </div>\n </fieldset>\n</div>\n" }]
66
+ }], propDecorators: { prefix: [{
67
+ type: Input
68
+ }], prefixColClass: [{
69
+ type: Input
70
+ }], textColClass: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQtcHJlZml4ZWQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQtcHJlZml4ZWQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4taW5wdXQvZm9laG4taW5wdXQtcHJlZml4ZWQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQWEzRSxNQUFNLE9BQU8sK0JBQ1QsU0FBUSx5QkFBeUI7SUFackM7O1FBZUksV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUduQixtQkFBYyxHQUFHLFVBQVUsQ0FBQztRQUc1QixpQkFBWSxHQUFHLFVBQVUsQ0FBQztLQXdDN0I7SUFwQ0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYztRQUNWLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDM0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7OzZIQWpEUSwrQkFBK0I7aUhBQS9CLCtCQUErQixrSkFSN0I7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztZQUM5RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDYkwsZ2pFQThEQTs0RkQvQ2EsK0JBQStCO2tCQVgzQyxTQUFTOytCQUNJLDJCQUEyQixhQUUxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBTUQsTUFBTTtzQkFETCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC1zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWlucHV0LXByZWZpeGVkLXRleHQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1pbnB1dC1wcmVmaXhlZC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuSW5wdXRQcmVmaXhlZFRleHRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5JbnB1dFByZWZpeGVkVGV4dENvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dFN0cmluZ0NvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHByZWZpeCA9ICdwcmVmaXggJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHJlZml4Q29sQ2xhc3MgPSAnY29sLW1kLTQnO1xuXG4gICAgQElucHV0KClcbiAgICB0ZXh0Q29sQ2xhc3MgPSAnY29sLW1kLTgnO1xuXG4gICAgdGV4dDogc3RyaW5nO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRnVsbFRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHQgPSB2YWx1ZS5zbGljZSh0aGlzLnByZWZpeC5sZW5ndGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50ZXh0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsaWRWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRleHQ/Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7dGhpcy5wcmVmaXh9JHt0aGlzLnRleHR9YDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbYXR0ci5pZF09XCJidWlsZElkKCdDb250YWluZXInKVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGZpZWxkc2V0XG4gICAgICAgIGNsYXNzPVwibWItM1wiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZ2V0RGVzY3JpYmVkQnkoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICA+XG4gICAgICAgIDxsZWdlbmRcbiAgICAgICAgICAgIFthdHRyLmZvcl09XCJidWlsZENoaWxkSWQoKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpc0xhYmVsU3JPbmx5ID8gJ3NyLW9ubHknIDogJ3ZkLXAnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGVnZW5kPlxuXG4gICAgICAgIDxmb2Vobi12YWxpZGF0aW9uLWFsZXJ0cyBbY29tcG9uZW50XT1cInRoaXNcIj48L2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzPlxuXG4gICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwVGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJoZWxwVGV4dFwiXG4gICAgICAgID48L3NtYWxsPlxuXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCJwcmVmaXhDb2xDbGFzc1wiPlxuICAgICAgICAgICAgICAgIDxmb2Vobi1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX3ByZWZpeCdcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRJZCgpICsgJ19wcmVmaXgnXCJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInByZWZpeFwiXG4gICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCJ0ZXh0Q29sQ2xhc3NcIj5cbiAgICAgICAgICAgICAgICA8Zm9laG4taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ190ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZElkKCkgKyAnX3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVGdWxsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgICAgICAgICAgICAgICAgICh1c2VySW5wdXQpPVwiaGFuZGxlVXNlcklucHV0KClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNFcnJvckluaGVyaXRlZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -16,6 +16,7 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
16
16
  import { FoehnDatePickerButtonModule } from '../foehn-date-picker-button/foehn-date-picker-button.module';
17
17
  import { FoehnHelpModalModule } from '../foehn-help-modal/foehn-help-modal.module';
18
18
  import { FoehnDateTimeComponent } from '../foehn-input-date-time/foehn-input-date-time.component';
19
+ import { FoehnInputPrefixedTextComponent } from './foehn-input-prefixed-text.component';
19
20
  import * as i0 from "@angular/core";
20
21
  export class FoehnInputModule {
21
22
  }
@@ -29,7 +30,8 @@ FoehnInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
29
30
  FoehnDateComponent,
30
31
  FoehnTimeComponent,
31
32
  FoehnInputPhoneComponent,
32
- FoehnDateTimeComponent], imports: [FoehnIconsModule,
33
+ FoehnDateTimeComponent,
34
+ FoehnInputPrefixedTextComponent], imports: [FoehnIconsModule,
33
35
  CommonModule,
34
36
  FormsModule,
35
37
  FoehnValidationAlertsModule,
@@ -44,7 +46,8 @@ FoehnInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
44
46
  FoehnDateComponent,
45
47
  FoehnTimeComponent,
46
48
  FoehnInputPhoneComponent,
47
- FoehnDateTimeComponent] });
49
+ FoehnDateTimeComponent,
50
+ FoehnInputPrefixedTextComponent] });
48
51
  FoehnInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FoehnInputModule, imports: [[
49
52
  FoehnIconsModule,
50
53
  CommonModule,
@@ -76,7 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
76
79
  FoehnDateComponent,
77
80
  FoehnTimeComponent,
78
81
  FoehnInputPhoneComponent,
79
- FoehnDateTimeComponent
82
+ FoehnDateTimeComponent,
83
+ FoehnInputPrefixedTextComponent
80
84
  ],
81
85
  exports: [
82
86
  FoehnInputTextComponent,
@@ -88,8 +92,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
88
92
  FoehnDateComponent,
89
93
  FoehnTimeComponent,
90
94
  FoehnInputPhoneComponent,
91
- FoehnDateTimeComponent
95
+ FoehnDateTimeComponent,
96
+ FoehnInputPrefixedTextComponent
92
97
  ]
93
98
  }]
94
99
  }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMERBQTBELENBQUM7O0FBcUNsRyxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBeEJyQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixzQkFBc0IsYUFsQnRCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osV0FBVztRQUNYLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLG9CQUFvQixhQWVwQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixzQkFBc0I7K0dBR2pCLGdCQUFnQixZQWxDaEI7WUFDTCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCwyQkFBMkI7WUFDM0IsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixvQkFBb0I7U0FDdkI7NEZBMEJRLGdCQUFnQjtrQkFuQzVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb2VobklucHV0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2Vobkljb25zTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4taWNvbnMvZm9laG4taWNvbnMubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobklucHV0RW1haWxDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LWVtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0SGlkZGVuQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC1oaWRkZW4uY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXRQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXRUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0LWRhdGUvZm9laG4taW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5UaW1lQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQtdGltZS9mb2Vobi1pbnB1dC10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0UGhvbmVDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXBob25lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5TW9kdWxlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuRGF0ZVBpY2tlckJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWRhdGUtcGlja2VyLWJ1dHRvbi9mb2Vobi1kYXRlLXBpY2tlci1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEZvZWhuSGVscE1vZGFsTW9kdWxlIH0gZnJvbSAnLi4vZm9laG4taGVscC1tb2RhbC9mb2Vobi1oZWxwLW1vZGFsLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobkRhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQtZGF0ZS10aW1lL2ZvZWhuLWlucHV0LWRhdGUtdGltZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9laG5JY29uc01vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlLFxuICAgICAgICBTZGtEaWN0aW9uYXJ5TW9kdWxlLFxuICAgICAgICBGb2VobkRhdGVQaWNrZXJCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZvZWhuSGVscE1vZGFsTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRm9laG5JbnB1dFRleHRDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRFbWFpbENvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dEhpZGRlbkNvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0VGV4dGFyZWFDb21wb25lbnQsXG4gICAgICAgIEZvZWhuRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRm9laG5UaW1lQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0UGhvbmVDb21wb25lbnQsXG4gICAgICAgIEZvZWhuRGF0ZVRpbWVDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9laG5JbnB1dFRleHRDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRFbWFpbENvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dEhpZGRlbkNvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0VGV4dGFyZWFDb21wb25lbnQsXG4gICAgICAgIEZvZWhuRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRm9laG5UaW1lQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0UGhvbmVDb21wb25lbnQsXG4gICAgICAgIEZvZWhuRGF0ZVRpbWVDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuSW5wdXRNb2R1bGUge31cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4taW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBdUN4RixNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBMUJyQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsK0JBQStCLGFBbkIvQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCwyQkFBMkI7UUFDM0IsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixvQkFBb0IsYUFnQnBCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QiwrQkFBK0I7K0dBRzFCLGdCQUFnQixZQXBDaEI7WUFDTCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCwyQkFBMkI7WUFDM0IsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixvQkFBb0I7U0FDdkI7NEZBNEJRLGdCQUFnQjtrQkFyQzVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsK0JBQStCO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QiwrQkFBK0I7cUJBQ2xDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JY29uc01vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWljb25zL2ZvZWhuLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5JbnB1dEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC1lbWFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dEhpZGRlbkNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4taW5wdXQtaGlkZGVuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobklucHV0VGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VobkRhdGVDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC1kYXRlL2ZvZWhuLWlucHV0LWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuVGltZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0LXRpbWUvZm9laG4taW5wdXQtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5JbnB1dFBob25lQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1pbnB1dC1waG9uZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeU1vZHVsZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobkRhdGVQaWNrZXJCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1kYXRlLXBpY2tlci1idXR0b24vZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBGb2VobkhlbHBNb2RhbE1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLWhlbHAtbW9kYWwvZm9laG4taGVscC1tb2RhbC5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5EYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0LWRhdGUtdGltZS9mb2Vobi1pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuSW5wdXRQcmVmaXhlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWlucHV0LXByZWZpeGVkLXRleHQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvZWhuSWNvbnNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEZvZWhuVmFsaWRhdGlvbkFsZXJ0c01vZHVsZSxcbiAgICAgICAgU2RrRGljdGlvbmFyeU1vZHVsZSxcbiAgICAgICAgRm9laG5EYXRlUGlja2VyQnV0dG9uTW9kdWxlLFxuICAgICAgICBGb2VobkhlbHBNb2RhbE1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0RW1haWxDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRIaWRkZW5Db21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFRleHRhcmVhQ29tcG9uZW50LFxuICAgICAgICBGb2VobkRhdGVDb21wb25lbnQsXG4gICAgICAgIEZvZWhuVGltZUNvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFBob25lQ29tcG9uZW50LFxuICAgICAgICBGb2VobkRhdGVUaW1lQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0UHJlZml4ZWRUZXh0Q29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0RW1haWxDb21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRIaWRkZW5Db21wb25lbnQsXG4gICAgICAgIEZvZWhuSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFRleHRhcmVhQ29tcG9uZW50LFxuICAgICAgICBGb2VobkRhdGVDb21wb25lbnQsXG4gICAgICAgIEZvZWhuVGltZUNvbXBvbmVudCxcbiAgICAgICAgRm9laG5JbnB1dFBob25lQ29tcG9uZW50LFxuICAgICAgICBGb2VobkRhdGVUaW1lQ29tcG9uZW50LFxuICAgICAgICBGb2VobklucHV0UHJlZml4ZWRUZXh0Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobklucHV0TW9kdWxlIHt9XG4iXX0=
@@ -18,11 +18,10 @@ export class BoMultiUploadService {
18
18
  this.uploadProgressService = uploadProgressService;
19
19
  // A way to have a unique Id per file
20
20
  this.globalSequence = 0;
21
- this.uniqPrefix = new Date().getTime();
22
21
  this.uploaderHelper = new UploaderHelper(dictionaryService, applicationInfoService);
23
22
  }
24
23
  uploadDocuments(url, formKey, label, files, key, isMultiple, language, shouldDisplayFileSavedConfirmation) {
25
- const documents = files.map(file => this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, this.uniqPrefix, this.globalSequence++));
24
+ const documents = files.map(file => this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, new Date().getTime(), this.globalSequence++));
26
25
  const formData = this.uploaderHelper.mapToFormData(documents, formKey, language);
27
26
  return this.httpClient
28
27
  .post(url, formData, {
@@ -68,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
68
67
  providedIn: 'root'
69
68
  }]
70
69
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.ApplicationInfoService }, { type: i4.SdkDictionaryService }, { type: i5.UploadProgressService }]; } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm8tbXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLWJvLW11bHRpLXVwbG9hZC9iby1tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUsxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFNcEQsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUNZLFVBQXNCLEVBQ3RCLFlBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxpQkFBdUMsRUFDdkMscUJBQTRDO1FBSjVDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBVnhELHFDQUFxQztRQUM3QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQVV0QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUNwQyxpQkFBaUIsRUFDakIsc0JBQXNCLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUNYLEdBQVcsRUFDWCxPQUFlLEVB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QUM5QyxDQUFDOztrSEF6R1Esb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9Eb2N1bWVudHNXaXRoRXJyb3JzIH0gZnJvbSAnLi9iby1tdWx0aS11cGxvYWQudHlwZSc7XG5pbXBvcnQgeyBHcm93bFR5cGUgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC10eXBlcyc7XG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZSB9IGZyb20gJy4uL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRlckhlbHBlciB9IGZyb20gJy4uL3VwbG9hZGVyLmhlbHBlcic7XG5pbXBvcnQgeyBVcGxvYWRQcm9ncmVzc1NlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyL3VwbG9hZC1wcm9ncmVzcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCb011bHRpVXBsb2FkU2VydmljZSB7XG4gICAgLy8gQSB3YXkgdG8gaGF2ZSBhIHVuaXF1ZSBJZCBwZXIgZmlsZVxuICAgIHByaXZhdGUgZ2xvYmFsU2VxdWVuY2UgPSAwO1xuICAgIHByaXZhdGUgdW5pcVByZWZpeCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHByaXZhdGUgdXBsb2FkZXJIZWxwZXI6IFVwbG9hZGVySGVscGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRQcm9ncmVzc1NlcnZpY2U6IFVwbG9hZFByb2dyZXNzU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnVwbG9hZGVySGVscGVyID0gbmV3IFVwbG9hZGVySGVscGVyKFxuICAgICAgICAgICAgZGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgICAgICBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBsb2FkRG9jdW1lbnRzKFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgICAgZm9ybUtleTogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nLFxuICAgICAgICBmaWxlczogRmlsZVtdLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgaXNNdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICAgICAgc2hvdWxkRGlzcGxheUZpbGVTYXZlZENvbmZpcm1hdGlvbjogYm9vbGVhblxuICAgICk6IE9ic2VydmFibGU8Qm9Eb2N1bWVudHNXaXRoRXJyb3JzPiB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGZpbGVzLm1hcChmaWxlID0+XG4gICAgICAgICAgICB0aGlzLnVwbG9hZGVySGVscGVyLm1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgaXNNdWx0aXBsZSxcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXFQcmVmaXgsXG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxTZXF1ZW5jZSsrXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0Zvcm1EYXRhKFxuICAgICAgICAgICAgZG9jdW1lbnRzLFxuICAgICAgICAgICAgZm9ybUtleSxcbiAgICAgICAgICAgIGxhbmd1YWdlXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0PEJvRG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBIdHRwRXZlbnQ8Qm9Eb2N1bWVudHNXaXRoRXJyb3JzPikgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UubWFuYWdlVXBsb2FkRXZlbnRGaWx0ZXIoZSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKGU6IEh0dHBFdmVudDxCb0RvY3VtZW50c1dpdGhFcnJvcnM+KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKGUgYXMgSHR0cFJlc3BvbnNlPEJvRG9jdW1lbnRzV2l0aEVycm9ycz4pLmJvZHlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRvY3VtZW50cyAmJiByZXN1bHQuZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGAke3N1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudH0gZmljaGllcihzKSBzYXV2ZWdhcmTDqShzKSBhdmVjIHN1Y2PDqHNgO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jvd2xUeXBlLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgbG9ycyBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm9zIGRvY3VtZW50cyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVEb2N1bWVudChcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2VcbiAgICApOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9LyR7ZG9jdW1lbnQucmVmZXJlbmNlfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgLy8gUmVmbGVjdCB0aGUgZG9jdW1lbnQgb25jZSB0aGUgdXBkYXRlIGlzIGRvbmUgdG8gZWFzZSBjaGFpbmluZyBvYnNlcnZhYmxlcy5cbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudCksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgU3VwcHJlc3Npb24gZHUgZmljaGllciAke2RvY3VtZW50LmZpbGVuYW1lfSByw6l1c3NpZWA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoR3Jvd2xUeXBlLlNVQ0NFU1MsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JztcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuREFOR0VSLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRVcmwoYmFzZVVybDogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcbiAgICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm8tbXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLWJvLW11bHRpLXVwbG9hZC9iby1tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUsxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFNcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUs3QixZQUNZLFVBQXNCLEVBQ3RCLFlBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxpQkFBdUMsRUFDdkMscUJBQTRDO1FBSjVDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBVHhELHFDQUFxQztRQUM3QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQVV2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUNwQyxpQkFBaUIsRUFDakIsc0JBQXNCLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUNYLEdBQVcsRUFDWCxPQUFlLEVBQ2YsS0FBYSxFQUNiLEtBQWEsRUFDYixHQUFXLEVBQ1gsVUFBbUIsRUFDbkIsUUFBZ0Is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QW9CLGNBRmpCLE1BQU07NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvRG9jdW1lbnRzV2l0aEVycm9ycyB9IGZyb20gJy4vYm8tbXVsdGktdXBsb2FkLnR5cGUnO1xuaW1wb3J0IHsgR3Jvd2xUeXBlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtdHlwZXMnO1xuaW1wb3J0IHsgR3Jvd2xCcm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jdW1lbnRSZWZlcmVuY2UgfSBmcm9tICcuLi9kb2N1bWVudC1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkZXJIZWxwZXIgfSBmcm9tICcuLi91cGxvYWRlci5oZWxwZXInO1xuaW1wb3J0IHsgVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci91cGxvYWQtcHJvZ3Jlc3Muc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQm9NdWx0aVVwbG9hZFNlcnZpY2Uge1xuICAgIC8vIEEgd2F5IHRvIGhhdmUgYSB1bmlxdWUgSWQgcGVyIGZpbGVcbiAgICBwcml2YXRlIGdsb2JhbFNlcXVlbmNlID0gMDtcbiAgICBwcml2YXRlIHVwbG9hZGVySGVscGVyOiBVcGxvYWRlckhlbHBlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xTZXJ2aWNlOiBHcm93bEJyb2tlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlOiBVcGxvYWRQcm9ncmVzc1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy51cGxvYWRlckhlbHBlciA9IG5ldyBVcGxvYWRlckhlbHBlcihcbiAgICAgICAgICAgIGRpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICAgICAgYXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwbG9hZERvY3VtZW50cyhcbiAgICAgICAgdXJsOiBzdHJpbmcsXG4gICAgICAgIGZvcm1LZXk6IHN0cmluZyxcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcbiAgICAgICAgZmlsZXM6IEZpbGVbXSxcbiAgICAgICAga2V5OiBzdHJpbmcsXG4gICAgICAgIGlzTXVsdGlwbGU6IGJvb2xlYW4sXG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgICAgIHNob3VsZERpc3BsYXlGaWxlU2F2ZWRDb25maXJtYXRpb246IGJvb2xlYW5cbiAgICApOiBPYnNlcnZhYmxlPEJvRG9jdW1lbnRzV2l0aEVycm9ycz4ge1xuICAgICAgICBjb25zdCBkb2N1bWVudHMgPSBmaWxlcy5tYXAoZmlsZSA9PlxuICAgICAgICAgICAgdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0RvY3VtZW50UmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGlzTXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxTZXF1ZW5jZSsrXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0Zvcm1EYXRhKFxuICAgICAgICAgICAgZG9jdW1lbnRzLFxuICAgICAgICAgICAgZm9ybUtleSxcbiAgICAgICAgICAgIGxhbmd1YWdlXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0PEJvRG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChlOiBIdHRwRXZlbnQ8Qm9Eb2N1bWVudHNXaXRoRXJyb3JzPikgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UubWFuYWdlVXBsb2FkRXZlbnRGaWx0ZXIoZSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKGU6IEh0dHBFdmVudDxCb0RvY3VtZW50c1dpdGhFcnJvcnM+KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKGUgYXMgSHR0cFJlc3BvbnNlPEJvRG9jdW1lbnRzV2l0aEVycm9ycz4pLmJvZHlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRvY3VtZW50cyAmJiByZXN1bHQuZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGAke3N1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudH0gZmljaGllcihzKSBzYXV2ZWdhcmTDqShzKSBhdmVjIHN1Y2PDqHNgO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jvd2xUeXBlLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgbG9ycyBkZSBsYSB0cmFuc21pc3Npb24gZGUgdm9zIGRvY3VtZW50cyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVEb2N1bWVudChcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2VcbiAgICApOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2Jhc2VVcmx9LyR7ZG9jdW1lbnQucmVmZXJlbmNlfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgLy8gUmVmbGVjdCB0aGUgZG9jdW1lbnQgb25jZSB0aGUgdXBkYXRlIGlzIGRvbmUgdG8gZWFzZSBjaGFpbmluZyBvYnNlcnZhYmxlcy5cbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudCksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgU3VwcHJlc3Npb24gZHUgZmljaGllciAke2RvY3VtZW50LmZpbGVuYW1lfSByw6l1c3NpZWA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoR3Jvd2xUeXBlLlNVQ0NFU1MsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JztcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuREFOR0VSLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RG93bmxvYWRVcmwoYmFzZVVybDogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRSZWZlcmVuY2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcbiAgICB9XG59XG4iXX0=
@@ -20,13 +20,12 @@ export class MultiUploadService {
20
20
  this.uploadProgressService = uploadProgressService;
21
21
  // A way to have a unique Id per file
22
22
  this.globalSequence = 0;
23
- this.uniqPrefix = new Date().getTime();
24
23
  this.uploaderHelper = new UploaderHelper(dictionaryService, applicationInfoService);
25
24
  }
26
25
  uploadDocuments(baseUrl, formKey, label, files, key, isMultiple, language, shouldDisplayFileSavedConfirmation) {
27
26
  const reference = this.gesdemHandlerService.lastResponse.meta.reference;
28
27
  if (!!reference?.length) {
29
- const documents = files.map(file => this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, this.uniqPrefix, this.globalSequence++));
28
+ const documents = files.map(file => this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, new Date().getTime(), this.globalSequence++));
30
29
  const formData = this.uploaderHelper.mapToFormData(documents, formKey, language);
31
30
  const url = `${baseUrl}/upload/${reference}`;
32
31
  return this.httpClient
@@ -77,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
77
76
  providedIn: 'root'
78
77
  }]
79
78
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.GesdemHandlerService }, { type: i4.ApplicationInfoService }, { type: i5.SdkDictionaryService }, { type: i6.UploadProgressService }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLW11bHRpLXVwbG9hZC9tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQU1wRCxNQUFNLE9BQU8sa0JBQWtCO0lBTTNCLFlBQ1ksVUFBc0IsRUFDdEIsWUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLHNCQUE4QyxFQUM5QyxpQkFBdUMsRUFDdkMscUJBQTRDO1FBTDVDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFYeEQscUNBQXFDO1FBQzdCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBV3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQ3BDLGlCQUFpQixFQUNqQixzQkFBc0IsQ0FDekIs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QU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtZQUN0QixNQUFNLE9BQU8sR0FDVCxrRUFBa0UsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWUsRUFBRSxRQUEyQjtRQUN2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEUsT0FBTyxHQUFHLE9BQU8sYUFBYSxTQUFTLFFBQVEsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7O2dIQXJIUSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZmLE1BQU07NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEb2N1bWVudHNXaXRoRXJyb3JzIH0gZnJvbSAnLi9tdWx0aS11cGxvYWQudHlwZSc7XG5pbXBvcnQgeyBHcm93bFR5cGUgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC10eXBlcyc7XG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlIH0gZnJvbSAnLi4vZG9jdW1lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwbG9hZGVySGVscGVyIH0gZnJvbSAnLi4vdXBsb2FkZXIuaGVscGVyJztcbmltcG9ydCB7IFVwbG9hZFByb2dyZXNzU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpVXBsb2FkU2VydmljZSB7XG4gICAgLy8gQSB3YXkgdG8gaGF2ZSBhIHVuaXF1ZSBJZCBwZXIgZmlsZVxuICAgIHByaXZhdGUgZ2xvYmFsU2VxdWVuY2UgPSAwO1xuICAgIHByaXZhdGUgdW5pcVByZWZpeCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHByaXZhdGUgdXBsb2FkZXJIZWxwZXI6IFVwbG9hZGVySGVscGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kbGVyU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlOiBVcGxvYWRQcm9ncmVzc1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy51cGxvYWRlckhlbHBlciA9IG5ldyBVcGxvYWRlckhlbHBlcihcbiAgICAgICAgICAgIGRpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICAgICAgYXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwbG9hZERvY3VtZW50cyhcbiAgICAgICAgYmFzZVVybDogc3RyaW5nLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBsYW5ndWFnZTogc3RyaW5nLFxuICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uOiBib29sZWFuXG4gICAgKTogT2JzZXJ2YWJsZTxEb2N1bWVudHNXaXRoRXJyb3JzPiB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICBpZiAoISFyZWZlcmVuY2U/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRzID0gZmlsZXMubWFwKGZpbGUgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGVySGVscGVyLm1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgIGlzTXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudW5pcVByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxTZXF1ZW5jZSsrXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0Zvcm1EYXRhKFxuICAgICAgICAgICAgICAgIGRvY3VtZW50cyxcbiAgICAgICAgICAgICAgICBmb3JtS2V5LFxuICAgICAgICAgICAgICAgIGxhbmd1YWdlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vdXBsb2FkLyR7cmVmZXJlbmNlfWA7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAgICAgLnBvc3Q8RG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChlOiBIdHRwRXZlbnQ8RG9jdW1lbnRzV2l0aEVycm9ycz4pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzU2VydmljZS5tYW5hZ2VVcGxvYWRFdmVudEZpbHRlcihlKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZTogSHR0cEV2ZW50PERvY3VtZW50c1dpdGhFcnJvcnM+KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlIGFzIEh0dHBSZXNwb25zZTxEb2N1bWVudHNXaXRoRXJyb3JzPikuYm9keVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRvY3VtZW50cyAmJiByZXN1bHQuZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYCR7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8Ooc2A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3MgZG9jdW1lbnRzJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgZGVsZXRlRG9jdW1lbnQoXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgZG9jdW1lbnQ6IERvY3VtZW50UmVmZXJlbmNlXG4gICAgKTogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZT4ge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLmdlc2RlbUhhbmRsZXJTZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vZGVsZXRlLyR7cmVmZXJlbmNlfS9kb2MvJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZSh1cmwpLnBpcGUoXG4gICAgICAgICAgICAvLyBSZWZsZWN0IHRoZSBkb2N1bWVudCBvbmNlIHRoZSB1cGRhdGUgaXMgZG9uZSB0byBlYXNlIGNoYWluaW5nIG9ic2VydmFibGVzLlxuICAgICAgICAgICAgbWFwKCgpID0+IGRvY3VtZW50KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBTdXBwcmVzc2lvbiBkdSBmaWNoaWVyICR7ZG9jdW1lbnQuZmlsZW5hbWV9IHLDqXVzc2llYDtcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuU1VDQ0VTUywgbWVzc2FnZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICAgICAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGUgdm90cmUgZG9jdW1lbnQnO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXREb3dubG9hZFVybChiYXNlVXJsOiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudFJlZmVyZW5jZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vZG93bmxvYWQvJHtyZWZlcmVuY2V9L2RvYy8ke2RvY3VtZW50LnJlZmVyZW5jZX1gO1xuICAgIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLW11bHRpLXVwbG9hZC9tdWx0aS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQU1wRCxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQ1ksVUFBc0IsRUFDdEIsWUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLHNCQUE4QyxFQUM5QyxpQkFBdUMsRUFDdkMscUJBQTRDO1FBTDVDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBQ3ZDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFWeEQscUNBQXFDO1FBQzdCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBV3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQ3BDLGlCQUFpQixFQUNqQixzQkFBc0IsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQ1gsT0FBZSxFQUNmLE9BQWUsRUFDZixL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QUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxPQUFPLEdBQ1Qsa0VBQWtFLENBQUM7WUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6RCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlLEVBQUUsUUFBMkI7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hFLE9BQU8sR0FBRyxPQUFPLGFBQWEsU0FBUyxRQUFRLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4RSxDQUFDOztnSEFwSFEsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGZixNQUFNOzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG9jdW1lbnRzV2l0aEVycm9ycyB9IGZyb20gJy4vbXVsdGktdXBsb2FkLnR5cGUnO1xuaW1wb3J0IHsgR3Jvd2xUeXBlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtdHlwZXMnO1xuaW1wb3J0IHsgR3Jvd2xCcm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9laG4tZ3Jvd2wvZ3Jvd2wtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZSB9IGZyb20gJy4uL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRlckhlbHBlciB9IGZyb20gJy4uL3VwbG9hZGVyLmhlbHBlcic7XG5pbXBvcnQgeyBVcGxvYWRQcm9ncmVzc1NlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyL3VwbG9hZC1wcm9ncmVzcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVVwbG9hZFNlcnZpY2Uge1xuICAgIC8vIEEgd2F5IHRvIGhhdmUgYSB1bmlxdWUgSWQgcGVyIGZpbGVcbiAgICBwcml2YXRlIGdsb2JhbFNlcXVlbmNlID0gMDtcbiAgICBwcml2YXRlIHVwbG9hZGVySGVscGVyOiBVcGxvYWRlckhlbHBlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xTZXJ2aWNlOiBHcm93bEJyb2tlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2VzZGVtSGFuZGxlclNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVwbG9hZFByb2dyZXNzU2VydmljZTogVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZXJIZWxwZXIgPSBuZXcgVXBsb2FkZXJIZWxwZXIoXG4gICAgICAgICAgICBkaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGxvYWREb2N1bWVudHMoXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgZm9ybUtleTogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nLFxuICAgICAgICBmaWxlczogRmlsZVtdLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgaXNNdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICAgICAgc2hvdWxkRGlzcGxheUZpbGVTYXZlZENvbmZpcm1hdGlvbjogYm9vbGVhblxuICAgICk6IE9ic2VydmFibGU8RG9jdW1lbnRzV2l0aEVycm9ycz4ge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLmdlc2RlbUhhbmRsZXJTZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgaWYgKCEhcmVmZXJlbmNlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGZpbGVzLm1hcChmaWxlID0+XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0RvY3VtZW50UmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICBpc011bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxTZXF1ZW5jZSsrXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy51cGxvYWRlckhlbHBlci5tYXBUb0Zvcm1EYXRhKFxuICAgICAgICAgICAgICAgIGRvY3VtZW50cyxcbiAgICAgICAgICAgICAgICBmb3JtS2V5LFxuICAgICAgICAgICAgICAgIGxhbmd1YWdlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vdXBsb2FkLyR7cmVmZXJlbmNlfWA7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgICAgICAgLnBvc3Q8RG9jdW1lbnRzV2l0aEVycm9ycz4odXJsLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChlOiBIdHRwRXZlbnQ8RG9jdW1lbnRzV2l0aEVycm9ycz4pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzU2VydmljZS5tYW5hZ2VVcGxvYWRFdmVudEZpbHRlcihlKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZTogSHR0cEV2ZW50PERvY3VtZW50c1dpdGhFcnJvcnM+KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlIGFzIEh0dHBSZXNwb25zZTxEb2N1bWVudHNXaXRoRXJyb3JzPikuYm9keVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NmdWxEb2N1bWVudHNDb3VudCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRvY3VtZW50cyAmJiByZXN1bHQuZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzZnVsRG9jdW1lbnRzQ291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYCR7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8Ooc2A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bFNlcnZpY2UuYWRkV2l0aFR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3MgZG9jdW1lbnRzJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5EQU5HRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgZGVsZXRlRG9jdW1lbnQoXG4gICAgICAgIGJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgZG9jdW1lbnQ6IERvY3VtZW50UmVmZXJlbmNlXG4gICAgKTogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZT4ge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLmdlc2RlbUhhbmRsZXJTZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vZGVsZXRlLyR7cmVmZXJlbmNlfS9kb2MvJHtkb2N1bWVudC5yZWZlcmVuY2V9YDtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZSh1cmwpLnBpcGUoXG4gICAgICAgICAgICAvLyBSZWZsZWN0IHRoZSBkb2N1bWVudCBvbmNlIHRoZSB1cGRhdGUgaXMgZG9uZSB0byBlYXNlIGNoYWluaW5nIG9ic2VydmFibGVzLlxuICAgICAgICAgICAgbWFwKCgpID0+IGRvY3VtZW50KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBTdXBwcmVzc2lvbiBkdSBmaWNoaWVyICR7ZG9jdW1lbnQuZmlsZW5hbWV9IHLDqXVzc2llYDtcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShHcm93bFR5cGUuU1VDQ0VTUywgbWVzc2FnZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICAgICAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGUgdm90cmUgZG9jdW1lbnQnO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xTZXJ2aWNlLmFkZFdpdGhUeXBlKEdyb3dsVHlwZS5EQU5HRVIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXREb3dubG9hZFVybChiYXNlVXJsOiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudFJlZmVyZW5jZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vZG93bmxvYWQvJHtyZWZlcmVuY2V9L2RvYy8ke2RvY3VtZW50LnJlZmVyZW5jZX1gO1xuICAgIH1cbn1cbiJdfQ==
@@ -108,6 +108,7 @@ export class GesdemConfirmationComponent {
108
108
  }
109
109
  }
110
110
  ngOnInit() {
111
+ this.gotToTop();
111
112
  const lastResponse = this.gesdemService.lastResponse;
112
113
  if (lastResponse) {
113
114
  this.reference = lastResponse.meta.reference;
@@ -161,6 +162,9 @@ export class GesdemConfirmationComponent {
161
162
  }
162
163
  return `${link + this.reference}/${firstPage.path}`;
163
164
  }
165
+ gotToTop() {
166
+ window.scrollTo(0, 0);
167
+ }
164
168
  }
165
169
  GesdemConfirmationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GesdemConfirmationComponent, deps: [{ token: i1.GesdemHandlerService }, { token: i2.FoehnPageService }, { token: i3.ActivatedRoute }, { token: i4.SdkDictionaryService }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component });
166
170
  GesdemConfirmationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GesdemConfirmationComponent, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", baseUrlPdf: "baseUrlPdf", hideReference: "hideReference" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"font-weight-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"sr-only\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ml-0 mr-md-auto mr-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"mr-0 ml-md-auto mb-2 mt-2\"\n *ngIf=\"!(isConnectedCyber | async) && closeLink | async as link\"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"mr-0 ml-md-auto mb-2 mt-2\"\n *ngIf=\"!!(isConnectedCyber | async)\"\n >\n <a\n href=\"/100018/logout\"\n id=\"logoutBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ 'gesdem-confirmation.logout-button' | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"font-weight-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: i6.FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "fromDictionary": i7.SdkDictionaryPipe, "async": i5.AsyncPipe } });
@@ -196,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
196
200
  }], hideReference: [{
197
201
  type: Input
198
202
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tY29uZmlybWF0aW9uL2dlc2RlbS1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBTVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0FBSWhGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRSxDQUNqRCxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7QUFPdEMsTUFBTSxPQUFPLDJCQUEyQjtJQTJEcEMsWUFDYyxhQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsY0FBOEIsRUFDOUIsaUJBQXVDLEVBQ3ZD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Q29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2UsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1icmVhZGNydW1iL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgaXNCb29sZWFuRGVmaW5lZCA9ICh2YWx1ZTogYm9vbGVhbik6IGJvb2xlYW4gPT5cbiAgICB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2U7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdnZXNkZW0tY29uZmlybWF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtQ29uZmlybWF0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXRQYWdlVGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBoYXNFbWFpbFNlbnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VIcmVmOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd0xpbmtUb015RGVtYW5kZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBkZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFjdGlvblN0YXR1dCA9IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRDtcblxuICAgIEBJbnB1dCgpXG4gICAgY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSA9XG4gICAgICAgICdWb3VzIGF2ZXogZWZmZWN0dcOpIGxhIHByZW1pw6hyZSDDqXRhcGUgZGUgdm90cmUgZMOpbWFyY2hlIGF2ZWMgc3VjY8OocyAhJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkID1cbiAgICAgICAgXCJMYSBkZW1hbmRlIMOgIGxhcXVlbGxlIHZvdXMgZXNzYXlleiBkJ2FjY8OpZGVyIGEgw6l0w6kgYWJhbmRvbm7DqWUuXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvd25sb2FkUGRmUmVjYXBCdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBiYXNlVXJsUGRmID0gJ2FwaS9kb2N1bWVudC9wZGYvJztcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZVJlZmVyZW5jZSA9IGZhbHNlO1xuXG4gICAgaXNDb25uZWN0ZWRDeWJlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaXJzdFBhZ2VMaW5rID0gJy8nO1xuICAgIHVybFBkZjogc3RyaW5nO1xuICAgIGNsb3NlTGluayA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYkV2ZW50U2VydmljZTogQnJlYWRjcnVtYkV2ZW50U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2ZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uSW5mbzogU2Vzc2lvbkluZm87XG4gICAgcHJvdGVjdGVkIF9uYXZpZ2F0aW9uOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBkYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBwYWdlVGl0bGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb2VoblBhZ2VTZXJ2aWNlOiBGb2VoblBhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG4gICAgICAgIHRoaXMuX3Nlc3Npb25JbmZvID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFNlc3Npb25JbmZvKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbiA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChGb2Vobk5hdmlnYXRpb25TZXJ2aWNlKTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGZyb20gdGhlIHJvdXRpbmcuXG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByb3V0ZURhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRW1haWxTZW50ID0gcm91dGVEYXRhLmhhc0VtYWlsU2VudCB8fCB0aGlzLmhhc0VtYWlsU2VudDtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGluay5uZXh0KFxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VIcmVmIHx8IHRoaXMuY2xvc2VMaW5rLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5zaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dMaW5rVG9NeURlbWFuZGVzID0gcm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuaGlkZVJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlUmVmZXJlbmNlID0gcm91dGVEYXRhLmhpZGVSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJztcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VVcmxQZGYgPSByb3V0ZURhdGEuYmFzZVVybFBkZiB8fCB0aGlzLmJhc2VVcmxQZGY7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uJztcblxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgY2xvc2VMaW5rIGlmIG5vdCBieSBASW5wdXQgYW5kIG5vdCBieSByb3V0ZSBkYXRhXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5vbkV0YXBlSWRDaGFuZ2UoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1uZXN0ZWQtc3Vic2NyaWJlXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXRhcGVJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2xvc2VMaW5rLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGluay5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgaHR0cHM6Ly93d3cudmQuY2gvZ28udG8/cHJlc3RhdGlvbj0ke2V0YXBlSWR9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc1RyYW5zZmVycmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgJiYgdGhpcy5hY3Rpb25TdGF0dXQgPT09IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc0FiYW5kb25lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uU3RhdHV0ICYmIHRoaXMuYWN0aW9uU3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuQUJBTkRPTkVEXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5Qcm9ncmVzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFHZXNkZW1TdGF0dXRVdGlscy5pc0ZpbmFsKHRoaXMuYWN0aW9uU3RhdHV0KTtcbiAgICB9XG5cbiAgICBnZXQgc3VjY2Vzc0xhYmVsRGljb0tleSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc0ZpcnN0QWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LmN1cnJlbnRBY3Rpb24gPT09IDE7XG4gICAgICAgIHJldHVybiBpc0ZpcnN0QWN0aW9uXG4gICAgICAgICAgICA/ICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnXG4gICAgICAgICAgICA6ICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJztcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWY7XG4gICAgICAgIGlmIChjaGFuZ2UgJiYgY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmsubmV4dChjaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYXN0UmVzcG9uc2UgPSB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlO1xuICAgICAgICBpZiAobGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZmVyZW5jZSA9IGxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uU3RhdHV0ID1cbiAgICAgICAgICAgICAgICBBY3Rpb25TdGF0dXRbbGFzdFJlc3BvbnNlLm1ldGEuc3RhdHV0IGFzIEFjdGlvblN0YXR1dF07XG4gICAgICAgICAgICB0aGlzLnVybFBkZiA9IHRoaXMuYmFzZVVybFBkZiArIHRoaXMucmVmZXJlbmNlO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEFjdGlvbiA9IGxhc3RSZXNwb25zZS5tZXRhLmN1cnJlbnRBY3Rpb247XG4gICAgICAgICAgICBpZiAoISFjdXJyZW50QWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cmxQZGYgKz0gYC0ke2N1cnJlbnRBY3Rpb259YDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2NhdGlvbi5wYXRoKCkuaW5jbHVkZXMoYC8ke3RoaXMucmVmZXJlbmNlfS9gKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmdWxsUmVmZXJlbmNlVXJsID0gdGhpcy5sb2NhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgLnBhdGgoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5yZWZlcmVuY2V9LSR7Y3VycmVudEFjdGlvbn1gXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShmdWxsUmVmZXJlbmNlVXJsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlQ29kZSA9IGxhc3RSZXNwb25zZS5mb3JtLmxhbmd1YWdlO1xuICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZUNvZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2hldGhlciB0aGUgdXNlciBoYXMgYSBjb250ZXh0IHdlIGNvbnNpZGVyIGl0IGFzIGNvbm5lY3RlZC5cbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyID0gdGhpcy5fc2Vzc2lvbkluZm8uZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJJbmZvID0+ICEhdXNlckluZm8gJiYgISF1c2VySW5mby5jb250ZXh0KVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLnNldFBhZ2VUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldEtleSgnZ2VzZGVtLWNvbmZpcm1hdGlvbi50aXRsZScpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aXRsZSA9PiB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlLnNldFBhZ2VUaXRsZSh0aXRsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5maXJzdFBhZ2VMaW5rID0gdGhpcy5nZXRGaXJzdFBhZ2VMaW5rKCk7XG5cbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kYXRhU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNDb25uZWN0ZWRDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNDb25mTWVzc2FnZSA9XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNmZXJyZWQgJiYgISF0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2U7XG4gICAgICAgIGNvbnN0IGhhc0FiYW5kb25lZENvbmZNZXNzYWdlID1cbiAgICAgICAgICAgICF0aGlzLmlzVHJhbnNmZXJyZWQgJiZcbiAgICAgICAgICAgICEhdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGhhc0NvbmZNZXNzYWdlIHx8XG4gICAgICAgICAgICBoYXNBYmFuZG9uZWRDb25mTWVzc2FnZSB8fFxuICAgICAgICAgICAgISF0aGlzLnNob3dMaW5rVG9NeURlbWFuZGVzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdFBhZ2VMaW5rKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCBsaW5rID0gJy8nO1xuICAgICAgICBjb25zdCBmaXJzdFBhZ2UgPSB0aGlzLl9uYXZpZ2F0aW9uLmdldEZpcnN0Um91dGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZ2VzZGVtU2VydmljZS5wcmVmaXgpIHtcbiAgICAgICAgICAgIGxpbmsgKz0gYCR7dGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeH0vYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtsaW5rICsgdGhpcy5yZWZlcmVuY2V9LyR7Zmlyc3RQYWdlLnBhdGh9YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cInJlZmVyZW5jZSAmJiAhaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IHRleHQtY2VudGVyIG1iLTJcIlxuICAgICAgICBbbmdDbGFzc109XCJpc1RyYW5zZmVycmVkID8gJ2FsZXJ0LXN1Y2Nlc3MnIDogJ2FsZXJ0LWRhbmdlcidcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJoMlwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBpc1RyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgID8gKHN1Y2Nlc3NMYWJlbERpY29LZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkpXG4gICAgICAgICAgICB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkbCAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlXCI+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmb250LXdlaWdodC1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZVwiIGNsYXNzPVwiaDQgZC1ibG9jayBtdC0zXCI+e3sgcmVmZXJlbmNlIH19PC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICAgICAgPHAgKm5nSWY9XCJoYXNFbWFpbFNlbnQgJiYgIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICB7eyAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICAgW2lubmVySFRNTF09XCInZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC1tZC0xMiB2ZC1oaWdobGlnaHRcIlxuICAgICAgICAqbmdJZj1cIihpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGhhc0Nvbm5lY3RlZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24udHJhbnNtaXNzaW9uLWluZm9ybWF0aW9uLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj5cbiAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1pbmZvLWNpcmNsZSBjbGFzcz1cImgzXCI+PC9mb2Vobi1pY29uLWluZm8tY2lyY2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTExXCI+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVHJhbnNmZXJyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJsaW5rVG9UcmVhdGVkRGVtYW5kZXNcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0xpbmtUb015RGVtYW5kZXMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChkZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0IHx8IGlzQWJhbmRvbmVkKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1kZXRhaWwtbGluay5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiLzEwMDAwMi9kZW1hbmRlcy97eyByZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWRlbWFuZC1kZXRhaWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgcmVmZXJlbmNlOiByZWZlcmVuY2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBpZD1cImxpbmtUb0luUHJvZ3Jlc3NEZW1hbmRlc1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93TGlua1RvTXlEZW1hbmRlcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFpc0FiYW5kb25lZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1wcm9jZXNzaW5nLXByb2dyZXNzLWxpbmsubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi8xMDAwMDIvZGVtYW5kZXMve3sgcmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1kZW1hbmQtZGV0YWlsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5OiB7IHJlZmVyZW5jZTogcmVmZXJlbmNlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgIC5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGxpc3QtdW5zdHlsZWQgZC1tZC1mbGV4IHAtMCBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0wIG1yLW1kLWF1dG8gbXItbWQtMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwidXJsUGRmXCJcbiAgICAgICAgICAgICAgICBpZD1cInRlbGVjaGFyZ2VyQnRuXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHctMTAwXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLmRvd25sb2FkLXBkZi5idXR0b24udGl0bGUnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGRvd25sb2FkUGRmUmVjYXBCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtci0wIG1sLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGNsb3NlTGluayB8IGFzeW5jIGFzIGxpbmtcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rXCIgaWQ9XCJ0ZXJtaW5lckJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCI+XG4gICAgICAgICAgICAgICAge3sgY2xvc2VCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtci0wIG1sLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiISEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cIi8xMDAwMTgvbG9nb3V0XCJcbiAgICAgICAgICAgICAgICBpZD1cImxvZ291dEJ0blwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCIgKm5nSWY9XCIhaGlkZVJlZmVyZW5jZSAmJiByZWZlcmVuY2UgJiYgaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gdGV4dC1jZW50ZXIgbWItMlwiPlxuICAgICAgICA8cFxuICAgICAgICAgICAgY2xhc3M9XCJoMlwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1pbi1wcm9ncmVzcy50aXRsZScgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvcD5cbiAgICAgICAgPGRsPlxuICAgICAgICAgICAgPGR0IGNsYXNzPVwiZm9udC13ZWlnaHQtbGlnaHRcIj5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kdD5cbiAgICAgICAgICAgIDxkZCBpZD1cIm51bURlbWFuZGVFbkNvdXJzXCIgY2xhc3M9XCJoNCBkLWJsb2NrIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7eyByZWZlcmVuY2UgfX1cbiAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgIDwvZGw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHZkLWhpZ2hsaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj5cbiAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1pbmZvLWNpcmNsZSBjbGFzcz1cImgzXCI+PC9mb2Vobi1pY29uLWluZm8tY2lyY2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTExXCI+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImZpcnN0UGFnZUxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24ucmVzdW1lLW15LWRlbWFuZC5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZ2VzZGVtLWNvbmZpcm1hdGlvbi9nZXNkZW0tY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0tY29uZmlybWF0aW9uL2dlc2RlbS1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBTVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0FBSWhGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRSxDQUNqRCxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7QUFPdEMsTUFBTSxPQUFPLDJCQUEyQjtJQTJEcEMsWUFDYyxhQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsY0FBOEIsRUFDOUIsaUJBQXVDLEVBQ3ZD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SztnQkFLTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2UsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1icmVhZGNydW1iL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi9zZXJ2aWNlLWxvY2F0b3InO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgaXNCb29sZWFuRGVmaW5lZCA9ICh2YWx1ZTogYm9vbGVhbik6IGJvb2xlYW4gPT5cbiAgICB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2U7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdnZXNkZW0tY29uZmlybWF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VzZGVtLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtQ29uZmlybWF0aW9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXRQYWdlVGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBoYXNFbWFpbFNlbnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VIcmVmOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd0xpbmtUb015RGVtYW5kZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBkZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGFjdGlvblN0YXR1dCA9IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRDtcblxuICAgIEBJbnB1dCgpXG4gICAgY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSA9XG4gICAgICAgICdWb3VzIGF2ZXogZWZmZWN0dcOpIGxhIHByZW1pw6hyZSDDqXRhcGUgZGUgdm90cmUgZMOpbWFyY2hlIGF2ZWMgc3VjY8OocyAhJztcblxuICAgIEBJbnB1dCgpXG4gICAgY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZUlmQWJhbmRvbmVkID1cbiAgICAgICAgXCJMYSBkZW1hbmRlIMOgIGxhcXVlbGxlIHZvdXMgZXNzYXlleiBkJ2FjY8OpZGVyIGEgw6l0w6kgYWJhbmRvbm7DqWUuXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvd25sb2FkUGRmUmVjYXBCdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBiYXNlVXJsUGRmID0gJ2FwaS9kb2N1bWVudC9wZGYvJztcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZVJlZmVyZW5jZSA9IGZhbHNlO1xuXG4gICAgaXNDb25uZWN0ZWRDeWJlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaXJzdFBhZ2VMaW5rID0gJy8nO1xuICAgIHVybFBkZjogc3RyaW5nO1xuICAgIGNsb3NlTGluayA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYkV2ZW50U2VydmljZTogQnJlYWRjcnVtYkV2ZW50U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2ZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uSW5mbzogU2Vzc2lvbkluZm87XG4gICAgcHJvdGVjdGVkIF9uYXZpZ2F0aW9uOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBkYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBwYWdlVGl0bGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb2VoblBhZ2VTZXJ2aWNlOiBGb2VoblBhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG4gICAgICAgIHRoaXMuX3Nlc3Npb25JbmZvID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFNlc3Npb25JbmZvKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbiA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChGb2Vobk5hdmlnYXRpb25TZXJ2aWNlKTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGZyb20gdGhlIHJvdXRpbmcuXG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByb3V0ZURhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRW1haWxTZW50ID0gcm91dGVEYXRhLmhhc0VtYWlsU2VudCB8fCB0aGlzLmhhc0VtYWlsU2VudDtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGluay5uZXh0KFxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VIcmVmIHx8IHRoaXMuY2xvc2VMaW5rLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZCA9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRDb25maXJtYXRpb25NZXNzYWdlSWZBYmFuZG9uZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dEb3dubG9hZFBkZlJlY2FwQnV0dG9uID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5zaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzQm9vbGVhbkRlZmluZWQocm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dMaW5rVG9NeURlbWFuZGVzID0gcm91dGVEYXRhLnNob3dMaW5rVG9NeURlbWFuZGVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuZGVtYW5kZUlzQ2xvc2VkT25UcmFuc21pdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlRGF0YS5kZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNCb29sZWFuRGVmaW5lZChyb3V0ZURhdGEuaGlkZVJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlUmVmZXJlbmNlID0gcm91dGVEYXRhLmhpZGVSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuZG93bmxvYWRQZGZSZWNhcEJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFBkZlJlY2FwQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJztcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VVcmxQZGYgPSByb3V0ZURhdGEuYmFzZVVybFBkZiB8fCB0aGlzLmJhc2VVcmxQZGY7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvblRleHQgPVxuICAgICAgICAgICAgICAgICAgICByb3V0ZURhdGEuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uJztcblxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgY2xvc2VMaW5rIGlmIG5vdCBieSBASW5wdXQgYW5kIG5vdCBieSByb3V0ZSBkYXRhXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5vbkV0YXBlSWRDaGFuZ2UoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1uZXN0ZWQtc3Vic2NyaWJlXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXRhcGVJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2xvc2VMaW5rLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGluay5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgaHR0cHM6Ly93d3cudmQuY2gvZ28udG8/cHJlc3RhdGlvbj0ke2V0YXBlSWR9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc1RyYW5zZmVycmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgJiYgdGhpcy5hY3Rpb25TdGF0dXQgPT09IEFjdGlvblN0YXR1dC5UUkFOU0ZFUlJFRFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpc0FiYW5kb25lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uU3RhdHV0ICYmIHRoaXMuYWN0aW9uU3RhdHV0ID09PSBBY3Rpb25TdGF0dXQuQUJBTkRPTkVEXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5Qcm9ncmVzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFHZXNkZW1TdGF0dXRVdGlscy5pc0ZpbmFsKHRoaXMuYWN0aW9uU3RhdHV0KTtcbiAgICB9XG5cbiAgICBnZXQgc3VjY2Vzc0xhYmVsRGljb0tleSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc0ZpcnN0QWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LmN1cnJlbnRBY3Rpb24gPT09IDE7XG4gICAgICAgIHJldHVybiBpc0ZpcnN0QWN0aW9uXG4gICAgICAgICAgICA/ICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnXG4gICAgICAgICAgICA6ICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJztcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5jbG9zZUhyZWY7XG4gICAgICAgIGlmIChjaGFuZ2UgJiYgY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpbmsubmV4dChjaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdvdFRvVG9wKCk7XG4gICAgICAgIGNvbnN0IGxhc3RSZXNwb25zZSA9IHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U7XG4gICAgICAgIGlmIChsYXN0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlID0gbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXQgPVxuICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtsYXN0UmVzcG9uc2UubWV0YS5zdGF0dXQgYXMgQWN0aW9uU3RhdHV0XTtcbiAgICAgICAgICAgIHRoaXMudXJsUGRmID0gdGhpcy5iYXNlVXJsUGRmICsgdGhpcy5yZWZlcmVuY2U7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50QWN0aW9uID0gbGFzdFJlc3BvbnNlLm1ldGEuY3VycmVudEFjdGlvbjtcbiAgICAgICAgICAgIGlmICghIWN1cnJlbnRBY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVybFBkZiArPSBgLSR7Y3VycmVudEFjdGlvbn1gO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvY2F0aW9uLnBhdGgoKS5pbmNsdWRlcyhgLyR7dGhpcy5yZWZlcmVuY2V9L2ApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxSZWZlcmVuY2VVcmwgPSB0aGlzLmxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF0aCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLnJlZmVyZW5jZX0tJHtjdXJyZW50QWN0aW9ufWBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGZ1bGxSZWZlcmVuY2VVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlID0gbGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG4gICAgICAgICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlQ29kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGV0aGVyIHRoZSB1c2VyIGhhcyBhIGNvbnRleHQgd2UgY29uc2lkZXIgaXQgYXMgY29ubmVjdGVkLlxuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIgPSB0aGlzLl9zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlckluZm8gPT4gISF1c2VySW5mbyAmJiAhIXVzZXJJbmZvLmNvbnRleHQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0UGFnZVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0S2V5KCdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJylcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRpdGxlID0+IHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2Uuc2V0UGFnZVRpdGxlKHRpdGxlKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpcnN0UGFnZUxpbmsgPSB0aGlzLmdldEZpcnN0UGFnZUxpbmsoKTtcblxuICAgICAgICB0aGlzLl9icmVhZGNydW1iRXZlbnRTZXJ2aWNlLnNraXBMZWF2aW5nQWxlcnRCZWNhdXNlRGVtYW5kSXNUcmFuc21pdHRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc0Nvbm5lY3RlZENvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGhhc0NvbmZNZXNzYWdlID1cbiAgICAgICAgICAgIHRoaXMuaXNUcmFuc2ZlcnJlZCAmJiAhIXRoaXMuY29ubmVjdGVkQ29uZmlybWF0aW9uTWVzc2FnZTtcbiAgICAgICAgY29uc3QgaGFzQWJhbmRvbmVkQ29uZk1lc3NhZ2UgPVxuICAgICAgICAgICAgIXRoaXMuaXNUcmFuc2ZlcnJlZCAmJlxuICAgICAgICAgICAgISF0aGlzLmNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaGFzQ29uZk1lc3NhZ2UgfHxcbiAgICAgICAgICAgIGhhc0FiYW5kb25lZENvbmZNZXNzYWdlIHx8XG4gICAgICAgICAgICAhIXRoaXMuc2hvd0xpbmtUb015RGVtYW5kZXNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0UGFnZUxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGxpbmsgPSAnLyc7XG4gICAgICAgIGNvbnN0IGZpcnN0UGFnZSA9IHRoaXMuX25hdmlnYXRpb24uZ2V0Rmlyc3RSb3V0ZSgpO1xuICAgICAgICBpZiAodGhpcy5nZXNkZW1TZXJ2aWNlLnByZWZpeCkge1xuICAgICAgICAgICAgbGluayArPSBgJHt0aGlzLmdlc2RlbVNlcnZpY2UucHJlZml4fS9gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2xpbmsgKyB0aGlzLnJlZmVyZW5jZX0vJHtmaXJzdFBhZ2UucGF0aH1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ290VG9Ub3AoKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG10LTVcIiAqbmdJZj1cInJlZmVyZW5jZSAmJiAhaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IHRleHQtY2VudGVyIG1iLTJcIlxuICAgICAgICBbbmdDbGFzc109XCJpc1RyYW5zZmVycmVkID8gJ2FsZXJ0LXN1Y2Nlc3MnIDogJ2FsZXJ0LWRhbmdlcidcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJoMlwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBpc1RyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgID8gKHN1Y2Nlc3NMYWJlbERpY29LZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkpXG4gICAgICAgICAgICB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkbCAqbmdJZj1cIiFoaWRlUmVmZXJlbmNlXCI+XG4gICAgICAgICAgICA8ZHQgY2xhc3M9XCJmb250LXdlaWdodC1saWdodFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgPGRkIGlkPVwibnVtRGVtYW5kZVwiIGNsYXNzPVwiaDQgZC1ibG9jayBtdC0zXCI+e3sgcmVmZXJlbmNlIH19PC9kZD5cbiAgICAgICAgPC9kbD5cbiAgICAgICAgPHAgKm5nSWY9XCJoYXNFbWFpbFNlbnQgJiYgIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICB7eyAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICAgW2lubmVySFRNTF09XCInZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC1tZC0xMiB2ZC1oaWdobGlnaHRcIlxuICAgICAgICAqbmdJZj1cIihpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGhhc0Nvbm5lY3RlZENvbnRlbnQoKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24udHJhbnNtaXNzaW9uLWluZm9ybWF0aW9uLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj5cbiAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1pbmZvLWNpcmNsZSBjbGFzcz1cImgzXCI+PC9mb2Vobi1pY29uLWluZm8tY2lyY2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTExXCI+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVHJhbnNmZXJyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbm5lY3RlZENvbmZpcm1hdGlvbk1lc3NhZ2VJZkFiYW5kb25lZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJsaW5rVG9UcmVhdGVkRGVtYW5kZXNcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0xpbmtUb015RGVtYW5kZXMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChkZW1hbmRlSXNDbG9zZWRPblRyYW5zbWl0IHx8IGlzQWJhbmRvbmVkKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1kZXRhaWwtbGluay5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiLzEwMDAwMi9kZW1hbmRlcy97eyByZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWRlbWFuZC1kZXRhaWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgcmVmZXJlbmNlOiByZWZlcmVuY2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICBpZD1cImxpbmtUb0luUHJvZ3Jlc3NEZW1hbmRlc1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93TGlua1RvTXlEZW1hbmRlcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWRlbWFuZGVJc0Nsb3NlZE9uVHJhbnNtaXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFpc0FiYW5kb25lZFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1wcm9jZXNzaW5nLXByb2dyZXNzLWxpbmsubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi8xMDAwMDIvZGVtYW5kZXMve3sgcmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1kZW1hbmQtZGV0YWlsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5OiB7IHJlZmVyZW5jZTogcmVmZXJlbmNlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgIC5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGxpc3QtdW5zdHlsZWQgZC1tZC1mbGV4IHAtMCBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0wIG1yLW1kLWF1dG8gbXItbWQtMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93RG93bmxvYWRQZGZSZWNhcEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwidXJsUGRmXCJcbiAgICAgICAgICAgICAgICBpZD1cInRlbGVjaGFyZ2VyQnRuXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHctMTAwXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLmRvd25sb2FkLXBkZi5idXR0b24udGl0bGUnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGRvd25sb2FkUGRmUmVjYXBCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtci0wIG1sLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpICYmIGNsb3NlTGluayB8IGFzeW5jIGFzIGxpbmtcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rXCIgaWQ9XCJ0ZXJtaW5lckJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCI+XG4gICAgICAgICAgICAgICAge3sgY2xvc2VCdXR0b25UZXh0IHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtci0wIG1sLW1kLWF1dG8gbWItMiBtdC0yXCJcbiAgICAgICAgICAgICpuZ0lmPVwiISEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cIi8xMDAwMTgvbG9nb3V0XCJcbiAgICAgICAgICAgICAgICBpZD1cImxvZ291dEJ0blwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCIgKm5nSWY9XCIhaGlkZVJlZmVyZW5jZSAmJiByZWZlcmVuY2UgJiYgaXNJblByb2dyZXNzXCI+XG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gdGV4dC1jZW50ZXIgbWItMlwiPlxuICAgICAgICA8cFxuICAgICAgICAgICAgY2xhc3M9XCJoMlwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1pbi1wcm9ncmVzcy50aXRsZScgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvcD5cbiAgICAgICAgPGRsPlxuICAgICAgICAgICAgPGR0IGNsYXNzPVwiZm9udC13ZWlnaHQtbGlnaHRcIj5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kdD5cbiAgICAgICAgICAgIDxkZCBpZD1cIm51bURlbWFuZGVFbkNvdXJzXCIgY2xhc3M9XCJoNCBkLWJsb2NrIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7eyByZWZlcmVuY2UgfX1cbiAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgIDwvZGw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHZkLWhpZ2hsaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj5cbiAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1pbmZvLWNpcmNsZSBjbGFzcz1cImgzXCI+PC9mb2Vobi1pY29uLWluZm8tY2lyY2xlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTExXCI+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImZpcnN0UGFnZUxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1jb25maXJtYXRpb24ucmVzdW1lLW15LWRlbWFuZC5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==