@colijnit/corecomponents_v12 258.1.4 → 258.1.6
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/colijnit-corecomponents_v12.umd.js +98 -58
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/lib/components/hour-scheduling/hour-scheduling.component.js +1 -1
- package/esm2015/lib/components/hour-scheduling/model/enum/scheduling-object.interface.js +2 -0
- package/esm2015/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.component.js +59 -26
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +48 -43
- package/esm2015/lib/core/enum/core-components-icon.enum.js +3 -1
- package/esm2015/lib/core/model/core-components-icon-svg.js +3 -1
- package/esm2015/public-api.js +2 -1
- package/fesm2015/colijnit-corecomponents_v12.js +110 -68
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/hour-scheduling/hour-scheduling.component.d.ts +1 -8
- package/lib/components/hour-scheduling/model/enum/scheduling-object.interface.d.ts +10 -0
- package/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.component.d.ts +14 -3
- package/lib/components/hour-scheduling-expandable/style/_layout.scss +1 -4
- package/lib/components/simple-grid/simple-grid.component.d.ts +2 -0
- package/lib/components/simple-grid/style/_layout.scss +31 -0
- package/lib/core/enum/core-components-icon.enum.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -19,6 +19,7 @@ export class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
19
19
|
this.rightToolbar = false;
|
|
20
20
|
this.showGridSettings = false;
|
|
21
21
|
this.rowsPerPage = 1000;
|
|
22
|
+
this.showColumnSort = false;
|
|
22
23
|
this.editing = false;
|
|
23
24
|
this.isSettingsMenuOpen = false;
|
|
24
25
|
this.editRowIndex = -1;
|
|
@@ -239,46 +240,42 @@ export class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
239
240
|
return obj !== col;
|
|
240
241
|
});
|
|
241
242
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
// this._detectChanges();
|
|
279
|
-
// // this.data.sort((a, b) => a[this.sortColumnValue] - b[this.sortColumnValue]);
|
|
280
|
-
// console.log(this.data);
|
|
281
|
-
// }
|
|
243
|
+
sortColumn(col, columnValue) {
|
|
244
|
+
col.isSelected = false;
|
|
245
|
+
if (this.sortColumnValue === columnValue) {
|
|
246
|
+
this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
this.sortColumnValue = columnValue;
|
|
250
|
+
this.sortDirection = 'asc';
|
|
251
|
+
}
|
|
252
|
+
const direction = this.sortDirection === 'asc' ? 1 : -1;
|
|
253
|
+
const sorted = [...this.data].sort((a, b) => {
|
|
254
|
+
let valA = a[columnValue];
|
|
255
|
+
let valB = b[columnValue];
|
|
256
|
+
if (valA == null && valB == null)
|
|
257
|
+
return 0;
|
|
258
|
+
if (valA == null)
|
|
259
|
+
return -1 * direction;
|
|
260
|
+
if (valB == null)
|
|
261
|
+
return 1 * direction;
|
|
262
|
+
// Handle ISO date string
|
|
263
|
+
const isDateA = typeof valA === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(valA);
|
|
264
|
+
const isDateB = typeof valB === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(valB);
|
|
265
|
+
if (isDateA && isDateB) {
|
|
266
|
+
const timeA = new Date(valA).getTime();
|
|
267
|
+
const timeB = new Date(valB).getTime();
|
|
268
|
+
return (timeA - timeB) * direction;
|
|
269
|
+
}
|
|
270
|
+
// Fallback for numbers/strings
|
|
271
|
+
if (typeof valA === 'string' && typeof valB === 'string') {
|
|
272
|
+
return valA.localeCompare(valB) * direction;
|
|
273
|
+
}
|
|
274
|
+
return (valA > valB ? 1 : valA < valB ? -1 : 0) * direction;
|
|
275
|
+
});
|
|
276
|
+
this.data = sorted;
|
|
277
|
+
this._detectChanges();
|
|
278
|
+
}
|
|
282
279
|
_sortData(tableData) {
|
|
283
280
|
return tableData.sort((a, b) => {
|
|
284
281
|
const sign = this.sortDirection === 'asc' ? 1 : -1;
|
|
@@ -494,15 +491,22 @@ SimpleGridComponent.decorators = [
|
|
|
494
491
|
<div class="simple-grid-column-header-label"
|
|
495
492
|
[ngClass]="column.textAlign ? column.textAlign : defaultTextAlign"
|
|
496
493
|
[class.with-menu]="showGridSettings"
|
|
494
|
+
[class.with-sort]="showColumnSort"
|
|
497
495
|
[textContent]="column.headerText || ' '"
|
|
498
|
-
(click)="toggleColumnMenu(column)">
|
|
496
|
+
(click)="showColumnSort ? sortColumn(column, column.field) : toggleColumnMenu(column)">
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
<div class="sort-column" *ngIf="showColumnSort">
|
|
500
|
+
<co-button (click)="sortColumn(column, column?.field)"
|
|
501
|
+
[iconData]="icons.getIcon(Icons.ArrowUpArrowDown)">
|
|
502
|
+
</co-button>
|
|
499
503
|
</div>
|
|
500
504
|
|
|
501
505
|
<div class="column-menu" *ngIf="column.isSelected">
|
|
502
506
|
<h3 [textContent]="'COLUMN_OPTIONS' | coreLocalize"></h3>
|
|
503
507
|
<ul>
|
|
504
508
|
<li (click)="hideColumn(column)">Hide Column</li>
|
|
505
|
-
|
|
509
|
+
<li (click)="sortColumn(column, column.field)">Sort Column</li>
|
|
506
510
|
</ul>
|
|
507
511
|
</div>
|
|
508
512
|
</ng-template>
|
|
@@ -605,8 +609,9 @@ SimpleGridComponent.propDecorators = {
|
|
|
605
609
|
showGridSettings: [{ type: Input }],
|
|
606
610
|
rowsPerPage: [{ type: Input }],
|
|
607
611
|
rowDisabledFn: [{ type: Input }],
|
|
612
|
+
showColumnSort: [{ type: Input }],
|
|
608
613
|
canRowBeEdittedFn: [{ type: Input }],
|
|
609
614
|
showClass: [{ type: HostBinding, args: ['class.co-simple-grid',] }],
|
|
610
615
|
handleKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
|
|
611
616
|
};
|
|
612
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1ncmlkL3NpbXBsZS1ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBNEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQThJN0IsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQThFOUQsWUFDUyxLQUF1QixFQUN0QixnQkFBbUMsRUFDbkMsV0FBOEI7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFKRCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQWhGeEIscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFVMUQsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBR2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUdsQyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQXNDM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6Qix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBVyxDQUFDLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzNCLHFCQUFnQixHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTlCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRXhCLGtCQUFhLEdBQW1CLEtBQUssQ0FBQztRQUM3QixVQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFFbkMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVEvQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBcEZELElBQWdDLFdBQVcsQ0FBQyxLQUFLO1FBQy9DLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBOEJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUMvRCxJQUFJLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQTtZQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBMkJNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEdBQVc7UUFDakMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRVksYUFBYSxDQUFDLEdBQVEsRUFBRSxLQUFhOztZQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLEVBQUU7Z0JBQ3BFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMxRCxNQUFNLE1BQU0sR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxRQUFRLEVBQUU7b0JBQ1osSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3JDO2lCQUNGO2dCQUNELE9BQU8sUUFBUSxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDO0tBQUE7SUFFTSxjQUFjLENBQUMsTUFBTTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxPQUFPO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEcsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxTQUFTOztZQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLE1BQU0sS0FBSyxHQUFZLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDOUMseUJBQXlCO2dCQUN6QixJQUFJLEtBQUssRUFBRTtvQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMvRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ3ZCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNwQjtRQUNILENBQUM7S0FBQTtJQUVNLGVBQWUsQ0FBQyxjQUF1QixJQUFJO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLEtBQUssR0FBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFpQixFQUFFLEtBQWEsRUFBRSxHQUFRO1FBQzlELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhLEVBQUUsT0FBZ0IsSUFBSTtRQUNyRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUNwSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVZLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsS0FBYSxFQUFFLEdBQVE7O1lBQ3ZFLElBQUksTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixPQUFPO2FBQ1I7WUFDRCxJQUFJLE9BQU8sR0FBWSxJQUFJLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssVUFBVSxFQUFFO2dCQUMxRSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN4RDtZQUNELElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztLQUFBO0lBRU0sT0FBTyxDQUFDLEtBQWlCLEVBQUUsYUFBc0IsSUFBSTtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO2dCQUN6RCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlLENBQUMsS0FBaUIsRUFBRSxHQUFRLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQjs7WUFDM0YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixJQUFJLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDM0IsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7b0JBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDNUI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQzthQUNoQztZQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0tBQUE7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFTO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDbEIsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzFELEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFRO1FBQ3hCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0QsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDRCQUE0QjtJQUM1QiwyREFBMkQ7SUFDM0Qsc0JBQXNCO0lBQ3RCLCtDQUErQztJQUMvQyw0QkFBNEI7SUFDNUIsRUFBRTtJQUNGLGdEQUFnRDtJQUNoRCwwRUFBMEU7SUFDMUUsYUFBYTtJQUNiLDBDQUEwQztJQUMxQyxrQ0FBa0M7SUFDbEMsTUFBTTtJQUNOLEVBQUU7SUFDRiw0QkFBNEI7SUFDNUIsOENBQThDO0lBQzlDLEVBQUU7SUFDRixFQUFFO0lBQ0YsK0JBQStCO0lBQy9CLDBEQUEwRDtJQUMxRCxFQUFFO0lBQ0YsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qiw0Q0FBNEM7SUFDNUMsNENBQTRDO0lBQzVDLG1DQUFtQztJQUNuQyxFQUFFO0lBQ0YsK0RBQStEO0lBQy9ELDBCQUEwQjtJQUMxQixzRUFBc0U7SUFDdEUseUJBQXlCO0lBQ3pCLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLEVBQUU7SUFDRixFQUFFO0lBQ0YsRUFBRTtJQUNGLDJCQUEyQjtJQUMzQixvRkFBb0Y7SUFDcEYsNEJBQTRCO0lBQzVCLElBQUk7SUFFSSxTQUFTLENBQUMsU0FBYztRQUM5QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFNUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ2xCO2lCQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUM1RCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDakI7WUFDRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRCxNQUFNLEVBQUUsR0FBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxHQUFRLEVBQUUsS0FBYTtRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sY0FBYztRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssd0JBQXdCLENBQUMsSUFBYSxFQUFFLFFBQWdCLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7WUFDekQsTUFBTSxrQkFBa0IsR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNoRixNQUFNLFdBQVcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLFdBQVcsSUFBSSxrQkFBa0IsRUFBRTtnQkFDckMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO3FCQUN4QixJQUFJLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekMsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNYLE1BQU0sRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU0sSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsd0JBQXdCLEVBQUU7cUJBQzVCLElBQUksQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO29CQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1gsTUFBTSxFQUFFLENBQUM7Z0JBQ1gsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkc7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQVcsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7U0FDRjtJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxLQUFhO1FBQzdDLEtBQUssSUFBSSxDQUFDLEdBQVcsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUM3QixPQUFPLENBQUMsQ0FBQzthQUNWO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUN6RCxJQUFJLFdBQVcsR0FBVyxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDN0MsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2pCLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2lCQUNqQztxQkFBTTtvQkFDTCxXQUFXLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQjthQUNGO2lCQUFNO2dCQUNMLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxpREFBaUQ7Z0JBQ3hGLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLE1BQU0sRUFBRSxDQUFDO2lCQUNWO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUN6RCxJQUFJLFdBQVcsR0FBVyxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0wsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLGlEQUFpRDtnQkFDeEYsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDdEI7cUJBQU07b0JBQ0wsTUFBTSxFQUFFLENBQUM7aUJBQ1Y7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRLENBQUMsY0FBdUIsSUFBSTtRQUMxQyxpQkFBaUI7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7OztZQWxuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtSVQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE5SU8sZ0JBQWdCO1lBWnRCLGlCQUFpQjtZQVFYLGlCQUFpQjs7OzBCQXNKdEIsWUFBWSxTQUFDLFlBQVk7c0JBT3pCLEtBQUs7eUJBR0wsS0FBSzs4QkFHTCxLQUFLOzJCQUdMLEtBQUs7K0JBR0wsS0FBSzswQkFHTCxLQUFLOzRCQUdMLEtBQUs7Z0NBTUwsS0FBSzt3QkFHTCxXQUFXLFNBQUMsc0JBQXNCOzRCQUtsQyxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1tYXN0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7QmFzZVNpbXBsZUdyaWRDb21wb25lbnR9IGZyb20gJy4vYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbHVtbkFsaWduLCBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlfSBmcm9tICcuL3NpbXBsZS1ncmlkLWNvbHVtbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uL2ljb24vaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNpbXBsZS1ncmlkJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWdyaWQtdG9vbGJhciAqbmdJZj1cInNob3dUb29sYmFyXCIgW2NsYXNzLnJpZ2h0XT1cInJpZ2h0VG9vbGJhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93RWRpdF09XCJzaG93RWRpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93QWRkXT1cInNob3dBZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0RlbGV0ZV09XCJzaG93RGVsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2RlbGV0ZUVuYWJsZWRdPVwic2VsZWN0ZWRSb3dJbmRleCA+IC0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGFkZENsaWNrKT1cImFkZE5ld1JvdygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGVkaXRDbGljayk9XCJlZGl0Um93KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZUNsaWNrKT1cInZhbGlkYXRlQW5kU2F2ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNhbmNlbEVkaXRSb3coKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChkZWxldGVDbGljayk9XCJyZW1vdmVSb3coKVwiXHJcbiAgICA+PC9jby1ncmlkLXRvb2xiYXI+XHJcbiAgICA8dGFibGVcclxuICAgICAgaWQ9XCJzaW1wbGUtZ3JpZC10YWJsZVwiXHJcbiAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtdGFibGVcIlxyXG4gICAgICBbY2xpY2tPdXRzaWRlXT1cImVkaXRpbmdcIlxyXG4gICAgICAoY2xpY2tPdXRzaWRlKT1cImhhbmRsZUNsaWNrT3V0c2lkZVJvdygpXCI+XHJcbiAgICAgIDxjb2xncm91cD5cclxuICAgICAgICA8Y29sICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgaGVhZGVyQ29sdW1uc0NvcHk7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgIFtjbGFzcy5zaW1wbGUtZ3JpZC1jb2x1bW4tYXV0by1maXRdPVwiY29sdW1uLmF1dG9GaXRcIlxyXG4gICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbHVtbi53aWR0aFwiXHJcbiAgICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIk1JTl9DT0xVTU5fV0lEVEhcIj5cclxuICAgICAgPC9jb2xncm91cD5cclxuICAgICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoXHJcbiAgICAgICAgICBzY29wZT1cImNvbFwiXHJcbiAgICAgICAgICAjaGVhZGVyQ2VsbFxyXG4gICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4taGVhZGVyXCJcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgaGVhZGVyQ29sdW1uc0NvcHk7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlci13cmFwcGVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLnJlc2l6YWJsZV09XCJyZXNpemFibGVcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY29sdW1uLmlzU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4udGV4dEFsaWduID8gY29sdW1uLnRleHRBbGlnbiA6IGRlZmF1bHRUZXh0QWxpZ25cIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZTsgZWxzZSBub0hlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4uaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9IZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlci1sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4udGV4dEFsaWduID8gY29sdW1uLnRleHRBbGlnbiA6IGRlZmF1bHRUZXh0QWxpZ25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLndpdGgtbWVudV09XCJzaG93R3JpZFNldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJjb2x1bW4uaGVhZGVyVGV4dCB8fCAnJm5ic3A7J1wiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29sdW1uTWVudShjb2x1bW4pXCI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbWVudVwiICpuZ0lmPVwiY29sdW1uLmlzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwiJ0NPTFVNTl9PUFRJT05TJyB8IGNvcmVMb2NhbGl6ZVwiPjwvaDM+XHJcbiAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgIDxsaSAoY2xpY2spPVwiaGlkZUNvbHVtbihjb2x1bW4pXCI+SGlkZSBDb2x1bW48L2xpPlxyXG48IS0tICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbiwgY29sdW1uLmZpZWxkKVwiPlNvcnQgQ29sdW1uPC9saT4tLT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXNpemFibGUgJiYgY29sdW1uLnJlc2l6YWJsZVwiIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLXNpemVyXCJcclxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImhhbmRsZVNpemVyTW91c2VEb3duKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwic2hvd0dyaWRTZXR0aW5nc1wiIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlciBncmlkLXNldHRpbmdzXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NldHRpbmdzTWVudU9wZW5cIlxyXG4gICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbnMuZ2V0SWNvbihJY29ucy5Db2dXaGVlbHMpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzTWVudSgpXCI+XHJcbiAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtbWVudVwiICpuZ0lmPVwiaXNTZXR0aW5nc01lbnVPcGVuXCI+XHJcbiAgICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwiJ0dSSURfT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJleHBvcnRUb0V4Y2VsKClcIj5FeHBvcnQgdG8gRXhjZWw8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aCAhPT0gaGVhZGVyQ29sdW1ucy5sZW5ndGhcIiAoY2xpY2spPVwic2hvd0FsbENvbHVtbnMoKVwiPlNob3cgQWxsXHJcbiAgICAgICAgICAgICAgICBDb2x1bW5zXHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSAjZHJvcExpc3QgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtZHJhZy1kcm9wLWxpc3RcIlxyXG4gICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdEcm9wRW5hYmxlZCB8fCBlZGl0aW5nXCJcclxuICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJoYW5kbGVDYW5EcmFnRHJvcFwiXHJcbiAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiPlxyXG4gICAgICA8dHJcclxuICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLXJvd1wiXHJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInJvd0luZGV4ID09PSBzZWxlY3RlZFJvd0luZGV4ICYmICFlZGl0aW5nXCIgb2JzZXJ2ZVZpc2liaWxpdHlcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0SXNSb3dEaXNhYmxlZChyb3dJbmRleClcIlxyXG4gICAgICAgIFtjbGFzcy5lZGl0aW5nXT1cInJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCByb3cgb2YgKCEhcm93c1BlclBhZ2UgPyAoZGF0YSB8IHBhZ2luYXRlOiB7aXRlbXNQZXJQYWdlOiByb3dzUGVyUGFnZSwgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlfSkgOiBkYXRhKTsgbGFzdCBhcyBsYXN0OyBsZXQgcm93SW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4LCByb3cpXCIgKGRibGNsaWNrKT1cImhhbmRsZURibENsaWNrUm93KCRldmVudCwgcm93SW5kZXgsIHJvdylcIlxyXG4gICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cInJvd1Zpc2libGUubmV4dChyb3cpXCI+XHJcbiAgICAgICAgPGNvLWZvcm0gY2xhc3M9XCJzaW1wbGUtZ3JpZC1yb3ctZm9ybVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2luZ2xlQ29sdW1uUm93KHJvdylcIj5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwic2ltcGxlLWdyaWQtc2luZ2xlLWNvbHVtbi1jZWxsXCIgW2F0dHIuY29sc3Bhbl09XCJoZWFkZXJDb2x1bW5zQ29weS5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY2VsbFxyXG4gICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5zW3NpbmdsZUNvbHVtbkluZGV4KHJvdyldXCJcclxuICAgICAgICAgICAgICAgIFtyb3ddPVwicm93XCJcclxuICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgPjwvY28tc2ltcGxlLWdyaWQtY2VsbD5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1NpbmdsZUNvbHVtblJvdyhyb3cpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBoZWFkZXJDb2x1bW5zQ29weTsgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbFwiICpuZ0lmPVwiY29sdW1uSW5kZXggIT09IHNpbmdsZUNvbHVtbkluZGV4KHJvdylcIj5cclxuICAgICAgICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jZWxsXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxyXG4gICAgICAgICAgICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdCAmJiBlZGl0aW5nICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICBbZmllbGRFZGl0TW9kZV09XCJlZGl0Q2VsbEluZGV4ID09PSBjb2x1bW5JbmRleCAmJiByb3dJbmRleCA9PT0gZWRpdFJvd0luZGV4XCJcclxuICAgICAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJoYW5kbGVDZWxsQ2xpY2soJGV2ZW50LCByb3csIHJvd0luZGV4LCBjb2x1bW5JbmRleClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tc2ltcGxlLWdyaWQtY2VsbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ucmVzaXphYmxlXCIgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tc2l6ZXItcGxhY2Vob2xkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwic2hvd0dyaWRTZXR0aW5nc1wiPjwvdGQ+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxjby1wYWdpbmF0aW9uLWJhciAqbmdJZj1cImRhdGE/Lmxlbmd0aCA+IHJvd3NQZXJQYWdlXCIgY2xhc3M9XCJwYWdpbmF0aW9uLWJhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJyb3dzUGVyUGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdG90YWxJdGVtc109XCJkYXRhLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9IaWRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChwcmV2aW91c0NsaWNrKT1cImdvVG9QcmV2aW91c1BhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG5leHRDbGljayk9XCJnb1RvTmV4dFBhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDbGljayk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCJcclxuICAgID48L2NvLXBhZ2luYXRpb24tYmFyPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBGb3JtTWFzdGVyU2VydmljZVxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2ltcGxlR3JpZENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRUZXh0QWxpZ246IENvbHVtbkFsaWduID0gQ29sdW1uQWxpZ24uTGVmdDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignaGVhZGVyQ2VsbCcpIHNldCBoZWFkZXJDZWxscyhjZWxscykge1xyXG4gICAgY29uc3QgaGVhZGVyRWxlbWVudHMgPSBjZWxscy50b0FycmF5KCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWRlckVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uc1tpXS5lbGVtZW50UmVmID0gaGVhZGVyRWxlbWVudHNbaV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93QWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZWRpdE9uQ2VsbENsaWNrOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dHcmlkU2V0dGluZ3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm93c1BlclBhZ2U6IG51bWJlciA9IDEwMDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0Rpc2FibGVkRm46IEZ1bmN0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9taXNlIGZ1bmN0aW9uLCBpZiBwcm92aWRlZCBzaG91bGQgcmV0dXJuIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5Sb3dCZUVkaXR0ZWRGbjogRnVuY3Rpb247XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2ltcGxlLWdyaWQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ1RhYicpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5fbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQoIWV2ZW50LnNoaWZ0S2V5LCB0aGlzLmVkaXRDZWxsSW5kZXgpXHJcbiAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmNhbmNlbEVkaXRSb3coKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1NldHRpbmdzTWVudU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZWRpdFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgZWRpdENlbGxJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHVibGljIHNlbGVjdGVkUm93SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHB1YmxpYyByb3dUb0VkaXQ6IGFueTtcclxuICBwdWJsaWMgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcHVibGljIHNvcnRDb2x1bW5WYWx1ZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzb3J0RGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnO1xyXG4gIHB1YmxpYyByZWFkb25seSBJY29ucyA9IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgcHJpdmF0ZSBfZG91YmxlQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX25ld1JvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uczogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9mb3JtTWFzdGVyOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRhdGFDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja091dHNpZGVSb3coKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbGlkYXRlQW5kU2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldElzUm93RGlzYWJsZWQoaWR4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkUm93cy5pbmRleE9mKGlkeCkgPiAtMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpc1Jvd0Rpc2FibGVkKHJvdzogYW55LCBpbmRleDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy5yb3dEaXNhYmxlZEZuICYmICh0eXBlb2YgdGhpcy5yb3dEaXNhYmxlZEZuID09PSAnZnVuY3Rpb24nKSkge1xyXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IHRoaXMucm93RGlzYWJsZWRGbi5jYWxsKHRoaXMsIHJvdyk7XHJcbiAgICAgIGNvbnN0IGlkeFJvdzogbnVtYmVyID0gdGhpcy5kaXNhYmxlZFJvd3MuaW5kZXhPZihpbmRleCk7XHJcbiAgICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICAgIGlmIChpZHhSb3cgPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVkUm93cy5wdXNoKGluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGlkeFJvdyA+IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVkUm93cy5zcGxpY2UoaWR4Um93LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGRpc2FibGVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU2luZ2xlQ29sdW1uKGNvbHVtbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvbHVtbi5zaW5nbGVDb2x1bW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm93Q29udGFpbnNTaW5nbGVDb2x1bW4ocm93LCBjb2x1bW5zKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzaW5nbGVDb2x1bW4gPSBjb2x1bW5zLmZpbmQoY29sdW1uID0+IHRoaXMuaXNTaW5nbGVDb2x1bW4oY29sdW1uKSAmJiAhIXJvd1tjb2x1bW4uZmllbGRdKTtcclxuICAgIHJldHVybiAhIXNpbmdsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGROZXdSb3coKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gdGhpcy52YWxpZGF0ZUFuZFNhdmUoKTtcclxuICAgICAgLy8gdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBpZiAodmFsaWQpIHtcclxuICAgICAgICB0aGlzLmRhdGEucHVzaCh7fSk7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuX25ld1JvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBhd2FpdCB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKTtcclxuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkUm93Lm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGF0ZUFuZFNhdmUoc3RvcGVkaXRpbmc6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZWRpdGluZykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICB0aGlzLl9zYXZlUm93KHN0b3BlZGl0aW5nKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsRWRpdFJvdygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9uZXdSb3cpIHtcclxuICAgICAgdGhpcy5kYXRhLnNwbGljZSh0aGlzLmRhdGEubGVuZ3RoIC0gMSwgMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFbdGhpcy5lZGl0Um93SW5kZXhdID0gdGhpcy5yb3dUb0VkaXQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZXNldEVkaXQoKTtcclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVSb3coKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVJvdy5uZXh0KHRoaXMuZGF0YVt0aGlzLnNlbGVjdGVkUm93SW5kZXhdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JvdyhldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlciwgcm93OiBhbnkpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fZG91YmxlQ2xpY2tlZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCk7XHJcbiAgICB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRoZVJvdyhpbmRleDogbnVtYmVyLCBlbWl0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9PT0gLTEgfHwgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCAhPT0gaW5kZXggJiYgKCh0aGlzLmVkaXRpbmcgJiYgdGhpcy52YWxpZGF0ZUFuZFNhdmUoKSkgfHwgIXRoaXMuZWRpdGluZykpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IGluZGV4O1xyXG4gICAgfVxyXG4gICAgaWYgKGVtaXQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RSb3cubmV4dCh0aGlzLmRhdGFbdGhpcy5zZWxlY3RlZFJvd0luZGV4XSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRGJsQ2xpY2tSb3coZXZlbnQ6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIsIHJvdzogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5pc1Jvd0Rpc2FibGVkKHJvdywgaW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IC0xO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY2FuRWRpdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbiAmJiB0eXBlb2YgdGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjYW5FZGl0ID0gYXdhaXQgdGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbi5jYWxsKHRoaXMsIHJvdyk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FuRWRpdCkge1xyXG4gICAgICB0aGlzLl9kb3VibGVDbGlja2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kYmxDbGlja1Jvdy5uZXh0KHRoaXMuZGF0YVtpbmRleF0pO1xyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCwgZmFsc2UpO1xyXG4gICAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0Um93KGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzZXREYmxDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRSb3coZXZlbnQ6IE1vdXNlRXZlbnQsIHNlbGVjdENlbGw6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuc2VsZWN0ZWRSb3dJbmRleDtcclxuICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICBpZiAoc2VsZWN0Q2VsbCkge1xyXG4gICAgICB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKS50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gaW5kZXg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNlbGxDbGljayhldmVudDogTW91c2VFdmVudCwgcm93OiBhbnksIHJvd0luZGV4OiBudW1iZXIsIGNlbGxJbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5lZGl0T25DZWxsQ2xpY2spIHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIHJvd0luZGV4KSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IC0xO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhyb3dJbmRleCwgZmFsc2UpO1xyXG4gICAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSByb3dJbmRleDtcclxuICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBjZWxsSW5kZXg7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRSb3coZXZlbnQsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gY2VsbEluZGV4O1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVNldHRpbmdzTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkuZm9yRWFjaChpID0+IGkuaXNTZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgIHRoaXMuaXNTZXR0aW5nc01lbnVPcGVuID0gIXRoaXMuaXNTZXR0aW5nc01lbnVPcGVuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUNvbHVtbk1lbnUoY29sOiAgYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0dyaWRTZXR0aW5ncykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGlmIChjb2wuaXNTZWxlY3RlZCkge1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weS5mb3JFYWNoKGkgPT4gaS5pc1NlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUNvbHVtbihjb2w6IGFueSk6IHZvaWQge1xyXG4gICAgY29sLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZpbHRlcigob2JqKSA9PiB7XHJcbiAgICAgIHJldHVybiBvYmogIT09IGNvbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVE9ETyBGaXggdGhpcyBzb3J0IG1ldGhvZFxyXG4gIC8vIHB1YmxpYyBzb3J0Q29sdW1uKGNvbDogYW55LCBjb2x1bW5WYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgLy8gICBjb25zb2xlLmxvZyhjb2wpO1xyXG4gIC8vICAgY29uc29sZS5sb2coXCJjb2x1bW5WYWx1ZSBcIiArIGNvbHVtblZhbHVlKTtcclxuICAvLyAgIGNvbC5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgLy9cclxuICAvLyAgIGlmICh0aGlzLnNvcnRDb2x1bW5WYWx1ZSA9PT0gY29sdW1uVmFsdWUpIHtcclxuICAvLyAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0RGlyZWN0aW9uID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgdGhpcy5zb3J0Q29sdW1uVmFsdWUgPSBjb2x1bW5WYWx1ZTtcclxuICAvLyAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gJ2FzYyc7XHJcbiAgLy8gICB9XHJcbiAgLy9cclxuICAvLyAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YSk7XHJcbiAgLy8gICAvLyB0aGlzLmRhdGEgPSB0aGlzLl9zb3J0RGF0YSh0aGlzLmRhdGEpO1xyXG4gIC8vXHJcbiAgLy9cclxuICAvLyAgIHRoaXMuZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgLy8gICAgIGNvbnN0IHNpZ24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG4gIC8vXHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKFwiYSBcIiArIGEpO1xyXG4gIC8vICAgICBjb25zb2xlLmxvZyhcImIgXCIgKyBiKTtcclxuICAvLyAgICAgY29uc29sZS5sb2coYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0pO1xyXG4gIC8vICAgICBjb25zb2xlLmxvZyhiW3RoaXMuc29ydENvbHVtblZhbHVlXSk7XHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKFwic2lnbiBcIiArIHNpZ24pO1xyXG4gIC8vXHJcbiAgLy8gICAgIGlmIChhW3RoaXMuc29ydENvbHVtblZhbHVlXSA8IGJbdGhpcy5zb3J0Q29sdW1uVmFsdWVdKSB7XHJcbiAgLy8gICAgICAgcmV0dXJuIC0xICogc2lnbjtcclxuICAvLyAgICAgfSBlbHNlIGlmIChhW3RoaXMuc29ydENvbHVtblZhbHVlXSA+IGJbdGhpcy5zb3J0Q29sdW1uVmFsdWVdKSB7XHJcbiAgLy8gICAgICAgcmV0dXJuIDEgKiBzaWduO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIHJldHVybiAwO1xyXG4gIC8vICAgfSk7XHJcbiAgLy9cclxuICAvL1xyXG4gIC8vXHJcbiAgLy8gICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgLy8gICAvLyB0aGlzLmRhdGEuc29ydCgoYSwgYikgPT4gYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0gLSBiW3RoaXMuc29ydENvbHVtblZhbHVlXSk7XHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHJpdmF0ZSBfc29ydERhdGEodGFibGVEYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRhYmxlRGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZ24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG5cclxuICAgICAgY29uc29sZS5sb2coXCJhIFwiICsgYSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiYiBcIiArIGIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhhW3RoaXMuc29ydENvbHVtblZhbHVlXSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKGJbdGhpcy5zb3J0Q29sdW1uVmFsdWVdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJzaWduIFwiICsgc2lnbik7XHJcblxyXG4gICAgICBpZiAoYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0gPCBiW3RoaXMuc29ydENvbHVtblZhbHVlXSkge1xyXG4gICAgICAgIHJldHVybiAtMSAqIHNpZ247XHJcbiAgICAgIH0gZWxzZSBpZiAoYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0gPiBiW3RoaXMuc29ydENvbHVtblZhbHVlXSkge1xyXG4gICAgICAgIHJldHVybiAxICogc2lnbjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dBbGxDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0VG9FeGNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTZXR0aW5nc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaW1wbGUtZ3JpZC10YWJsZScpO1xyXG4gICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy50YWJsZV90b19zaGVldChlbGVtZW50KTtcclxuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xyXG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdTaGVldDEnKTtcclxuICAgIFhMU1gud3JpdGVGaWxlKHdiLCAnRXhjZWxTaGVldC54bHN4Jyk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZURhdGFSb3cocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2V0RGJsQ2xpY2soKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZG91YmxlQ2xpY2tlZCA9IGZhbHNlO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5leHQ7IE1vdmUgdG8gbmV4dCBvciBwcmV2aW91cyBjZWxsXHJcbiAgICogQHBhcmFtIHN0YXJ0OyBTdGFydCBmcm9tIGNlbGxpbmRleFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQobmV4dDogYm9vbGVhbiwgc3RhcnQ6IG51bWJlciA9IC0xKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgbnVtRWRpdGFibGVDb2x1bW5zOiBudW1iZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gIWMucmVhZG9ubHkpLmxlbmd0aDtcclxuICAgICAgY29uc3Qgd2FudGVkSW5kZXggPSBzdGFydCArIChuZXh0ID8gMSA6IC0xKTtcclxuICAgICAgaWYgKHdhbnRlZEluZGV4ID49IG51bUVkaXRhYmxlQ29sdW1ucykge1xyXG4gICAgICAgIHRoaXMuX2dldE5leHRFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleCgwKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAod2FudGVkSW5kZXggPCAwKSB7XHJcbiAgICAgICAgdGhpcy5fZ2V0UHJldmlvdXNFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXRQcmV2aW91c0VkaXRDZWxsSW5kZXgodGhpcy5jb2x1bW5zLmxlbmd0aCAtIDEpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKG5leHQgPyB0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleChzdGFydCArIDEpIDogdGhpcy5fZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0IC0gMSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPCB0aGlzLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCF0aGlzLmNvbHVtbnNbaV0ucmVhZG9ubHkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb2x1bW5zW2ldLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Um93SW5kZXgoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgbGV0IG5ld1Jvd0luZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgICBpZiAodGhpcy5lZGl0Um93SW5kZXggKyAxID49IHRoaXMuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvQWRkUm93KSB7XHJcbiAgICAgICAgICB0aGlzLmFkZE5ld1JvdygpO1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSB0aGlzLmVkaXRSb3dJbmRleDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZWRpdFJvd0luZGV4ICsgMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobmV3Um93SW5kZXggIT09IHRoaXMuZWRpdFJvd0luZGV4KSB7IC8vIGdvIHRvIGRpZmZlcmVudCByb3cgdmFsaWRhdGUgY3VycmVudCBvbmUgZmlyc3RcclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0ZUFuZFNhdmUoZmFsc2UpKSB7XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuZGF0YVtuZXdSb3dJbmRleF07XHJcbiAgICAgICAgICByZXNvbHZlKG5ld1Jvd0luZGV4KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByZXZpb3VzRWRpdFJvd0luZGV4KCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCBuZXdSb3dJbmRleDogbnVtYmVyID0gMDtcclxuICAgICAgaWYgKHRoaXMuZWRpdFJvd0luZGV4IC0gMSA8IDApIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1Jvd0luZGV4ID0gdGhpcy5lZGl0Um93SW5kZXggLSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuZXdSb3dJbmRleCAhPT0gdGhpcy5lZGl0Um93SW5kZXgpIHsgLy8gZ28gdG8gZGlmZmVyZW50IHJvdyB2YWxpZGF0ZSBjdXJyZW50IG9uZSBmaXJzdFxyXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlQW5kU2F2ZShmYWxzZSkpIHtcclxuICAgICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW25ld1Jvd0luZGV4XTtcclxuICAgICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShuZXdSb3dJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2F2ZVJvdyhzdG9wZWRpdGluZzogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIC8vIGVtaXQgc2F2ZUV2ZW50XHJcbiAgICBpZiAodGhpcy5yb3dUb0VkaXQpIHtcclxuICAgICAgdGhpcy5zYXZlUm93Lm5leHQodGhpcy5yb3dUb0VkaXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICBpZiAoc3RvcGVkaXRpbmcpIHtcclxuICAgICAgdGhpcy5fcmVzZXRFZGl0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgLT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gLTE7XHJcbiAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5yb3dUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
617
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1ncmlkL3NpbXBsZS1ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBNEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQXFKN0IsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQWlGOUQsWUFDUyxLQUF1QixFQUN0QixnQkFBbUMsRUFDbkMsV0FBOEI7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFKRCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQW5GeEIscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFVMUQsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBR2hDLGlCQUFZLEdBQVks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QWdCO1lBWnRCLGlCQUFpQjtZQVFYLGlCQUFpQjs7OzBCQTZKdEIsWUFBWSxTQUFDLFlBQVk7c0JBT3pCLEtBQUs7eUJBR0wsS0FBSzs4QkFHTCxLQUFLOzJCQUdMLEtBQUs7K0JBR0wsS0FBSzswQkFHTCxLQUFLOzRCQUdMLEtBQUs7NkJBR0wsS0FBSztnQ0FNTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxzQkFBc0I7NEJBS2xDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZS9mb3JtLW1hc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtCYXNlU2ltcGxlR3JpZENvbXBvbmVudH0gZnJvbSAnLi9iYXNlLXNpbXBsZS1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29sdW1uQWxpZ24sIFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4vc2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vaWNvbi9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2ltcGxlLWdyaWQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZ3JpZC10b29sYmFyICpuZ0lmPVwic2hvd1Rvb2xiYXJcIiBbY2xhc3MucmlnaHRdPVwicmlnaHRUb29sYmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dFZGl0XT1cInNob3dFZGl0XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwic2hvd0FkZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93RGVsZXRlXT1cInNob3dEZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGVsZXRlRW5hYmxlZF09XCJzZWxlY3RlZFJvd0luZGV4ID4gLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoYWRkQ2xpY2spPVwiYWRkTmV3Um93KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoZWRpdENsaWNrKT1cImVkaXRSb3coJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlQ2xpY2spPVwidmFsaWRhdGVBbmRTYXZlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsRWRpdFJvdygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cInJlbW92ZVJvdygpXCJcclxuICAgID48L2NvLWdyaWQtdG9vbGJhcj5cclxuICAgIDx0YWJsZVxyXG4gICAgICBpZD1cInNpbXBsZS1ncmlkLXRhYmxlXCJcclxuICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZC10YWJsZVwiXHJcbiAgICAgIFtjbGlja091dHNpZGVdPVwiZWRpdGluZ1wiXHJcbiAgICAgIChjbGlja091dHNpZGUpPVwiaGFuZGxlQ2xpY2tPdXRzaWRlUm93KClcIj5cclxuICAgICAgPGNvbGdyb3VwPlxyXG4gICAgICAgIDxjb2wgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBoZWFkZXJDb2x1bW5zQ29weTsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLnNpbXBsZS1ncmlkLWNvbHVtbi1hdXRvLWZpdF09XCJjb2x1bW4uYXV0b0ZpdFwiXHJcbiAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29sdW1uLndpZHRoXCJcclxuICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiTUlOX0NPTFVNTl9XSURUSFwiPlxyXG4gICAgICA8L2NvbGdyb3VwPlxyXG4gICAgICA8dGhlYWQ+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGhcclxuICAgICAgICAgIHNjb3BlPVwiY29sXCJcclxuICAgICAgICAgICNoZWFkZXJDZWxsXHJcbiAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1oZWFkZXJcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBoZWFkZXJDb2x1bW5zQ29weTsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4taGVhZGVyLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MucmVzaXphYmxlXT1cInJlc2l6YWJsZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjb2x1bW4uaXNTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlOyBlbHNlIG5vSGVhZGVyVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4taGVhZGVyLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1tZW51XT1cInNob3dHcmlkU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLndpdGgtc29ydF09XCJzaG93Q29sdW1uU29ydFwiXHJcbiAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29sdW1uLmhlYWRlclRleHQgfHwgJyZuYnNwOydcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dDb2x1bW5Tb3J0ID8gc29ydENvbHVtbihjb2x1bW4sIGNvbHVtbi5maWVsZCkgOiB0b2dnbGVDb2x1bW5NZW51KGNvbHVtbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtY29sdW1uXCIgKm5nSWY9XCJzaG93Q29sdW1uU29ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAoY2xpY2spPVwic29ydENvbHVtbihjb2x1bW4sIGNvbHVtbj8uZmllbGQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25zLmdldEljb24oSWNvbnMuQXJyb3dVcEFycm93RG93bilcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLW1lbnVcIiAqbmdJZj1cImNvbHVtbi5pc1NlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgW3RleHRDb250ZW50XT1cIidDT0xVTU5fT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVDb2x1bW4oY29sdW1uKVwiPkhpZGUgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbiwgY29sdW1uLmZpZWxkKVwiPlNvcnQgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXNpemFibGUgJiYgY29sdW1uLnJlc2l6YWJsZVwiIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLXNpemVyXCJcclxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImhhbmRsZVNpemVyTW91c2VEb3duKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwic2hvd0dyaWRTZXR0aW5nc1wiIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlciBncmlkLXNldHRpbmdzXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NldHRpbmdzTWVudU9wZW5cIlxyXG4gICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbnMuZ2V0SWNvbihJY29ucy5Db2dXaGVlbHMpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzTWVudSgpXCI+XHJcbiAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtbWVudVwiICpuZ0lmPVwiaXNTZXR0aW5nc01lbnVPcGVuXCI+XHJcbiAgICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwiJ0dSSURfT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJleHBvcnRUb0V4Y2VsKClcIj5FeHBvcnQgdG8gRXhjZWw8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aCAhPT0gaGVhZGVyQ29sdW1ucy5sZW5ndGhcIiAoY2xpY2spPVwic2hvd0FsbENvbHVtbnMoKVwiPlNob3cgQWxsXHJcbiAgICAgICAgICAgICAgICBDb2x1bW5zXHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSAjZHJvcExpc3QgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtZHJhZy1kcm9wLWxpc3RcIlxyXG4gICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdEcm9wRW5hYmxlZCB8fCBlZGl0aW5nXCJcclxuICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJoYW5kbGVDYW5EcmFnRHJvcFwiXHJcbiAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiPlxyXG4gICAgICA8dHJcclxuICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLXJvd1wiXHJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInJvd0luZGV4ID09PSBzZWxlY3RlZFJvd0luZGV4ICYmICFlZGl0aW5nXCIgb2JzZXJ2ZVZpc2liaWxpdHlcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0SXNSb3dEaXNhYmxlZChyb3dJbmRleClcIlxyXG4gICAgICAgIFtjbGFzcy5lZGl0aW5nXT1cInJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCByb3cgb2YgKCEhcm93c1BlclBhZ2UgPyAoZGF0YSB8IHBhZ2luYXRlOiB7aXRlbXNQZXJQYWdlOiByb3dzUGVyUGFnZSwgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlfSkgOiBkYXRhKTsgbGFzdCBhcyBsYXN0OyBsZXQgcm93SW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4LCByb3cpXCIgKGRibGNsaWNrKT1cImhhbmRsZURibENsaWNrUm93KCRldmVudCwgcm93SW5kZXgsIHJvdylcIlxyXG4gICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cInJvd1Zpc2libGUubmV4dChyb3cpXCI+XHJcbiAgICAgICAgPGNvLWZvcm0gY2xhc3M9XCJzaW1wbGUtZ3JpZC1yb3ctZm9ybVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2luZ2xlQ29sdW1uUm93KHJvdylcIj5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwic2ltcGxlLWdyaWQtc2luZ2xlLWNvbHVtbi1jZWxsXCIgW2F0dHIuY29sc3Bhbl09XCJoZWFkZXJDb2x1bW5zQ29weS5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY2VsbFxyXG4gICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5zW3NpbmdsZUNvbHVtbkluZGV4KHJvdyldXCJcclxuICAgICAgICAgICAgICAgIFtyb3ddPVwicm93XCJcclxuICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgPjwvY28tc2ltcGxlLWdyaWQtY2VsbD5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1NpbmdsZUNvbHVtblJvdyhyb3cpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBoZWFkZXJDb2x1bW5zQ29weTsgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbFwiICpuZ0lmPVwiY29sdW1uSW5kZXggIT09IHNpbmdsZUNvbHVtbkluZGV4KHJvdylcIj5cclxuICAgICAgICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jZWxsXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxyXG4gICAgICAgICAgICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdCAmJiBlZGl0aW5nICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICBbZmllbGRFZGl0TW9kZV09XCJlZGl0Q2VsbEluZGV4ID09PSBjb2x1bW5JbmRleCAmJiByb3dJbmRleCA9PT0gZWRpdFJvd0luZGV4XCJcclxuICAgICAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJoYW5kbGVDZWxsQ2xpY2soJGV2ZW50LCByb3csIHJvd0luZGV4LCBjb2x1bW5JbmRleClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tc2ltcGxlLWdyaWQtY2VsbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ucmVzaXphYmxlXCIgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tc2l6ZXItcGxhY2Vob2xkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwic2hvd0dyaWRTZXR0aW5nc1wiPjwvdGQ+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxjby1wYWdpbmF0aW9uLWJhciAqbmdJZj1cImRhdGE/Lmxlbmd0aCA+IHJvd3NQZXJQYWdlXCIgY2xhc3M9XCJwYWdpbmF0aW9uLWJhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJyb3dzUGVyUGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdG90YWxJdGVtc109XCJkYXRhLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9IaWRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChwcmV2aW91c0NsaWNrKT1cImdvVG9QcmV2aW91c1BhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG5leHRDbGljayk9XCJnb1RvTmV4dFBhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDbGljayk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCJcclxuICAgID48L2NvLXBhZ2luYXRpb24tYmFyPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBGb3JtTWFzdGVyU2VydmljZVxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2ltcGxlR3JpZENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRUZXh0QWxpZ246IENvbHVtbkFsaWduID0gQ29sdW1uQWxpZ24uTGVmdDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignaGVhZGVyQ2VsbCcpIHNldCBoZWFkZXJDZWxscyhjZWxscykge1xyXG4gICAgY29uc3QgaGVhZGVyRWxlbWVudHMgPSBjZWxscy50b0FycmF5KCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWRlckVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uc1tpXS5lbGVtZW50UmVmID0gaGVhZGVyRWxlbWVudHNbaV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93QWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZWRpdE9uQ2VsbENsaWNrOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dHcmlkU2V0dGluZ3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm93c1BlclBhZ2U6IG51bWJlciA9IDEwMDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0Rpc2FibGVkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q29sdW1uU29ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9taXNlIGZ1bmN0aW9uLCBpZiBwcm92aWRlZCBzaG91bGQgcmV0dXJuIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5Sb3dCZUVkaXR0ZWRGbjogRnVuY3Rpb247XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2ltcGxlLWdyaWQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ1RhYicpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5fbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQoIWV2ZW50LnNoaWZ0S2V5LCB0aGlzLmVkaXRDZWxsSW5kZXgpXHJcbiAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmNhbmNlbEVkaXRSb3coKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1NldHRpbmdzTWVudU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZWRpdFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgZWRpdENlbGxJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHVibGljIHNlbGVjdGVkUm93SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHB1YmxpYyByb3dUb0VkaXQ6IGFueTtcclxuICBwdWJsaWMgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcHVibGljIHNvcnRDb2x1bW5WYWx1ZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzb3J0RGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnO1xyXG4gIHB1YmxpYyByZWFkb25seSBJY29ucyA9IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgcHJpdmF0ZSBfZG91YmxlQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX25ld1JvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uczogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9mb3JtTWFzdGVyOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRhdGFDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja091dHNpZGVSb3coKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbGlkYXRlQW5kU2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldElzUm93RGlzYWJsZWQoaWR4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkUm93cy5pbmRleE9mKGlkeCkgPiAtMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpc1Jvd0Rpc2FibGVkKHJvdzogYW55LCBpbmRleDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy5yb3dEaXNhYmxlZEZuICYmICh0eXBlb2YgdGhpcy5yb3dEaXNhYmxlZEZuID09PSAnZnVuY3Rpb24nKSkge1xyXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IHRoaXMucm93RGlzYWJsZWRGbi5jYWxsKHRoaXMsIHJvdyk7XHJcbiAgICAgIGNvbnN0IGlkeFJvdzogbnVtYmVyID0gdGhpcy5kaXNhYmxlZFJvd3MuaW5kZXhPZihpbmRleCk7XHJcbiAgICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICAgIGlmIChpZHhSb3cgPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVkUm93cy5wdXNoKGluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGlkeFJvdyA+IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVkUm93cy5zcGxpY2UoaWR4Um93LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGRpc2FibGVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU2luZ2xlQ29sdW1uKGNvbHVtbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvbHVtbi5zaW5nbGVDb2x1bW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm93Q29udGFpbnNTaW5nbGVDb2x1bW4ocm93LCBjb2x1bW5zKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzaW5nbGVDb2x1bW4gPSBjb2x1bW5zLmZpbmQoY29sdW1uID0+IHRoaXMuaXNTaW5nbGVDb2x1bW4oY29sdW1uKSAmJiAhIXJvd1tjb2x1bW4uZmllbGRdKTtcclxuICAgIHJldHVybiAhIXNpbmdsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGROZXdSb3coKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gdGhpcy52YWxpZGF0ZUFuZFNhdmUoKTtcclxuICAgICAgLy8gdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBpZiAodmFsaWQpIHtcclxuICAgICAgICB0aGlzLmRhdGEucHVzaCh7fSk7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuX25ld1JvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBhd2FpdCB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKTtcclxuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkUm93Lm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGF0ZUFuZFNhdmUoc3RvcGVkaXRpbmc6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZWRpdGluZykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICB0aGlzLl9zYXZlUm93KHN0b3BlZGl0aW5nKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsRWRpdFJvdygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9uZXdSb3cpIHtcclxuICAgICAgdGhpcy5kYXRhLnNwbGljZSh0aGlzLmRhdGEubGVuZ3RoIC0gMSwgMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFbdGhpcy5lZGl0Um93SW5kZXhdID0gdGhpcy5yb3dUb0VkaXQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZXNldEVkaXQoKTtcclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVSb3coKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVJvdy5uZXh0KHRoaXMuZGF0YVt0aGlzLnNlbGVjdGVkUm93SW5kZXhdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JvdyhldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlciwgcm93OiBhbnkpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fZG91YmxlQ2xpY2tlZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCk7XHJcbiAgICB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRoZVJvdyhpbmRleDogbnVtYmVyLCBlbWl0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9PT0gLTEgfHwgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCAhPT0gaW5kZXggJiYgKCh0aGlzLmVkaXRpbmcgJiYgdGhpcy52YWxpZGF0ZUFuZFNhdmUoKSkgfHwgIXRoaXMuZWRpdGluZykpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IGluZGV4O1xyXG4gICAgfVxyXG4gICAgaWYgKGVtaXQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RSb3cubmV4dCh0aGlzLmRhdGFbdGhpcy5zZWxlY3RlZFJvd0luZGV4XSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRGJsQ2xpY2tSb3coZXZlbnQ6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIsIHJvdzogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5pc1Jvd0Rpc2FibGVkKHJvdywgaW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IC0xO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY2FuRWRpdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbiAmJiB0eXBlb2YgdGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjYW5FZGl0ID0gYXdhaXQgdGhpcy5jYW5Sb3dCZUVkaXR0ZWRGbi5jYWxsKHRoaXMsIHJvdyk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FuRWRpdCkge1xyXG4gICAgICB0aGlzLl9kb3VibGVDbGlja2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kYmxDbGlja1Jvdy5uZXh0KHRoaXMuZGF0YVtpbmRleF0pO1xyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCwgZmFsc2UpO1xyXG4gICAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0Um93KGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzZXREYmxDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRSb3coZXZlbnQ6IE1vdXNlRXZlbnQsIHNlbGVjdENlbGw6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuc2VsZWN0ZWRSb3dJbmRleDtcclxuICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICBpZiAoc2VsZWN0Q2VsbCkge1xyXG4gICAgICB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKS50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gaW5kZXg7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNlbGxDbGljayhldmVudDogTW91c2VFdmVudCwgcm93OiBhbnksIHJvd0luZGV4OiBudW1iZXIsIGNlbGxJbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5lZGl0T25DZWxsQ2xpY2spIHtcclxuICAgICAgaWYgKGF3YWl0IHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIHJvd0luZGV4KSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IC0xO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdFRoZVJvdyhyb3dJbmRleCwgZmFsc2UpO1xyXG4gICAgICBpZiAodGhpcy5pbmxpbmVFZGl0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSByb3dJbmRleDtcclxuICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBjZWxsSW5kZXg7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRSb3coZXZlbnQsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gY2VsbEluZGV4O1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVNldHRpbmdzTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkuZm9yRWFjaChpID0+IGkuaXNTZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgIHRoaXMuaXNTZXR0aW5nc01lbnVPcGVuID0gIXRoaXMuaXNTZXR0aW5nc01lbnVPcGVuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUNvbHVtbk1lbnUoY29sOiAgYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0dyaWRTZXR0aW5ncykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGlmIChjb2wuaXNTZWxlY3RlZCkge1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weS5mb3JFYWNoKGkgPT4gaS5pc1NlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUNvbHVtbihjb2w6IGFueSk6IHZvaWQge1xyXG4gICAgY29sLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZpbHRlcigob2JqKSA9PiB7XHJcbiAgICAgIHJldHVybiBvYmogIT09IGNvbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRDb2x1bW4oY29sOiBhbnksIGNvbHVtblZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbC5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydENvbHVtblZhbHVlID09PSBjb2x1bW5WYWx1ZSkge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRDb2x1bW5WYWx1ZSA9IGNvbHVtblZhbHVlO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnYXNjJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG5cclxuICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aGlzLmRhdGFdLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgbGV0IHZhbEEgPSBhW2NvbHVtblZhbHVlXTtcclxuICAgICAgbGV0IHZhbEIgPSBiW2NvbHVtblZhbHVlXTtcclxuXHJcbiAgICAgIGlmICh2YWxBID09IG51bGwgJiYgdmFsQiA9PSBudWxsKSByZXR1cm4gMDtcclxuICAgICAgaWYgKHZhbEEgPT0gbnVsbCkgcmV0dXJuIC0xICogZGlyZWN0aW9uO1xyXG4gICAgICBpZiAodmFsQiA9PSBudWxsKSByZXR1cm4gMSAqIGRpcmVjdGlvbjtcclxuXHJcbiAgICAgIC8vIEhhbmRsZSBJU08gZGF0ZSBzdHJpbmdcclxuICAgICAgY29uc3QgaXNEYXRlQSA9IHR5cGVvZiB2YWxBID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxBKTtcclxuICAgICAgY29uc3QgaXNEYXRlQiA9IHR5cGVvZiB2YWxCID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxCKTtcclxuXHJcbiAgICAgIGlmIChpc0RhdGVBICYmIGlzRGF0ZUIpIHtcclxuICAgICAgICBjb25zdCB0aW1lQSA9IG5ldyBEYXRlKHZhbEEpLmdldFRpbWUoKTtcclxuICAgICAgICBjb25zdCB0aW1lQiA9IG5ldyBEYXRlKHZhbEIpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gKHRpbWVBIC0gdGltZUIpICogZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBmb3IgbnVtYmVycy9zdHJpbmdzXHJcbiAgICAgIGlmICh0eXBlb2YgdmFsQSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbEEubG9jYWxlQ29tcGFyZSh2YWxCKSAqIGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICh2YWxBID4gdmFsQiA/IDEgOiB2YWxBIDwgdmFsQiA/IC0xIDogMCkgKiBkaXJlY3Rpb247XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmRhdGEgPSBzb3J0ZWQ7XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfc29ydERhdGEodGFibGVEYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRhYmxlRGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZ24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG5cclxuICAgICAgY29uc29sZS5sb2coXCJhIFwiICsgYSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiYiBcIiArIGIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhhW3RoaXMuc29ydENvbHVtblZhbHVlXSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKGJbdGhpcy5zb3J0Q29sdW1uVmFsdWVdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJzaWduIFwiICsgc2lnbik7XHJcblxyXG4gICAgICBpZiAoYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0gPCBiW3RoaXMuc29ydENvbHVtblZhbHVlXSkge1xyXG4gICAgICAgIHJldHVybiAtMSAqIHNpZ247XHJcbiAgICAgIH0gZWxzZSBpZiAoYVt0aGlzLnNvcnRDb2x1bW5WYWx1ZV0gPiBiW3RoaXMuc29ydENvbHVtblZhbHVlXSkge1xyXG4gICAgICAgIHJldHVybiAxICogc2lnbjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dBbGxDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0VG9FeGNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTZXR0aW5nc01lbnVPcGVuID0gZmFsc2U7XHJcbiAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaW1wbGUtZ3JpZC10YWJsZScpO1xyXG4gICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy50YWJsZV90b19zaGVldChlbGVtZW50KTtcclxuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xyXG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdTaGVldDEnKTtcclxuICAgIFhMU1gud3JpdGVGaWxlKHdiLCAnRXhjZWxTaGVldC54bHN4Jyk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZURhdGFSb3cocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2V0RGJsQ2xpY2soKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZG91YmxlQ2xpY2tlZCA9IGZhbHNlO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5leHQ7IE1vdmUgdG8gbmV4dCBvciBwcmV2aW91cyBjZWxsXHJcbiAgICogQHBhcmFtIHN0YXJ0OyBTdGFydCBmcm9tIGNlbGxpbmRleFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQobmV4dDogYm9vbGVhbiwgc3RhcnQ6IG51bWJlciA9IC0xKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgbnVtRWRpdGFibGVDb2x1bW5zOiBudW1iZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gIWMucmVhZG9ubHkpLmxlbmd0aDtcclxuICAgICAgY29uc3Qgd2FudGVkSW5kZXggPSBzdGFydCArIChuZXh0ID8gMSA6IC0xKTtcclxuICAgICAgaWYgKHdhbnRlZEluZGV4ID49IG51bUVkaXRhYmxlQ29sdW1ucykge1xyXG4gICAgICAgIHRoaXMuX2dldE5leHRFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleCgwKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAod2FudGVkSW5kZXggPCAwKSB7XHJcbiAgICAgICAgdGhpcy5fZ2V0UHJldmlvdXNFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXRQcmV2aW91c0VkaXRDZWxsSW5kZXgodGhpcy5jb2x1bW5zLmxlbmd0aCAtIDEpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKG5leHQgPyB0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleChzdGFydCArIDEpIDogdGhpcy5fZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0IC0gMSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPCB0aGlzLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCF0aGlzLmNvbHVtbnNbaV0ucmVhZG9ubHkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb2x1bW5zW2ldLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Um93SW5kZXgoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgbGV0IG5ld1Jvd0luZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgICBpZiAodGhpcy5lZGl0Um93SW5kZXggKyAxID49IHRoaXMuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvQWRkUm93KSB7XHJcbiAgICAgICAgICB0aGlzLmFkZE5ld1JvdygpO1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSB0aGlzLmVkaXRSb3dJbmRleDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZWRpdFJvd0luZGV4ICsgMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobmV3Um93SW5kZXggIT09IHRoaXMuZWRpdFJvd0luZGV4KSB7IC8vIGdvIHRvIGRpZmZlcmVudCByb3cgdmFsaWRhdGUgY3VycmVudCBvbmUgZmlyc3RcclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0ZUFuZFNhdmUoZmFsc2UpKSB7XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuZGF0YVtuZXdSb3dJbmRleF07XHJcbiAgICAgICAgICByZXNvbHZlKG5ld1Jvd0luZGV4KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByZXZpb3VzRWRpdFJvd0luZGV4KCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCBuZXdSb3dJbmRleDogbnVtYmVyID0gMDtcclxuICAgICAgaWYgKHRoaXMuZWRpdFJvd0luZGV4IC0gMSA8IDApIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1Jvd0luZGV4ID0gdGhpcy5lZGl0Um93SW5kZXggLSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuZXdSb3dJbmRleCAhPT0gdGhpcy5lZGl0Um93SW5kZXgpIHsgLy8gZ28gdG8gZGlmZmVyZW50IHJvdyB2YWxpZGF0ZSBjdXJyZW50IG9uZSBmaXJzdFxyXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlQW5kU2F2ZShmYWxzZSkpIHtcclxuICAgICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW25ld1Jvd0luZGV4XTtcclxuICAgICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShuZXdSb3dJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2F2ZVJvdyhzdG9wZWRpdGluZzogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIC8vIGVtaXQgc2F2ZUV2ZW50XHJcbiAgICBpZiAodGhpcy5yb3dUb0VkaXQpIHtcclxuICAgICAgdGhpcy5zYXZlUm93Lm5leHQodGhpcy5yb3dUb0VkaXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICBpZiAoc3RvcGVkaXRpbmcpIHtcclxuICAgICAgdGhpcy5fcmVzZXRFZGl0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgLT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gLTE7XHJcbiAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5yb3dUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -20,6 +20,7 @@ export var CoreComponentsIcon;
|
|
|
20
20
|
CoreComponentsIcon["ArrowScrollRight"] = "arrow_scroll_right";
|
|
21
21
|
CoreComponentsIcon["ArrowScrollUp"] = "arrow_scroll_up";
|
|
22
22
|
CoreComponentsIcon["ArrowUp"] = "arrow_up";
|
|
23
|
+
CoreComponentsIcon["ArrowUpArrowDown"] = "arrow_up_arrow_down";
|
|
23
24
|
CoreComponentsIcon["Article"] = "article";
|
|
24
25
|
CoreComponentsIcon["ArticleWithFold"] = "article_with_fold";
|
|
25
26
|
CoreComponentsIcon["AsteriskSmall"] = "asterisk_small";
|
|
@@ -117,6 +118,7 @@ export var CoreComponentsIcon;
|
|
|
117
118
|
CoreComponentsIcon["GlobalSearch"] = "global_search";
|
|
118
119
|
CoreComponentsIcon["Globe"] = "globe";
|
|
119
120
|
CoreComponentsIcon["GreaterThan"] = "greater_than";
|
|
121
|
+
CoreComponentsIcon["GripDotsVerticalSolid"] = "grip_dots_vertical_solid";
|
|
120
122
|
CoreComponentsIcon["Groupby"] = "groupby";
|
|
121
123
|
CoreComponentsIcon["Hamburger"] = "hamburger";
|
|
122
124
|
CoreComponentsIcon["HandPointer"] = "hand_pointer";
|
|
@@ -299,4 +301,4 @@ export var CoreComponentsIcon;
|
|
|
299
301
|
CoreComponentsIcon["XAxis"] = "x_axis";
|
|
300
302
|
CoreComponentsIcon["YAxis"] = "y_axis";
|
|
301
303
|
})(CoreComponentsIcon || (CoreComponentsIcon = {}));
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21wb25lbnRzLWljb24uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0dBQWdHO0FBRWhHLE1BQU0sQ0FBTixJQUFZLGtCQTBTWDtBQTFTRCxXQUFZLGtCQUFrQjtJQUMxQix5Q0FBbUIsQ0FBQTtJQUNuQiw2REFBdUMsQ0FBQTtJQUN2QywrQ0FBeUIsQ0FBQTtJQUN6Qix3REFBa0MsQ0FBQTtJQUNsQyw4Q0FBd0IsQ0FBQTtJQUN4QixxREFBK0IsQ0FBQTtJQUMvQix1REFBaUMsQ0FBQTtJQUNqQyw4Q0FBd0IsQ0FBQTtJQUN4QixrRUFBNEMsQ0FBQTtJQUM1Qyx5REFBbUMsQ0FBQTtJQUNuQyx5REFBbUMsQ0FBQTtJQUNuQywyREFBcUMsQ0FBQTtJQUNyQyxxREFBK0IsQ0FBQTtJQUMvQixvRUFBOEMsQ0FBQTtJQUM5QywyREFBcUMsQ0FBQTtJQUNyQywyREFBcUMsQ0FBQTtJQUNyQyw2REFBdUMsQ0FBQTtJQUN2Qyx1REFBaUMsQ0FBQTtJQUNqQywwQ0FBb0IsQ0FBQTtJQUNwQix5Q0FBbUIsQ0FBQTtJQUNuQiwyREFBcUMsQ0FBQTtJQUNyQyxzREFBZ0MsQ0FBQTtJQUNoQyxpREFBMkIsQ0FBQTtJQUMzQiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQix3Q0FBa0IsQ0FBQTtJQUNsQixxQ0FBZSxDQUFBO0lBQ2YsbUVBQTZDLENBQUE7SUFDN0MscUNBQWUsQ0FBQTtJQUNmLHlEQUFtQyxDQUFBO0lBQ25DLDBEQUFvQyxDQUFBO0lBQ3BDLHFEQUErQixDQUFBO0lBQy9CLDJDQUFxQixDQUFBO0lBQ3JCLGtEQUE0QixDQUFBO0lBQzVCLGlFQUEyQyxDQUFBO0lBQzNDLHNEQUFnQyxDQUFBO0lBQ2hD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QixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLGlDQUFXLENBQUE7SUFDWCx5REFBbUMsQ0FBQTtJQUNuQyw2RUFBdUQsQ0FBQTtJQUN2RCx1Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZ0IsQ0FBQTtJQUNoQixzQ0FBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBMVNXLGtCQUFrQixLQUFsQixrQkFBa0IsUUEwUzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFVVE8gR0VORVJBVEVEIEZJTEUuIERPIE5PVCBDSEFOR0UuLiBPUiBZT1UgV0lMTCBTVUZGRVIgVEhFIENPTlNFUVVFTkNFUyBPRiBZT1VSIEFDVElPTlMgKiovXG5cbmV4cG9ydCBlbnVtIENvcmVDb21wb25lbnRzSWNvbiB7XG4gICAgQWNjb3VudCA9IFwiYWNjb3VudFwiLFxuICAgIEFjY291bnRSb3VuZE9wZW4gPSBcImFjY291bnRfcm91bmRfb3BlblwiLFxuICAgIEFjdGl2aXRpZXMgPSBcImFjdGl2aXRpZXNcIixcbiAgICBBZGRUb0NhcnREcm9wID0gXCJhZGRfdG9fY2FydF9kcm9wXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dGYXRMZWZ0ID0gXCJhcnJvd19mYXRfbGVmdFwiLFxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxuICAgIEFycm93TGVmdCA9IFwiYXJyb3dfbGVmdFwiLFxuICAgIEFycm93TGVmdFJvdW5kT3BlbiA9IFwiYXJyb3dfbGVmdF9yb3VuZF9vcGVuXCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXJyb3dSaWdodFJvdW5kT3BlbiA9IFwiYXJyb3dfcmlnaHRfcm91bmRfb3BlblwiLFxuICAgIEFycm93U2Nyb2xsRG93biA9IFwiYXJyb3dfc2Nyb2xsX2Rvd25cIixcbiAgICBBcnJvd1Njcm9sbExlZnQgPSBcImFycm93X3Njcm9sbF9sZWZ0XCIsXG4gICAgQXJyb3dTY3JvbGxSaWdodCA9IFwiYXJyb3dfc2Nyb2xsX3JpZ2h0XCIsXG4gICAgQXJyb3dTY3JvbGxVcCA9IFwiYXJyb3dfc2Nyb2xsX3VwXCIsXG4gICAgQXJyb3dVcCA9IFwiYXJyb3dfdXBcIixcbiAgICBBcnRpY2xlID0gXCJhcnRpY2xlXCIsXG4gICAgQXJ0aWNsZVdpdGhGb2xkID0gXCJhcnRpY2xlX3dpdGhfZm9sZFwiLFxuICAgIEFzdGVyaXNrU21hbGwgPSBcImFzdGVyaXNrX3NtYWxsXCIsXG4gICAgQXR0YWNobWVudHMgPSBcImF0dGFjaG1lbnRzXCIsXG4gICAgQmFja1RvVG9wID0gXCJiYWNrX3RvX3RvcFwiLFxuICAgIEJhcmNvZGUgPSBcIkJhcmNvZGVcIixcbiAgICBCaWdNYWMgPSBcImJpZ19tYWNcIixcbiAgICBCb3hlcyA9IFwiYm94ZXNcIixcbiAgICBCb3hlc1BhY2tpbmdSZWd1bGFyID0gXCJib3hlc19wYWNraW5nX3JlZ3VsYXJcIixcbiAgICBCcnVzaCA9IFwiYnJ1c2hcIixcbiAgICBCcnVzaFJvdW5kT3BlbiA9IFwiYnJ1c2hfcm91bmRfb3BlblwiLFxuICAgIEJ1aWxkaW5nQ29sdW1ucyA9IFwiYnVpbGRpbmdfY29sdW1uc1wiLFxuICAgIEJ1c2luZXNzcnVsZXMgPSBcImJ1c2luZXNzcnVsZXNcIixcbiAgICBDYWxlbmRhciA9IFwiY2FsZW5kYXJcIixcbiAgICBDYWxlbmRhckRheSA9IFwiY2FsZW5kYXJfZGF5XCIsXG4gICAgQ2FsZW5kYXJEYXlSZWd1bGFyID0gXCJjYWxlbmRhcl9kYXlfcmVndWxhclwiLFxuICAgIENhbGVuZGFyRW1wdHkgPSBcImNhbGVuZGFyX2VtcHR5XCIsXG4gICAgQ2FsZW5kYXJSYW5nZSA9IFwiY2FsZW5kYXJfcmFuZ2VcIixcbiAgICBDYWxlbmRhclJvdW5kT3BlbiA9IFwiY2FsZW5kYXJfcm91bmRfb3BlblwiLFxuICAgIENhbWVyYSA9IFwiY2FtZXJhXCIsXG4gICAgQ2FuY2VsID0gXCJjYW5jZWxcIixcbiAgICBDYW5jZWxSb3VuZEZpbGxlZCA9IFwiY2FuY2VsX3JvdW5kX2ZpbGxlZFwiLFxuICAgIENhbmNlbFJvdW5kT3BlbiA9IFwiY2FuY2VsX3JvdW5kX29wZW5cIixcbiAgICBDYXJ0ID0gXCJjYXJ0XCIsXG4gICAgQ2FydE9wZW4gPSBcImNhcnRfb3BlblwiLFxuICAgIENhc2VNYW5hZ2VyID0gXCJjYXNlX21hbmFnZXJcIixcbiAgICBDYXNoUmVnaXN0ZXIgPSBcIkNhc2hSZWdpc3RlclwiLFxuICAgIENhc2hSZWdpc3RlclNpbXBsZSA9IFwiY2FzaF9yZWdpc3Rlcl9zaW1wbGVcIixcbiAgICBDaGFuZ2VMb2NhdGlvbiA9IFwiY2hhbmdlX2xvY2F0aW9uXCIsXG4gICAgQ2hlY2sgPSBcImNoZWNrXCIsXG4gICAgQ2hlY2tEdW90b25lID0gXCJjaGVja19kdW90b25lXCIsXG4gICAgQ2hlY2tSb3VuZCA9IFwiY2hlY2tfcm91bmRcIixcbiAgICBDaGVja1JvdW5kT3BlbiA9IFwiY2hlY2tfcm91bmRfb3BlblwiLFxuICAgIENoZWNrU2ltcGxlID0gXCJjaGVja19zaW1wbGVcIixcbiAgICBDaGVja1RoaW4gPSBcImNoZWNrX3RoaW5cIixcbiAgICBDaGV2cm9uRG93blJlZ3VsYXIgPSBcImNoZXZyb25fZG93bl9yZWd1bGFyXCIsXG4gICAgQ2hldnJvblVwUmVndWxhciA9IFwiY2hldnJvbl91cF9yZWd1bGFyXCIsXG4gICAgQ2lyY2xlUGx1c1NraW5ueSA9IFwiQ2lyY2xlUGx1c1NraW5ueVwiLFxuICAgIENsaWVudCA9IFwiY2xpZW50XCIsXG4gICAgQ2xvY2sgPSBcImNsb2NrXCIsXG4gICAgQ2xvY2tBcnJvdyA9IFwiY2xvY2tBcnJvd1wiLFxuICAgIENvZ1doZWVsUGx1cyA9IFwiY29nV2hlZWxQbHVzXCIsXG4gICAgQ29nV2hlZWxzID0gXCJjb2dXaGVlbHNcIixcbiAgICBDb2x1bW5PcHRpb25zID0gXCJjb2x1bW5fb3B0aW9uc1wiLFxuICAgIENvbXBhbnkgPSBcImNvbXBhbnlcIixcbiAgICBDb21wYW55RmxhdCA9IFwiY29tcGFueV9mbGF0XCIsXG4gICAgQ29uZmlndXJhYmxlID0gXCJjb25maWd1cmFibGVcIixcbiAgICBDb25zdWx0YW50ID0gXCJjb25zdWx0YW50XCIsXG4gICAgQ29weSA9IFwiY29weVwiLFxuICAgIENyb3NzaGFpcjEgPSBcImNyb3NzaGFpcl8xXCIsXG4gICAgQ3Jvc3NTa2lubnkgPSBcIkNyb3NzU2tpbm55XCIsXG4gICAgRGFzaGJvYXJkID0gXCJkYXNoYm9hcmRcIixcbiAgICBEZWxpdmVyeU1ldGhvZCA9IFwiZGVsaXZlcnlfbWV0aG9kXCIsXG4gICAgRGVsaXZlcnlTdGF0dXNVbmNoZWNrID0gXCJkZWxpdmVyeV9zdGF0dXNfdW5jaGVja1wiLFxuICAgIERlbGl2ZXJ5VHJ1Y2sgPSBcImRlbGl2ZXJ5X3RydWNrXCIsXG4gICAgRGV0YWlsUmVjb3JkID0gXCJkZXRhaWxfcmVjb3JkXCIsXG4gICAgRGV0YWlsVmlldyA9IFwiZGV0YWlsX3ZpZXdcIixcbiAgICBEaWN0aW9uYXJ5ID0gXCJkaWN0aW9uYXJ5XCIsXG4gICAgRG9jdW1lbnRzID0gXCJkb2N1bWVudHNcIixcbiAgICBEb2N1bWVudFdyZW5jaCA9IFwiZG9jdW1lbnRXcmVuY2hcIixcbiAgICBEb2xsYXIgPSBcImRvbGxhclwiLFxuICAgIERvd25sb2FkID0gXCJkb3dubG9hZFwiLFxuICAgIERyb3Bkb3duID0gXCJkcm9wZG93blwiLFxuICAgIERyb3B6b25lID0gXCJkcm9wem9uZVwiLFxuICAgIEVkaXRQZW5jaWwgPSBcImVkaXRfcGVuY2lsXCIsXG4gICAgRWRpdFBlbmNpbENpcmNsZSA9IFwiZWRpdF9wZW5jaWxfY2lyY2xlXCIsXG4gICAgRWRpdFBlbmNpbFJvdW5kID0gXCJlZGl0X3BlbmNpbF9yb3VuZFwiLFxuICAgIEVkaXRQZW5jaWxTaW1wbGUgPSBcImVkaXRfcGVuY2lsX3NpbXBsZVwiLFxuICAgIEVtYWlsID0gXCJlbWFpbFwiLFxuICAgIEVtYWlsUm91bmRPcGVuID0gXCJlbWFpbF9yb3VuZF9vcGVuXCIsXG4gICAgRW1wbG95ZWUgPSBcImVtcGxveWVlXCIsXG4gICAgRW1wbG95ZWVUd28gPSBcImVtcGxveWVlX3R3b1wiLFxuICAgIEVtcGxveWVyID0gXCJlbXBsb3llclwiLFxuICAgIEVtcGxveW1lbnQgPSBcImVtcGxveW1lbnRcIixcbiAgICBFbXBsb3ltZW50RW5kID0gXCJlbXBsb3ltZW50X2VuZFwiLFxuICAgIEVxdWFsID0gXCJlcXVhbFwiLFxuICAgIEV1cm8gPSBcImV1cm9cIixcbiAgICBFeGNsYW1hdGlvbiA9IFwiZXhjbGFtYXRpb25cIixcbiAgICBFeGNsYW1hdGlvblJvdW5kT3BlbiA9IFwiZXhjbGFtYXRpb25fcm91bmRfb3BlblwiLFxuICAgIEV5ZUNpcmNsZSA9IFwiZXllX2NpcmNsZVwiLFxuICAgIEV5ZUNpcmNsZUxhcmdlID0gXCJleWVfY2lyY2xlX2xhcmdlXCIsXG4gICAgRXllUm91bmRGaWxsZWQgPSBcImV5ZV9yb3VuZF9maWxsZWRcIixcbiAgICBGYWN0b3J5ID0gXCJmYWN0b3J5XCIsXG4gICAgRmFzdHRyYWNrID0gXCJmYXN0dHJhY2tcIixcbiAgICBGaWx0ZXIgPSBcImZpbHRlclwiLFxuICAgIEZpbmlzaCA9IFwiZmluaXNoXCIsXG4gICAgRml4ZWRPcHRpb25WYWx1ZVRyZWUgPSBcImZpeGVkX29wdGlvbl92YWx1ZV90cmVlXCIsXG4gICAgRml4ZWRUcmVlT3B0aW9uVmFsdWUgPSBcImZpeGVkX3RyZWVfb3B0aW9uX3ZhbHVlXCIsXG4gICAgRmxvcHB5RGlza1NvbGlkID0gXCJmbG9wcHlfZGlza19zb2xpZFwiLFxuICAgIEZvbGRlckFycm93ID0gXCJGb2xkZXJBcnJvd1wiLFxuICAgIEZvbGRlckFycm93SW4gPSBcImZvbGRlcl9hcnJvd19pblwiLFxuICAgIEZvcm11bGEgPSBcImZvcm11bGFcIixcbiAgICBGdWxsc2NyZWVuID0gXCJmdWxsc2NyZWVuXCIsXG4gICAgR2VhckRvdWJsZSA9IFwiZ2Vhcl9kb3VibGVcIixcbiAgICBHbG9iYWxTZWFyY2ggPSBcImdsb2JhbF9zZWFyY2hcIixcbiAgICBHbG9iZSA9IFwiZ2xvYmVcIixcbiAgICBHcmVhdGVyVGhhbiA9IFwiZ3JlYXRlcl90aGFuXCIsXG4gICAgR3JvdXBieSA9IFwiZ3JvdXBieVwiLFxuICAgIEhhbWJ1cmdlciA9IFwiaGFtYnVyZ2VyXCIsXG4gICAgSGFuZFBvaW50ZXIgPSBcImhhbmRfcG9pbnRlclwiLFxuICAgIEhiYXJjaGFydCA9IFwiaGJhcmNoYXJ0XCIsXG4gICAgSG9tZSA9IFwiSG9tZVwiLFxuICAgIEhvbWVDaXJjbGUgPSBcImhvbWVfY2lyY2xlXCIsXG4gICAgSG9tZU9wZW4gPSBcImhvbWVfb3BlblwiLFxuICAgIEhvbWVSb3VuZE9wZW4gPSBcImhvbWVfcm91bmRfb3BlblwiLFxuICAgIEhvdXJnbGFzcyA9IFwiaG91cmdsYXNzXCIsXG4gICAgSWNvbjNkID0gXCJpY29uXzNkXCIsXG4gICAgSWQgPSBcImlkXCIsXG4gICAgSW1hZ2UgPSBcImltYWdlXCIsXG4gICAgSW5jb21pbmdTdG9yYWdlID0gXCJpbmNvbWluZ19zdG9yYWdlXCIsXG4gICAgSW5mb3JtYXRpb24gPSBcImluZm9ybWF0aW9uXCIsXG4gICAgSW5mb3JtYXRpb25Sb3VuZE9wZW4gPSBcImluZm9ybWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBJbnB1dE11bHRpcGxlY2hvaWNlID0gXCJpbnB1dF9tdWx0aXBsZWNob2ljZVwiLFxuICAgIElucHV0VGV4dCA9IFwiaW5wdXRfdGV4dFwiLFxuICAgIElucHV0VGV4dGFyZWEgPSBcImlucHV0X3RleHRhcmVhXCIsXG4gICAgSW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcbiAgICBJbnZvaWNlID0gXCJpbnZvaWNlXCIsXG4gICAgSW9uZUxvZ28gPSBcImlvbmVfbG9nb1wiLFxuICAgIElvbmVMb2dvRmF0ID0gXCJpb25lX2xvZ29fZmF0XCIsXG4gICAgSW9uZVN0YXR1c05leHQgPSBcImlvbmVfc3RhdHVzX25leHRcIixcbiAgICBJb25lV29ya2Zsb3cgPSBcImlvbmVfd29ya2Zsb3dcIixcbiAgICBLZXlib2FyZCA9IFwia2V5Ym9hcmRcIixcbiAgICBLZXljaGFpbiA9IFwia2V5Y2hhaW5cIixcbiAgICBMYWJlbCA9IFwibGFiZWxcIixcbiAgICBMYWJlbFJvdW5kT3BlbiA9IFwibGFiZWxfcm91bmRfb3BlblwiLFxuICAgIExhbmRtYXJrRmxhZyA9IFwibGFuZG1hcmtfZmxhZ1wiLFxuICAgIExpYnJhcnkgPSBcImxpYnJhcnlcIixcbiAgICBMaW5lY2hhcnQgPSBcImxpbmVjaGFydFwiLFxuICAgIExpbmtlZFByb2R1Y3RzID0gXCJsaW5rZWRfcHJvZHVjdHNcIixcbiAgICBMaW5rQ2lyY2xlID0gXCJsaW5rX2NpcmNsZVwiLFxuICAgIExpc3RWaWV3ID0gXCJsaXN0X3ZpZXdcIixcbiAgICBMb2NhdGlvbiA9IFwibG9jYXRpb25cIixcbiAgICBMb2NrID0gXCJsb2NrXCIsXG4gICAgTG9ja1JvdW5kT3BlbiA9IFwibG9ja19yb3VuZF9vcGVuXCIsXG4gICAgTG9nbyA9IFwibG9nb1wiLFxuICAgIExvZ291dCA9IFwibG9nb3V0XCIsXG4gICAgTWFnaWNXYW5kID0gXCJtYWdpY193YW5kXCIsXG4gICAgTWFnbmlmaWVyID0gXCJtYWduaWZpZXJcIixcbiAgICBNYW5hZ2VyID0gXCJtYW5hZ2VyXCIsXG4gICAgTWFzayA9IFwibWFza1wiLFxuICAgIE1hc3RlckRldGFpbCA9IFwibWFzdGVyX2RldGFpbFwiLFxuICAgIE1hdGVyaWFsQ2lyY2xlTGFyZ2UgPSBcIm1hdGVyaWFsX2NpcmNsZV9sYXJnZVwiLFxuICAgIE1lZGFsQnJvbnplID0gXCJtZWRhbF9icm9uemVcIixcbiAgICBNZWRhbEdvbGQgPSBcIm1lZGFsX2dvbGRcIixcbiAgICBNZWRhbFNpbHZlciA9IFwibWVkYWxfc2lsdmVyXCIsXG4gICAgTWVkaWNhbE9mZmljZXIgPSBcIm1lZGljYWxfb2ZmaWNlclwiLFxuICAgIE1pY3JvcGhvbmUgPSBcIm1pY3JvcGhvbmVcIixcbiAgICBNaW51c1JvdW5kT3BlbiA9IFwibWludXNfcm91bmRfb3BlblwiLFxuICAgIE1pbnVzU2ltcGxlID0gXCJtaW51c19zaW1wbGVcIixcbiAgICBNb2JpbGUgPSBcIm1vYmlsZVwiLFxuICAgIE11bHRpU2VsZWN0Q2hlY2sgPSBcIm11bHRpX3NlbGVjdF9jaGVja1wiLFxuICAgIE5ld1Rhc2sgPSBcIm5ld190YXNrXCIsXG4gICAgTm90ZSA9IFwibm90ZVwiLFxuICAgIE5vdGVCb3JkZXJlZCA9IFwibm90ZV9ib3JkZXJlZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgTm90RXF1YWwgPSBcIm5vdF9lcXVhbFwiLFxuICAgIE9wdGlvbiA9IFwib3B0aW9uXCIsXG4gICAgT3B0aW9uc2V0ID0gXCJvcHRpb25zZXRcIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBPcmRlcnBpY2tpbmcgPSBcIm9yZGVycGlja2luZ1wiLFxuICAgIE91dGdvaW5nU3RvcmFnZSA9IFwib3V0Z29pbmdfc3RvcmFnZVwiLFxuICAgIE92ZXJCb29raW5nID0gXCJvdmVyX2Jvb2tpbmdcIixcbiAgICBQYXVzZUNpcmNsZSA9IFwicGF1c2VfY2lyY2xlXCIsXG4gICAgUGVuY2lsUm91bmRPcGVuID0gXCJwZW5jaWxfcm91bmRfb3BlblwiLFxuICAgIFBlblRvU3F1YXJlU29saWQgPSBcInBlbl90b19zcXVhcmVfc29saWRcIixcbiAgICBQaG9uZSA9IFwicGhvbmVcIixcbiAgICBQaG9uZVJvdW5kT3BlbiA9IFwicGhvbmVfcm91bmRfb3BlblwiLFxuICAgIFBpZWNoYXJ0ID0gXCJwaWVjaGFydFwiLFxuICAgIFBpbiA9IFwicGluXCIsXG4gICAgUGluUm91bmRPcGVuID0gXCJwaW5fcm91bmRfb3BlblwiLFxuICAgIFBsYXlDaXJjbGUgPSBcInBsYXlfY2lyY2xlXCIsXG4gICAgUGx1c1JvdW5kID0gXCJwbHVzX3JvdW5kXCIsXG4gICAgUGx1c1JvdW5kT3BlbiA9IFwicGx1c19yb3VuZF9vcGVuXCIsXG4gICAgUGx1c1NpbXBsZSA9IFwicGx1c19zaW1wbGVcIixcbiAgICBQbHVzU2tpbm55ID0gXCJwbHVzX3NraW5ueVwiLFxuICAgIFBsdXNTb2xpZCA9IFwicGx1c19zb2xpZFwiLFxuICAgIFBsdXNTdGFycyA9IFwicGx1c19zdGFyc1wiLFxuICAgIFBvaW50ZXIgPSBcInBvaW50ZXJcIixcbiAgICBQb2ludGVyM2QgPSBcInBvaW50ZXJfM2RcIixcbiAgICBQb2ludGVyRmlsbGVkID0gXCJwb2ludGVyX2ZpbGxlZFwiLFxuICAgIFBPUyA9IFwiUE9TXCIsXG4gICAgUG9zaXRpb25pbmcgPSBcInBvc2l0aW9uaW5nXCIsXG4gICAgUHJlZ25hbmN5ID0gXCJwcmVnbmFuY3lcIixcbiAgICBQcmVzZXQgPSBcInByZXNldFwiLFxuICAgIFByaW50ID0gXCJwcmludFwiLFxuICAgIFByb2R1Y3RQcm9wZXJ0aWVzID0gXCJwcm9kdWN0X3Byb3BlcnRpZXNcIixcbiAgICBQdXJjaGFzZSA9IFwicHVyY2hhc2VcIixcbiAgICBRcmNvZGUgPSBcInFyY29kZVwiLFxuICAgIFF1ZXN0aW9uID0gXCJxdWVzdGlvblwiLFxuICAgIFJhZGlvVW5jaGVjayA9IFwicmFkaW9fdW5jaGVja1wiLFxuICAgIFJhbmdlID0gXCJyYW5nZVwiLFxuICAgIFJhbmdlU2VsZWN0ID0gXCJyYW5nZV9zZWxlY3RcIixcbiAgICBSZWN0YW5nbGVzID0gXCJyZWN0YW5nbGVzXCIsXG4gICAgUmVmcmVzaCA9IFwicmVmcmVzaFwiLFxuICAgIFJlZ3VsYXJCb3hlc1BhY2tpbmdDaXJjbGVDaGVjayA9IFwicmVndWxhcl9ib3hlc19wYWNraW5nX2NpcmNsZV9jaGVja1wiLFxuICAgIFJlbGF0aW9ucyA9IFwicmVsYXRpb25zXCIsXG4gICAgUmVtYXJrID0gXCJyZW1hcmtcIixcbiAgICBSZW1hcmtSb3VuZE9wZW4gPSBcInJlbWFya19yb3VuZF9vcGVuXCIsXG4gICAgUmVwb3J0SW5UeXBlID0gXCJyZXBvcnRfaW5fdHlwZVwiLFxuICAgIFJlc2l6ZSA9IFwicmVzaXplXCIsXG4gICAgUmVzaXplRG93biA9IFwicmVzaXplX2Rvd25cIixcbiAgICBSZXNpemVVcCA9IFwicmVzaXplX3VwXCIsXG4gICAgUmV0dXJucyA9IFwicmV0dXJuc1wiLFxuICAgIFJldHVybkdvb2RzID0gXCJyZXR1cm5fZ29vZHNcIixcbiAgICBSb3RhdGVMZWZ0U29saWQgPSBcInJvdGF0ZV9sZWZ0X3NvbGlkXCIsXG4gICAgU2F2ZURpc2sgPSBcInNhdmVfZGlza1wiLFxuICAgIFNhdmVTa2lubnkgPSBcInNhdmVfc2tpbm55XCIsXG4gICAgU2NhbGVCYWxhbmNlZCA9IFwic2NhbGVfYmFsYW5jZWRcIixcbiAgICBTY2FubmVyID0gXCJzY2FubmVyXCIsXG4gICAgU2VhcmNoUm91bmRPcGVuID0gXCJzZWFyY2hfcm91bmRfb3BlblwiLFxuICAgIFNlY3Rpb25zID0gXCJzZWN0aW9uc1wiLFxuICAgIFNlbGVjdEFsbFJvdW5kID0gXCJzZWxlY3RfYWxsX3JvdW5kXCIsXG4gICAgU2VydmljZXMgPSBcInNlcnZpY2VzXCIsXG4gICAgU2V0dGluZ3MgPSBcInNldHRpbmdzXCIsXG4gICAgU2hvcCA9IFwiU2hvcFwiLFxuICAgIFNob3BwaW5nQ2FydCA9IFwic2hvcHBpbmdfY2FydFwiLFxuICAgIFNob3BwaW5nQ2FydE5yID0gXCJzaG9wcGluZ19jYXJ0X25yXCIsXG4gICAgU2hvcnRjdXQgPSBcInNob3J0Y3V0XCIsXG4gICAgU2luZ2xlUGVyc29uID0gXCJTaW5nbGVQZXJzb25cIixcbiAgICBTa2lsbHMgPSBcInNraWxsc1wiLFxuICAgIFNsaWRlclBhbmVsID0gXCJzbGlkZXJfcGFuZWxcIixcbiAgICBTbGlkZUluID0gXCJzbGlkZV9pblwiLFxuICAgIFNtYWxsZXJUaGFuID0gXCJzbWFsbGVyX3RoYW5cIixcbiAgICBTbWFsbFRpbGVzID0gXCJzbWFsbF90aWxlc1wiLFxuICAgIFNvcnRBc2MgPSBcInNvcnRfYXNjXCIsXG4gICAgU29ydERlc2MgPSBcInNvcnRfZGVzY1wiLFxuICAgIFN0YXIgPSBcIlN0YXJcIixcbiAgICBTdGFyUm91bmRPcGVuID0gXCJzdGFyX3JvdW5kX29wZW5cIixcbiAgICBTdGF0dXNBY3RpdmUgPSBcInN0YXR1c19hY3RpdmVcIixcbiAgICBTdGF0dXNBZG9wdGlvbiA9IFwic3RhdHVzX2Fkb3B0aW9uXCIsXG4gICAgU3RhdHVzRm9zdGVyY2FyZSA9IFwic3RhdHVzX2Zvc3RlcmNhcmVcIixcbiAgICBTdGF0dXNJbGwgPSBcInN0YXR1c19pbGxcIixcbiAgICBTdGF0dXNMZWF2ZSA9IFwic3RhdHVzX2xlYXZlXCIsXG4gICAgU3RhdHVzUHJlZ25hbmN5ID0gXCJzdGF0dXNfcHJlZ25hbmN5XCIsXG4gICAgU3RvY2sgPSBcInN0b2NrXCIsXG4gICAgU3RvY2tNYW5hZ2VtZW50ID0gXCJzdG9ja19tYW5hZ2VtZW50XCIsXG4gICAgU3RvcmFnZSA9IFwic3RvcmFnZVwiLFxuICAgIFN1cGVydmlzb3IgPSBcInN1cGVydmlzb3JcIixcbiAgICBTdXBwbGllciA9IFwic3VwcGxpZXJcIixcbiAgICBTdXJnZXJ5ID0gXCJzdXJnZXJ5XCIsXG4gICAgVGFibGVjaGFydCA9IFwidGFibGVjaGFydFwiLFxuICAgIFRhZyA9IFwidGFnXCIsXG4gICAgVGFsa1Rvb011Y2ggPSBcInRhbGtfdG9vX211Y2hcIixcbiAgICBUYXJnZXQgPSBcInRhcmdldFwiLFxuICAgIFRhc2sgPSBcInRhc2tcIixcbiAgICBUaGlja0xpbmVzID0gXCJ0aGlja19saW5lc1wiLFxuICAgIFRoaW5MaW5lcyA9IFwidGhpbl9saW5lc1wiLFxuICAgIFRocmVlU2l4dHlWaWV3ID0gXCJ0aHJlZV9zaXh0eV92aWV3XCIsXG4gICAgVGh1bWJCcm9uemUgPSBcInRodW1iX2Jyb256ZVwiLFxuICAgIFRodW1iR29sZCA9IFwidGh1bWJfZ29sZFwiLFxuICAgIFRodW1iU2lsdmVyID0gXCJ0aHVtYl9zaWx2ZXJcIixcbiAgICBUaW1lbGluZSA9IFwidGltZWxpbmVcIixcbiAgICBUcmFuc2FjdGlvbnMgPSBcInRyYW5zYWN0aW9uc1wiLFxuICAgIFRyYW5zYWN0aW9uRGV0YWlsID0gXCJ0cmFuc2FjdGlvbl9kZXRhaWxcIixcbiAgICBUcmFzaEJpbiA9IFwiVHJhc2hCaW5cIixcbiAgICBUcmFzaENhblNvbGlkID0gXCJ0cmFzaF9jYW5fc29saWRcIixcbiAgICBUcmlhbmdsZURvd24gPSBcInRyaWFuZ2xlX2Rvd25cIixcbiAgICBUcmlhbmdsZUxhcmdlID0gXCJ0cmlhbmdsZV9sYXJnZVwiLFxuICAgIFRyaWFuZ2xlTGVmdCA9IFwidHJpYW5nbGVfbGVmdFwiLFxuICAgIFRyaWFuZ2xlUmlnaHQgPSBcInRyaWFuZ2xlX3JpZ2h0XCIsXG4gICAgVHJpYW5nbGVVcCA9IFwidHJpYW5nbGVfdXBcIixcbiAgICBUcnVjayA9IFwidHJ1Y2tcIixcbiAgICBUcnVja0NhbGVuZGFyID0gXCJ0cnVja19jYWxlbmRhclwiLFxuICAgIFVuZG9Sb3VuZE9wZW4gPSBcInVuZG9fcm91bmRfb3BlblwiLFxuICAgIFVzZXIgPSBcInVzZXJcIixcbiAgICBWYXJpYW50cyA9IFwidmFyaWFudHNcIixcbiAgICBWYmFyY2hhcnQgPSBcInZiYXJjaGFydFwiLFxuICAgIFZpZXcgPSBcInZpZXdcIixcbiAgICBXYXJlaG91c2UgPSBcIndhcmVob3VzZVwiLFxuICAgIFdhdGVybWFyayA9IFwid2F0ZXJtYXJrXCIsXG4gICAgV2Vic2l0ZSA9IFwid2Vic2l0ZVwiLFxuICAgIFdpemFyZCA9IFwid2l6YXJkXCIsXG4gICAgV21zID0gXCJ3bXNcIixcbiAgICBXb3JrSW5Qcm9ncmVzcyA9IFwid29ya19pbl9wcm9ncmVzc1wiLFxuICAgIFdvcmtJblByb2dyZXNzUm91bmRPcGVuID0gXCJ3b3JrX2luX3Byb2dyZXNzX3JvdW5kX29wZW5cIixcbiAgICBXcmVuY2ggPSBcIndyZW5jaFwiLFxuICAgIFhBeGlzID0gXCJ4X2F4aXNcIixcbiAgICBZQXhpcyA9IFwieV9heGlzXCJcbn1cbiJdfQ==
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21wb25lbnRzLWljb24uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0dBQWdHO0FBRWhHLE1BQU0sQ0FBTixJQUFZLGtCQTRTWDtBQTVTRCxXQUFZLGtCQUFrQjtJQUMxQix5Q0FBbUIsQ0FBQTtJQUNuQiw2REFBdUMsQ0FBQTtJQUN2QywrQ0FBeUIsQ0FBQTtJQUN6Qix3REFBa0MsQ0FBQTtJQUNsQyw4Q0FBd0IsQ0FBQTtJQUN4QixxREFBK0IsQ0FBQTtJQUMvQix1REFBaUMsQ0FBQTtJQUNqQyw4Q0FBd0IsQ0FBQTtJQUN4QixrRUFBNEMsQ0FBQTtJQUM1Qyx5REFBbUMsQ0FBQTtJQUNuQyx5REFBbUMsQ0FBQTtJQUNuQywyREFBcUMsQ0FBQTtJQUNyQyxxREFBK0IsQ0FBQTtJQUMvQixvRUFBOEMsQ0FBQTtJQUM5QywyREFBcUMsQ0FBQTtJQUNyQywyREFBcUMsQ0FBQTtJQUNyQyw2REFBdUMsQ0FBQTtJQUN2Qyx1REFBaUMsQ0FBQTtJQUNqQywwQ0FBb0IsQ0FBQTtJQUNwQiw4REFBd0MsQ0FBQTtJQUN4Qyx5Q0FBbUIsQ0FBQTtJQUNuQiwyREFBcUMsQ0FBQTtJQUNyQyxzREFBZ0MsQ0FBQTtJQUNoQyxpREFBMkIsQ0FBQTtJQUMzQiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQix3Q0FBa0IsQ0FBQTtJQUNsQixxQ0FBZSxDQUFBO0lBQ2YsbUVBQTZDLENBQUE7SUFDN0MscUNBQWUsQ0FBQTtJQUNmLHlEQUFtQyxDQUFBO0lBQ25DLDBEQUFvQyxDQUFBO0lBQ3BDLHFEQUErQixDQUFBO0lBQy9CLDJDQUFxQixDQUFBO0lBQ3JCLGtEQUE0QixDQUFBO0lBQzVCLGlFQUEyQyxDQUFBO0lBQzND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QixDQUFBO0lBQ3ZCLDZDQUF1QixDQUFBO0lBQ3ZCLHlDQUFtQixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLGlDQUFXLENBQUE7SUFDWCx5REFBbUMsQ0FBQTtJQUNuQyw2RUFBdUQsQ0FBQTtJQUN2RCx1Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZ0IsQ0FBQTtJQUNoQixzQ0FBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBNVNXLGtCQUFrQixLQUFsQixrQkFBa0IsUUE0UzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFVVE8gR0VORVJBVEVEIEZJTEUuIERPIE5PVCBDSEFOR0UuLiBPUiBZT1UgV0lMTCBTVUZGRVIgVEhFIENPTlNFUVVFTkNFUyBPRiBZT1VSIEFDVElPTlMgKiovXG5cbmV4cG9ydCBlbnVtIENvcmVDb21wb25lbnRzSWNvbiB7XG4gICAgQWNjb3VudCA9IFwiYWNjb3VudFwiLFxuICAgIEFjY291bnRSb3VuZE9wZW4gPSBcImFjY291bnRfcm91bmRfb3BlblwiLFxuICAgIEFjdGl2aXRpZXMgPSBcImFjdGl2aXRpZXNcIixcbiAgICBBZGRUb0NhcnREcm9wID0gXCJhZGRfdG9fY2FydF9kcm9wXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dGYXRMZWZ0ID0gXCJhcnJvd19mYXRfbGVmdFwiLFxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxuICAgIEFycm93TGVmdCA9IFwiYXJyb3dfbGVmdFwiLFxuICAgIEFycm93TGVmdFJvdW5kT3BlbiA9IFwiYXJyb3dfbGVmdF9yb3VuZF9vcGVuXCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXJyb3dSaWdodFJvdW5kT3BlbiA9IFwiYXJyb3dfcmlnaHRfcm91bmRfb3BlblwiLFxuICAgIEFycm93U2Nyb2xsRG93biA9IFwiYXJyb3dfc2Nyb2xsX2Rvd25cIixcbiAgICBBcnJvd1Njcm9sbExlZnQgPSBcImFycm93X3Njcm9sbF9sZWZ0XCIsXG4gICAgQXJyb3dTY3JvbGxSaWdodCA9IFwiYXJyb3dfc2Nyb2xsX3JpZ2h0XCIsXG4gICAgQXJyb3dTY3JvbGxVcCA9IFwiYXJyb3dfc2Nyb2xsX3VwXCIsXG4gICAgQXJyb3dVcCA9IFwiYXJyb3dfdXBcIixcbiAgICBBcnJvd1VwQXJyb3dEb3duID0gXCJhcnJvd191cF9hcnJvd19kb3duXCIsXG4gICAgQXJ0aWNsZSA9IFwiYXJ0aWNsZVwiLFxuICAgIEFydGljbGVXaXRoRm9sZCA9IFwiYXJ0aWNsZV93aXRoX2ZvbGRcIixcbiAgICBBc3Rlcmlza1NtYWxsID0gXCJhc3Rlcmlza19zbWFsbFwiLFxuICAgIEF0dGFjaG1lbnRzID0gXCJhdHRhY2htZW50c1wiLFxuICAgIEJhY2tUb1RvcCA9IFwiYmFja190b190b3BcIixcbiAgICBCYXJjb2RlID0gXCJCYXJjb2RlXCIsXG4gICAgQmlnTWFjID0gXCJiaWdfbWFjXCIsXG4gICAgQm94ZXMgPSBcImJveGVzXCIsXG4gICAgQm94ZXNQYWNraW5nUmVndWxhciA9IFwiYm94ZXNfcGFja2luZ19yZWd1bGFyXCIsXG4gICAgQnJ1c2ggPSBcImJydXNoXCIsXG4gICAgQnJ1c2hSb3VuZE9wZW4gPSBcImJydXNoX3JvdW5kX29wZW5cIixcbiAgICBCdWlsZGluZ0NvbHVtbnMgPSBcImJ1aWxkaW5nX2NvbHVtbnNcIixcbiAgICBCdXNpbmVzc3J1bGVzID0gXCJidXNpbmVzc3J1bGVzXCIsXG4gICAgQ2FsZW5kYXIgPSBcImNhbGVuZGFyXCIsXG4gICAgQ2FsZW5kYXJEYXkgPSBcImNhbGVuZGFyX2RheVwiLFxuICAgIENhbGVuZGFyRGF5UmVndWxhciA9IFwiY2FsZW5kYXJfZGF5X3JlZ3VsYXJcIixcbiAgICBDYWxlbmRhckVtcHR5ID0gXCJjYWxlbmRhcl9lbXB0eVwiLFxuICAgIENhbGVuZGFyUmFuZ2UgPSBcImNhbGVuZGFyX3JhbmdlXCIsXG4gICAgQ2FsZW5kYXJSb3VuZE9wZW4gPSBcImNhbGVuZGFyX3JvdW5kX29wZW5cIixcbiAgICBDYW1lcmEgPSBcImNhbWVyYVwiLFxuICAgIENhbmNlbCA9IFwiY2FuY2VsXCIsXG4gICAgQ2FuY2VsUm91bmRGaWxsZWQgPSBcImNhbmNlbF9yb3VuZF9maWxsZWRcIixcbiAgICBDYW5jZWxSb3VuZE9wZW4gPSBcImNhbmNlbF9yb3VuZF9vcGVuXCIsXG4gICAgQ2FydCA9IFwiY2FydFwiLFxuICAgIENhcnRPcGVuID0gXCJjYXJ0X29wZW5cIixcbiAgICBDYXNlTWFuYWdlciA9IFwiY2FzZV9tYW5hZ2VyXCIsXG4gICAgQ2FzaFJlZ2lzdGVyID0gXCJDYXNoUmVnaXN0ZXJcIixcbiAgICBDYXNoUmVnaXN0ZXJTaW1wbGUgPSBcImNhc2hfcmVnaXN0ZXJfc2ltcGxlXCIsXG4gICAgQ2hhbmdlTG9jYXRpb24gPSBcImNoYW5nZV9sb2NhdGlvblwiLFxuICAgIENoZWNrID0gXCJjaGVja1wiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tSb3VuZE9wZW4gPSBcImNoZWNrX3JvdW5kX29wZW5cIixcbiAgICBDaGVja1NpbXBsZSA9IFwiY2hlY2tfc2ltcGxlXCIsXG4gICAgQ2hlY2tUaGluID0gXCJjaGVja190aGluXCIsXG4gICAgQ2hldnJvbkRvd25SZWd1bGFyID0gXCJjaGV2cm9uX2Rvd25fcmVndWxhclwiLFxuICAgIENoZXZyb25VcFJlZ3VsYXIgPSBcImNoZXZyb25fdXBfcmVndWxhclwiLFxuICAgIENpcmNsZVBsdXNTa2lubnkgPSBcIkNpcmNsZVBsdXNTa2lubnlcIixcbiAgICBDbGllbnQgPSBcImNsaWVudFwiLFxuICAgIENsb2NrID0gXCJjbG9ja1wiLFxuICAgIENsb2NrQXJyb3cgPSBcImNsb2NrQXJyb3dcIixcbiAgICBDb2dXaGVlbFBsdXMgPSBcImNvZ1doZWVsUGx1c1wiLFxuICAgIENvZ1doZWVscyA9IFwiY29nV2hlZWxzXCIsXG4gICAgQ29sdW1uT3B0aW9ucyA9IFwiY29sdW1uX29wdGlvbnNcIixcbiAgICBDb21wYW55ID0gXCJjb21wYW55XCIsXG4gICAgQ29tcGFueUZsYXQgPSBcImNvbXBhbnlfZmxhdFwiLFxuICAgIENvbmZpZ3VyYWJsZSA9IFwiY29uZmlndXJhYmxlXCIsXG4gICAgQ29uc3VsdGFudCA9IFwiY29uc3VsdGFudFwiLFxuICAgIENvcHkgPSBcImNvcHlcIixcbiAgICBDcm9zc2hhaXIxID0gXCJjcm9zc2hhaXJfMVwiLFxuICAgIENyb3NzU2tpbm55ID0gXCJDcm9zc1NraW5ueVwiLFxuICAgIERhc2hib2FyZCA9IFwiZGFzaGJvYXJkXCIsXG4gICAgRGVsaXZlcnlNZXRob2QgPSBcImRlbGl2ZXJ5X21ldGhvZFwiLFxuICAgIERlbGl2ZXJ5U3RhdHVzVW5jaGVjayA9IFwiZGVsaXZlcnlfc3RhdHVzX3VuY2hlY2tcIixcbiAgICBEZWxpdmVyeVRydWNrID0gXCJkZWxpdmVyeV90cnVja1wiLFxuICAgIERldGFpbFJlY29yZCA9IFwiZGV0YWlsX3JlY29yZFwiLFxuICAgIERldGFpbFZpZXcgPSBcImRldGFpbF92aWV3XCIsXG4gICAgRGljdGlvbmFyeSA9IFwiZGljdGlvbmFyeVwiLFxuICAgIERvY3VtZW50cyA9IFwiZG9jdW1lbnRzXCIsXG4gICAgRG9jdW1lbnRXcmVuY2ggPSBcImRvY3VtZW50V3JlbmNoXCIsXG4gICAgRG9sbGFyID0gXCJkb2xsYXJcIixcbiAgICBEb3dubG9hZCA9IFwiZG93bmxvYWRcIixcbiAgICBEcm9wZG93biA9IFwiZHJvcGRvd25cIixcbiAgICBEcm9wem9uZSA9IFwiZHJvcHpvbmVcIixcbiAgICBFZGl0UGVuY2lsID0gXCJlZGl0X3BlbmNpbFwiLFxuICAgIEVkaXRQZW5jaWxDaXJjbGUgPSBcImVkaXRfcGVuY2lsX2NpcmNsZVwiLFxuICAgIEVkaXRQZW5jaWxSb3VuZCA9IFwiZWRpdF9wZW5jaWxfcm91bmRcIixcbiAgICBFZGl0UGVuY2lsU2ltcGxlID0gXCJlZGl0X3BlbmNpbF9zaW1wbGVcIixcbiAgICBFbWFpbCA9IFwiZW1haWxcIixcbiAgICBFbWFpbFJvdW5kT3BlbiA9IFwiZW1haWxfcm91bmRfb3BlblwiLFxuICAgIEVtcGxveWVlID0gXCJlbXBsb3llZVwiLFxuICAgIEVtcGxveWVlVHdvID0gXCJlbXBsb3llZV90d29cIixcbiAgICBFbXBsb3llciA9IFwiZW1wbG95ZXJcIixcbiAgICBFbXBsb3ltZW50ID0gXCJlbXBsb3ltZW50XCIsXG4gICAgRW1wbG95bWVudEVuZCA9IFwiZW1wbG95bWVudF9lbmRcIixcbiAgICBFcXVhbCA9IFwiZXF1YWxcIixcbiAgICBFdXJvID0gXCJldXJvXCIsXG4gICAgRXhjbGFtYXRpb24gPSBcImV4Y2xhbWF0aW9uXCIsXG4gICAgRXhjbGFtYXRpb25Sb3VuZE9wZW4gPSBcImV4Y2xhbWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBFeWVDaXJjbGUgPSBcImV5ZV9jaXJjbGVcIixcbiAgICBFeWVDaXJjbGVMYXJnZSA9IFwiZXllX2NpcmNsZV9sYXJnZVwiLFxuICAgIEV5ZVJvdW5kRmlsbGVkID0gXCJleWVfcm91bmRfZmlsbGVkXCIsXG4gICAgRmFjdG9yeSA9IFwiZmFjdG9yeVwiLFxuICAgIEZhc3R0cmFjayA9IFwiZmFzdHRyYWNrXCIsXG4gICAgRmlsdGVyID0gXCJmaWx0ZXJcIixcbiAgICBGaW5pc2ggPSBcImZpbmlzaFwiLFxuICAgIEZpeGVkT3B0aW9uVmFsdWVUcmVlID0gXCJmaXhlZF9vcHRpb25fdmFsdWVfdHJlZVwiLFxuICAgIEZpeGVkVHJlZU9wdGlvblZhbHVlID0gXCJmaXhlZF90cmVlX29wdGlvbl92YWx1ZVwiLFxuICAgIEZsb3BweURpc2tTb2xpZCA9IFwiZmxvcHB5X2Rpc2tfc29saWRcIixcbiAgICBGb2xkZXJBcnJvdyA9IFwiRm9sZGVyQXJyb3dcIixcbiAgICBGb2xkZXJBcnJvd0luID0gXCJmb2xkZXJfYXJyb3dfaW5cIixcbiAgICBGb3JtdWxhID0gXCJmb3JtdWxhXCIsXG4gICAgRnVsbHNjcmVlbiA9IFwiZnVsbHNjcmVlblwiLFxuICAgIEdlYXJEb3VibGUgPSBcImdlYXJfZG91YmxlXCIsXG4gICAgR2xvYmFsU2VhcmNoID0gXCJnbG9iYWxfc2VhcmNoXCIsXG4gICAgR2xvYmUgPSBcImdsb2JlXCIsXG4gICAgR3JlYXRlclRoYW4gPSBcImdyZWF0ZXJfdGhhblwiLFxuICAgIEdyaXBEb3RzVmVydGljYWxTb2xpZCA9IFwiZ3JpcF9kb3RzX3ZlcnRpY2FsX3NvbGlkXCIsXG4gICAgR3JvdXBieSA9IFwiZ3JvdXBieVwiLFxuICAgIEhhbWJ1cmdlciA9IFwiaGFtYnVyZ2VyXCIsXG4gICAgSGFuZFBvaW50ZXIgPSBcImhhbmRfcG9pbnRlclwiLFxuICAgIEhiYXJjaGFydCA9IFwiaGJhcmNoYXJ0XCIsXG4gICAgSG9tZSA9IFwiSG9tZVwiLFxuICAgIEhvbWVDaXJjbGUgPSBcImhvbWVfY2lyY2xlXCIsXG4gICAgSG9tZU9wZW4gPSBcImhvbWVfb3BlblwiLFxuICAgIEhvbWVSb3VuZE9wZW4gPSBcImhvbWVfcm91bmRfb3BlblwiLFxuICAgIEhvdXJnbGFzcyA9IFwiaG91cmdsYXNzXCIsXG4gICAgSWNvbjNkID0gXCJpY29uXzNkXCIsXG4gICAgSWQgPSBcImlkXCIsXG4gICAgSW1hZ2UgPSBcImltYWdlXCIsXG4gICAgSW5jb21pbmdTdG9yYWdlID0gXCJpbmNvbWluZ19zdG9yYWdlXCIsXG4gICAgSW5mb3JtYXRpb24gPSBcImluZm9ybWF0aW9uXCIsXG4gICAgSW5mb3JtYXRpb25Sb3VuZE9wZW4gPSBcImluZm9ybWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBJbnB1dE11bHRpcGxlY2hvaWNlID0gXCJpbnB1dF9tdWx0aXBsZWNob2ljZVwiLFxuICAgIElucHV0VGV4dCA9IFwiaW5wdXRfdGV4dFwiLFxuICAgIElucHV0VGV4dGFyZWEgPSBcImlucHV0X3RleHRhcmVhXCIsXG4gICAgSW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcbiAgICBJbnZvaWNlID0gXCJpbnZvaWNlXCIsXG4gICAgSW9uZUxvZ28gPSBcImlvbmVfbG9nb1wiLFxuICAgIElvbmVMb2dvRmF0ID0gXCJpb25lX2xvZ29fZmF0XCIsXG4gICAgSW9uZVN0YXR1c05leHQgPSBcImlvbmVfc3RhdHVzX25leHRcIixcbiAgICBJb25lV29ya2Zsb3cgPSBcImlvbmVfd29ya2Zsb3dcIixcbiAgICBLZXlib2FyZCA9IFwia2V5Ym9hcmRcIixcbiAgICBLZXljaGFpbiA9IFwia2V5Y2hhaW5cIixcbiAgICBMYWJlbCA9IFwibGFiZWxcIixcbiAgICBMYWJlbFJvdW5kT3BlbiA9IFwibGFiZWxfcm91bmRfb3BlblwiLFxuICAgIExhbmRtYXJrRmxhZyA9IFwibGFuZG1hcmtfZmxhZ1wiLFxuICAgIExpYnJhcnkgPSBcImxpYnJhcnlcIixcbiAgICBMaW5lY2hhcnQgPSBcImxpbmVjaGFydFwiLFxuICAgIExpbmtlZFByb2R1Y3RzID0gXCJsaW5rZWRfcHJvZHVjdHNcIixcbiAgICBMaW5rQ2lyY2xlID0gXCJsaW5rX2NpcmNsZVwiLFxuICAgIExpc3RWaWV3ID0gXCJsaXN0X3ZpZXdcIixcbiAgICBMb2NhdGlvbiA9IFwibG9jYXRpb25cIixcbiAgICBMb2NrID0gXCJsb2NrXCIsXG4gICAgTG9ja1JvdW5kT3BlbiA9IFwibG9ja19yb3VuZF9vcGVuXCIsXG4gICAgTG9nbyA9IFwibG9nb1wiLFxuICAgIExvZ291dCA9IFwibG9nb3V0XCIsXG4gICAgTWFnaWNXYW5kID0gXCJtYWdpY193YW5kXCIsXG4gICAgTWFnbmlmaWVyID0gXCJtYWduaWZpZXJcIixcbiAgICBNYW5hZ2VyID0gXCJtYW5hZ2VyXCIsXG4gICAgTWFzayA9IFwibWFza1wiLFxuICAgIE1hc3RlckRldGFpbCA9IFwibWFzdGVyX2RldGFpbFwiLFxuICAgIE1hdGVyaWFsQ2lyY2xlTGFyZ2UgPSBcIm1hdGVyaWFsX2NpcmNsZV9sYXJnZVwiLFxuICAgIE1lZGFsQnJvbnplID0gXCJtZWRhbF9icm9uemVcIixcbiAgICBNZWRhbEdvbGQgPSBcIm1lZGFsX2dvbGRcIixcbiAgICBNZWRhbFNpbHZlciA9IFwibWVkYWxfc2lsdmVyXCIsXG4gICAgTWVkaWNhbE9mZmljZXIgPSBcIm1lZGljYWxfb2ZmaWNlclwiLFxuICAgIE1pY3JvcGhvbmUgPSBcIm1pY3JvcGhvbmVcIixcbiAgICBNaW51c1JvdW5kT3BlbiA9IFwibWludXNfcm91bmRfb3BlblwiLFxuICAgIE1pbnVzU2ltcGxlID0gXCJtaW51c19zaW1wbGVcIixcbiAgICBNb2JpbGUgPSBcIm1vYmlsZVwiLFxuICAgIE11bHRpU2VsZWN0Q2hlY2sgPSBcIm11bHRpX3NlbGVjdF9jaGVja1wiLFxuICAgIE5ld1Rhc2sgPSBcIm5ld190YXNrXCIsXG4gICAgTm90ZSA9IFwibm90ZVwiLFxuICAgIE5vdGVCb3JkZXJlZCA9IFwibm90ZV9ib3JkZXJlZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgTm90RXF1YWwgPSBcIm5vdF9lcXVhbFwiLFxuICAgIE9wdGlvbiA9IFwib3B0aW9uXCIsXG4gICAgT3B0aW9uc2V0ID0gXCJvcHRpb25zZXRcIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBPcmRlcnBpY2tpbmcgPSBcIm9yZGVycGlja2luZ1wiLFxuICAgIE91dGdvaW5nU3RvcmFnZSA9IFwib3V0Z29pbmdfc3RvcmFnZVwiLFxuICAgIE92ZXJCb29raW5nID0gXCJvdmVyX2Jvb2tpbmdcIixcbiAgICBQYXVzZUNpcmNsZSA9IFwicGF1c2VfY2lyY2xlXCIsXG4gICAgUGVuY2lsUm91bmRPcGVuID0gXCJwZW5jaWxfcm91bmRfb3BlblwiLFxuICAgIFBlblRvU3F1YXJlU29saWQgPSBcInBlbl90b19zcXVhcmVfc29saWRcIixcbiAgICBQaG9uZSA9IFwicGhvbmVcIixcbiAgICBQaG9uZVJvdW5kT3BlbiA9IFwicGhvbmVfcm91bmRfb3BlblwiLFxuICAgIFBpZWNoYXJ0ID0gXCJwaWVjaGFydFwiLFxuICAgIFBpbiA9IFwicGluXCIsXG4gICAgUGluUm91bmRPcGVuID0gXCJwaW5fcm91bmRfb3BlblwiLFxuICAgIFBsYXlDaXJjbGUgPSBcInBsYXlfY2lyY2xlXCIsXG4gICAgUGx1c1JvdW5kID0gXCJwbHVzX3JvdW5kXCIsXG4gICAgUGx1c1JvdW5kT3BlbiA9IFwicGx1c19yb3VuZF9vcGVuXCIsXG4gICAgUGx1c1NpbXBsZSA9IFwicGx1c19zaW1wbGVcIixcbiAgICBQbHVzU2tpbm55ID0gXCJwbHVzX3NraW5ueVwiLFxuICAgIFBsdXNTb2xpZCA9IFwicGx1c19zb2xpZFwiLFxuICAgIFBsdXNTdGFycyA9IFwicGx1c19zdGFyc1wiLFxuICAgIFBvaW50ZXIgPSBcInBvaW50ZXJcIixcbiAgICBQb2ludGVyM2QgPSBcInBvaW50ZXJfM2RcIixcbiAgICBQb2ludGVyRmlsbGVkID0gXCJwb2ludGVyX2ZpbGxlZFwiLFxuICAgIFBPUyA9IFwiUE9TXCIsXG4gICAgUG9zaXRpb25pbmcgPSBcInBvc2l0aW9uaW5nXCIsXG4gICAgUHJlZ25hbmN5ID0gXCJwcmVnbmFuY3lcIixcbiAgICBQcmVzZXQgPSBcInByZXNldFwiLFxuICAgIFByaW50ID0gXCJwcmludFwiLFxuICAgIFByb2R1Y3RQcm9wZXJ0aWVzID0gXCJwcm9kdWN0X3Byb3BlcnRpZXNcIixcbiAgICBQdXJjaGFzZSA9IFwicHVyY2hhc2VcIixcbiAgICBRcmNvZGUgPSBcInFyY29kZVwiLFxuICAgIFF1ZXN0aW9uID0gXCJxdWVzdGlvblwiLFxuICAgIFJhZGlvVW5jaGVjayA9IFwicmFkaW9fdW5jaGVja1wiLFxuICAgIFJhbmdlID0gXCJyYW5nZVwiLFxuICAgIFJhbmdlU2VsZWN0ID0gXCJyYW5nZV9zZWxlY3RcIixcbiAgICBSZWN0YW5nbGVzID0gXCJyZWN0YW5nbGVzXCIsXG4gICAgUmVmcmVzaCA9IFwicmVmcmVzaFwiLFxuICAgIFJlZ3VsYXJCb3hlc1BhY2tpbmdDaXJjbGVDaGVjayA9IFwicmVndWxhcl9ib3hlc19wYWNraW5nX2NpcmNsZV9jaGVja1wiLFxuICAgIFJlbGF0aW9ucyA9IFwicmVsYXRpb25zXCIsXG4gICAgUmVtYXJrID0gXCJyZW1hcmtcIixcbiAgICBSZW1hcmtSb3VuZE9wZW4gPSBcInJlbWFya19yb3VuZF9vcGVuXCIsXG4gICAgUmVwb3J0SW5UeXBlID0gXCJyZXBvcnRfaW5fdHlwZVwiLFxuICAgIFJlc2l6ZSA9IFwicmVzaXplXCIsXG4gICAgUmVzaXplRG93biA9IFwicmVzaXplX2Rvd25cIixcbiAgICBSZXNpemVVcCA9IFwicmVzaXplX3VwXCIsXG4gICAgUmV0dXJucyA9IFwicmV0dXJuc1wiLFxuICAgIFJldHVybkdvb2RzID0gXCJyZXR1cm5fZ29vZHNcIixcbiAgICBSb3RhdGVMZWZ0U29saWQgPSBcInJvdGF0ZV9sZWZ0X3NvbGlkXCIsXG4gICAgU2F2ZURpc2sgPSBcInNhdmVfZGlza1wiLFxuICAgIFNhdmVTa2lubnkgPSBcInNhdmVfc2tpbm55XCIsXG4gICAgU2NhbGVCYWxhbmNlZCA9IFwic2NhbGVfYmFsYW5jZWRcIixcbiAgICBTY2FubmVyID0gXCJzY2FubmVyXCIsXG4gICAgU2VhcmNoUm91bmRPcGVuID0gXCJzZWFyY2hfcm91bmRfb3BlblwiLFxuICAgIFNlY3Rpb25zID0gXCJzZWN0aW9uc1wiLFxuICAgIFNlbGVjdEFsbFJvdW5kID0gXCJzZWxlY3RfYWxsX3JvdW5kXCIsXG4gICAgU2VydmljZXMgPSBcInNlcnZpY2VzXCIsXG4gICAgU2V0dGluZ3MgPSBcInNldHRpbmdzXCIsXG4gICAgU2hvcCA9IFwiU2hvcFwiLFxuICAgIFNob3BwaW5nQ2FydCA9IFwic2hvcHBpbmdfY2FydFwiLFxuICAgIFNob3BwaW5nQ2FydE5yID0gXCJzaG9wcGluZ19jYXJ0X25yXCIsXG4gICAgU2hvcnRjdXQgPSBcInNob3J0Y3V0XCIsXG4gICAgU2luZ2xlUGVyc29uID0gXCJTaW5nbGVQZXJzb25cIixcbiAgICBTa2lsbHMgPSBcInNraWxsc1wiLFxuICAgIFNsaWRlclBhbmVsID0gXCJzbGlkZXJfcGFuZWxcIixcbiAgICBTbGlkZUluID0gXCJzbGlkZV9pblwiLFxuICAgIFNtYWxsZXJUaGFuID0gXCJzbWFsbGVyX3RoYW5cIixcbiAgICBTbWFsbFRpbGVzID0gXCJzbWFsbF90aWxlc1wiLFxuICAgIFNvcnRBc2MgPSBcInNvcnRfYXNjXCIsXG4gICAgU29ydERlc2MgPSBcInNvcnRfZGVzY1wiLFxuICAgIFN0YXIgPSBcIlN0YXJcIixcbiAgICBTdGFyUm91bmRPcGVuID0gXCJzdGFyX3JvdW5kX29wZW5cIixcbiAgICBTdGF0dXNBY3RpdmUgPSBcInN0YXR1c19hY3RpdmVcIixcbiAgICBTdGF0dXNBZG9wdGlvbiA9IFwic3RhdHVzX2Fkb3B0aW9uXCIsXG4gICAgU3RhdHVzRm9zdGVyY2FyZSA9IFwic3RhdHVzX2Zvc3RlcmNhcmVcIixcbiAgICBTdGF0dXNJbGwgPSBcInN0YXR1c19pbGxcIixcbiAgICBTdGF0dXNMZWF2ZSA9IFwic3RhdHVzX2xlYXZlXCIsXG4gICAgU3RhdHVzUHJlZ25hbmN5ID0gXCJzdGF0dXNfcHJlZ25hbmN5XCIsXG4gICAgU3RvY2sgPSBcInN0b2NrXCIsXG4gICAgU3RvY2tNYW5hZ2VtZW50ID0gXCJzdG9ja19tYW5hZ2VtZW50XCIsXG4gICAgU3RvcmFnZSA9IFwic3RvcmFnZVwiLFxuICAgIFN1cGVydmlzb3IgPSBcInN1cGVydmlzb3JcIixcbiAgICBTdXBwbGllciA9IFwic3VwcGxpZXJcIixcbiAgICBTdXJnZXJ5ID0gXCJzdXJnZXJ5XCIsXG4gICAgVGFibGVjaGFydCA9IFwidGFibGVjaGFydFwiLFxuICAgIFRhZyA9IFwidGFnXCIsXG4gICAgVGFsa1Rvb011Y2ggPSBcInRhbGtfdG9vX211Y2hcIixcbiAgICBUYXJnZXQgPSBcInRhcmdldFwiLFxuICAgIFRhc2sgPSBcInRhc2tcIixcbiAgICBUaGlja0xpbmVzID0gXCJ0aGlja19saW5lc1wiLFxuICAgIFRoaW5MaW5lcyA9IFwidGhpbl9saW5lc1wiLFxuICAgIFRocmVlU2l4dHlWaWV3ID0gXCJ0aHJlZV9zaXh0eV92aWV3XCIsXG4gICAgVGh1bWJCcm9uemUgPSBcInRodW1iX2Jyb256ZVwiLFxuICAgIFRodW1iR29sZCA9IFwidGh1bWJfZ29sZFwiLFxuICAgIFRodW1iU2lsdmVyID0gXCJ0aHVtYl9zaWx2ZXJcIixcbiAgICBUaW1lbGluZSA9IFwidGltZWxpbmVcIixcbiAgICBUcmFuc2FjdGlvbnMgPSBcInRyYW5zYWN0aW9uc1wiLFxuICAgIFRyYW5zYWN0aW9uRGV0YWlsID0gXCJ0cmFuc2FjdGlvbl9kZXRhaWxcIixcbiAgICBUcmFzaEJpbiA9IFwiVHJhc2hCaW5cIixcbiAgICBUcmFzaENhblNvbGlkID0gXCJ0cmFzaF9jYW5fc29saWRcIixcbiAgICBUcmlhbmdsZURvd24gPSBcInRyaWFuZ2xlX2Rvd25cIixcbiAgICBUcmlhbmdsZUxhcmdlID0gXCJ0cmlhbmdsZV9sYXJnZVwiLFxuICAgIFRyaWFuZ2xlTGVmdCA9IFwidHJpYW5nbGVfbGVmdFwiLFxuICAgIFRyaWFuZ2xlUmlnaHQgPSBcInRyaWFuZ2xlX3JpZ2h0XCIsXG4gICAgVHJpYW5nbGVVcCA9IFwidHJpYW5nbGVfdXBcIixcbiAgICBUcnVjayA9IFwidHJ1Y2tcIixcbiAgICBUcnVja0NhbGVuZGFyID0gXCJ0cnVja19jYWxlbmRhclwiLFxuICAgIFVuZG9Sb3VuZE9wZW4gPSBcInVuZG9fcm91bmRfb3BlblwiLFxuICAgIFVzZXIgPSBcInVzZXJcIixcbiAgICBWYXJpYW50cyA9IFwidmFyaWFudHNcIixcbiAgICBWYmFyY2hhcnQgPSBcInZiYXJjaGFydFwiLFxuICAgIFZpZXcgPSBcInZpZXdcIixcbiAgICBXYXJlaG91c2UgPSBcIndhcmVob3VzZVwiLFxuICAgIFdhdGVybWFyayA9IFwid2F0ZXJtYXJrXCIsXG4gICAgV2Vic2l0ZSA9IFwid2Vic2l0ZVwiLFxuICAgIFdpemFyZCA9IFwid2l6YXJkXCIsXG4gICAgV21zID0gXCJ3bXNcIixcbiAgICBXb3JrSW5Qcm9ncmVzcyA9IFwid29ya19pbl9wcm9ncmVzc1wiLFxuICAgIFdvcmtJblByb2dyZXNzUm91bmRPcGVuID0gXCJ3b3JrX2luX3Byb2dyZXNzX3JvdW5kX29wZW5cIixcbiAgICBXcmVuY2ggPSBcIndyZW5jaFwiLFxuICAgIFhBeGlzID0gXCJ4X2F4aXNcIixcbiAgICBZQXhpcyA9IFwieV9heGlzXCJcbn0iXX0=
|