@dsivd/prestations-ng 14.5.23-beta4 → 14.5.23-beta7
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/bundles/dsivd-prestations-ng.umd.js +34 -101
- package/bundles/dsivd-prestations-ng.umd.js.map +1 -1
- package/dsivd-prestations-ng-v14.5.23-beta7.tgz +0 -0
- package/esm2015/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.js +34 -99
- package/esm2015/sdk-dictionary/default-dictionary.js +3 -4
- package/fesm2015/dsivd-prestations-ng.js +33 -99
- package/fesm2015/dsivd-prestations-ng.js.map +1 -1
- package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +6 -13
- package/package.json +1 -1
- package/dsivd-prestations-ng-v14.5.23-beta4.tgz +0 -0
|
Binary file
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Component, forwardRef,
|
|
1
|
+
import { Component, forwardRef, Input, ViewChild, ViewChildren } from '@angular/core';
|
|
2
2
|
import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
|
|
3
3
|
import { FoehnAutocompleteComponent } from '../foehn-autocomplete/foehn-autocomplete.component';
|
|
4
|
-
import { first } from 'rxjs/operators';
|
|
5
4
|
import { ObjectHelper } from '../helpers/object.helper';
|
|
5
|
+
import { first } from 'rxjs/operators';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../sdk-dictionary/sdk-dictionary.service";
|
|
8
8
|
import * as i2 from "../foehn-autocomplete/foehn-autocomplete.component";
|
|
@@ -14,7 +14,8 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
14
14
|
super(ngZone);
|
|
15
15
|
this.dictionaryService = dictionaryService;
|
|
16
16
|
this.showEmptyListMessage = false;
|
|
17
|
-
this.
|
|
17
|
+
this.srAnnouncements = '';
|
|
18
|
+
this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS = 2000;
|
|
18
19
|
}
|
|
19
20
|
set defaultElementValues(items) {
|
|
20
21
|
this.defaultElementValues_ = [...items];
|
|
@@ -28,11 +29,6 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
28
29
|
set defaultElementValue(item) {
|
|
29
30
|
this.defaultElementValues = [item];
|
|
30
31
|
}
|
|
31
|
-
handleKeyboardDownEvent(event) {
|
|
32
|
-
if (this.keyboardNavigationAllowed) {
|
|
33
|
-
this.onKeyDownSelectedInner(event);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
32
|
updateMultiselectAutocomplete() {
|
|
37
33
|
const validValue = this.getValidValue();
|
|
38
34
|
if (typeof validValue !== 'undefined') {
|
|
@@ -56,6 +52,7 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
56
52
|
this.updateMultiselectAutocomplete();
|
|
57
53
|
this.handleUserInput();
|
|
58
54
|
this.manageSuggestionListAndFocusAfterAddingAnItem();
|
|
55
|
+
this.manageScreenReaderAnnouncement(item, false);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
58
|
}
|
|
@@ -65,6 +62,7 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
65
62
|
this.model.splice(index, 1);
|
|
66
63
|
this.triggerUserInput(this.model);
|
|
67
64
|
this.manageSuggestionListAndFocusAfterRemovingAnItem();
|
|
65
|
+
this.manageScreenReaderAnnouncement(item, true);
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
68
|
trackByFn(index) {
|
|
@@ -75,28 +73,8 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
75
73
|
const elem = this.findElementByModelItem(value);
|
|
76
74
|
return super.getLabel(elem);
|
|
77
75
|
}
|
|
78
|
-
getSelectedElementTabIndex(index) {
|
|
79
|
-
let firstIndexFocusable = 0;
|
|
80
|
-
if (!!this.defaultElementValues) {
|
|
81
|
-
firstIndexFocusable = this.model.findIndex((selected) => !this.defaultElementValues.includes(selected));
|
|
82
|
-
}
|
|
83
|
-
if (index !== firstIndexFocusable) {
|
|
84
|
-
return -1;
|
|
85
|
-
}
|
|
86
|
-
return 0;
|
|
87
|
-
}
|
|
88
|
-
isSelectedItemFocusable(index) {
|
|
89
|
-
return !this.disabled && !!this.defaultElementValues && this.defaultElementValues.includes(this.model[index]);
|
|
90
|
-
}
|
|
91
76
|
canBeDeleted(index) {
|
|
92
|
-
return !this.defaultElementValues || !this.defaultElementValues.includes(this.model[index]);
|
|
93
|
-
}
|
|
94
|
-
onSelectedItemsFocusin() {
|
|
95
|
-
this.keyboardNavigationAllowed = true;
|
|
96
|
-
this.currentFocusedElem = document.activeElement;
|
|
97
|
-
}
|
|
98
|
-
onSelectedItemsFocusout() {
|
|
99
|
-
this.keyboardNavigationAllowed = false;
|
|
77
|
+
return !this.disabled && (!this.defaultElementValues || !this.defaultElementValues.includes(this.model[index]));
|
|
100
78
|
}
|
|
101
79
|
onAutocompleteElementsLoaded(elements) {
|
|
102
80
|
// Need to wait for childView to be loaded
|
|
@@ -109,12 +87,12 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
109
87
|
}
|
|
110
88
|
});
|
|
111
89
|
}
|
|
112
|
-
|
|
113
|
-
return `${this.
|
|
90
|
+
getDeleteButtonAriaLabel(element) {
|
|
91
|
+
return `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.selected.delete', { elementLabel: this.getLabel(element) })}`;
|
|
114
92
|
}
|
|
115
93
|
findElementByModelItem(item) {
|
|
116
94
|
if (!!this.elements && !!this.elements.length) {
|
|
117
|
-
const itemValue = typeof item
|
|
95
|
+
const itemValue = typeof item !== 'object' ? item : this.getValue(item);
|
|
118
96
|
const elem = this.elements.find((element) => this.getValue(element) === itemValue);
|
|
119
97
|
if (!!elem) {
|
|
120
98
|
return elem;
|
|
@@ -131,55 +109,6 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
131
109
|
}
|
|
132
110
|
return this.model;
|
|
133
111
|
}
|
|
134
|
-
getFirstDeleteButtonToFocus() {
|
|
135
|
-
const closeButtonsElemRefArray = [...this.closeButtonsElemRef.toArray()];
|
|
136
|
-
if (!!closeButtonsElemRefArray.length) {
|
|
137
|
-
return closeButtonsElemRefArray[0].nativeElement;
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
navigateSelectedList(offset) {
|
|
142
|
-
if (!this.disabled) {
|
|
143
|
-
const closeButtonsElemRefArray = this.getDefaultSelectedElements().concat([...this.closeButtonsElemRef.toArray()]);
|
|
144
|
-
if (!!closeButtonsElemRefArray.length) {
|
|
145
|
-
const focusIndex = closeButtonsElemRefArray.findIndex(value => this.currentFocusedElem === value.nativeElement);
|
|
146
|
-
let newIndex = focusIndex + offset;
|
|
147
|
-
if (newIndex >= closeButtonsElemRefArray.length) {
|
|
148
|
-
newIndex = 0;
|
|
149
|
-
}
|
|
150
|
-
if (newIndex < 0) {
|
|
151
|
-
newIndex = closeButtonsElemRefArray.length - 1;
|
|
152
|
-
}
|
|
153
|
-
const elemRef = closeButtonsElemRefArray[newIndex];
|
|
154
|
-
if (!!elemRef) {
|
|
155
|
-
elemRef.nativeElement.focus();
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
getDefaultSelectedElements() {
|
|
161
|
-
return [...this.selectedElemRef.toArray()].filter(value => value.nativeElement.getAttribute('is-default') === 'true');
|
|
162
|
-
}
|
|
163
|
-
onKeyDownSelectedInner(keyEvent) {
|
|
164
|
-
// IE doesn't support keyEvent.code, and has different values
|
|
165
|
-
// in keyEvent.key (Down instead of ArrowDown for instance), hence the multi-support.
|
|
166
|
-
const ie11CompatibleCode = keyEvent.code || keyEvent.key;
|
|
167
|
-
switch (ie11CompatibleCode) {
|
|
168
|
-
case 'Right':
|
|
169
|
-
case 'ArrowRight':
|
|
170
|
-
this.navigateSelectedList(1);
|
|
171
|
-
break;
|
|
172
|
-
case 'Left':
|
|
173
|
-
case 'ArrowLeft':
|
|
174
|
-
this.navigateSelectedList(-1);
|
|
175
|
-
break;
|
|
176
|
-
default:
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
keyEvent.preventDefault();
|
|
180
|
-
keyEvent.stopPropagation();
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
112
|
filterAutocompleteElements(elements) {
|
|
184
113
|
const filteredElements = ObjectHelper.deepCopy(elements);
|
|
185
114
|
if (!!this.model && !!this.model.length) {
|
|
@@ -196,6 +125,7 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
196
125
|
return filteredElements;
|
|
197
126
|
}
|
|
198
127
|
manageSuggestionListAndFocusAfterAddingAnItem() {
|
|
128
|
+
// Empty autocomplete input
|
|
199
129
|
this.autocompleteInputValue = null;
|
|
200
130
|
// Remove selected item from autocomplete suggestion list
|
|
201
131
|
this.autocompleteComponent.elements = this.filterAutocompleteElements(this.elements);
|
|
@@ -218,15 +148,11 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
218
148
|
this.autocompleteComponent.inputElement.nativeElement.hidden = false;
|
|
219
149
|
// Add back selected item to autocomplete suggestion list
|
|
220
150
|
this.autocompleteComponent.elements = this.filterAutocompleteElements(this.elements);
|
|
221
|
-
// When deleting a selected item, check were to set focus back
|
|
222
|
-
this.
|
|
223
|
-
const
|
|
224
|
-
if (!!
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
this.autocompleteComponent.setFocusOnInput();
|
|
229
|
-
this.autocompleteComponent.onInputFocus();
|
|
151
|
+
// When deleting a selected item, check were to set focus back when no more items to delete
|
|
152
|
+
this.selectedElemRef.changes.pipe(first()).subscribe(() => {
|
|
153
|
+
const selectedElemRefArray = [...this.selectedElemRef.toArray()];
|
|
154
|
+
if (!selectedElemRefArray.length && !!this.selectedItemsArea) {
|
|
155
|
+
this.selectedItemsArea.nativeElement.setFocus();
|
|
230
156
|
}
|
|
231
157
|
});
|
|
232
158
|
}
|
|
@@ -237,15 +163,27 @@ export class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteComp
|
|
|
237
163
|
this.autocompleteInputValue = null;
|
|
238
164
|
this.autocompleteComponent.inputElement.nativeElement.hidden = true;
|
|
239
165
|
}
|
|
166
|
+
manageScreenReaderAnnouncement(element, isDelete) {
|
|
167
|
+
clearTimeout(this.srAnnouncementClearTimer);
|
|
168
|
+
if (isDelete) {
|
|
169
|
+
this.srAnnouncements += `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.sr-announcement.deleted', { elementLabel: this.getLabel(element) })}`;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
this.srAnnouncements += `${this.dictionaryService.getKeySync('foehn-multiselect-autocomplete.sr-announcement.added', { elementLabel: this.getLabel(element) })}`;
|
|
173
|
+
}
|
|
174
|
+
this.srAnnouncementClearTimer = setTimeout(() => {
|
|
175
|
+
this.srAnnouncements = '';
|
|
176
|
+
}, this.SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS);
|
|
177
|
+
}
|
|
240
178
|
}
|
|
241
179
|
FoehnMultiselectAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
-
FoehnMultiselectAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnMultiselectAutocompleteComponent, selector: "foehn-multiselect-autocomplete", inputs: { defaultElementValues: "defaultElementValues", defaultElementValue: "defaultElementValue" },
|
|
180
|
+
FoehnMultiselectAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnMultiselectAutocompleteComponent, selector: "foehn-multiselect-autocomplete", inputs: { defaultElementValues: "defaultElementValues", defaultElementValue: "defaultElementValue" }, providers: [
|
|
243
181
|
{
|
|
244
182
|
provide: FoehnInputComponent,
|
|
245
183
|
useExisting: forwardRef(() => FoehnMultiselectAutocompleteComponent),
|
|
246
184
|
multi: true
|
|
247
185
|
}
|
|
248
|
-
], viewQueries: [{ propertyName: "autocompleteComponent", first: true, predicate: ["autocompleteComponent"], descendants: true }, { propertyName: "alertMessageContainer", first: true, predicate: ["alertMessageContainer"], descendants: true }, { propertyName: "
|
|
186
|
+
], viewQueries: [{ propertyName: "autocompleteComponent", first: true, predicate: ["autocompleteComponent"], descendants: true }, { propertyName: "alertMessageContainer", first: true, predicate: ["alertMessageContainer"], descendants: true }, { propertyName: "selectedItemsArea", first: true, predicate: ["selectedItemsArea"], descendants: true }, { propertyName: "selectedElemRef", predicate: ["selectedElemRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<foehn-autocomplete\n #autocompleteComponent\n [name]=\"name\"\n [label]=\"label\"\n [elements]=\"elements\"\n [elementsUrl]=\"elementsUrl\"\n [elementValue]=\"elementValue\"\n [elementLabel]=\"elementLabel\"\n [elementValueIdentity]=\"elementValueIdentity\"\n [elementDisabled]=\"elementDisabled\"\n [allElementDisabled]=\"allElementDisabled\"\n [elementGroup]=\"elementGroup\"\n [allowCustomValue]=\"false\"\n [searchValueMinCharsCount]=\"searchValueMinCharsCount\"\n [customValueModelGenerator]=\"customValueModelGenerator\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (userInput)=\"addItem($event)\"\n [(model)]=\"autocompleteInputValue\"\n (elementsLoaded)=\"onAutocompleteElementsLoaded($event)\"\n>\n <small\n *ngIf=\"!showEmptyListMessage\"\n [attr.id]=\"buildChildId('Help')\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText ? helpText : 'foehn-multiselect-autocomplete.autocomplete.screen-reader.label' | fromDictionary\"\n ></small>\n\n <div\n [id]=\"buildChildId('AlertMessageContainer')\"\n role=\"status\"\n #alertMessageContainer\n >\n <p\n *ngIf=\"showEmptyListMessage\"\n class=\"alert alert-info\"\n tabindex=\"0\"\n >{{'foehn-multiselect-autocomplete.autocomplete.empty-message' | fromDictionary}}</p>\n </div>\n</foehn-autocomplete>\n\n<p\n class=\"sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n>\n {{srAnnouncements}}\n</p>\n\n<div\n role=\"presentation\"\n class=\"selected-list-container d-flex align-content-stretch flex-wrap\"\n [ngClass]=\"!!model && !!model.length ? 'mb-2' : 'mb-0'\"\n #selectedItemsArea\n>\n <ng-container *ngFor=\"let element of model; let index = index; trackBy: trackByFn\">\n <span\n *ngIf=\"!canBeDeleted(index)\"\n class=\"badge badge-pill badge-secondary mr-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-describedby]=\"buildChildId('Label')\"\n >\n {{getLabel(element)}}\n </span>\n <button\n *ngIf=\"canBeDeleted(index)\"\n class=\"btn btn-secondary badge badge-pill mr-1 mb-1 py-2 px-3 d-flex align-items-center\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"getDeleteButtonAriaLabel(element)\"\n [attr.aria-describedby]=\"buildChildId('Label')\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n (click)=\"removeItem(element)\"\n #selectedElemRef\n >\n {{getLabel(element)}}\n <foehn-icon-times\n aria-hidden=\"true\"\n class=\"ml-2\"\n [title]=\"getDeleteButtonAriaLabel(element)\"\n ></foehn-icon-times>\n </button>\n </ng-container>\n</div>\n", styles: ["foehn-autocomplete p.alert:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem #ffbf47}.selected-list-container button>.btn,.btn-link{line-height:inherit;padding:0}.selected-list-container .btn{text-transform:none}.selected-list-container span.badge-pill:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem #ffbf47}\n"], components: [{ type: i2.FoehnAutocompleteComponent, selector: "foehn-autocomplete", inputs: ["searchValueMinCharsCount", "allowCustomValue", "customValueModelGenerator"] }, { type: i3.FoehnIconTimesComponent, selector: "foehn-icon-times" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
|
|
249
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnMultiselectAutocompleteComponent, decorators: [{
|
|
250
188
|
type: Component,
|
|
251
189
|
args: [{
|
|
@@ -266,18 +204,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
266
204
|
}], alertMessageContainer: [{
|
|
267
205
|
type: ViewChild,
|
|
268
206
|
args: ['alertMessageContainer']
|
|
269
|
-
}], closeButtonsElemRef: [{
|
|
270
|
-
type: ViewChildren,
|
|
271
|
-
args: ['closeButtonsElemRef']
|
|
272
207
|
}], selectedElemRef: [{
|
|
273
208
|
type: ViewChildren,
|
|
274
209
|
args: ['selectedElemRef']
|
|
210
|
+
}], selectedItemsArea: [{
|
|
211
|
+
type: ViewChild,
|
|
212
|
+
args: ['selectedItemsArea']
|
|
275
213
|
}], defaultElementValues: [{
|
|
276
214
|
type: Input
|
|
277
215
|
}], defaultElementValue: [{
|
|
278
216
|
type: Input
|
|
279
|
-
}], handleKeyboardDownEvent: [{
|
|
280
|
-
type: HostListener,
|
|
281
|
-
args: ['keydown', ['$event']]
|
|
282
217
|
}] } });
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBZXhELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSwwQkFBMEI7SUFzQ2pGLFlBQVksTUFBYyxFQUFVLGlCQUF1QztRQUN2RSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFEa0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQU4zRSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFHckIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBSzFDLENBQUM7SUExQkQsSUFDSSxvQkFBb0IsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFD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S0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7Z0lBSVcscUJBQXFCO3NCQUQ1QixTQUFTO3VCQUFDLHVCQUF1QjtnQkFJMUIscUJBQXFCO3NCQUQ1QixTQUFTO3VCQUFDLHVCQUF1QjtnQkFJMUIsbUJBQW1CO3NCQUQxQixZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBSTNCLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFhRixtQkFBbUI7c0JBRHRCLEtBQUs7Z0JBaUJFLHVCQUF1QjtzQkFEOUIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LCBOZ1pvbmUsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tYXV0b2NvbXBsZXRlL2ZvZWhuLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvZWhuSW5wdXRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb2Vobk11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTXVsdGlzZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBGb2VobkF1dG9jb21wbGV0ZUNvbXBvbmVudCB7XG5cbiAgICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGVDb21wb25lbnQnKVxuICAgIHByaXZhdGUgYXV0b2NvbXBsZXRlQ29tcG9uZW50OiBGb2VobkF1dG9jb21wbGV0ZUNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ2FsZXJ0TWVzc2FnZUNvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSBhbGVydE1lc3NhZ2VDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkcmVuKCdjbG9zZUJ1dHRvbnNFbGVtUmVmJylcbiAgICBwcml2YXRlIGNsb3NlQnV0dG9uc0VsZW1SZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3NlbGVjdGVkRWxlbVJlZicpXG4gICAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1SZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRlZmF1bHRFbGVtZW50VmFsdWVzKGl0ZW1zOiB1bmtub3duW10pIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlc18gPSBbLi4uaXRlbXNdO1xuICAgICAgICBpZiAoKCF0aGlzLm1vZGVsIHx8ICF0aGlzLm1vZGVsLmxlbmd0aCkgJiYgaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTmdNb2RlbChpdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZXMoKTogdW5rbm93bltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXNfO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRlZmF1bHRFbGVtZW50VmFsdWUoaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMgPSBbaXRlbV07XG4gICAgfVxuXG4gICAgYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZTogc3RyaW5nO1xuICAgIHNob3dFbXB0eUxpc3RNZXNzYWdlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGRlZmF1bHRFbGVtZW50VmFsdWVzXzogdW5rbm93bltdO1xuICAgIHByaXZhdGUga2V5Ym9hcmROYXZpZ2F0aW9uQWxsb3dlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgY3VycmVudEZvY3VzZWRFbGVtOiBFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3Iobmdab25lOiBOZ1pvbmUsIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBoYW5kbGVLZXlib2FyZERvd25FdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5rZXlib2FyZE5hdmlnYXRpb25BbGxvd2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9uS2V5RG93blNlbGVjdGVkSW5uZXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlTXVsdGlzZWxlY3RBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkSXRlbShpdGVtOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmICghIWl0ZW0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGVsLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTXVsdGlzZWxlY3RBdXRvY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyQWRkaW5nQW5JdGVtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGVsLmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJVc2VySW5wdXQodGhpcy5tb2RlbCk7XG4gICAgICAgICAgICB0aGlzLm1hbmFnZVN1Z2dlc3Rpb25MaXN0QW5kRm9jdXNBZnRlclJlbW92aW5nQW5JdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG4gICAgZ2V0TGFiZWwodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmZpbmRFbGVtZW50QnlNb2RlbEl0ZW0odmFsdWUpO1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0TGFiZWwoZWxlbSk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50VGFiSW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGxldCBmaXJzdEluZGV4Rm9jdXNhYmxlID0gMDtcbiAgICAgICAgaWYgKCEhdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcykge1xuICAgICAgICAgICAgZmlyc3RJbmRleEZvY3VzYWJsZSA9IHRoaXMubW9kZWwuZmluZEluZGV4KChzZWxlY3RlZDogdW5rbm93bikgPT4gIXRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMuaW5jbHVkZXMoc2VsZWN0ZWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggIT09IGZpcnN0SW5kZXhGb2N1c2FibGUpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkSXRlbUZvY3VzYWJsZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiAhIXRoaXMuZGVmYXVsdEVsZW1lbnRWYWx1ZXMgJiYgdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcy5pbmNsdWRlcyh0aGlzLm1vZGVsW2luZGV4XSk7XG4gICAgfVxuXG4gICAgY2FuQmVEZWxldGVkKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzIHx8ICF0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzLmluY2x1ZGVzKHRoaXMubW9kZWxbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdGVkSXRlbXNGb2N1c2luKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkTmF2aWdhdGlvbkFsbG93ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkRWxlbSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgb25TZWxlY3RlZEl0ZW1zRm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5Ym9hcmROYXZpZ2F0aW9uQWxsb3dlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoZWxlbWVudHM6IFtdKTogdm9pZCB7XG4gICAgICAgIC8vIE5lZWQgdG8gd2FpdCBmb3IgY2hpbGRWaWV3IHRvIGJlIGxvYWRlZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RlZExpc3RBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubGFiZWx9OiAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmxpc3Qtb2Ytc2VsZWN0ZWQtaXRlbXMnKX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEVsZW1lbnRCeU1vZGVsSXRlbShpdGVtOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgICAgIGlmICghIXRoaXMuZWxlbWVudHMgJiYgISF0aGlzLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbVZhbHVlOiBzdHJpbmcgPSB0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgPyBpdGVtIDogdGhpcy5nZXRWYWx1ZShpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnRzLmZpbmQoKGVsZW1lbnQ6IHVua25vd24pID0+IHRoaXMuZ2V0VmFsdWUoZWxlbWVudCkgPT09IGl0ZW1WYWx1ZSk7XG4gICAgICAgICAgICBpZiAoISFlbGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZFZhbHVlKCk6IG51bWJlcltdIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm1vZGVsIHx8ICF0aGlzLm1vZGVsLmxlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsXyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdERlbGV0ZUJ1dHRvblRvRm9jdXMoKTogSFRNTEJ1dHRvbkVsZW1lbnQge1xuICAgICAgICBjb25zdCBjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXkgPSBbLi4udGhpcy5jbG9zZUJ1dHRvbnNFbGVtUmVmLnRvQXJyYXkoKV07XG4gICAgICAgIGlmICghIWNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXlbMF0ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5hdmlnYXRlU2VsZWN0ZWRMaXN0KG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5ID0gdGhpcy5nZXREZWZhdWx0U2VsZWN0ZWRFbGVtZW50cygpLmNvbmNhdChbLi4udGhpcy5jbG9zZUJ1dHRvbnNFbGVtUmVmLnRvQXJyYXkoKV0pO1xuICAgICAgICAgICAgaWYgKCEhY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzSW5kZXggPSBjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXkuZmluZEluZGV4KHZhbHVlID0+IHRoaXMuY3VycmVudEZvY3VzZWRFbGVtID09PSB2YWx1ZS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBsZXQgbmV3SW5kZXggPSBmb2N1c0luZGV4ICsgb2Zmc2V0O1xuICAgICAgICAgICAgICAgIGlmIChuZXdJbmRleCA+PSBjbG9zZUJ1dHRvbnNFbGVtUmVmQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0luZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5ld0luZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdJbmRleCA9IGNsb3NlQnV0dG9uc0VsZW1SZWZBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtUmVmID0gY2xvc2VCdXR0b25zRWxlbVJlZkFycmF5W25ld0luZGV4XTtcbiAgICAgICAgICAgICAgICBpZiAoISFlbGVtUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1SZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdFNlbGVjdGVkRWxlbWVudHMoKTogRWxlbWVudFJlZltdIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLnNlbGVjdGVkRWxlbVJlZi50b0FycmF5KCldLmZpbHRlcihcbiAgICAgICAgICAgIHZhbHVlID0+IHZhbHVlLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpcy1kZWZhdWx0JykgPT09ICd0cnVlJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25LZXlEb3duU2VsZWN0ZWRJbm5lcihrZXlFdmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBJRSBkb2Vzbid0IHN1cHBvcnQga2V5RXZlbnQuY29kZSwgYW5kIGhhcyBkaWZmZXJlbnQgdmFsdWVzXG4gICAgICAgIC8vIGluIGtleUV2ZW50LmtleSAoRG93biBpbnN0ZWFkIG9mIEFycm93RG93biBmb3IgaW5zdGFuY2UpLCBoZW5jZSB0aGUgbXVsdGktc3VwcG9ydC5cbiAgICAgICAgY29uc3QgaWUxMUNvbXBhdGlibGVDb2RlID0ga2V5RXZlbnQuY29kZSB8fCBrZXlFdmVudC5rZXk7XG4gICAgICAgIHN3aXRjaCAoaWUxMUNvbXBhdGlibGVDb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdSaWdodCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlU2VsZWN0ZWRMaXN0KDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVTZWxlY3RlZExpc3QoLTEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGtleUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGtleUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKGVsZW1lbnRzOiBbXSk6IHVua25vd24ge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gT2JqZWN0SGVscGVyLmRlZXBDb3B5KGVsZW1lbnRzKTtcblxuICAgICAgICBpZiAoISF0aGlzLm1vZGVsICYmICEhdGhpcy5tb2RlbC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZm9yRWFjaCgoc2VsZWN0ZWQ6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtpbmRleCwgdmFsdWVdIG9mIGZpbHRlcmVkRWxlbWVudHMuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmZpbmRFbGVtZW50QnlNb2RlbEl0ZW0oc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0SGVscGVyLmlzRXF1YWwoZWxlbSwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZEVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZSA9IG51bGw7XG4gICAgICAgIC8vIFJlbW92ZSBzZWxlY3RlZCBpdGVtIGZyb20gYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gbGlzdFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cyA9IHRoaXMuZmlsdGVyQXV0b2NvbXBsZXRlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIHN0aWxsIGhhdmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICBpZiAoIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zaG93QWxlcnRNZXNzYWdlQW5kSGlkZUF1dG9jb21wbGV0ZSgpO1xuICAgICAgICAgICAgLy8gTmVlZCBzZXRUaW1lb3V0IHRvIGVuc3VyZSBhbGVydCBtZXNzYWdlIGlzIG9uIHRoZSBET00gYW5kIGNhbiBiZSBmb2N1c2FibGVcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZTogSFRNTEVsZW1lbnQgPSB0aGlzLmFsZXJ0TWVzc2FnZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3AnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWxlcnRNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0TWVzc2FnZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJSZW1vdmluZ0FuSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgLy8gSGlkZSBtZXNzYWdlIHNheWluZyBubyBtb3JlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5zaG93RW1wdHlMaXN0TWVzc2FnZSA9IGZhbHNlO1xuICAgICAgICAvLyBNYW51YWxseSBzaG93IGF1dG9jb21wbGV0ZSBiZWNhdXNlIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAvLyBBZGQgYmFjayBzZWxlY3RlZCBpdGVtIHRvIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uIGxpc3RcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKHRoaXMuZWxlbWVudHMpO1xuICAgICAgICAvLyBXaGVuIGRlbGV0aW5nIGEgc2VsZWN0ZWQgaXRlbSwgY2hlY2sgd2VyZSB0byBzZXQgZm9jdXMgYmFja1xuICAgICAgICB0aGlzLmNsb3NlQnV0dG9uc0VsZW1SZWYuY2hhbmdlcy5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBidXR0b25Ub0ZvY3VzID0gdGhpcy5nZXRGaXJzdERlbGV0ZUJ1dHRvblRvRm9jdXMoKTtcbiAgICAgICAgICAgIGlmICghIWJ1dHRvblRvRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBidXR0b25Ub0ZvY3VzLmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LnNldEZvY3VzT25JbnB1dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50Lm9uSW5wdXRGb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk6IHZvaWQge1xuICAgICAgICAvLyBTaG93IGEgbWVzc2FnZSB0byB1c2VyIGluZGljYXRpbmcgdGhlcmUgaXMgbm8gbW9yZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIHRoaXMuc2hvd0VtcHR5TGlzdE1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAvLyBNYW51YWxseSByZXNldCBhbmQgaGlkZSBhdXRvY29tcGxldGUgYmVjYXVzZSB0aGVyZSBpcyBubyBtb3JlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVJbnB1dFZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG59XG4iLCI8Zm9laG4tYXV0b2NvbXBsZXRlXG4gICAgI2F1dG9jb21wbGV0ZUNvbXBvbmVudFxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2VsZW1lbnRzXT1cImVsZW1lbnRzXCJcbiAgICBbZWxlbWVudHNVcmxdPVwiZWxlbWVudHNVcmxcIlxuICAgIFtlbGVtZW50VmFsdWVdPVwiZWxlbWVudFZhbHVlXCJcbiAgICBbZWxlbWVudExhYmVsXT1cImVsZW1lbnRMYWJlbFwiXG4gICAgW2VsZW1lbnRWYWx1ZUlkZW50aXR5XT1cImVsZW1lbnRWYWx1ZUlkZW50aXR5XCJcbiAgICBbZWxlbWVudERpc2FibGVkXT1cImVsZW1lbnREaXNhYmxlZFwiXG4gICAgW2FsbEVsZW1lbnREaXNhYmxlZF09XCJhbGxFbGVtZW50RGlzYWJsZWRcIlxuICAgIFtlbGVtZW50R3JvdXBdPVwiZWxlbWVudEdyb3VwXCJcbiAgICBbYWxsb3dDdXN0b21WYWx1ZV09XCJmYWxzZVwiXG4gICAgW3NlYXJjaFZhbHVlTWluQ2hhcnNDb3VudF09XCJzZWFyY2hWYWx1ZU1pbkNoYXJzQ291bnRcIlxuICAgIFtjdXN0b21WYWx1ZU1vZGVsR2VuZXJhdG9yXT1cImN1c3RvbVZhbHVlTW9kZWxHZW5lcmF0b3JcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAodXNlcklucHV0KT1cImFkZEl0ZW0oJGV2ZW50KVwiXG4gICAgWyhtb2RlbCldPVwiYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZVwiXG4gICAgKGVsZW1lbnRzTG9hZGVkKT1cIm9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBbYXR0ci5yb2xlXT1cIiFkaXNhYmxlZCA/ICdhcHBsaWNhdGlvbicgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzaW4pPVwib25TZWxlY3RlZEl0ZW1zRm9jdXNpbigpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cIm9uU2VsZWN0ZWRJdGVtc0ZvY3Vzb3V0KClcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiKCEhbW9kZWwgJiYgISFtb2RlbC5sZW5ndGgpID8gMCA6IC0xXCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3RlZC1saXN0LWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgICA8dWxcbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoKSArICdTZWxlY3RlZEl0ZW1zTGlzdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTEgZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RyZXRjaCBmbGV4LXdyYXBcIlxuICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgIGFyaWEtYXRvbWljPVwidHJ1ZVwiXG4gICAgICAgICAgICBhcmlhLXJlbGV2YW50PVwiYWxsXCJcbiAgICAgICAgICAgIGFyaWEtb3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0U2VsZWN0ZWRMaXN0QXJpYUxhYmVsKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBtb2RlbDsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXNlY29uZGFyeSBtci0xIG1iLTEgcHktMiBweC0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc1NlbGVjdGVkSXRlbUZvY3VzYWJsZShpbmRleCkgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlzLWRlZmF1bHRdPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgICAgICNzZWxlY3RlZEVsZW1SZWZcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIiBjbGFzcz1cInNyLW9ubHlcIj57eyAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLnNjcmVlbi1yZWFkZXIuZGVmYXVsdC12YWx1ZScgfCBmcm9tRGljdGlvbmFyeSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjYW5CZURlbGV0ZWQoaW5kZXgpXCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5zY3JlZW4tcmVhZGVyLnNlbGVjdGVkLXZhbHVlJyB8IGZyb21EaWN0aW9uYXJ5IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJnZXRMYWJlbChlbGVtZW50KVwiPjwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZWQgJiYgY2FuQmVEZWxldGVkKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBtbC0yXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImdldFNlbGVjdGVkRWxlbWVudFRhYkluZGV4KGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgI2Nsb3NlQnV0dG9uc0VsZW1SZWZcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLXRpbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc2VsZWN0ZWQuZGVsZXRlJyB8IGZyb21EaWN0aW9uYXJ5OiB7ZWxlbWVudExhYmVsOiBnZXRMYWJlbChlbGVtZW50KX0gfX1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cIiFzaG93RW1wdHlMaXN0TWVzc2FnZVwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0ID8gaGVscFRleHQgOiAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0FsZXJ0TWVzc2FnZUNvbnRhaW5lcidcIlxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICNhbGVydE1lc3NhZ2VDb250YWluZXJcbiAgICA+XG4gICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cInNob3dFbXB0eUxpc3RNZXNzYWdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICA+e3snZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5lbXB0eS1tZXNzYWdlJyB8IGZyb21EaWN0aW9uYXJ5fX08L3A+XG4gICAgPC9kaXY+XG48L2ZvZWhuLWF1dG9jb21wbGV0ZT5cbiJdfQ==
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBY3ZDLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSwwQkFBMEI7SUF3Q2pGLFlBQVksTUFBYyxFQUFVLGlCQUF1QztRQUN2RSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFEa0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQVIzRSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0Isb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFLSiw4Q0FBeUMsR0FBRyxJQUFJLENBQUM7SUFJbEUsQ0FBQztJQTVCRCxJQUNJLG9CQUFvQixDQUFDLEtBQWdCO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLEdB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LG1lQ2pCTCw4M0ZBbUZBOzJGRGhFYSxxQ0FBcUM7a0JBWmpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsV0FBVyxFQUFFLGlEQUFpRDtvQkFDOUQsU0FBUyxFQUFFLENBQUMsZ0RBQWdELENBQUM7b0JBQzdELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQ0FBc0MsQ0FBQzs0QkFDcEUsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7Z0lBSVcscUJBQXFCO3NCQUQ1QixTQUFTO3VCQUFDLHVCQUF1QjtnQkFJMUIscUJBQXFCO3NCQUQ1QixTQUFTO3VCQUFDLHVCQUF1QjtnQkFJMUIsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBSXZCLGlCQUFpQjtzQkFEeEIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBSTFCLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFhRixtQkFBbUI7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBOZ1pvbmUsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9laG5BdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1hdXRvY29tcGxldGUvZm9laG4tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuTXVsdGlzZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5NdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZUNvbXBvbmVudCcpXG4gICAgcHJpdmF0ZSBhdXRvY29tcGxldGVDb21wb25lbnQ6IEZvZWhuQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnYWxlcnRNZXNzYWdlQ29udGFpbmVyJylcbiAgICBwcml2YXRlIGFsZXJ0TWVzc2FnZUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3NlbGVjdGVkRWxlbVJlZicpXG4gICAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1SZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdGVkSXRlbXNBcmVhJylcbiAgICBwcml2YXRlIHNlbGVjdGVkSXRlbXNBcmVhOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZXMoaXRlbXM6IHVua25vd25bXSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRFbGVtZW50VmFsdWVzXyA9IFsuLi5pdGVtc107XG4gICAgICAgIGlmICgoIXRoaXMubW9kZWwgfHwgIXRoaXMubW9kZWwubGVuZ3RoKSAmJiBpdGVtcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKGl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBkZWZhdWx0RWxlbWVudFZhbHVlcygpOiB1bmtub3duW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlc187XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdEVsZW1lbnRWYWx1ZShpdGVtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyA9IFtpdGVtXTtcbiAgICB9XG5cbiAgICBhdXRvY29tcGxldGVJbnB1dFZhbHVlOiBzdHJpbmc7XG4gICAgc2hvd0VtcHR5TGlzdE1lc3NhZ2UgPSBmYWxzZTtcbiAgICBzckFubm91bmNlbWVudHMgPSAnJztcblxuICAgIHByaXZhdGUgZGVmYXVsdEVsZW1lbnRWYWx1ZXNfOiB1bmtub3duW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lcjogYW55O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU1JfQU5OT1VOQ0VNRU5UX0NMRUFSX1RJTUVPVVRfSU5URVJWQUxfTVMgPSAyMDAwO1xuXG4gICAgY29uc3RydWN0b3Iobmdab25lOiBOZ1pvbmUsIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTXVsdGlzZWxlY3RBdXRvY29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkVmFsdWUgPSB0aGlzLmdldFZhbGlkVmFsdWUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOZ01vZGVsKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVXNlcklucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZFZhbHVlID0gdGhpcy5nZXRWYWxpZFZhbHVlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHZhbGlkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkSXRlbShpdGVtOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmICghIWl0ZW0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGVsLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTXVsdGlzZWxlY3RBdXRvY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVzZXJJbnB1dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyQWRkaW5nQW5JdGVtKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoaXRlbSwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShpdGVtOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb2RlbC5pbmRleE9mKGl0ZW0pO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyVXNlcklucHV0KHRoaXMubW9kZWwpO1xuICAgICAgICAgICAgdGhpcy5tYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJSZW1vdmluZ0FuSXRlbSgpO1xuICAgICAgICAgICAgdGhpcy5tYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoaXRlbSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG4gICAgZ2V0TGFiZWwodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmZpbmRFbGVtZW50QnlNb2RlbEl0ZW0odmFsdWUpO1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0TGFiZWwoZWxlbSk7XG4gICAgfVxuXG4gICAgY2FuQmVEZWxldGVkKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmICghdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcyB8fCAhdGhpcy5kZWZhdWx0RWxlbWVudFZhbHVlcy5pbmNsdWRlcyh0aGlzLm1vZGVsW2luZGV4XSkpO1xuICAgIH1cblxuICAgIG9uQXV0b2NvbXBsZXRlRWxlbWVudHNMb2FkZWQoZWxlbWVudHM6IFtdKTogdm9pZCB7XG4gICAgICAgIC8vIE5lZWQgdG8gd2FpdCBmb3IgY2hpbGRWaWV3IHRvIGJlIGxvYWRlZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGVydE1lc3NhZ2VBbmRIaWRlQXV0b2NvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudDogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnLFxuICAgICAgICAgICAgeyBlbGVtZW50TGFiZWw6IHRoaXMuZ2V0TGFiZWwoZWxlbWVudCkgfSl9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRFbGVtZW50QnlNb2RlbEl0ZW0oaXRlbTogdW5rbm93bik6IHVua25vd24ge1xuICAgICAgICBpZiAoISF0aGlzLmVsZW1lbnRzICYmICEhdGhpcy5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZTogdW5rbm93biA9IHR5cGVvZiBpdGVtICE9PSAnb2JqZWN0JyA/IGl0ZW0gOiB0aGlzLmdldFZhbHVlKGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZWxlbWVudHMuZmluZCgoZWxlbWVudDogdW5rbm93bikgPT4gdGhpcy5nZXRWYWx1ZShlbGVtZW50KSA9PT0gaXRlbVZhbHVlKTtcbiAgICAgICAgICAgIGlmICghIWVsZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbGlkVmFsdWUoKTogbnVtYmVyW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMubW9kZWwgfHwgIXRoaXMubW9kZWwubGVuZ3RoXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWxfICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKGVsZW1lbnRzOiBbXSk6IHVua25vd24ge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gT2JqZWN0SGVscGVyLmRlZXBDb3B5KGVsZW1lbnRzKTtcblxuICAgICAgICBpZiAoISF0aGlzLm1vZGVsICYmICEhdGhpcy5tb2RlbC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZm9yRWFjaCgoc2VsZWN0ZWQ6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtpbmRleCwgdmFsdWVdIG9mIGZpbHRlcmVkRWxlbWVudHMuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmZpbmRFbGVtZW50QnlNb2RlbEl0ZW0oc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0SGVscGVyLmlzRXF1YWwoZWxlbSwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZEVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTdWdnZXN0aW9uTGlzdEFuZEZvY3VzQWZ0ZXJBZGRpbmdBbkl0ZW0oKTogdm9pZCB7XG4gICAgICAgIC8vIEVtcHR5IGF1dG9jb21wbGV0ZSBpbnB1dFxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUgPSBudWxsO1xuICAgICAgICAvLyBSZW1vdmUgc2VsZWN0ZWQgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uIGxpc3RcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb21wb25lbnQuZWxlbWVudHMgPSB0aGlzLmZpbHRlckF1dG9jb21wbGV0ZUVsZW1lbnRzKHRoaXMuZWxlbWVudHMpO1xuICAgICAgICAvLyBDaGVjayBpZiB3ZSBzdGlsbCBoYXZlIHN1Z2dlc3Rpb25zIHRvIGRpc3BsYXlcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FsZXJ0TWVzc2FnZUFuZEhpZGVBdXRvY29tcGxldGUoKTtcbiAgICAgICAgICAgIC8vIE5lZWQgc2V0VGltZW91dCB0byBlbnN1cmUgYWxlcnQgbWVzc2FnZSBpcyBvbiB0aGUgRE9NIGFuZCBjYW4gYmUgZm9jdXNhYmxlXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGVydE1lc3NhZ2U6IEhUTUxFbGVtZW50ID0gdGhpcy5hbGVydE1lc3NhZ2VDb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdwJyk7XG4gICAgICAgICAgICAgICAgaWYgKGFsZXJ0TWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICBhbGVydE1lc3NhZ2UuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlU3VnZ2VzdGlvbkxpc3RBbmRGb2N1c0FmdGVyUmVtb3ZpbmdBbkl0ZW0oKTogdm9pZCB7XG4gICAgICAgIC8vIEhpZGUgbWVzc2FnZSBzYXlpbmcgbm8gbW9yZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIHRoaXMuc2hvd0VtcHR5TGlzdE1lc3NhZ2UgPSBmYWxzZTtcbiAgICAgICAgLy8gTWFudWFsbHkgc2hvdyBhdXRvY29tcGxldGUgYmVjYXVzZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgLy8gQWRkIGJhY2sgc2VsZWN0ZWQgaXRlbSB0byBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbiBsaXN0XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmVsZW1lbnRzID0gdGhpcy5maWx0ZXJBdXRvY29tcGxldGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgICAgICAgLy8gV2hlbiBkZWxldGluZyBhIHNlbGVjdGVkIGl0ZW0sIGNoZWNrIHdlcmUgdG8gc2V0IGZvY3VzIGJhY2sgd2hlbiBubyBtb3JlIGl0ZW1zIHRvIGRlbGV0ZVxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbVJlZi5jaGFuZ2VzLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbVJlZkFycmF5ID0gWy4uLnRoaXMuc2VsZWN0ZWRFbGVtUmVmLnRvQXJyYXkoKV07XG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkRWxlbVJlZkFycmF5Lmxlbmd0aCAmJiAhIXRoaXMuc2VsZWN0ZWRJdGVtc0FyZWEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNBcmVhLm5hdGl2ZUVsZW1lbnQuc2V0Rm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93QWxlcnRNZXNzYWdlQW5kSGlkZUF1dG9jb21wbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gU2hvdyBhIG1lc3NhZ2UgdG8gdXNlciBpbmRpY2F0aW5nIHRoZXJlIGlzIG5vIG1vcmUgc3VnZ2VzdGlvbnMgdG8gZGlzcGxheVxuICAgICAgICB0aGlzLnNob3dFbXB0eUxpc3RNZXNzYWdlID0gdHJ1ZTtcbiAgICAgICAgLy8gTWFudWFsbHkgcmVzZXQgYW5kIGhpZGUgYXV0b2NvbXBsZXRlIGJlY2F1c2UgdGhlcmUgaXMgbm8gbW9yZSBzdWdnZXN0aW9ucyB0byBkaXNwbGF5XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlSW5wdXRWYWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmhpZGRlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VTY3JlZW5SZWFkZXJBbm5vdW5jZW1lbnQoZWxlbWVudDogdW5rbm93biwgaXNEZWxldGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3JBbm5vdW5jZW1lbnRDbGVhclRpbWVyKTtcbiAgICAgICAgaWYgKGlzRGVsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50cyArPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuZGVsZXRlZCcsXG4gICAgICAgICAgICAgICAgeyBlbGVtZW50TGFiZWw6IHRoaXMuZ2V0TGFiZWwoZWxlbWVudCkgfSl9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3JBbm5vdW5jZW1lbnRzICs9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5hZGRlZCcsXG4gICAgICAgICAgICAgICAgeyBlbGVtZW50TGFiZWw6IHRoaXMuZ2V0TGFiZWwoZWxlbWVudCkgfSl9YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNyQW5ub3VuY2VtZW50Q2xlYXJUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zckFubm91bmNlbWVudHMgPSAnJztcbiAgICAgICAgfSwgdGhpcy5TUl9BTk5PVU5DRU1FTlRfQ0xFQVJfVElNRU9VVF9JTlRFUlZBTF9NUyk7XG4gICAgfVxufVxuIiwiPGZvZWhuLWF1dG9jb21wbGV0ZVxuICAgICNhdXRvY29tcGxldGVDb21wb25lbnRcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtlbGVtZW50c109XCJlbGVtZW50c1wiXG4gICAgW2VsZW1lbnRzVXJsXT1cImVsZW1lbnRzVXJsXCJcbiAgICBbZWxlbWVudFZhbHVlXT1cImVsZW1lbnRWYWx1ZVwiXG4gICAgW2VsZW1lbnRMYWJlbF09XCJlbGVtZW50TGFiZWxcIlxuICAgIFtlbGVtZW50VmFsdWVJZGVudGl0eV09XCJlbGVtZW50VmFsdWVJZGVudGl0eVwiXG4gICAgW2VsZW1lbnREaXNhYmxlZF09XCJlbGVtZW50RGlzYWJsZWRcIlxuICAgIFthbGxFbGVtZW50RGlzYWJsZWRdPVwiYWxsRWxlbWVudERpc2FibGVkXCJcbiAgICBbZWxlbWVudEdyb3VwXT1cImVsZW1lbnRHcm91cFwiXG4gICAgW2FsbG93Q3VzdG9tVmFsdWVdPVwiZmFsc2VcIlxuICAgIFtzZWFyY2hWYWx1ZU1pbkNoYXJzQ291bnRdPVwic2VhcmNoVmFsdWVNaW5DaGFyc0NvdW50XCJcbiAgICBbY3VzdG9tVmFsdWVNb2RlbEdlbmVyYXRvcl09XCJjdXN0b21WYWx1ZU1vZGVsR2VuZXJhdG9yXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKHVzZXJJbnB1dCk9XCJhZGRJdGVtKCRldmVudClcIlxuICAgIFsobW9kZWwpXT1cImF1dG9jb21wbGV0ZUlucHV0VmFsdWVcIlxuICAgIChlbGVtZW50c0xvYWRlZCk9XCJvbkF1dG9jb21wbGV0ZUVsZW1lbnRzTG9hZGVkKCRldmVudClcIlxuPlxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cIiFzaG93RW1wdHlMaXN0TWVzc2FnZVwiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgnSGVscCcpXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0ID8gaGVscFRleHQgOiAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJyB8IGZyb21EaWN0aW9uYXJ5XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgnQWxlcnRNZXNzYWdlQ29udGFpbmVyJylcIlxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgI2FsZXJ0TWVzc2FnZUNvbnRhaW5lclxuICAgID5cbiAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0VtcHR5TGlzdE1lc3NhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID57eydmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLmVtcHR5LW1lc3NhZ2UnIHwgZnJvbURpY3Rpb25hcnl9fTwvcD5cbiAgICA8L2Rpdj5cbjwvZm9laG4tYXV0b2NvbXBsZXRlPlxuXG48cFxuICAgIGNsYXNzPVwic3Itb25seVwiXG4gICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICBhcmlhLWF0b21pYz1cInRydWVcIlxuPlxuICAgIHt7c3JBbm5vdW5jZW1lbnRzfX1cbjwvcD5cblxuPGRpdlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIGNsYXNzPVwic2VsZWN0ZWQtbGlzdC1jb250YWluZXIgZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RyZXRjaCBmbGV4LXdyYXBcIlxuICAgIFtuZ0NsYXNzXT1cIiEhbW9kZWwgJiYgISFtb2RlbC5sZW5ndGggPyAnbWItMicgOiAnbWItMCdcIlxuICAgICNzZWxlY3RlZEl0ZW1zQXJlYVxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiIWNhbkJlRGVsZXRlZChpbmRleClcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXNlY29uZGFyeSBtci0xIG1iLTEgcHktMiBweC0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRDaGlsZElkKCdMYWJlbCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3tnZXRMYWJlbChlbGVtZW50KX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJjYW5CZURlbGV0ZWQoaW5kZXgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYmFkZ2UgYmFkZ2UtcGlsbCBtci0xIG1iLTEgcHktMiBweC0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXREZWxldGVCdXR0b25BcmlhTGFiZWwoZWxlbWVudClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJidWlsZENoaWxkSWQoJ0xhYmVsJylcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImdldERlbGV0ZUJ1dHRvbkFyaWFMYWJlbChlbGVtZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbShlbGVtZW50KVwiXG4gICAgICAgICAgICAjc2VsZWN0ZWRFbGVtUmVmXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7Z2V0TGFiZWwoZWxlbWVudCl9fVxuICAgICAgICAgICAgPGZvZWhuLWljb24tdGltZXNcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImdldERlbGV0ZUJ1dHRvbkFyaWFMYWJlbChlbGVtZW50KVwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pY29uLXRpbWVzPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -87,11 +87,10 @@ export const DEFAULT_DICTIONARY = {
|
|
|
87
87
|
'foehn-status-progress-bar.step3': 'Confirmation',
|
|
88
88
|
'foehn-status-progress-bar.step3.srOnly': 'Etape 3 sur 3, Confirmation, demande transmise',
|
|
89
89
|
'foehn-multiselect-autocomplete.selected.delete': 'Supprimer {elementLabel}',
|
|
90
|
-
'foehn-multiselect-autocomplete.
|
|
91
|
-
'foehn-multiselect-autocomplete.
|
|
92
|
-
'foehn-multiselect-autocomplete.list-of-selected-items': 'Liste des éléments sélectionnés:',
|
|
90
|
+
'foehn-multiselect-autocomplete.sr-announcement.deleted': '{elementLabel} a été supprimé, ',
|
|
91
|
+
'foehn-multiselect-autocomplete.sr-announcement.added': '{elementLabel} a été ajouté, ',
|
|
93
92
|
'foehn-multiselect-autocomplete.autocomplete.empty-message': 'Tous les éléments de la liste de proposition ont déjà été ajoutés.',
|
|
94
93
|
'foehn-multiselect-autocomplete.autocomplete.screen-reader.label': 'Sélectionner un élément dans la liste de recherche' +
|
|
95
94
|
' ci-dessous pour l\'ajouter à votre sélection.'
|
|
96
95
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0Qyw4QkFBOEIsRUFBRSxPQUFPO0lBQ3ZDLGdDQUFnQyxFQUFFLFNBQVM7SUFDM0MsbUNBQW1DLEVBQUUsTUFBTTtJQUMzQyxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELHNDQUFzQyxFQUFFLCtCQUErQjtJQUN2RSxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLHVDQUF1QyxFQUFFLGVBQWU7SUFDeEQsMkNBQTJDLEVBQ3ZDLDBEQUEwRDtJQUM5RCw2Q0FBNkMsRUFBRSxjQUFjO0lBQzdELGlEQUFpRCxFQUM3QywrQ0FBK0M7SUFDbkQsd0NBQXdDLEVBQUUsS0FBSztJQUMvQyx3Q0FBd0MsRUFBRSxzQkFBc0I7SUFDaEUsNENBQTRDLEVBQUUsYUFBYTtJQUMzRCw2Q0FBNkMsRUFBRSxVQUFVO0lBQ3pELDZCQUE2QixFQUFFLFNBQVM7SUFDeEMsaUNBQWlDLEVBQUUsV0FBVztJQUM5QyxpQ0FBaUMsRUFBRSxhQUFhO0lBQ2hELHVDQUF1QyxFQUFFLDRCQUE0QjtJQUNyRSx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLDBCQUEwQixFQUFFLG1DQUFtQztJQUMvRCwyQkFBMkIsRUFBRSxjQUFjO0lBQzNDLG1DQUFtQyxFQUFFLG1CQUFtQjtJQUN4RCw2Q0FBNkMsRUFBRSxtQkFBbUI7SUFDbEUsaUNBQWlDLEVBQUUsb0JBQW9CO0lBQ3ZELDJDQUEyQyxFQUFFLDJCQUEyQjtJQUN4RSxxQ0FBcUMsRUFDakMsZ0VBQWdFO0lBQ3BFLCtDQUErQyxFQUMzQyw4QkFBOEI7SUFDbEMsaUNBQWlDLEVBQUUsVUFBVTtJQUM3QyxtQ0FBbUMsRUFBRSxnQkFBZ0I7SUFDckQsbUNBQW1DLEVBQUUsR0FBRztJQUN4QyxxQ0FBcUMsRUFBRSx3QkFBd0I7SUFDL0Qsc0RBQXNELEVBQ2xELHFCQUFxQjtJQUN6Qix3Q0FBd0MsRUFBRSxZQUFZO0lBQ3RELDJDQUEyQyxFQUFFLHNCQUFzQjtJQUNuRSwrQ0FBK0MsRUFBRSxnQkFBZ0I7SUFDakUsMkNBQTJDLEVBQUUsY0FBYztJQUMzRCx3REFBd0QsRUFDcEQsNkJBQTZCO0lBQ2pDLG1EQUFtRCxFQUFFLHNCQUFzQjtJQUMzRSxrREFBa0QsRUFDOUMsd0JBQXdCO0lBQzVCLDBCQUEwQixFQUN0Qiw4RkFBOEY7SUFDbEcsdUJBQXVCLEVBQ25CLCtFQUErRTtJQUNuRiw0QkFBNEIsRUFDeEIsNkRBQTZEO0lBQ2pFLDRCQUE0QixFQUFFLDRDQUE0QztJQUMxRSw0QkFBNEIsRUFDeEIscURBQXFEO0lBQ3pELGtCQUFrQixFQUFFLGtDQUFrQztJQUN0RCw0QkFBNEIsRUFBRSx1Q0FBdUM7SUFDckUsNkJBQTZCLEVBQ3pCLDRHQUE0RztJQUNoSCxvQ0FBb0MsRUFDaEMsc0VBQXNFO0lBQzFFLFlBQVksRUFDUix1RUFBdUU7SUFDM0UsWUFBWSxFQUNSLDBGQUEwRjtJQUM5RixZQUFZLEVBQ1IseUZBQXlGO0lBQzdGLFlBQVksRUFBRSxnREFBZ0Q7SUFDOUQsWUFBWSxFQUNSLDJGQUEyRjtJQUMvRixzQkFBc0IsRUFBRSxvQkFBb0I7SUFDNUMsb0NBQW9DLEVBQUUsd0JBQXdCO0lBQzlELDZDQUE2QyxFQUN6QyxzQ0FBc0M7SUFDMUMsZ0NBQWdDLEVBQUUsb0NBQW9DO0lBQ3RFLHlDQUF5QyxFQUNyQyxrREFBa0Q7SUFDdEQsNENBQTRDLEVBQ3hDLGlEQUFpRDtJQUNyRCwrQkFBK0IsRUFBRSxJQUFJO0lBQ3JDLHFDQUFxQyxFQUFFLFdBQVc7SUFDbEQsa0NBQWtDLEVBQUUscUJBQXFCO0lBQ3pELGdEQUFnRCxFQUM1QyxzRUFBc0U7UUFDdEUsbUdBQW1HO0lBQ3ZHLGdCQUFnQixFQUNaLGlGQUFpRjtRQUNqRiw0RkFBNEY7SUFDaEcsdUJBQXVCLEVBQUUsZ0JBQWdCO0lBQ3pDLDBDQUEwQyxFQUFFLHNCQUFzQjtJQUNsRSxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELDRDQUE0QyxFQUN4Qyw2Q0FBNkM7SUFDakQsK0NBQStDLEVBQUUsc0JBQXNCO0lBQ3ZFLDZDQUE2QyxFQUFFLFNBQVM7SUFDeEQsb0RBQW9ELEVBQ2hELGtDQUFrQztJQUN0QywyQ0FBMkMsRUFBRSxXQUFXO0lBQ3hELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCw2QkFBNkIsRUFBRSxrQkFBa0I7SUFDakQsNkJBQTZCLEVBQUUsZ0JBQWdCO0lBQy9DLGlDQUFpQyxFQUFFLFFBQVE7SUFDM0Msd0NBQXdDLEVBQUUsdUJBQXVCO0lBQ2pFLGlDQUFpQyxFQUFFLGNBQWM7SUFDakQsd0NBQXdDLEVBQUUsNkJBQTZCO0lBQ3ZFLGlDQUFpQyxFQUFFLGNBQWM7SUFDakQsd0NBQXdDLEVBQ3BDLGdEQUFnRDtJQUNwRCxnREFBZ0QsRUFBRSwwQkFBMEI7SUFDNUUscUVBQXFFLEVBQUUsa0RBQWtEO0lBQ3pILHNFQUFzRSxFQUFFLHNCQUFzQjtJQUM5Rix1REFBdUQsRUFBRSxrQ0FBa0M7SUFDM0YsMkRBQTJELEVBQUUsb0VBQW9FO0lBQ2pJLGlFQUFpRSxFQUFFLG9EQUFvRDtRQUNuSCxnREFBZ0Q7Q0FDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IERpY3Rpb25hcnlUeXBlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRElDVElPTkFSWTogRGljdGlvbmFyeVR5cGUgPSB7XG4gICAgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJzogJyhmYWN1bHRhdGlmKScsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUuZGF5LmxhYmVsJzogJ0pvdXInLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLm1vbnRoLmxhYmVsJzogJ01vaXMnLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLnllYXIubGFiZWwnOiAnQW5uw6llJyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5ob3Vycy5sYWJlbCc6ICdIZXVyZScsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUubWludXRlcy5sYWJlbCc6ICdNaW51dGVzJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5jb3VudHJ5LmxhYmVsJzogJ1BheXMnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmxvY2FsaXR5LmxhYmVsJzogJ05QQSwgTG9jYWxpdMOpJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5zdHJlZXQuaGVscC10ZXh0JzogJ0V4ZW1wbGUgOiBBdmVudWUgZGUgbGEgU2FsbGF6JyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5zdHJlZXQubGFiZWwnOiAnUnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5sYWJlbCc6ICdOdW3DqXJvIGRlIHJ1ZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuaG91c2VOdW1iZXIuaGVscC10ZXh0JzpcbiAgICAgICAgXCJFeGVtcGxlIDogNDAgcG91ciB1bmUgYWRyZXNzZSDDoCBsJ0F2ZW51ZSBkZSBsYSBTYWxsYXogNDBcIixcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5wb3N0T2ZmaWNlQm94VGV4dC5sYWJlbCc6ICdDYXNlIHBvc3RhbGUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmhlbHAtdGV4dCc6XG4gICAgICAgICdFeGVtcGxlIDogQ2FzZSBwb3N0YWxlIDEyMiBvdSBDUDEyMiBvdSBDUCAxMjInLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmFkZHJlc3NMaW5lMS5sYWJlbCc6ICdjL28nLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmFkZHJlc3NMaW5lMi5sYWJlbCc6IFwiQ29tcGzDqW1lbnQgZCdhZHJlc3NlXCIsXG4gICAgJ2ZvZWhuLWlucHV0LWZvcmVpZ24tbG9jYWxpdHkuemlwQ29kZS5sYWJlbCc6ICdDb2RlIHBvc3RhbCcsXG4gICAgJ2ZvZWhuLWlucHV0LWZvcmVpZ24tbG9jYWxpdHkubG9jYWxpdHkubGFiZWwnOiAnTG9jYWxpdMOpJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5uZXh0LmxhYmVsJzogJ1N1aXZhbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnByZXZpb3VzLmxhYmVsJzogJ1Byw6ljw6lkZW50JyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi50cmFuc21pdC5sYWJlbCc6ICdUcmFuc21ldHRyZScsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24uY29udGludWUtbGF0ZXIubGFiZWwnOiAnRmluaXIgbGEgZGVtYW5kZSBwbHVzIHRhcmQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnJvdXRlLmluZGV4LnNlcGFyYXRvcic6ICdzdXInLFxuICAgICdmb2Vobi1wYWdlLWNvdW50ZXIubGFiZWwnOiAnUGFnZSB7Y3VycmVudFBhZ2V9IGRlIHtwYWdlQ291bnR9JyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50aXRsZSc6ICdDb25maXJtYXRpb24nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnN1Y2Nlc3MtbGFiZWwnOiAnRGVtYW5kZSB0cmFuc21pc2UnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLm5leHQtc3RlcC5zdWNjZXNzLWxhYmVsJzogJ1LDqXBvbnNlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uYWJvcnQtbGFiZWwnOiAnRGVtYW5kZSBhYmFuZG9ubsOpZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ucmVmZXJlbmNlLXRpdGxlLmxhYmVsJzogJ1ZvdHJlIG51bcOpcm8gZGUgcsOpZsOpcmVuY2UnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLm1haWwtc2VudC5sYWJlbCc6XG4gICAgICAgICdWb3VzIHJlY2V2cmV6IHVuIGVtYWlsIGRlIGNvbmZpcm1hdGlvbiBkYW5zIHF1ZWxxdWVzIGluc3RhbnRzLicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZG93bmxvYWQtcGRmLXJlY2FwLWJ1dHRvbic6XG4gICAgICAgICdUw6lsw6ljaGFyZ2VyIGxhIGRlbWFuZGUgKHBkZiknLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmV4aXQtYnV0dG9uJzogJ1Rlcm1pbmVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5sb2dvdXQtYnV0dG9uJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXh0cmEtY29udGVudCc6ICcgJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLmljb24tdGl0bGUnOiAnQWZmaWNoZXIgbGUgY2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLWJ1dHRvbi5zY3JlZW4tcmVhZGVyLnNlbGVjdGVkLWRhdGUnOlxuICAgICAgICAnRGF0ZSBzw6lsZWN0aW9ubsOpZSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY29udGFpbmVyLmFyaWEtbGFiZWwnOiAnQ2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLmNsb3NlLWJ1dHRvbi5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIucHJldmlvdXMtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgcHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5uZXh0LW1vbnRoLWJ1dHRvbi50aXRsZSc6ICdNb2lzIHN1aXZhbnQnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLmFjdHVhbC1tb250aC1kaXNwbGF5ZWQnOlxuICAgICAgICAnTW9pcyBhY3R1ZWxsZW1lbnQgYWZmaWNow6kgOicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIubW9udGgtaW5wdXQubGFiZWwnOiAnU8OpbGVjdGlvbm5lciB1biBtb2lzJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci55ZWFyLWlucHV0LmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW5lIGFubsOpZScsXG4gICAgJ2Vycm9ycy5GSUxFTkFNRV9UT09fTE9ORyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1biBub20gZHUgZmljaGllciBxdWkgZXhjw6hkZSBsZSBtYXhpbXVtIGF1dG9yaXPDqSA6ICUyJHMgY2FyYWN0w6hyZXMnLFxuICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBpbmbDqXJpZXVyZSBhdSBtaW5pbXVtIGV4aWfDqSA6ICUyJHMgYnl0ZXMnLFxuICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZlcnJvdWlsbMOpZSBwYXIgdW4gbW90IGRlIHBhc3NlJyxcbiAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnOiAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIHNjcmlwdCcsXG4gICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCB1biBmaWNoaWVyIGF0dGFjaMOpJyxcbiAgICAnZXJyb3JzLkVNUFRZX1BERic6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZpZGUnLFxuICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IGlsbGlzaWJsZScsXG4gICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHByb3TDqWfDqWUuIFZldWlsbGV6IGVubGV2ZXIgdG91dGVzIGxlcyBwcm90ZWN0aW9ucyBhdmFudCBkZSBqb2luZHJlIGNlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTic6XG4gICAgICAgICdMZSBub20gZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IGRlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMuJyxcbiAgICAnZXJyb3JzLjQwNic6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBjb250ZW51IGF1dG9yaXPDqScsXG4gICAgJ2Vycm9ycy40MTMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBzdXDDqXJpZXVyZSBvdSDDqWdhbGUgw6AgbGEgbGltaXRlIGF1dG9yaXPDqWUgOiAlMiRzIE1vJyxcbiAgICAnZXJyb3JzLjQxNSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwiJTIkc1wiJyxcbiAgICAnZXJyb3JzLjQyMic6ICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcycsXG4gICAgJ2Vycm9ycy41MDAnOlxuICAgICAgICAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgYXZlYyB1biBhdXRyZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5zdW1tYXJ5LnRpdGxlJzogJ0lsIHkgYSB1biBwcm9ibMOobWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsJzogJ0Nob2lzaXNzZXogdW4gZG9jdW1lbnQnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0Nob2lzaXNzZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbCc6ICdEw6lwb3NleiB1biBkb2N1bWVudCBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdEw6lwb3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzIG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWNvbmZpcm1hdGlvbi1tZXNzYWdlJzpcbiAgICAgICAgJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBmaWNoaWVyID8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldCc6ICdNbycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0LXRpdGxlJzogJ01lZ2FvY3RldCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1pY29uLXRpdGxlJzogJ1N1cHByaW1lciB7ZG9jTmFtZX0nLFxuICAgICd1c2UtbG9naW4udGV4dC5kZWNpc2lvbi1lbGVjdHJvbmlxdWUtYXZhaWxhYmxlJzpcbiAgICAgICAgJ1BvdXIgb2J0ZW5pciBsYSBub3RpZmljYXRpb24gZGUgbGEgZMOpY2lzaW9uIHNvdXMgZm9ybWUgw6lsZWN0cm9uaXF1ZSAnICtcbiAgICAgICAgJyhmaWNoaWVyIGF1IGZvcm1hdCBwZGYpLCB2b3VzIGRldmV6IGRlbWFuZGVyIGxhIHByZXN0YXRpb24gZW4gw6l0YW50IGNvbm5lY3TDqSBhdSBwb3J0YWlsIHPDqWN1cmlzw6kuJyxcbiAgICAndXNlLWxvZ2luLnRleHQnOlxuICAgICAgICBcIkNldHRlIHByZXN0YXRpb24gZXN0IGF1c3NpIHV0aWxpc2FibGUgYXUgdHJhdmVycyBkZSBsJ2VzcGFjZSBzw6ljdXJpc8OpIHF1aSB2b3VzIFwiICtcbiAgICAgICAgXCJwZXJtZXQgZGUgcHLDqS1yZW1wbGlyIGxlIGZvcm11bGFpcmUgZXQgZGUgc3VpdnJlIGwnYXZhbmNlbWVudCBkZSB0cmFpdGVtZW50IGRlIGxhIGRlbWFuZGUuXCIsXG4gICAgJ3VzZS1sb2dpbi5idXR0b24udGV4dCc6ICdDb25uZWN0ZXotdm91cycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1bmUgcGhvdG8nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWxhYmVsJzogJ0NoYXJnZW1lbnQuLi4nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWZhaWx1cmUtbGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxhIHBob3RvIHPDqWxlY3Rpb25uw6llJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQudmFsaWRhdGUtc2VsZWN0aW9uLWxhYmVsJzogJ1ZhbGlkZXIgbGEgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNhbmNlbC1zZWxlY3Rpb24tbGFiZWwnOiAnQW5udWxlcicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLnNlbGVjdGlvbi1ub3QtdmFsaWRhdGVkLWxhYmVsJzpcbiAgICAgICAgJ01lcmNpIGRlIHZhbGlkZXIgdm90cmUgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmRlbGV0ZS1waWN0dXJlLWxhYmVsJzogJ1N1cHByaW1lcicsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnOiAne3RvdGFsfSDDqWzDqW1lbnRzIHRyb3V2w6lzJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4xJzogJzEgw6lsw6ltZW50IHRyb3V2w6knLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnOiAnQXVjdW4gcsOpc3VsdGF0JyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdDb25maXJtYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBDb25maXJtYXRpb24sIGRlbWFuZGUgdHJhbnNtaXNlJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLmRlbGV0ZSc6ICdTdXBwcmltZXIge2VsZW1lbnRMYWJlbH0nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc2VsZWN0ZWQuc2NyZWVuLXJlYWRlci5kZWZhdWx0LXZhbHVlJzogJ8OJbMOpbWVudCBzw6lsZWN0aW9ubsOpIHBhciBkw6lmYXV0IG5vbiBzdXBwcmltYWJsZSA6JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNlbGVjdGVkLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtdmFsdWUnOiAnw4lsw6ltZW50IHPDqWxlY3Rpb25uw6k6JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmxpc3Qtb2Ytc2VsZWN0ZWQtaXRlbXMnOiAnTGlzdGUgZGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXM6JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5lbXB0eS1tZXNzYWdlJzogJ1RvdXMgbGVzIMOpbMOpbWVudHMgZGUgbGEgbGlzdGUgZGUgcHJvcG9zaXRpb24gb250IGTDqWrDoCDDqXTDqSBham91dMOpcy4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlLnNjcmVlbi1yZWFkZXIubGFiZWwnOiAnU8OpbGVjdGlvbm5lciB1biDDqWzDqW1lbnQgZGFucyBsYSBsaXN0ZSBkZSByZWNoZXJjaGUnICtcbiAgICAgICAgJyBjaS1kZXNzb3VzIHBvdXIgbFxcJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi4nXG59O1xuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0Qyw4QkFBOEIsRUFBRSxPQUFPO0lBQ3ZDLGdDQUFnQyxFQUFFLFNBQVM7SUFDM0MsbUNBQW1DLEVBQUUsTUFBTTtJQUMzQyxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELHNDQUFzQyxFQUFFLCtCQUErQjtJQUN2RSxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLHVDQUF1QyxFQUFFLGVBQWU7SUFDeEQsMkNBQTJDLEVBQ3ZDLDBEQUEwRDtJQUM5RCw2Q0FBNkMsRUFBRSxjQUFjO0lBQzdELGlEQUFpRCxFQUM3QywrQ0FBK0M7SUFDbkQsd0NBQXdDLEVBQUUsS0FBSztJQUMvQyx3Q0FBd0MsRUFBRSxzQkFBc0I7SUFDaEUsNENBQTRDLEVBQUUsYUFBYTtJQUMzRCw2Q0FBNkMsRUFBRSxVQUFVO0lBQ3pELDZCQUE2QixFQUFFLFNBQVM7SUFDeEMsaUNBQWlDLEVBQUUsV0FBVztJQUM5QyxpQ0FBaUMsRUFBRSxhQUFhO0lBQ2hELHVDQUF1QyxFQUFFLDRCQUE0QjtJQUNyRSx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLDBCQUEwQixFQUFFLG1DQUFtQztJQUMvRCwyQkFBMkIsRUFBRSxjQUFjO0lBQzNDLG1DQUFtQyxFQUFFLG1CQUFtQjtJQUN4RCw2Q0FBNkMsRUFBRSxtQkFBbUI7SUFDbEUsaUNBQWlDLEVBQUUsb0JBQW9CO0lBQ3ZELDJDQUEyQyxFQUFFLDJCQUEyQjtJQUN4RSxxQ0FBcUMsRUFDakMsZ0VBQWdFO0lBQ3BFLCtDQUErQyxFQUMzQyw4QkFBOEI7SUFDbEMsaUNBQWlDLEVBQUUsVUFBVTtJQUM3QyxtQ0FBbUMsRUFBRSxnQkFBZ0I7SUFDckQsbUNBQW1DLEVBQUUsR0FBRztJQUN4QyxxQ0FBcUMsRUFBRSx3QkFBd0I7SUFDL0Qsc0RBQXNELEVBQ2xELHFCQUFxQjtJQUN6Qix3Q0FBd0MsRUFBRSxZQUFZO0lBQ3RELDJDQUEyQyxFQUFFLHNCQUFzQjtJQUNuRSwrQ0FBK0MsRUFBRSxnQkFBZ0I7SUFDakUsMkNBQTJDLEVBQUUsY0FBYztJQUMzRCx3REFBd0QsRUFDcEQsNkJBQTZCO0lBQ2pDLG1EQUFtRCxFQUFFLHNCQUFzQjtJQUMzRSxrREFBa0QsRUFDOUMsd0JBQXdCO0lBQzVCLDBCQUEwQixFQUN0Qiw4RkFBOEY7SUFDbEcsdUJBQXVCLEVBQ25CLCtFQUErRTtJQUNuRiw0QkFBNEIsRUFDeEIsNkRBQTZEO0lBQ2pFLDRCQUE0QixFQUFFLDRDQUE0QztJQUMxRSw0QkFBNEIsRUFDeEIscURBQXFEO0lBQ3pELGtCQUFrQixFQUFFLGtDQUFrQztJQUN0RCw0QkFBNEIsRUFBRSx1Q0FBdUM7SUFDckUsNkJBQTZCLEVBQ3pCLDRHQUE0RztJQUNoSCxvQ0FBb0MsRUFDaEMsc0VBQXNFO0lBQzFFLFlBQVksRUFDUix1RUFBdUU7SUFDM0UsWUFBWSxFQUNSLDBGQUEwRjtJQUM5RixZQUFZLEVBQ1IseUZBQXlGO0lBQzdGLFlBQVksRUFBRSxnREFBZ0Q7SUFDOUQsWUFBWSxFQUNSLDJGQUEyRjtJQUMvRixzQkFBc0IsRUFBRSxvQkFBb0I7SUFDNUMsb0NBQW9DLEVBQUUsd0JBQXdCO0lBQzlELDZDQUE2QyxFQUN6QyxzQ0FBc0M7SUFDMUMsZ0NBQWdDLEVBQUUsb0NBQW9DO0lBQ3RFLHlDQUF5QyxFQUNyQyxrREFBa0Q7SUFDdEQsNENBQTRDLEVBQ3hDLGlEQUFpRDtJQUNyRCwrQkFBK0IsRUFBRSxJQUFJO0lBQ3JDLHFDQUFxQyxFQUFFLFdBQVc7SUFDbEQsa0NBQWtDLEVBQUUscUJBQXFCO0lBQ3pELGdEQUFnRCxFQUM1QyxzRUFBc0U7UUFDdEUsbUdBQW1HO0lBQ3ZHLGdCQUFnQixFQUNaLGlGQUFpRjtRQUNqRiw0RkFBNEY7SUFDaEcsdUJBQXVCLEVBQUUsZ0JBQWdCO0lBQ3pDLDBDQUEwQyxFQUFFLHNCQUFzQjtJQUNsRSxvQ0FBb0MsRUFBRSxlQUFlO0lBQ3JELDRDQUE0QyxFQUN4Qyw2Q0FBNkM7SUFDakQsK0NBQStDLEVBQUUsc0JBQXNCO0lBQ3ZFLDZDQUE2QyxFQUFFLFNBQVM7SUFDeEQsb0RBQW9ELEVBQ2hELGtDQUFrQztJQUN0QywyQ0FBMkMsRUFBRSxXQUFXO0lBQ3hELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCw2QkFBNkIsRUFBRSxrQkFBa0I7SUFDakQsNkJBQTZCLEVBQUUsZ0JBQWdCO0lBQy9DLGlDQUFpQyxFQUFFLFFBQVE7SUFDM0Msd0NBQXdDLEVBQUUsdUJBQXVCO0lBQ2pFLGlDQUFpQyxFQUFFLGNBQWM7SUFDakQsd0NBQXdDLEVBQUUsNkJBQTZCO0lBQ3ZFLGlDQUFpQyxFQUFFLGNBQWM7SUFDakQsd0NBQXdDLEVBQ3BDLGdEQUFnRDtJQUNwRCxnREFBZ0QsRUFBRSwwQkFBMEI7SUFDNUUsd0RBQXdELEVBQUUsaUNBQWlDO0lBQzNGLHNEQUFzRCxFQUFFLCtCQUErQjtJQUN2RiwyREFBMkQsRUFBRSxvRUFBb0U7SUFDakksaUVBQWlFLEVBQUUsb0RBQW9EO1FBQ25ILGdEQUFnRDtDQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRGljdGlvbmFyeVR5cGUgfSBmcm9tICcuL3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUNUSU9OQVJZOiBEaWN0aW9uYXJ5VHlwZSA9IHtcbiAgICAnZm9laG4taW5wdXQub3B0aW9uYWwnOiAnKGZhY3VsdGF0aWYpJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5kYXkubGFiZWwnOiAnSm91cicsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUubW9udGgubGFiZWwnOiAnTW9pcycsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUueWVhci5sYWJlbCc6ICdBbm7DqWUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLmhvdXJzLmxhYmVsJzogJ0hldXJlJyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5taW51dGVzLmxhYmVsJzogJ01pbnV0ZXMnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6ICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gZGUge3BhZ2VDb3VudH0nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOiAnVm90cmUgbnVtw6lybyBkZSByw6lmw6lyZW5jZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nOiAnU2UgZMOpY29ubmVjdGVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JzogJyAnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDonLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuIG5vbSBkdSBmaWNoaWVyIHF1aSBleGPDqGRlIGxlIG1heGltdW0gYXV0b3Jpc8OpIDogJTIkcyBjYXJhY3TDqHJlcycsXG4gICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIGluZsOpcmlldXJlIGF1IG1pbmltdW0gZXhpZ8OpIDogJTIkcyBieXRlcycsXG4gICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmVycm91aWxsw6llIHBhciB1biBtb3QgZGUgcGFzc2UnLFxuICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gc2NyaXB0JyxcbiAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIGZpY2hpZXIgYXR0YWNow6knLFxuICAgICdlcnJvcnMuRU1QVFlfUERGJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmlkZScsXG4gICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgaWxsaXNpYmxlJyxcbiAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgcHJvdMOpZ8OpZS4gVmV1aWxsZXogZW5sZXZlciB0b3V0ZXMgbGVzIHByb3RlY3Rpb25zIGF2YW50IGRlIGpvaW5kcmUgY2UgZmljaGllci4nLFxuICAgICdlcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJzpcbiAgICAgICAgJ0xlIG5vbSBkZSB2b3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgZGVzIGNhcmFjdMOocmVzIGludGVyZGl0cy4nLFxuICAgICdlcnJvcnMuNDA2JzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBjb3JyZXNwb25kIHBhcyBhdSB0eXBlIGRlIGNvbnRlbnUgYXV0b3Jpc8OpJyxcbiAgICAnZXJyb3JzLjQxMyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIHN1cMOpcmlldXJlIG91IMOpZ2FsZSDDoCBsYSBsaW1pdGUgYXV0b3Jpc8OpZSA6ICUyJHMgTW8nLFxuICAgICdlcnJvcnMuNDE1JzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCIlMiRzXCInLFxuICAgICdlcnJvcnMuNDIyJzogJ0VjaGVjIGRlIGxhIHNhdXZlZ2FyZGUgZGUgbGEgcGnDqGNlIGpvaW50ZSAlMSRzJyxcbiAgICAnZXJyb3JzLjUwMCc6XG4gICAgICAgICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcy4gVmV1aWxsZXogcsOpZXNzYXllciBhdmVjIHVuIGF1dHJlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLnN1bW1hcnkudGl0bGUnOiAnSWwgeSBhIHVuIHByb2Jsw6htZScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1biBkb2N1bWVudCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmNob29zZS1idXR0b24tbGFiZWwtbXVsdGlwbGUnOlxuICAgICAgICAnQ2hvaXNpc3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsJzogJ0TDqXBvc2V6IHVuIGRvY3VtZW50IG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZHJvcC16b25lLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0TDqXBvc2V6IHVuIG91IHBsdXNpZXVycyBkb2N1bWVudHMgb3UgY2xpcXVleiBpY2knLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtY29uZmlybWF0aW9uLW1lc3NhZ2UnOlxuICAgICAgICAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGZpY2hpZXIgPycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0JzogJ01vJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuYWJici1tZWdhb2N0ZXQtdGl0bGUnOiAnTWVnYW9jdGV0JyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWljb24tdGl0bGUnOiAnU3VwcHJpbWVyIHtkb2NOYW1lfScsXG4gICAgJ3VzZS1sb2dpbi50ZXh0LmRlY2lzaW9uLWVsZWN0cm9uaXF1ZS1hdmFpbGFibGUnOlxuICAgICAgICAnUG91ciBvYnRlbmlyIGxhIG5vdGlmaWNhdGlvbiBkZSBsYSBkw6ljaXNpb24gc291cyBmb3JtZSDDqWxlY3Ryb25pcXVlICcgK1xuICAgICAgICAnKGZpY2hpZXIgYXUgZm9ybWF0IHBkZiksIHZvdXMgZGV2ZXogZGVtYW5kZXIgbGEgcHJlc3RhdGlvbiBlbiDDqXRhbnQgY29ubmVjdMOpIGF1IHBvcnRhaWwgc8OpY3VyaXPDqS4nLFxuICAgICd1c2UtbG9naW4udGV4dCc6XG4gICAgICAgIFwiQ2V0dGUgcHJlc3RhdGlvbiBlc3QgYXVzc2kgdXRpbGlzYWJsZSBhdSB0cmF2ZXJzIGRlIGwnZXNwYWNlIHPDqWN1cmlzw6kgcXVpIHZvdXMgXCIgK1xuICAgICAgICBcInBlcm1ldCBkZSBwcsOpLXJlbXBsaXIgbGUgZm9ybXVsYWlyZSBldCBkZSBzdWl2cmUgbCdhdmFuY2VtZW50IGRlIHRyYWl0ZW1lbnQgZGUgbGEgZGVtYW5kZS5cIixcbiAgICAndXNlLWxvZ2luLmJ1dHRvbi50ZXh0JzogJ0Nvbm5lY3Rlei12b3VzJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxJzogJ1NhaXNpZScsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDEuc3JPbmx5JzogJ0V0YXBlIDEgc3VyIDMsIFNhaXNpZScsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDInOiAnVsOpcmlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDIuc3JPbmx5JzogJ0V0YXBlIDIgc3VyIDMsIFbDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDMuc3JPbmx5JzpcbiAgICAgICAgJ0V0YXBlIDMgc3VyIDMsIENvbmZpcm1hdGlvbiwgZGVtYW5kZSB0cmFuc21pc2UnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc2VsZWN0ZWQuZGVsZXRlJzogJ1N1cHByaW1lciB7ZWxlbWVudExhYmVsfScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuZGVsZXRlZCc6ICd7ZWxlbWVudExhYmVsfSBhIMOpdMOpIHN1cHByaW3DqSwgJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5hZGRlZCc6ICd7ZWxlbWVudExhYmVsfSBhIMOpdMOpIGFqb3V0w6ksICcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6ICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzogJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgICcgY2ktZGVzc291cyBwb3VyIGxcXCdham91dGVyIMOgIHZvdHJlIHPDqWxlY3Rpb24uJ1xufTtcbiJdfQ==
|