@seniorsistemas/angular-components 14.9.7 → 14.9.10

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.
@@ -21,6 +21,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
21
21
  showSearch: boolean;
22
22
  lookupSuggestions: any[];
23
23
  lookupDisplayField: string;
24
+ lookupDisplayFieldTooltip: boolean;
24
25
  lookupEmptyMessage: string;
25
26
  lookupAppendTo: string;
26
27
  searchTitle: string;
@@ -65,6 +66,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
65
66
  private onChange;
66
67
  private onTouched;
67
68
  private ngUnsubscribe;
69
+ private originalFormValues;
68
70
  constructor(hotkeysService: HotkeysService);
69
71
  ngOnInit(): void;
70
72
  private _convertToMomentHourFormat;
@@ -1,6 +1,7 @@
1
1
  import { FieldSize } from "../field-size";
2
2
  import { FieldType } from "../field-type";
3
3
  export interface FieldConfig {
4
+ defaultValue?: any;
4
5
  required?: () => boolean;
5
6
  visible?: () => boolean;
6
7
  id?: string;
@@ -27,6 +28,7 @@ export declare abstract class Field {
27
28
  type: FieldType;
28
29
  size: FieldSize;
29
30
  gridClass: string[];
31
+ defaultValue?: any;
30
32
  errorMessages?: () => ({}) | {};
31
33
  constructor(config: FieldConfig);
32
34
  }
@@ -93,6 +93,10 @@ export declare class FormField {
93
93
  * Expression to restricts user input
94
94
  */
95
95
  keyFilter?: any;
96
+ /**
97
+ * Default value for field
98
+ */
99
+ defaultValue?: any;
96
100
  /**
97
101
  * Customized FormField error message
98
102
  */
@@ -43,6 +43,7 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
43
43
  this.selected = [];
44
44
  this.transitionOptions = "400ms cubic-bezier(0.86, 0, 0.07, 1)";
45
45
  this.ngUnsubscribe = new Subject();
46
+ this.originalFormValues = {};
46
47
  }
47
48
  ngOnInit() {
48
49
  this.searchFields = this.searchFields.map((value) => new FormField(Object.assign(Object.assign({}, value), { size: { sm: 12, md: 12, lg: 12, xl: 12 } })));
@@ -62,7 +63,8 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
62
63
  return gridField;
63
64
  });
64
65
  const formGroup = this.searchFields.reduce((result, field) => {
65
- result[field.name] = new FormControl();
66
+ result[field.name] = new FormControl(field.defaultValue);
67
+ this.originalFormValues[field.name] = field.defaultValue;
66
68
  return result;
67
69
  }, {});
68
70
  this.formGroupDialog = new FormGroup(formGroup);
@@ -171,7 +173,7 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
171
173
  this.dialog.moveOnTop();
172
174
  }
173
175
  clear() {
174
- this.formGroupDialog.reset();
176
+ this.formGroupDialog.reset(this.originalFormValues);
175
177
  this.table.reset();
176
178
  }
177
179
  select() {
@@ -313,6 +315,9 @@ __decorate([
313
315
  __decorate([
314
316
  Input()
315
317
  ], LookupComponent.prototype, "lookupDisplayField", void 0);
318
+ __decorate([
319
+ Input()
320
+ ], LookupComponent.prototype, "lookupDisplayFieldTooltip", void 0);
316
321
  __decorate([
317
322
  Input()
318
323
  ], LookupComponent.prototype, "lookupEmptyMessage", void 0);
@@ -415,7 +420,7 @@ __decorate([
415
420
  LookupComponent = LookupComponent_1 = __decorate([
416
421
  Component({
417
422
  selector: "s-lookup",
418
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
423
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
419
424
  providers: [
420
425
  {
421
426
  provide: NG_VALUE_ACCESSOR,
@@ -445,8 +450,8 @@ LookupComponent = LookupComponent_1 = __decorate([
445
450
  transition("* <=> *", animate("{{transitionParams}}")),
446
451
  ]),
447
452
  ],
448
- styles: ["s-lookup.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-lookup .ui-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}s-lookup .inputgroup p-autocomplete+button,s-lookup p-autocomplete .ui-autocomplete-dropdown.ui-button{background-color:#fff;border-color:#ccc;border-width:1px 1px 1px 0;color:#333;min-height:34px;height:auto!important;min-width:auto;width:34px!important;border-top-left-radius:0;border-bottom-left-radius:0}.ui-fluid s-lookup .inputgroup,s-lookup p-autocomplete span.ui-autocomplete-multiple{display:-ms-flexbox;display:flex}.ui-fluid s-lookup .inputgroup p-autocomplete{display:inline-block}.ui-fluid s-lookup .inputgroup p-autocomplete,.ui-fluid s-lookup p-autocomplete .ui-autocomplete-input{width:calc(100% - 34px)}.ui-fluid s-lookup .inputgroup p-autocomplete .ui-autocomplete-input{width:100%}s-lookup .inputgroup p-autocomplete+button:enabled:hover,s-lookup .inputgroup p-autocomplete+button:focus{background-color:#e6e6e6;border-color:#ccc}s-lookup .inputgroup p-autocomplete .ui-widget .ui-inputtext{border-right-width:1px;border-right-style:solid}s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .s-lookup-modal.ui-dialog .ui-dialog-content{padding:0;margin-bottom:0;max-height:none}s-lookup .ui-table-scrollable-body{min-width:100%}.s-lookup-modal{height:80%!important;max-width:100%!important;max-height:inherit!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .ui-dialog-content{height:auto!important;-ms-flex:1;flex:1;overflow:auto}.s-lookup-modal .ui-dialog-footer,.s-lookup-modal .ui-dialog-header{-ms-flex-negative:0;flex-shrink:0;border-radius:0 0 4px 4px}.s-lookup-modal .s-lookup-modal-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{position:relative;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:85%;background-color:rgba(229,234,234,.5);height:100%;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:34px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{-ms-flex-align:center;align-items:center;position:relative;background-color:rgba(229,234,234,.5);height:34px;width:100%;border:1px solid #e5eaea;outline:0;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus,.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:rgba(201,211,211,.5);border-color:#c9d3d3}.s-lookup-modal .s-lookup-modal-container .filter-toggle--start-border-mask{height:15px;border-left:1px solid #e5eaea}.s-lookup-modal .s-lookup-modal-container .filter-toggle--end-border-mask{height:calc(100% - 49px);border-left:1px solid #e5eaea}.s-lookup-modal .s-lookup-modal-container .content{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow-x:auto;padding:.5rem}.s-lookup-modal .s-lookup-modal-container .content.empty-content{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container,.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container .contents{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table{position:relative;height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper{height:calc(100% - 60px)}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view .ui-table-scrollable-body{position:relative;height:calc(100% - 60px)}@media (max-width:767px){.s-lookup-modal{border:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important}}@media (min-width:768px){.s-lookup-modal{width:80%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:40%}}@media (min-width:1200px){.s-lookup-modal{width:60%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:30%}}"]
453
+ styles: ["s-lookup.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-lookup .ui-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}s-lookup .inputgroup p-autocomplete+button,s-lookup p-autocomplete .ui-autocomplete-dropdown.ui-button{background-color:#fff;border-color:#ccc;border-width:1px 1px 1px 0;color:#333;min-height:34px;height:auto!important;min-width:auto;width:34px!important;border-top-left-radius:0;border-bottom-left-radius:0}.ui-fluid s-lookup .inputgroup,s-lookup p-autocomplete span.ui-autocomplete-multiple{display:-ms-flexbox;display:flex}.ui-fluid s-lookup .inputgroup p-autocomplete{display:inline-block}.ui-fluid s-lookup .inputgroup p-autocomplete,.ui-fluid s-lookup p-autocomplete .ui-autocomplete-input{width:calc(100% - 34px)}.ui-fluid s-lookup .inputgroup p-autocomplete .ui-autocomplete-input{width:100%}s-lookup .inputgroup p-autocomplete+button:enabled:hover,s-lookup .inputgroup p-autocomplete+button:focus{background-color:#e6e6e6;border-color:#ccc}s-lookup .inputgroup p-autocomplete .ui-widget .ui-inputtext{border-right-width:1px;border-right-style:solid}s-lookup .ui-autocomplete-input-token,s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .s-lookup-modal.ui-dialog .ui-dialog-content{padding:0;margin-bottom:0;max-height:none}s-lookup .ui-table-scrollable-body{min-width:100%}.s-lookup-modal{height:80%!important;max-width:100%!important;max-height:inherit!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .ui-dialog-content{height:auto!important;-ms-flex:1;flex:1;overflow:auto}.s-lookup-modal .ui-dialog-footer,.s-lookup-modal .ui-dialog-header{-ms-flex-negative:0;flex-shrink:0;border-radius:0 0 4px 4px}.s-lookup-modal .s-lookup-modal-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{position:relative;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:85%;background-color:rgba(229,234,234,.5);height:100%;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:34px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{-ms-flex-align:center;align-items:center;position:relative;background-color:rgba(229,234,234,.5);height:34px;width:100%;border:1px solid #e5eaea;outline:0;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus,.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:rgba(201,211,211,.5);border-color:#c9d3d3}.s-lookup-modal .s-lookup-modal-container .filter-toggle--start-border-mask{height:15px;border-left:1px solid #e5eaea}.s-lookup-modal .s-lookup-modal-container .filter-toggle--end-border-mask{height:calc(100% - 49px);border-left:1px solid #e5eaea}.s-lookup-modal .s-lookup-modal-container .content{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow-x:auto;padding:.5rem}.s-lookup-modal .s-lookup-modal-container .content.empty-content{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container,.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container .contents{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table{position:relative;height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper{height:calc(100% - 60px)}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view .ui-table-scrollable-body{position:relative;height:calc(100% - 60px)}@media (max-width:767px){.s-lookup-modal{border:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important}}@media (min-width:768px){.s-lookup-modal{width:80%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:40%}}@media (min-width:1200px){.s-lookup-modal{width:60%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:30%}}"]
449
454
  })
450
455
  ], LookupComponent);
451
456
  export { LookupComponent };
452
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQWdEbEMsSUFBYSxlQUFlLHVCQUE1QixNQUFhLGVBQWU7SUE4SXhC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Q0YsT0FBTyxFQUFFLENBQUM7aUJBQ2IsQ0FBQyxDQUNMO2dCQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO29CQUNGLE9BQU8sRUFBRSxDQUFDO2lCQUNiLENBQUMsQ0FDTDtnQkFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2FBQ3pELENBQUM7U0FDTDs7S0FDSixDQUFDO0dBQ1csZUFBZSxDQXFhM0I7U0FyYVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9iaWdudW1iZXItZmllbGRcIjtcbmltcG9ydCB7IE1hc2tDb25maWcgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL25nMi1jdXJyZW5jeS1tYXNrXCI7XG5pbXBvcnQgeyBIb3RrZXksIEhvdGtleXNTZXJ2aWNlIH0gZnJvbSBcImFuZ3VsYXIyLWhvdGtleXNcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuaW1wb3J0IHsgU29ydE1ldGEgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSB9IGZyb20gXCJwcmltZW5nL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYm9vbGVhbi1maWVsZFwiO1xuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi8uLlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWxvb2t1cFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vbG9va3VwLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2xvb2t1cC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb29rdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihcImNvbGxhcHNlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJ2aXNpYmxlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIqXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwidmlzaWJsZSA8PT4gaGlkZGVuXCIsIFtncm91cChbcXVlcnkoXCJAY2hpbGRDb2xsYXBzZUNvbnRlbnRcIiwgYW5pbWF0ZUNoaWxkKCkpLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIildKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcihcImNoaWxkQ29sbGFwc2VDb250ZW50XCIsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiOmxlYXZlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCI6ZW50ZXJcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA8PT4gKlwiLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIikpLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb29rdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWxvb2t1cC0ke0xvb2t1cENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkYXRhS2V5OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93U2VhcmNoID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cERpc3BsYXlGaWVsZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwRW1wdHlNZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBBcHBlbmRUbyA9IFwiYm9keVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVGl0bGUgPSBcIlBlc3F1aXNhIGF2YW7Dp2FkYVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlUaXRsZSA9IFwiTmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG9cIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEVtcHR5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEdyaWREYXRhOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRmllbGRzOiBGb3JtRmllbGRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aVNvcnRNZXRhOiBTb3J0TWV0YVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyVGl0bGUgPSBcIkZpbHRyb3NcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbHRlckxhYmVsID0gXCJGaWx0cmFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbGVhckxhYmVsID0gXCJMaW1wYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbExhYmVsID0gXCJDYW5jZWxhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0TGFiZWwgPSBcIlNlbGVjaW9uYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5RmllbGRMYWJlbCA9IFwiTsOjbyBpbmZvcm1hZG9cIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlY29yZExhYmVsID0gXCIgcmVnaXN0cm9cIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlY29yZHNMYWJlbCA9IFwiIHJlZ2lzdHJvc1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzb3J0YWJsZUNvbHVtbnNEaXNhYmxlZDogc3RyaW5nW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBSb3dQcm9wczogc3RyaW5nW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Mb29rdXBSZXF1ZXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblNlYXJjaFJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25LZXlVcDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uVW5zZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZChUYWJsZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcblxuICAgIEBWaWV3Q2hpbGQoRGlhbG9nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgZGlhbG9nOiBEaWFsb2c7XG5cbiAgICBAVmlld0NoaWxkKEF1dG9Db21wbGV0ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZTogQXV0b0NvbXBsZXRlO1xuXG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG4gICAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIGFuaW1hdGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2VsZWN0ZWQ6IGFueVtdID0gW107XG4gICAgcHVibGljIGZvcm1Hcm91cERpYWxvZzogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyB0cmFuc2l0aW9uT3B0aW9ucyA9IFwiNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpXCI7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIG9uVG91Y2hlZDogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG90a2V5c1NlcnZpY2U6IEhvdGtleXNTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkcyA9IHRoaXMuc2VhcmNoRmllbGRzLm1hcChcbiAgICAgICAgICAgICh2YWx1ZTogRm9ybUZpZWxkKSA9PiBuZXcgRm9ybUZpZWxkKHsgLi4udmFsdWUsIHNpemU6IHsgc206IDEyLCBtZDogMTIsIGxnOiAxMiwgeGw6IDEyIH0gfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSAodGhpcy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoRmllbGRzKS5tYXAoKGdyaWRGaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBncmlkRmllbGRbXCJ3aWR0aFwiXSA9IHRoaXMuZ2V0Q29sV2lkdGgoZ3JpZEZpZWxkLmxhYmVsKTtcblxuICAgICAgICAgICAgY29uc3QgY2FsZW5kYXJPcHRpb25zID0gZ3JpZEZpZWxkLmNhbGVuZGFyTG9jYWxlT3B0aW9ucztcblxuICAgICAgICAgICAgaWYgKGNhbGVuZGFyT3B0aW9ucz8uZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZ3JpZEZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQgPSB0aGlzLl9jb252ZXJ0VG9Nb21lbnRIb3VyRm9ybWF0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5ob3VyRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBncmlkRmllbGQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuc2VhcmNoRmllbGRzLnJlZHVjZSgocmVzdWx0OiBhbnksIGZpZWxkKSA9PiB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZyA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwKTtcblxuICAgICAgICB0aGlzLm9uU2VhcmNoUmVxdWVzdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMubG9hZGluZyA9IHRydWUpKTtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25VbnNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25DbGVhci5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5vbkNoYW5nZSgpKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkJsdXIucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZVt0aGlzLmxvb2t1cERpc3BsYXlGaWVsZF07XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlIHx8ICFjdXJyZW50VmFsdWUgfHwgY3VycmVudFZhbHVlID09IHZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnZlcnRUb01vbWVudEhvdXJGb3JtYXQoaG91ckZvcm1hdDogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImRkL21tL3l5XCIpIHsgLy8gdmFsb3IgcGFkcsOjbyBwYXJhIG8gZm9ybWF0LlxuICAgICAgICAgICAgcmV0dXJuIFwiTFRTXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIxMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYkhcXGIvLCBcImhcIikgICAgIC8vIGhvdXIgKDEyIGhvdXIgdGltZSkgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiSEhcXGIvLCBcImhoXCIpOyAgLy8gaG91ciAoMTIgaG91ciB0aW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJGb3JtYXQgPT09IFwiMjRcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJoXFxiLywgXCJIXCIpICAgICAvLyBob3VyICgyNCBob3VyIHRpbWUpIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhoXFxiLywgXCJISFwiKTsgIC8vIGhvdXIgKDI0IGhvdXIgdGltZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEEgb3JkZW0gZG9zIHJlcGxhY2VzIMOpIGltcG9ydGFudGUuXG4gICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJkXFxiLywgXCJEXCIpICAgICAgLy8gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiZGRcXGIvLCBcIkREXCIpICAgIC8vIGRheSBvZiBtb250aFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm9cXGIvLCBcIkRERFwiKSAgICAvLyBkYXkgb2YgdGhlIHllYXIgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJvb1xcYi8sIFwiRERERFwiKSAgLy8gZGF5IG9mIHRoZSB5ZWFyXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiTVxcYi8sIFwiTU1NXCIpICAgIC8vIG1vbnRoIG5hbWUgc2hvcnRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNTVxcYi8sIFwiTU1NTVwiKSAgLy8gbW9udGggbmFtZSBsb25nXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibVxcYi8sIFwiTVwiKSAgICAgIC8vIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibW1cXGIvLCBcIk1NXCIpICAgIC8vIG1vbnRoIG9mIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5XFxiLywgXCJZWVwiKSAgICAgLy8geWVhciAodHdvIGRpZ2l0cylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5eVxcYi8sIFwiWVlZWVwiKTsgLy8geWVhciAoZm91ciBkaWdpdHMpXG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub25PdmVybGF5QW5pbWF0aW9uRG9uZSA9ICggZXZlbnQgKSA9PiB7IH07XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nVmlzaWJsZSAmJiBjaGFuZ2VzLnNlYXJjaEdyaWREYXRhKSB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoR3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvb2t1cFN1Z2dlc3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBTdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRHcmlkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgLy8gQW8gZGVmaW5pciB1bWEgb3JkZW5hw6fDo28gbmEgdGFiZWxhIGRvIGxvb2t1cCBlc3NlIG3DqXRvZG8gw6kgY2hhbWFkbyAyIHZlemVzIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmltZWZhY2VzL3ByaW1lbmcvaXNzdWVzLzU0ODBcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuZm9ybUdyb3VwRGlhbG9nLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uZXZlbnQsIGZpbHRlckRhdGE6IGZpbHRlcnMgfTtcbiAgICAgICAgY29uc3QgeyBtdWx0aVNvcnRNZXRhIH0gPSBldmVudDtcbiAgICAgICAgdGhpcy5tdWx0aVNvcnRNZXRhID0gbXVsdGlTb3J0TWV0YSB8fCB0aGlzLm11bHRpU29ydE1ldGE7XG4gICAgICAgIHRoaXMub25TZWFyY2hSZXF1ZXN0Lm5leHQocGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRMb29rdXAoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLm9uTG9va3VwUmVxdWVzdC5uZXh0KGV2ZW50LnF1ZXJ5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RpYWxvZygpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5ob3RrZXlzXSk7XG4gICAgICAgIHRoaXMuc2V0SG90a2V5cygpO1xuXG4gICAgICAgIGxldCBzZWxlY3RlZDogYW55ID0gW107XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWUpIHNlbGVjdGVkID0gc2VsZWN0ZWQuY29uY2F0KHRoaXMudmFsdWUpO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlKSBzZWxlY3RlZCA9IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGVEaWFsb2coKSB7XG4gICAgICAgIGNvbnN0IHsgaW5wdXRFTCwgbXVsdGlJbnB1dEVMIH0gPSB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaG90a2V5c1NlcnZpY2UudW5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZWRIb3RrZXlzXSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIG11bHRpSW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGVsc2UgaW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nLm1vdmVPblRvcCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBEaWFsb2cucmVzZXQoKTtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZC5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQgJiYgKHRoaXMubXVsdGlwbGUgPyB0aGlzLnNlbGVjdGVkIDogdGhpcy5zZWxlY3RlZFswXSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5uZXh0KHNlbGVjdGVkKTtcbiAgICAgICAgdGhpcy5oaWRlRGlhbG9nKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkOiBhbnkpIHtcbiAgICAgICAgaWYgKCFzZWxlY3RlZCkgcmV0dXJuO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkpIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgZWxzZSB0aGlzLnNlbGVjdGVkID0gW3NlbGVjdGVkXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbCk7XG4gICAgICAgICAgICBmbih2YWwpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpZWxkVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQsIHByb3ApID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IFwiXCIgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMYWJlbEZvclZhbHVlKHZhbHVlOiBhbnksIG9wdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W10pIHtcbiAgICAgICAgaWYgKCFvcHRpb25zKSByZXR1cm4gdmFsdWU7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZChvcHQgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBvcHRpb24gPyBvcHRpb24ubGFiZWwgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNCb29sZWFuVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09IGZhbHNlKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZWxzZSByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEJvb2xlYW5MYWJlbChvYmo6IGFueSwgcGF0aDogc3RyaW5nLCBvcHRpb25zTGFiZWw6IEJvb2xlYW5PcHRpb25zTGFiZWwpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEZpZWxkVmFsdWUob2JqLCBwYXRoKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSByZXR1cm4gb3B0aW9uc0xhYmVsLnRydWU7XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSBmYWxzZSkgcmV0dXJuIG9wdGlvbnNMYWJlbC5mYWxzZTtcbiAgICAgICAgZWxzZSByZXR1cm4gdGhpcy5lbXB0eUZpZWxkTGFiZWw7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTnVtYmVyKG9iajogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuICEobmV3IEJpZ051bWJlcih0aGlzLmdldEZpZWxkVmFsdWUob2JqLCBwYXRoKSkuaXNOYU4oKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEhvdGtleXMoKSB7XG4gICAgICAgIGNvbnN0IGNsZWFySG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrbFwiLCB0aGlzLmNsZWFyLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBmaW5kSG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrZlwiLCB0aGlzLnNlYXJjaC5iaW5kKHRoaXMpKTtcbiAgICAgICAgY29uc3QgaGlkZUhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K2NcIiwgdGhpcy5oaWRlRGlhbG9nLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBzZWxlY3RIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtzXCIsIHRoaXMuc2VsZWN0LmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGJpbmRlZEhvdGtleXMgPSBbY2xlYXJIb3RrZXksIGZpbmRIb3RrZXksIGhpZGVIb3RrZXksIHNlbGVjdEhvdGtleV07XG4gICAgICAgIGJpbmRlZEhvdGtleXMuZm9yRWFjaCgoaG90a2V5OiBIb3RrZXkpID0+IHRoaXMuaG90a2V5c1NlcnZpY2UuYWRkKGhvdGtleSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmV3SG90a2V5KGNvbWJvOiBzdHJpbmcsIGZuOiBGdW5jdGlvbik6IEhvdGtleSB7XG4gICAgICAgIHJldHVybiBuZXcgSG90a2V5KFxuICAgICAgICAgICAgY29tYm8sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1wiSU5QVVRcIiwgXCJTRUxFQ1RcIiwgXCJURVhUQVJFQVwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJUb2dnbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlRG9uZSgpIHtcbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgdGhlIHRhYmxlIGNvbHVtbiBzaXplLiBUaGUgbWluaW11bSB2YWx1ZSBpcyAxNC4yODZlbSwgd2hpY2ggaXMgZXF1YWxzIHRvIDIwMHB4IGR1byB0byB0aGUgY3VycmVudCBmb250IHNpemUuXG4gICAgICogQHBhcmFtIGxhYmVsIENvbHVtbiBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb2xXaWR0aChsYWJlbDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBsYWJlbC5sZW5ndGg7XG4gICAgICAgIGlmIChzaXplIDwgMTQuMjg2KSByZXR1cm4gYDE0LjI4NmVtYDtcbiAgICAgICAgcmV0dXJuIGAke3NpemV9ZW1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTY2FsZShzY2FsZTogYW55KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGdW5jdGlvbihzY2FsZSkgPyBzY2FsZSgpIDogc2NhbGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldE51bWJlck1hc2tDb25maWcoY29sOiBCaWdudW1iZXJGaWVsZENvbmZpZyk6IE1hc2tDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2NhbGU6IHRoaXMuZ2V0U2NhbGUoY29sLnNjYWxlKSxcbiAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgcHJlZml4OiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8uY3VycmVuY3lTeW1ib2xcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
457
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQWdEbEMsSUFBYSxlQUFlLHVCQUE1QixNQUFhLGVBQWU7SUFrSnhC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Q0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9ILENBQUM7WUFDRixPQUFPLENBQUMsc0JBQXNCLEVBQUU7Z0JBQzVCLEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO29CQUNGLE9BQU8sRUFBRSxDQUFDO2lCQUNiLENBQUMsQ0FDTDtnQkFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztpQkFDYixDQUFDLENBQ0w7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQzthQUN6RCxDQUFDO1NBQ0w7O0tBQ0osQ0FBQztHQUNXLGVBQWUsQ0EwYTNCO1NBMWFZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRlQ2hpbGQsIGdyb3VwLCBxdWVyeSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJGaWVsZENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYmlnbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXNrQ29uZmlnIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgSG90a2V5LCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcbmltcG9ydCB7IFNvcnRNZXRhIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gXCJwcmltZW5nL2RpYWxvZ1wiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEJvb2xlYW5PcHRpb25zTGFiZWwgfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2Jvb2xlYW4tZmllbGRcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi5cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1sb29rdXBcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2xvb2t1cC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9sb29rdXAuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9va3VwQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoXCJjb2xsYXBzZUNvbnRlbnRcIiwgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiKlwiLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZpc2libGUgPD0+IGhpZGRlblwiLCBbZ3JvdXAoW3F1ZXJ5KFwiQGNoaWxkQ29sbGFwc2VDb250ZW50XCIsIGFuaW1hdGVDaGlsZCgpKSwgYW5pbWF0ZShcInt7dHJhbnNpdGlvblBhcmFtc319XCIpXSldKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoXCJjaGlsZENvbGxhcHNlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcIjpsZWF2ZVwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiOmVudGVyXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIiogPD0+ICpcIiwgYW5pbWF0ZShcInt7dHJhbnNpdGlvblBhcmFtc319XCIpKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9va3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1sb29rdXAtJHtMb29rdXBDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0YUtleTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1NlYXJjaCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cERpc3BsYXlGaWVsZFRvb2x0aXA6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBFbXB0eU1lc3NhZ2U6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cEFwcGVuZFRvID0gXCJib2R5XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hUaXRsZSA9IFwiUGVzcXVpc2EgYXZhbsOnYWRhXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hFbXB0eVRpdGxlID0gXCJOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoR3JpZERhdGE6IGFueVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpU29ydE1ldGE6IFNvcnRNZXRhW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJUaXRsZSA9IFwiRmlsdHJvc1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyTGFiZWwgPSBcIkZpbHRyYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsZWFyTGFiZWwgPSBcIkxpbXBhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2FuY2VsTGFiZWwgPSBcIkNhbmNlbGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RMYWJlbCA9IFwiU2VsZWNpb25hclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlGaWVsZExhYmVsID0gXCJOw6NvIGluZm9ybWFkb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3JkTGFiZWwgPSBcIiByZWdpc3Ryb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3Jkc0xhYmVsID0gXCIgcmVnaXN0cm9zXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNvcnRhYmxlQ29sdW1uc0Rpc2FibGVkOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFJvd1Byb3BzOiBzdHJpbmdbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkxvb2t1cFJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VhcmNoUmVxdWVzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbktleVVwOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25VbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKFRhYmxlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlO1xuXG4gICAgQFZpZXdDaGlsZChEaWFsb2csIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBkaWFsb2c6IERpYWxvZztcblxuICAgIEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlOiBBdXRvQ29tcGxldGU7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgYW5pbWF0aW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgcHVibGljIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgZm9ybUdyb3VwRGlhbG9nOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIHRyYW5zaXRpb25PcHRpb25zID0gXCI0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSlcIjtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgb3JpZ2luYWxGb3JtVmFsdWVzID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvdGtleXNTZXJ2aWNlOiBIb3RrZXlzU2VydmljZSkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSB0aGlzLnNlYXJjaEZpZWxkcy5tYXAoXG4gICAgICAgICAgICAodmFsdWU6IEZvcm1GaWVsZCkgPT4gbmV3IEZvcm1GaWVsZCh7IC4uLnZhbHVlLCBzaXplOiB7IHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIsIHhsOiAxMiB9IH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRmllbGRzID0gKHRoaXMuc2VhcmNoR3JpZEZpZWxkcyB8fCB0aGlzLnNlYXJjaEZpZWxkcykubWFwKChncmlkRmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgICAgICAgZ3JpZEZpZWxkW1wid2lkdGhcIl0gPSB0aGlzLmdldENvbFdpZHRoKGdyaWRGaWVsZC5sYWJlbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbGVuZGFyT3B0aW9ucyA9IGdyaWRGaWVsZC5jYWxlbmRhckxvY2FsZU9wdGlvbnM7XG5cbiAgICAgICAgICAgIGlmIChjYWxlbmRhck9wdGlvbnM/LmRhdGVGb3JtYXQpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGdyaWRGaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdCA9IHRoaXMuX2NvbnZlcnRUb01vbWVudERhdGVGb3JtYXQoY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50SG91ckZvcm1hdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuaG91ckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZ3JpZEZpZWxkO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLnNlYXJjaEZpZWxkcy5yZWR1Y2UoKHJlc3VsdDogYW55LCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbmV3IEZvcm1Db250cm9sKGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRm9ybVZhbHVlc1tmaWVsZC5uYW1lXSA9IGZpZWxkLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZyA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwKTtcblxuICAgICAgICB0aGlzLm9uU2VhcmNoUmVxdWVzdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMubG9hZGluZyA9IHRydWUpKTtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25VbnNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25DbGVhci5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5vbkNoYW5nZSgpKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkJsdXIucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZVt0aGlzLmxvb2t1cERpc3BsYXlGaWVsZF07XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlIHx8ICFjdXJyZW50VmFsdWUgfHwgY3VycmVudFZhbHVlID09IHZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnZlcnRUb01vbWVudEhvdXJGb3JtYXQoaG91ckZvcm1hdDogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImRkL21tL3l5XCIpIHsgLy8gdmFsb3IgcGFkcsOjbyBwYXJhIG8gZm9ybWF0LlxuICAgICAgICAgICAgcmV0dXJuIFwiTFRTXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIxMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYkhcXGIvLCBcImhcIikgICAgIC8vIGhvdXIgKDEyIGhvdXIgdGltZSkgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiSEhcXGIvLCBcImhoXCIpOyAgLy8gaG91ciAoMTIgaG91ciB0aW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJGb3JtYXQgPT09IFwiMjRcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJoXFxiLywgXCJIXCIpICAgICAvLyBob3VyICgyNCBob3VyIHRpbWUpIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhoXFxiLywgXCJISFwiKTsgIC8vIGhvdXIgKDI0IGhvdXIgdGltZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEEgb3JkZW0gZG9zIHJlcGxhY2VzIMOpIGltcG9ydGFudGUuXG4gICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJkXFxiLywgXCJEXCIpICAgICAgLy8gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiZGRcXGIvLCBcIkREXCIpICAgIC8vIGRheSBvZiBtb250aFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm9cXGIvLCBcIkRERFwiKSAgICAvLyBkYXkgb2YgdGhlIHllYXIgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJvb1xcYi8sIFwiRERERFwiKSAgLy8gZGF5IG9mIHRoZSB5ZWFyXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiTVxcYi8sIFwiTU1NXCIpICAgIC8vIG1vbnRoIG5hbWUgc2hvcnRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNTVxcYi8sIFwiTU1NTVwiKSAgLy8gbW9udGggbmFtZSBsb25nXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibVxcYi8sIFwiTVwiKSAgICAgIC8vIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibW1cXGIvLCBcIk1NXCIpICAgIC8vIG1vbnRoIG9mIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5XFxiLywgXCJZWVwiKSAgICAgLy8geWVhciAodHdvIGRpZ2l0cylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5eVxcYi8sIFwiWVlZWVwiKTsgLy8geWVhciAoZm91ciBkaWdpdHMpXG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub25PdmVybGF5QW5pbWF0aW9uRG9uZSA9ICggZXZlbnQgKSA9PiB7IH07XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nVmlzaWJsZSAmJiBjaGFuZ2VzLnNlYXJjaEdyaWREYXRhKSB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoR3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvb2t1cFN1Z2dlc3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBTdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRHcmlkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgLy8gQW8gZGVmaW5pciB1bWEgb3JkZW5hw6fDo28gbmEgdGFiZWxhIGRvIGxvb2t1cCBlc3NlIG3DqXRvZG8gw6kgY2hhbWFkbyAyIHZlemVzIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmltZWZhY2VzL3ByaW1lbmcvaXNzdWVzLzU0ODBcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuZm9ybUdyb3VwRGlhbG9nLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uZXZlbnQsIGZpbHRlckRhdGE6IGZpbHRlcnMgfTtcbiAgICAgICAgY29uc3QgeyBtdWx0aVNvcnRNZXRhIH0gPSBldmVudDtcbiAgICAgICAgdGhpcy5tdWx0aVNvcnRNZXRhID0gbXVsdGlTb3J0TWV0YSB8fCB0aGlzLm11bHRpU29ydE1ldGE7XG4gICAgICAgIHRoaXMub25TZWFyY2hSZXF1ZXN0Lm5leHQocGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRMb29rdXAoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLm9uTG9va3VwUmVxdWVzdC5uZXh0KGV2ZW50LnF1ZXJ5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RpYWxvZygpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5ob3RrZXlzXSk7XG4gICAgICAgIHRoaXMuc2V0SG90a2V5cygpO1xuXG4gICAgICAgIGxldCBzZWxlY3RlZDogYW55ID0gW107XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWUpIHNlbGVjdGVkID0gc2VsZWN0ZWQuY29uY2F0KHRoaXMudmFsdWUpO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlKSBzZWxlY3RlZCA9IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGVEaWFsb2coKSB7XG4gICAgICAgIGNvbnN0IHsgaW5wdXRFTCwgbXVsdGlJbnB1dEVMIH0gPSB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaG90a2V5c1NlcnZpY2UudW5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZWRIb3RrZXlzXSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIG11bHRpSW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGVsc2UgaW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nLm1vdmVPblRvcCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBEaWFsb2cucmVzZXQodGhpcy5vcmlnaW5hbEZvcm1WYWx1ZXMpO1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZCAmJiAodGhpcy5tdWx0aXBsZSA/IHRoaXMuc2VsZWN0ZWQgOiB0aGlzLnNlbGVjdGVkWzBdKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQoc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLmhpZGVEaWFsb2coKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0ZWQ6IGFueSkge1xuICAgICAgICBpZiAoIXNlbGVjdGVkKSByZXR1cm47XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSkgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICBlbHNlIHRoaXMuc2VsZWN0ZWQgPSBbc2VsZWN0ZWRdO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbDogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcbiAgICAgICAgICAgIGZuKHZhbCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmllbGRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdCwgcHJvcCkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExhYmVsRm9yVmFsdWUodmFsdWU6IGFueSwgb3B0aW9uczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSkge1xuICAgICAgICBpZiAoIW9wdGlvbnMpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKG9wdCA9PiBvcHQudmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbi5sYWJlbCA6IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Jvb2xlYW5WYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Qm9vbGVhbkxhYmVsKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIG9wdGlvbnNMYWJlbDogQm9vbGVhbk9wdGlvbnNMYWJlbCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHJldHVybiBvcHRpb25zTGFiZWwudHJ1ZTtcbiAgICAgICAgZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm4gb3B0aW9uc0xhYmVsLmZhbHNlO1xuICAgICAgICBlbHNlIHJldHVybiB0aGlzLmVtcHR5RmllbGRMYWJlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNOdW1iZXIob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gIShuZXcgQmlnTnVtYmVyKHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpKS5pc05hTigpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SG90a2V5cygpIHtcbiAgICAgICAgY29uc3QgY2xlYXJIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtsXCIsIHRoaXMuY2xlYXIuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IGZpbmRIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtmXCIsIHRoaXMuc2VhcmNoLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBoaWRlSG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrY1wiLCB0aGlzLmhpZGVEaWFsb2cuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdEhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K3NcIiwgdGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgYmluZGVkSG90a2V5cyA9IFtjbGVhckhvdGtleSwgZmluZEhvdGtleSwgaGlkZUhvdGtleSwgc2VsZWN0SG90a2V5XTtcbiAgICAgICAgYmluZGVkSG90a2V5cy5mb3JFYWNoKChob3RrZXk6IEhvdGtleSkgPT4gdGhpcy5ob3RrZXlzU2VydmljZS5hZGQoaG90a2V5KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuZXdIb3RrZXkoY29tYm86IHN0cmluZywgZm46IEZ1bmN0aW9uKTogSG90a2V5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3RrZXkoXG4gICAgICAgICAgICBjb21ibyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXCJJTlBVVFwiLCBcIlNFTEVDVFwiLCBcIlRFWFRBUkVBXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlclRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW5nKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGVEb25lKCkge1xuICAgICAgICB0aGlzLmFuaW1hdGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgdGFibGUgY29sdW1uIHNpemUuIFRoZSBtaW5pbXVtIHZhbHVlIGlzIDE0LjI4NmVtLCB3aGljaCBpcyBlcXVhbHMgdG8gMjAwcHggZHVvIHRvIHRoZSBjdXJyZW50IGZvbnQgc2l6ZS5cbiAgICAgKiBAcGFyYW0gbGFiZWwgQ29sdW1uIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbFdpZHRoKGxhYmVsOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGxhYmVsLmxlbmd0aDtcbiAgICAgICAgaWYgKHNpemUgPCAxNC4yODYpIHJldHVybiBgMTQuMjg2ZW1gO1xuICAgICAgICByZXR1cm4gYCR7c2l6ZX1lbWA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNjYWxlKHNjYWxlOiBhbnkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Z1bmN0aW9uKHNjYWxlKSA/IHNjYWxlKCkgOiBzY2FsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TnVtYmVyTWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogdGhpcy5nZXRTY2FsZShjb2wuc2NhbGUpLFxuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICBwcmVmaXg6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -14,6 +14,7 @@ export class Field {
14
14
  this.size = new FieldSize(config.size || {});
15
15
  this.errorMessages = config.errorMessages;
16
16
  this.gridClass = Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);
17
+ this.defaultValue = config.defaultValue;
17
18
  }
18
19
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29uZmlndXJhdGlvbnMvZmllbGRzL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrQjFDLE1BQU0sT0FBZ0IsS0FBSztJQWV2QixZQUFZLE1BQW1CO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRTaXplIH0gZnJvbSBcIi4uL2ZpZWxkLXNpemVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi9maWVsZC10eXBlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRDb25maWcge1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICB2aXNpYmxlPzogKCkgPT4gYm9vbGVhbjtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgdHlwZT86IEZpZWxkVHlwZTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZCB7XG4gICAgcHVibGljIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBwdWJsaWMgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XG4gICAgcHVibGljIGlkPzogc3RyaW5nO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGluZm9TaWduPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBwdWJsaWMgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgICBwdWJsaWMgdHlwZTogRmllbGRUeXBlO1xuICAgIHB1YmxpYyBzaXplOiBGaWVsZFNpemU7XG4gICAgcHVibGljIGdyaWRDbGFzczogc3RyaW5nW107XG4gICAgcHVibGljIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IEZpZWxkQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSBjb25maWcucmVxdWlyZWQgfHwgKCgpID0+IGZhbHNlKTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gY29uZmlnLnZpc2libGUgfHwgKCgpID0+IHRydWUpO1xuICAgICAgICB0aGlzLmlkID0gY29uZmlnLmlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGNvbmZpZy5sYWJlbDtcbiAgICAgICAgdGhpcy5pbmZvU2lnbiA9IGNvbmZpZy5pbmZvU2lnbjtcbiAgICAgICAgdGhpcy50b29sdGlwID0gY29uZmlnLnRvb2x0aXA7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBjb25maWcucGxhY2Vob2xkZXIgfHwgXCJcIjtcbiAgICAgICAgdGhpcy5zaG93Q2xlYXIgPSBjb25maWcuc2hvd0NsZWFyIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLnR5cGUgPSBjb25maWcudHlwZTtcbiAgICAgICAgdGhpcy5zaXplID0gbmV3IEZpZWxkU2l6ZShjb25maWcuc2l6ZSB8fCB7fSk7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IGNvbmZpZy5lcnJvck1lc3NhZ2VzO1xuICAgICAgICB0aGlzLmdyaWRDbGFzcyA9IE9iamVjdC5rZXlzKHRoaXMuc2l6ZSkubWFwKGtleSA9PiBgdWktJHtrZXl9LSR7dGhpcy5zaXplW2tleV19YCk7XG4gICAgfVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29uZmlndXJhdGlvbnMvZmllbGRzL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtQjFDLE1BQU0sT0FBZ0IsS0FBSztJQWdCdkIsWUFBWSxNQUFtQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZFNpemUgfSBmcm9tIFwiLi4vZmllbGQtc2l6ZVwiO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uL2ZpZWxkLXR5cGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZENvbmZpZyB7XG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICB2aXNpYmxlPzogKCkgPT4gYm9vbGVhbjtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgdHlwZT86IEZpZWxkVHlwZTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZCB7XG4gICAgcHVibGljIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBwdWJsaWMgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XG4gICAgcHVibGljIGlkPzogc3RyaW5nO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGluZm9TaWduPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBwdWJsaWMgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgICBwdWJsaWMgdHlwZTogRmllbGRUeXBlO1xuICAgIHB1YmxpYyBzaXplOiBGaWVsZFNpemU7XG4gICAgcHVibGljIGdyaWRDbGFzczogc3RyaW5nW107XG4gICAgcHVibGljIGRlZmF1bHRWYWx1ZT86IGFueTtcbiAgICBwdWJsaWMgZXJyb3JNZXNzYWdlcz86ICgpID0+ICh7fSkgfCB7fTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogRmllbGRDb25maWcpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IGNvbmZpZy5yZXF1aXJlZCB8fCAoKCkgPT4gZmFsc2UpO1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb25maWcudmlzaWJsZSB8fCAoKCkgPT4gdHJ1ZSk7XG4gICAgICAgIHRoaXMuaWQgPSBjb25maWcuaWQ7XG4gICAgICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgICAgICB0aGlzLmxhYmVsID0gY29uZmlnLmxhYmVsO1xuICAgICAgICB0aGlzLmluZm9TaWduID0gY29uZmlnLmluZm9TaWduO1xuICAgICAgICB0aGlzLnRvb2x0aXAgPSBjb25maWcudG9vbHRpcDtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGNvbmZpZy5wbGFjZWhvbGRlciB8fCBcIlwiO1xuICAgICAgICB0aGlzLnNob3dDbGVhciA9IGNvbmZpZy5zaG93Q2xlYXIgfHwgZmFsc2U7XG4gICAgICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlO1xuICAgICAgICB0aGlzLnNpemUgPSBuZXcgRmllbGRTaXplKGNvbmZpZy5zaXplIHx8IHt9KTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gY29uZmlnLmVycm9yTWVzc2FnZXM7XG4gICAgICAgIHRoaXMuZ3JpZENsYXNzID0gT2JqZWN0LmtleXModGhpcy5zaXplKS5tYXAoa2V5ID0+IGB1aS0ke2tleX0tJHt0aGlzLnNpemVba2V5XX1gKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBjb25maWcuZGVmYXVsdFZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -56,4 +56,4 @@ export class Option {
56
56
  this.value = value;
57
57
  }
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sT0FBTyxTQUFTO0lBZ0lsQixZQUFZLE1BQVc7UUFDbkIsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxZQUFZO2dCQUN2QixPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2hCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxNQUFNO0lBSWYsWUFBWSxLQUFhLEVBQUUsS0FBVTtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbGlnbm1lbnRPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgRmlsZUR0byB9IGZyb20gXCIuLi8uLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJMb2NhbGVPcHRpb25zLCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2xvY2FsZS9pbmRleFwiO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uL251bWJlci1pbnB1dFwiO1xuaW1wb3J0IHsgQWRkb25Db25maWcgfSBmcm9tIFwiLi9hZGRvbi1jb25maWdcIjtcbmltcG9ydCB7IEZpZWxkU2l6ZSB9IGZyb20gXCIuL2ZpZWxkLXNpemVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2F1dG9jb21wbGV0ZS1maWVsZFwiO1xuaW1wb3J0IHsgQmlnbnVtYmVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYmlnbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBCbG9iRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYmxvYi1maWVsZFwiO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkLCBCb29sZWFuT3B0aW9uc0xhYmVsIH0gZnJvbSBcIi4vZmllbGRzL2Jvb2xlYW4tZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGQge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRlbGxzIHdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHNvcnRhYmxlQ29sdW1uTmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExhYmVscyBvZiBhIFJhZGlvIEJ1dHRvbiwgb25seSB1c2VkIHRvIEZpZWxkVHlwZSBCb29sZWFuXG4gICAgICovXG4gICAgb3B0aW9uc0xhYmVsPzogQm9vbGVhbk9wdGlvbnNMYWJlbDtcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1hc2sgcGF0dGVybi5cbiAgICAgKi9cbiAgICBtYXNrPzogKCkgPT4gc3RyaW5nIHwgc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzIGZvciBhIHF1ZXJ5LlxuICAgICAqL1xuICAgIGVtcHR5TWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xzPzogbnVtYmVyO1xuICAgIHJvd3M/OiBudW1iZXI7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IGFueTtcbiAgICBjYWxlbmRhckxvY2FsZU9wdGlvbnM/OiBDYWxlbmRhckxvY2FsZU9wdGlvbnM7XG4gICAgbnVtYmVyTG9jYWxlT3B0aW9ucz86IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIGJyb3dzZXJBdXRvY29tcGxldGU/OiBib29sZWFuO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgc2hvd09uRm9jdXM/OiBib29sZWFuO1xuICAgIHN0eWxlPzogeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGBSYWRpb0J1dHRvbmAgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgdmVydGljYWwgb3Igbm90LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICB2ZXJ0aWNhbEFsaWdubWVudD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRmllbGQgbWF4IGxlbmd0aFxuICAgICAqL1xuICAgIHByZWNpc2lvbj86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICAgICAqL1xuICAgIHNjYWxlPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNpbmcgRmllbGRUeXBlLk51bWJlciB0aGlzIGF0dHJpYnV0ZSBpcyB1bm5lY2Vzc2FyeVxuICAgICAqL1xuICAgIGFsaWduVG8/OiBOdW1iZXJBbGlnbm1lbnRPcHRpb24gfCBBbGlnbm1lbnRPcHRpb25zO1xuICAgIGdyaWRDbGFzcz86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwgc3RyaW5nW11cbiAgICAgICAgfCBTZXQ8c3RyaW5nPlxuICAgICAgICB8IHtcbiAgICAgICAgICAgICAgW2tsYXNzOiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5EYXRlPzogRGF0ZTtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWF4RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gdGhlIGxlZnQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgbGVmdEFkZG9uPzogQWRkb25Db25maWc7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gcmlnaHQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgcmlnaHRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIEluZm9TaWduIHBhcmEgYSBsYWJlbCBkbyBpbnB1dC5cbiAgICAgKi9cbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBFeHByZXNzaW9uIHRvIHJlc3RyaWN0cyB1c2VyIGlucHV0XG4gICAgICovXG4gICAga2V5RmlsdGVyPzogYW55O1xuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgRm9ybUZpZWxkIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBlcnJvck1lc3NhZ2VzPzogKCkgPT4gKHt9KSB8IHt9O1xuICAgIHZpc2libGU/OiAoKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgZmllbGQgcmVjZWl2ZXMgZm9jdXNcbiAgICAgKi9cbiAgICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbklucHV0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gY29tcG9uZW50IGNsaWNrLlxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsb3NlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Ub2RheUNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhckNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Nb250aENoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uWWVhckNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgYWRkZWQuXG4gICAgICovXG4gICAgb25BZGQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIHZhbHVlIGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgb25SZW1vdmU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBvbkNoaXBDbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTW9uZXk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJyZW5jeUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERlY2ltYWxGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmlnbnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJpbmFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGV4dDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRBcmVhRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRpbWU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxlbmRhckZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Mb29rdXA6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMb29rdXBGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUmFkaW86XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSYWRpb0J1dHRvbkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DaGlwczpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENoaXBzRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJsb2I6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCbG9iRmllbGQoY29uZmlnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE1BQU0sT0FBTyxTQUFTO0lBcUlsQixZQUFZLE1BQVc7UUFDbkIsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxZQUFZO2dCQUN2QixPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2hCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxNQUFNO0lBSWYsWUFBWSxLQUFhLEVBQUUsS0FBVTtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbGlnbm1lbnRPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgRmlsZUR0byB9IGZyb20gXCIuLi8uLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJMb2NhbGVPcHRpb25zLCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2xvY2FsZS9pbmRleFwiO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uL251bWJlci1pbnB1dFwiO1xuaW1wb3J0IHsgQWRkb25Db25maWcgfSBmcm9tIFwiLi9hZGRvbi1jb25maWdcIjtcbmltcG9ydCB7IEZpZWxkU2l6ZSB9IGZyb20gXCIuL2ZpZWxkLXNpemVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2F1dG9jb21wbGV0ZS1maWVsZFwiO1xuaW1wb3J0IHsgQmlnbnVtYmVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYmlnbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBCbG9iRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYmxvYi1maWVsZFwiO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkLCBCb29sZWFuT3B0aW9uc0xhYmVsIH0gZnJvbSBcIi4vZmllbGRzL2Jvb2xlYW4tZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGQge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRlbGxzIHdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHNvcnRhYmxlQ29sdW1uTmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExhYmVscyBvZiBhIFJhZGlvIEJ1dHRvbiwgb25seSB1c2VkIHRvIEZpZWxkVHlwZSBCb29sZWFuXG4gICAgICovXG4gICAgb3B0aW9uc0xhYmVsPzogQm9vbGVhbk9wdGlvbnNMYWJlbDtcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1hc2sgcGF0dGVybi5cbiAgICAgKi9cbiAgICBtYXNrPzogKCkgPT4gc3RyaW5nIHwgc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzIGZvciBhIHF1ZXJ5LlxuICAgICAqL1xuICAgIGVtcHR5TWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xzPzogbnVtYmVyO1xuICAgIHJvd3M/OiBudW1iZXI7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IGFueTtcbiAgICBjYWxlbmRhckxvY2FsZU9wdGlvbnM/OiBDYWxlbmRhckxvY2FsZU9wdGlvbnM7XG4gICAgbnVtYmVyTG9jYWxlT3B0aW9ucz86IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIGJyb3dzZXJBdXRvY29tcGxldGU/OiBib29sZWFuO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgc2hvd09uRm9jdXM/OiBib29sZWFuO1xuICAgIHN0eWxlPzogeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGBSYWRpb0J1dHRvbmAgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgdmVydGljYWwgb3Igbm90LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICB2ZXJ0aWNhbEFsaWdubWVudD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRmllbGQgbWF4IGxlbmd0aFxuICAgICAqL1xuICAgIHByZWNpc2lvbj86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICAgICAqL1xuICAgIHNjYWxlPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNpbmcgRmllbGRUeXBlLk51bWJlciB0aGlzIGF0dHJpYnV0ZSBpcyB1bm5lY2Vzc2FyeVxuICAgICAqL1xuICAgIGFsaWduVG8/OiBOdW1iZXJBbGlnbm1lbnRPcHRpb24gfCBBbGlnbm1lbnRPcHRpb25zO1xuICAgIGdyaWRDbGFzcz86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwgc3RyaW5nW11cbiAgICAgICAgfCBTZXQ8c3RyaW5nPlxuICAgICAgICB8IHtcbiAgICAgICAgICAgICAgW2tsYXNzOiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5EYXRlPzogRGF0ZTtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWF4RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gdGhlIGxlZnQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgbGVmdEFkZG9uPzogQWRkb25Db25maWc7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gcmlnaHQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgcmlnaHRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIEluZm9TaWduIHBhcmEgYSBsYWJlbCBkbyBpbnB1dC5cbiAgICAgKi9cbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBFeHByZXNzaW9uIHRvIHJlc3RyaWN0cyB1c2VyIGlucHV0XG4gICAgICovXG4gICAga2V5RmlsdGVyPzogYW55O1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgZmllbGRcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogQ3VzdG9taXplZCBGb3JtRmllbGQgZXJyb3IgbWVzc2FnZVxuICAgICAqL1xuICAgIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG4gICAgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGZpZWxkIGxvc2VzIGZvY3VzXG4gICAgICovXG4gICAgb25CbHVyPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCByZWNlaXZlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uRm9jdXM/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Db21wbGV0ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uSW5wdXQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBvblNlbGVjdD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBjb21wb25lbnQgY2xpY2suXG4gICAgICovXG4gICAgb25DbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uQ2xvc2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvblRvZGF5Q2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsZWFyQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbk1vbnRoQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25ZZWFyQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYSB2YWx1ZSBpcyBhZGRlZC5cbiAgICAgKi9cbiAgICBvbkFkZD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBvblJlbW92ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgY2hpcCBpcyBjbGlja2VkLlxuICAgICAqL1xuICAgIG9uQ2hpcENsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IGFueSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmZpZy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2VsZWN0RmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkF1dG9jb21wbGV0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEF1dG9jb21wbGV0ZUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Nb25leTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1cnJlbmN5RmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkludGVnZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRG91YmxlOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGVjaW1hbEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCaWdudW1iZXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmluYXJ5OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW5GaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENhbGVuZGFyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvb2t1cDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IExvb2t1cEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5SYWRpbzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJhZGlvQnV0dG9uRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkNoaXBzOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2hpcHNGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmxvYjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJsb2JGaWVsZChjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3B0aW9uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xuXG4gICAgY29uc3RydWN0b3IobGFiZWw6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG59XG4iXX0=
@@ -16,7 +16,7 @@ let LocalizedBignumberPipe = class LocalizedBignumberPipe {
16
16
  return this.localeService.get().pipe(map(localeConfig => {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
18
18
  const configs = {
19
- prefix: (_c = (_a = options.prefix) !== null && _a !== void 0 ? _a : (_b = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _b === void 0 ? void 0 : _b.currencySymbol) !== null && _c !== void 0 ? _c : "R$",
19
+ prefix: (_c = (_a = options === null || options === void 0 ? void 0 : options.prefix) !== null && _a !== void 0 ? _a : (_b = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _b === void 0 ? void 0 : _b.currencySymbol) !== null && _c !== void 0 ? _c : "R$",
20
20
  thousandsSeparator: (_f = (_d = options === null || options === void 0 ? void 0 : options.thousandsSeparator) !== null && _d !== void 0 ? _d : (_e = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _e === void 0 ? void 0 : _e.thousandsSeparator) !== null && _f !== void 0 ? _f : ".",
21
21
  decimalSeparator: (_j = (_g = options === null || options === void 0 ? void 0 : options.decimalSeparator) !== null && _g !== void 0 ? _g : (_h = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _h === void 0 ? void 0 : _h.decimalSeparator) !== null && _j !== void 0 ? _j : ",",
22
22
  scale: (_k = options === null || options === void 0 ? void 0 : options.scale) !== null && _k !== void 0 ? _k : 2
@@ -35,4 +35,4 @@ LocalizedBignumberPipe = __decorate([
35
35
  })
36
36
  ], LocalizedBignumberPipe);
37
37
  export { LocalizedBignumberPipe };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLWJpZ251bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3BpcGVzL2xvY2FsaXplZC1iaWdudW1iZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFLckMsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFDL0IsWUFDWSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNyQyxDQUFDO0lBRUcsU0FBUyxDQUFDLEtBQVcsRUFBRSxPQUFvQjtRQUM5QyxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQVcsRUFBRSxPQUFvQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7O1lBQ2YsTUFBTSxPQUFPLEdBQWU7Z0JBQ3hCLE1BQU0sY0FBRSxPQUFPLENBQUMsTUFBTSx5Q0FBSSxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsTUFBTSwwQ0FBRSxjQUFjLG1DQUFJLElBQUk7Z0JBQ3RFLGtCQUFrQixjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxrQkFBa0IseUNBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsa0JBQWtCLG1DQUFJLEdBQUc7Z0JBQ2xHLGdCQUFnQixjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxnQkFBZ0IseUNBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsZ0JBQWdCLG1DQUFJLEdBQUc7Z0JBQzVGLEtBQUssUUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxtQ0FBSSxDQUFDO2FBQzdCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQTs7WUFyQjhCLGFBQWE7O0FBRi9CLHNCQUFzQjtJQUhsQyxJQUFJLENBQUM7UUFDRixJQUFJLEVBQUUsb0JBQW9CO0tBQzdCLENBQUM7R0FDVyxzQkFBc0IsQ0F1QmxDO1NBdkJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCIuLi9sb2NhbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBhcHBseU1hc2ssIE1hc2tDb25maWcgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL25nMi1jdXJyZW5jeS1tYXNrXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcblxuQFBpcGUoe1xuICAgIG5hbWU6IFwibG9jYWxpemVkQmlnbnVtYmVyXCIsXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXplZEJpZ251bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZT86IGFueSwgb3B0aW9ucz86IE1hc2tDb25maWcpOiBhbnkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCA/IHRoaXMuYXBwbHlNYXNrKHZhbHVlLCBvcHRpb25zKSA6IG9mKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5TWFzayh2YWx1ZT86IGFueSwgb3B0aW9ucz86IE1hc2tDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgICAgICAgbWFwKGxvY2FsZUNvbmZpZyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29uZmlnczogTWFza0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiBvcHRpb25zLnByZWZpeCA/PyBsb2NhbGVDb25maWc/Lm51bWJlcj8uY3VycmVuY3lTeW1ib2wgPz8gXCJSJFwiLFxuICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IG9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvciA/PyBsb2NhbGVDb25maWc/Lm51bWJlcj8udGhvdXNhbmRzU2VwYXJhdG9yID8/IFwiLlwiLFxuICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBvcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yID8/IGxvY2FsZUNvbmZpZz8ubnVtYmVyPy5kZWNpbWFsU2VwYXJhdG9yID8/IFwiLFwiLFxuICAgICAgICAgICAgICAgICAgICBzY2FsZTogb3B0aW9ucz8uc2NhbGUgPz8gMlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOdW1iZXIgPSAhKG5ldyBCaWdOdW1iZXIodmFsdWUpLmlzTmFOKCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBhcHBseU1hc2sodmFsdWUsIGNvbmZpZ3MsIGlzTnVtYmVyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLWJpZ251bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3BpcGVzL2xvY2FsaXplZC1iaWdudW1iZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFLckMsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFDL0IsWUFDWSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNyQyxDQUFDO0lBRUcsU0FBUyxDQUFDLEtBQVcsRUFBRSxPQUFvQjtRQUM5QyxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQVcsRUFBRSxPQUFvQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7O1lBQ2YsTUFBTSxPQUFPLEdBQWU7Z0JBQ3hCLE1BQU0sY0FBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSx5Q0FBSSxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsTUFBTSwwQ0FBRSxjQUFjLG1DQUFJLElBQUk7Z0JBQ3ZFLGtCQUFrQixjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxrQkFBa0IseUNBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsa0JBQWtCLG1DQUFJLEdBQUc7Z0JBQ2xHLGdCQUFnQixjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxnQkFBZ0IseUNBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sMENBQUUsZ0JBQWdCLG1DQUFJLEdBQUc7Z0JBQzVGLEtBQUssUUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxtQ0FBSSxDQUFDO2FBQzdCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQTs7WUFyQjhCLGFBQWE7O0FBRi9CLHNCQUFzQjtJQUhsQyxJQUFJLENBQUM7UUFDRixJQUFJLEVBQUUsb0JBQW9CO0tBQzdCLENBQUM7R0FDVyxzQkFBc0IsQ0F1QmxDO1NBdkJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCIuLi9sb2NhbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBhcHBseU1hc2ssIE1hc2tDb25maWcgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL25nMi1jdXJyZW5jeS1tYXNrXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcblxuQFBpcGUoe1xuICAgIG5hbWU6IFwibG9jYWxpemVkQmlnbnVtYmVyXCIsXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXplZEJpZ251bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZT86IGFueSwgb3B0aW9ucz86IE1hc2tDb25maWcpOiBhbnkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCA/IHRoaXMuYXBwbHlNYXNrKHZhbHVlLCBvcHRpb25zKSA6IG9mKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5TWFzayh2YWx1ZT86IGFueSwgb3B0aW9ucz86IE1hc2tDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgICAgICAgbWFwKGxvY2FsZUNvbmZpZyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29uZmlnczogTWFza0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiBvcHRpb25zPy5wcmVmaXggPz8gbG9jYWxlQ29uZmlnPy5udW1iZXI/LmN1cnJlbmN5U3ltYm9sID8/IFwiUiRcIixcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiBvcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IgPz8gbG9jYWxlQ29uZmlnPy5udW1iZXI/LnRob3VzYW5kc1NlcGFyYXRvciA/PyBcIi5cIixcbiAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogb3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvciA/PyBsb2NhbGVDb25maWc/Lm51bWJlcj8uZGVjaW1hbFNlcGFyYXRvciA/PyBcIixcIixcbiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IG9wdGlvbnM/LnNjYWxlID8/IDJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzTnVtYmVyID0gIShuZXcgQmlnTnVtYmVyKHZhbHVlKS5pc05hTigpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXBwbHlNYXNrKHZhbHVlLCBjb25maWdzLCBpc051bWJlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==