@jooler/inputs 0.0.49 → 0.0.50

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.
@@ -8,25 +8,24 @@ import * as i3 from "@angular/forms";
8
8
  import * as i4 from "@jooler/shared-general-components";
9
9
  export class ChooseEnumComponent {
10
10
  constructor() {
11
- this.change = new EventEmitter();
12
- this.close = new EventEmitter();
13
- this.label = 'label';
14
11
  this.appendTo = 'body';
15
12
  this.allowAllCapsValues = false;
16
- this.getValuesArrayFromEnum = EnumHelperBaseClass.getValuesArrayFromEnum;
17
- this.isChip = true;
18
- this.labelTextAlign = 'left';
13
+ this.clearable = true;
14
+ this.getValuesArrayFromEnum = EnumHelperBaseClass.getEnumOptionsFromEnumClass;
19
15
  this.indexesToDisable = [];
16
+ this.isChip = true;
20
17
  this.isDropdownDisabled = false;
18
+ this.label = 'label';
19
+ this.labelTextAlign = 'left';
21
20
  this.percentWidth = false;
22
- this.clearable = true;
23
- this.colors = [];
21
+ this.change = new EventEmitter();
22
+ this.close = new EventEmitter();
24
23
  this.propagateChange = (_) => { };
25
24
  this.propogateTouch = () => { };
26
25
  }
27
26
  ngOnChanges() {
28
27
  if (this.getValuesArrayFromEnum != null) {
29
- this.items = this.getValuesArrayFromEnum(this.enumChoices, this.allowAllCapsValues);
28
+ this.items = this.getValuesArrayFromEnum(this.enumChoices, this.customColors, this.allowAllCapsValues);
30
29
  }
31
30
  if (this.isItemDisabled == true) {
32
31
  if (this.indexesToDisable.length > 0) {
@@ -38,7 +37,7 @@ export class ChooseEnumComponent {
38
37
  if (this.isItemHidden == true) {
39
38
  if (this.indexesToDisable.length > 0) {
40
39
  for (let index of this.indexesToDisable) {
41
- let itemIndex = this.items.findIndex(item => item.value == index);
40
+ let itemIndex = this.items.findIndex((item) => item.value == index);
42
41
  this.items.splice(itemIndex, 1);
43
42
  }
44
43
  }
@@ -46,7 +45,7 @@ export class ChooseEnumComponent {
46
45
  }
47
46
  ngOnInit() {
48
47
  if (this.getValuesArrayFromEnum != null) {
49
- this.items = this.getValuesArrayFromEnum(this.enumChoices, this.allowAllCapsValues);
48
+ this.items = this.getValuesArrayFromEnum(this.enumChoices, this.customColors, this.allowAllCapsValues);
50
49
  }
51
50
  if (this.isItemDisabled == true) {
52
51
  if (this.indexesToDisable.length > 0) {
@@ -58,7 +57,7 @@ export class ChooseEnumComponent {
58
57
  if (this.isItemHidden == true) {
59
58
  if (this.indexesToDisable.length > 0) {
60
59
  for (let index of this.indexesToDisable) {
61
- let itemIndex = this.items.findIndex(item => item.value == index);
60
+ let itemIndex = this.items.findIndex((item) => item.value == index);
62
61
  this.items.splice(itemIndex, 1);
63
62
  }
64
63
  }
@@ -111,13 +110,13 @@ export class ChooseEnumComponent {
111
110
  }
112
111
  }
113
112
  ChooseEnumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChooseEnumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
- ChooseEnumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ChooseEnumComponent, selector: "choose-enum", inputs: { label: "label", appendTo: "appendTo", allowAllCapsValues: "allowAllCapsValues", isItemHidden: "isItemHidden", isItemDisabled: "isItemDisabled", enumChoices: "enumChoices", getValuesArrayFromEnum: "getValuesArrayFromEnum", isChip: "isChip", isMultiple: "isMultiple", placeholder: "placeholder", width: "width", paddingTop: "paddingTop", labelTextAlign: "labelTextAlign", labelTextFontWeight: "labelTextFontWeight", labelTextFontSize: "labelTextFontSize", selectedItem: "selectedItem", indexesToDisable: "indexesToDisable", isDropdownDisabled: "isDropdownDisabled", percentWidth: "percentWidth", clearable: "clearable" }, outputs: { change: "change", close: "close" }, providers: [
113
+ ChooseEnumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ChooseEnumComponent, selector: "choose-enum", inputs: { appendTo: "appendTo", allowAllCapsValues: "allowAllCapsValues", clearable: "clearable", customColors: "customColors", enumChoices: "enumChoices", getValuesArrayFromEnum: "getValuesArrayFromEnum", indexesToDisable: "indexesToDisable", isChip: "isChip", isDropdownDisabled: "isDropdownDisabled", isItemHidden: "isItemHidden", isItemDisabled: "isItemDisabled", isMultiple: "isMultiple", label: "label", labelTextAlign: "labelTextAlign", labelTextFontWeight: "labelTextFontWeight", labelTextFontSize: "labelTextFontSize", paddingTop: "paddingTop", placeholder: "placeholder", percentWidth: "percentWidth", selectedItem: "selectedItem", width: "width" }, outputs: { change: "change", close: "close" }, providers: [
115
114
  {
116
115
  provide: NG_VALUE_ACCESSOR,
117
116
  useExisting: forwardRef(() => ChooseEnumComponent),
118
117
  multi: true,
119
118
  },
120
- ], usesOnChanges: true, ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [clearable]=\"clearable\"\r\n [clearAllText]=\"'clear everything'\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\"> </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".select{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }] });
119
+ ], usesOnChanges: true, ngImport: i0, template: "<div class=\"select\">\r\n <ng-select\r\n [ngStyle]=\"setStyles()\"\r\n (blur)=\"updateBlur()\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [items]=\"items\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\"\r\n [disabled]=\"isDropdownDisabled\"\r\n [clearable]=\"clearable\"\r\n [clearAllText]=\"'clear everything'\"\r\n (clear)=\"clear()\"\r\n [appendTo]=\"appendTo\"\r\n dropdownPosition=\"bottom\">\r\n <ng-template\r\n class=\"template\"\r\n ng-option-tmp\r\n ng-label-tmp\r\n let-item=\"item\"\r\n let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\" [customColors]=\"customColors\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [".select{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "customColors", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }] });
121
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChooseEnumComponent, decorators: [{
122
121
  type: Component,
123
122
  args: [{ selector: 'choose-enum', providers: [
@@ -126,34 +125,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
126
125
  useExisting: forwardRef(() => ChooseEnumComponent),
127
126
  multi: true,
128
127
  },
129
- ], template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [clearable]=\"clearable\"\r\n [clearAllText]=\"'clear everything'\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\"> </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".select{width:100%}\n"] }]
130
- }], ctorParameters: function () { return []; }, propDecorators: { change: [{
131
- type: Output
132
- }], close: [{
133
- type: Output
134
- }], label: [{
135
- type: Input
136
- }], appendTo: [{
128
+ ], template: "<div class=\"select\">\r\n <ng-select\r\n [ngStyle]=\"setStyles()\"\r\n (blur)=\"updateBlur()\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [items]=\"items\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\"\r\n [disabled]=\"isDropdownDisabled\"\r\n [clearable]=\"clearable\"\r\n [clearAllText]=\"'clear everything'\"\r\n (clear)=\"clear()\"\r\n [appendTo]=\"appendTo\"\r\n dropdownPosition=\"bottom\">\r\n <ng-template\r\n class=\"template\"\r\n ng-option-tmp\r\n ng-label-tmp\r\n let-item=\"item\"\r\n let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\" [customColors]=\"customColors\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [".select{width:100%}\n"] }]
129
+ }], ctorParameters: function () { return []; }, propDecorators: { appendTo: [{
137
130
  type: Input
138
131
  }], allowAllCapsValues: [{
139
132
  type: Input
140
- }], isItemHidden: [{
133
+ }], clearable: [{
141
134
  type: Input
142
- }], isItemDisabled: [{
135
+ }], customColors: [{
143
136
  type: Input
144
137
  }], enumChoices: [{
145
138
  type: Input
146
139
  }], getValuesArrayFromEnum: [{
147
140
  type: Input
141
+ }], indexesToDisable: [{
142
+ type: Input
148
143
  }], isChip: [{
149
144
  type: Input
150
- }], isMultiple: [{
145
+ }], isDropdownDisabled: [{
151
146
  type: Input
152
- }], placeholder: [{
147
+ }], isItemHidden: [{
153
148
  type: Input
154
- }], width: [{
149
+ }], isItemDisabled: [{
155
150
  type: Input
156
- }], paddingTop: [{
151
+ }], isMultiple: [{
152
+ type: Input
153
+ }], label: [{
157
154
  type: Input
158
155
  }], labelTextAlign: [{
159
156
  type: Input
@@ -161,15 +158,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
161
158
  type: Input
162
159
  }], labelTextFontSize: [{
163
160
  type: Input
164
- }], selectedItem: [{
165
- type: Input
166
- }], indexesToDisable: [{
161
+ }], paddingTop: [{
167
162
  type: Input
168
- }], isDropdownDisabled: [{
163
+ }], placeholder: [{
169
164
  type: Input
170
165
  }], percentWidth: [{
171
166
  type: Input
172
- }], clearable: [{
167
+ }], selectedItem: [{
173
168
  type: Input
169
+ }], width: [{
170
+ type: Input
171
+ }], change: [{
172
+ type: Output
173
+ }], close: [{
174
+ type: Output
174
175
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFjdEUsTUFBTSxPQUFPLG1CQUFtQjtJQTBCOUI7UUF4QlUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUN4QixhQUFRLEdBQVcsTUFBTSxDQUFDO1FBQzFCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQywyQkFBc0IsR0FBYSxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQztRQUM5RSxXQUFNLEdBQVksSUFBSSxDQUFDO1FBS3ZCLG1CQUFjLEdBQVcsTUFBTSxDQUFDO1FBSWhDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUNuQyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBK0RkLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNs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QjtrQkFaL0IsU0FBUzsrQkFDRSxhQUFhLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUlTLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRW51bUhlbHBlckJhc2VDbGFzcyB9IGZyb20gJy4uL21vZGVscy9lbnVtLWhlbHBlci1mdW5jdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjaG9vc2UtZW51bScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nob29zZS1lbnVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaG9vc2UtZW51bS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hvb3NlRW51bUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvb3NlRW51bUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xyXG4gIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgPSAnYm9keSc7XHJcbiAgQElucHV0KCkgYWxsb3dBbGxDYXBzVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNJdGVtSGlkZGVuOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzSXRlbURpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVudW1DaG9pY2VzOiBhbnk7XHJcbiAgQElucHV0KCkgZ2V0VmFsdWVzQXJyYXlGcm9tRW51bTogRnVuY3Rpb24gPSBFbnVtSGVscGVyQmFzZUNsYXNzLmdldFZhbHVlc0FycmF5RnJvbUVudW07XHJcbiAgQElucHV0KCkgaXNDaGlwOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBwYWRkaW5nVG9wOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbGFiZWxUZXh0QWxpZ246IHN0cmluZyA9ICdsZWZ0JztcclxuICBASW5wdXQoKSBsYWJlbFRleHRGb250V2VpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxUZXh0Rm9udFNpemU6IHN0cmluZztcclxuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBASW5wdXQoKSBpbmRleGVzVG9EaXNhYmxlOiBudW1iZXJbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzRHJvcGRvd25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBlcmNlbnRXaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLmdldFZhbHVlc0FycmF5RnJvbUVudW0gIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtKHRoaXMuZW51bUNob2ljZXMsIHRoaXMuYWxsb3dBbGxDYXBzVmFsdWVzKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkID09IHRydWUpIHtcclxuICAgICAgaWYgKHRoaXMuaW5kZXhlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5pbmRleGVzVG9EaXNhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zW2luZGV4XS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1IaWRkZW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5pbmRleGVzVG9EaXNhYmxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCBvZiB0aGlzLmluZGV4ZXNUb0Rpc2FibGUpIHtcclxuICAgICAgICAgIGxldCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0udmFsdWUgPT0gaW5kZXgpO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaXRlbUluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZ2V0VmFsdWVzQXJyYXlGcm9tRW51bSAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmdldFZhbHVlc0FycmF5RnJvbUVudW0odGhpcy5lbnVtQ2hvaWNlcywgdGhpcy5hbGxvd0FsbENhcHNWYWx1ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkID09IHRydWUpIHtcclxuICAgICAgaWYgKHRoaXMuaW5kZXhlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5pbmRleGVzVG9EaXNhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zW2luZGV4XS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1IaWRkZW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5pbmRleGVzVG9EaXNhYmxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCBvZiB0aGlzLmluZGV4ZXNUb0Rpc2FibGUpIHtcclxuICAgICAgICAgIGxldCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0udmFsdWUgPT0gaW5kZXgpO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaXRlbUluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0eXBlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0eXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuICBwcml2YXRlIHByb3BvZ2F0ZVRvdWNoID0gKCkgPT4geyB9O1xyXG5cclxuICB1cGRhdGVCbHVyKCkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCgpO1xyXG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGVkSXRlbUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0Ryb3Bkb3duRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZXMoKSB7XHJcbiAgICBsZXQgc3R5bGUgPSB7XHJcbiAgICAgIHBhZGRpbmdUb3A6IHRoaXMucGFkZGluZ1RvcCArICdyZW0nLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgIHN0eWxlWyd3aWR0aCddID0gdGhpcy53aWR0aCArICdyZW0nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFiZWxTdHlsZSgpIHtcclxuICAgIGxldCBzdHlsZSA9IHtcclxuICAgICAgdGV4dEFsaWduOiB0aGlzLmxhYmVsVGV4dEFsaWduLFxyXG4gICAgICBmb250V2VpZ2h0OiB0aGlzLmxhYmVsVGV4dEZvbnRXZWlnaHQsXHJcbiAgICAgIGZvbnRTaXplOiB0aGlzLmxhYmVsVGV4dEZvbnRTaXplICsgJ3JlbScsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XHJcbiAgICA8bmctc2VsZWN0IFtuZ1N0eWxlXT1cInNldFN0eWxlcygpXCIgKGJsdXIpPVwidXBkYXRlQmx1cigpXCIgYmluZExhYmVsPVwibGFiZWxcIiBiaW5kVmFsdWU9XCJ2YWx1ZVwiIFtpdGVtc109XCJpdGVtc1wiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGNoYW5nZSk9XCJvblNlbGVjdGVkSXRlbUNoYW5nZWQoKVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgICAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aXBsZVwiIFtkaXNhYmxlZF09XCJpc0Ryb3Bkb3duRGlzYWJsZWRcIiBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXHJcbiAgICAgICAgW2NsZWFyQWxsVGV4dF09XCInY2xlYXIgZXZlcnl0aGluZydcIiAoY2xlYXIpPVwiY2xlYXIoKVwiIFthcHBlbmRUb109XCJhcHBlbmRUb1wiIGRyb3Bkb3duUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgY2xhc3M9XCJ0ZW1wbGF0ZVwiIG5nLW9wdGlvbi10bXAgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgICAgICAgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNoaXAgW2VudW1DbGFzc109XCJlbnVtQ2hvaWNlc1wiIFtlbnVtVmFsdWVdPVwiaXRlbS52YWx1ZVwiPiA8L25nLWNoaXA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldExhYmVsU3R5bGUoKVwiICpuZ0lmPVwiIWlzQ2hpcFwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1zZWxlY3Q+XHJcbjwvZGl2PiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFjdEUsTUFBTSxPQUFPLG1CQUFtQjtJQTZCOUI7UUF6QlMsYUFBUSxHQUFXLE1BQU0sQ0FBQztRQUMxQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQiwyQkFBc0IsR0FDN0IsbUJBQW1CLENBQUMsMkJBQTJCLENBQUM7UUFDekMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDdkIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBSXBDLFVBQUssR0FBVyxPQUFPLENBQUM7UUFDeEIsbUJBQWMsR0FBVyxNQUFNLENBQUM7UUFLaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHN0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUF1RTdCLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNqQyxtQkFBYyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQXRFbkIsQ0FBQztJQUVoQixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUN0QyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQ3hCLENBQUM7U0FDSDtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDcEMsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztpQkFDbkM7YUFDRjtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDdkMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUM7b0JBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDakM7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2lCQUNuQzthQUNGO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUN2QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNqQzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxJQUFJLElBQUksU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUtELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxLQUFLLEdBQUc7WUFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLO1NBQ3BDLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDckM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxLQUFLLEdBQUc7WUFDVixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDOUIsVUFBVSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7WUFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLO1NBQ3pDLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dIQXhJVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5dUJBUm5CO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLCtDQ3RCSCx3aENBZ0NBOzJGRFJhLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxhQUFhLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQU1RLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbnVtSGVscGVyQmFzZUNsYXNzIH0gZnJvbSAnLi4vbW9kZWxzL2VudW0taGVscGVyLWZ1bmN0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nob29zZS1lbnVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hvb3NlLWVudW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nob29zZS1lbnVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaG9vc2VFbnVtQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9vc2VFbnVtQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIGl0ZW1zOiBhbnlbXTtcclxuICBASW5wdXQoKSBhcHBlbmRUbzogc3RyaW5nID0gJ2JvZHknO1xyXG4gIEBJbnB1dCgpIGFsbG93QWxsQ2Fwc1ZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY3VzdG9tQ29sb3JzOiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBlbnVtQ2hvaWNlczogYW55O1xyXG4gIEBJbnB1dCgpIGdldFZhbHVlc0FycmF5RnJvbUVudW06IEZ1bmN0aW9uID1cclxuICAgIEVudW1IZWxwZXJCYXNlQ2xhc3MuZ2V0RW51bU9wdGlvbnNGcm9tRW51bUNsYXNzO1xyXG4gIEBJbnB1dCgpIGluZGV4ZXNUb0Rpc2FibGU6IG51bWJlcltdID0gW107XHJcbiAgQElucHV0KCkgaXNDaGlwOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc0Ryb3Bkb3duRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0l0ZW1IaWRkZW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNJdGVtRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNNdWx0aXBsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBsYWJlbFRleHRBbGlnbjogc3RyaW5nID0gJ2xlZnQnO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dEZvbnRXZWlnaHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbFRleHRGb250U2l6ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBhZGRpbmdUb3A6IG51bWJlcjtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBlcmNlbnRXaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZ2V0VmFsdWVzQXJyYXlGcm9tRW51bShcclxuICAgICAgICB0aGlzLmVudW1DaG9pY2VzLFxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sb3JzLFxyXG4gICAgICAgIHRoaXMuYWxsb3dBbGxDYXBzVmFsdWVzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZCA9PSB0cnVlKSB7XHJcbiAgICAgIGlmICh0aGlzLmluZGV4ZXNUb0Rpc2FibGUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGluZGV4IG9mIHRoaXMuaW5kZXhlc1RvRGlzYWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5pdGVtc1tpbmRleF0uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNJdGVtSGlkZGVuID09IHRydWUpIHtcclxuICAgICAgaWYgKHRoaXMuaW5kZXhlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5pbmRleGVzVG9EaXNhYmxlKSB7XHJcbiAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT0gaW5kZXgpO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaXRlbUluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZ2V0VmFsdWVzQXJyYXlGcm9tRW51bSAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmdldFZhbHVlc0FycmF5RnJvbUVudW0oXHJcbiAgICAgICAgdGhpcy5lbnVtQ2hvaWNlcyxcclxuICAgICAgICB0aGlzLmN1c3RvbUNvbG9ycyxcclxuICAgICAgICB0aGlzLmFsbG93QWxsQ2Fwc1ZhbHVlc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkID09IHRydWUpIHtcclxuICAgICAgaWYgKHRoaXMuaW5kZXhlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5pbmRleGVzVG9EaXNhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zW2luZGV4XS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1IaWRkZW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5pbmRleGVzVG9EaXNhYmxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCBvZiB0aGlzLmluZGV4ZXNUb0Rpc2FibGUpIHtcclxuICAgICAgICAgIGxldCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PSBpbmRleCk7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShpdGVtSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHR5cGU7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHR5cGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMucHJvcG9nYXRlVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XHJcbiAgcHJpdmF0ZSBwcm9wb2dhdGVUb3VjaCA9ICgpID0+IHt9O1xyXG5cclxuICB1cGRhdGVCbHVyKCkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCgpO1xyXG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGVkSXRlbUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0Ryb3Bkb3duRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZXMoKSB7XHJcbiAgICBsZXQgc3R5bGUgPSB7XHJcbiAgICAgIHBhZGRpbmdUb3A6IHRoaXMucGFkZGluZ1RvcCArICdyZW0nLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgIHN0eWxlWyd3aWR0aCddID0gdGhpcy53aWR0aCArICdyZW0nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFiZWxTdHlsZSgpIHtcclxuICAgIGxldCBzdHlsZSA9IHtcclxuICAgICAgdGV4dEFsaWduOiB0aGlzLmxhYmVsVGV4dEFsaWduLFxyXG4gICAgICBmb250V2VpZ2h0OiB0aGlzLmxhYmVsVGV4dEZvbnRXZWlnaHQsXHJcbiAgICAgIGZvbnRTaXplOiB0aGlzLmxhYmVsVGV4dEZvbnRTaXplICsgJ3JlbScsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XHJcbiAgPG5nLXNlbGVjdFxyXG4gICAgW25nU3R5bGVdPVwic2V0U3R5bGVzKClcIlxyXG4gICAgKGJsdXIpPVwidXBkYXRlQmx1cigpXCJcclxuICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcclxuICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuICAgIFtpdGVtc109XCJpdGVtc1wiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgKGNoYW5nZSk9XCJvblNlbGVjdGVkSXRlbUNoYW5nZWQoKVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aXBsZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEcm9wZG93bkRpc2FibGVkXCJcclxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgIFtjbGVhckFsbFRleHRdPVwiJ2NsZWFyIGV2ZXJ5dGhpbmcnXCJcclxuICAgIChjbGVhcik9XCJjbGVhcigpXCJcclxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXHJcbiAgICBkcm9wZG93blBvc2l0aW9uPVwiYm90dG9tXCI+XHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZVwiXHJcbiAgICAgIG5nLW9wdGlvbi10bXBcclxuICAgICAgbmctbGFiZWwtdG1wXHJcbiAgICAgIGxldC1pdGVtPVwiaXRlbVwiXHJcbiAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzQ2hpcFwiPlxyXG4gICAgICAgIDxuZy1jaGlwIFtlbnVtQ2xhc3NdPVwiZW51bUNob2ljZXNcIiBbZW51bVZhbHVlXT1cIml0ZW0udmFsdWVcIiBbY3VzdG9tQ29sb3JzXT1cImN1c3RvbUNvbG9yc1wiPlxyXG4gICAgICAgIDwvbmctY2hpcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgW25nU3R5bGVdPVwic2V0TGFiZWxTdHlsZSgpXCIgKm5nSWY9XCIhaXNDaGlwXCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXNlbGVjdD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -18,7 +18,7 @@ export class ChooseEnumRendererComponent {
18
18
  }
19
19
  }
20
20
  ChooseEnumRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChooseEnumRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- ChooseEnumRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ChooseEnumRendererComponent, selector: "choose-enum-renderer", ngImport: i0, template: "<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>", styles: [""], dependencies: [{ kind: "component", type: i1.ChooseEnumComponent, selector: "choose-enum", inputs: ["label", "appendTo", "allowAllCapsValues", "isItemHidden", "isItemDisabled", "enumChoices", "getValuesArrayFromEnum", "isChip", "isMultiple", "placeholder", "width", "paddingTop", "labelTextAlign", "labelTextFontWeight", "labelTextFontSize", "selectedItem", "indexesToDisable", "isDropdownDisabled", "percentWidth", "clearable"], outputs: ["change", "close"] }] });
21
+ ChooseEnumRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ChooseEnumRendererComponent, selector: "choose-enum-renderer", ngImport: i0, template: "<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>", styles: [""], dependencies: [{ kind: "component", type: i1.ChooseEnumComponent, selector: "choose-enum", inputs: ["appendTo", "allowAllCapsValues", "clearable", "customColors", "enumChoices", "getValuesArrayFromEnum", "indexesToDisable", "isChip", "isDropdownDisabled", "isItemHidden", "isItemDisabled", "isMultiple", "label", "labelTextAlign", "labelTextFontWeight", "labelTextFontSize", "paddingTop", "placeholder", "percentWidth", "selectedItem", "width"], outputs: ["change", "close"] }] });
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChooseEnumRendererComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'choose-enum-renderer', template: "<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>" }]
@@ -75,7 +75,7 @@ ChooseGeneralItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
75
75
  useExisting: forwardRef(() => ChooseGeneralItemComponent),
76
76
  multi: true,
77
77
  },
78
- ], ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [hideSelected]=\"hideSelectedItem\" [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\"\r\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n bindValue=\"id\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
78
+ ], ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [hideSelected]=\"hideSelectedItem\" [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\"\r\n [disabled]=\"disabled\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\" (blur)=\"updateBlur()\" [bindLabel]=\"label\"\r\n bindValue=\"id\" [compareWith]=\"\" [items]=\"items\" [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged($event)\" [(ngModel)]=\"selectedItemId\" [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "customColors", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChooseGeneralItemComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'choose-general-item', providers: [
@@ -79,4 +79,26 @@ CustomTheme.$joolerPurple = [
79
79
  '#ffffff',
80
80
  '#fcecff',
81
81
  ];
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY3VzdG9tLXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXOztBQUNmLHVCQUFXLEdBQUc7SUFDbkIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDO0FBQ0ssdUJBQVcsR0FBRztJQUNuQixTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQztBQUNLLHNCQUFVLEdBQUc7SUFDbEIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDO0FBQ0ssdUJBQVcsR0FBRztJQUNuQixTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztDQUNWLENBQUM7QUFDSyx5QkFBYSxHQUFHO0lBQ3JCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDdXN0b21UaGVtZSB7XHJcbiAgc3RhdGljICRqb29sZXJCbHVlID0gW1xyXG4gICAgJyNlM2VjZmEnLFxyXG4gICAgJyNiOWNmZjInLFxyXG4gICAgJyM4YWFmZWEnLFxyXG4gICAgJyM1YjhlZTEnLFxyXG4gICAgJyMzODc2ZGEnLFxyXG4gICAgJyMxNTVlZDQnLFxyXG4gICAgJyMxMjU2Y2YnLFxyXG4gICAgJyMwZjRjYzknLFxyXG4gICAgJyMwYzQyYzMnLFxyXG4gICAgJyMwNjMxYjknLFxyXG4gICAgJyNlM2U4ZmYnLFxyXG4gICAgJyNiMGJmZmYnLFxyXG4gICAgJyM3ZDk1ZmYnLFxyXG4gICAgJyM2NDgxZmYnLFxyXG4gIF07XHJcbiAgc3RhdGljICRqb29sZXJUZWFsID0gW1xyXG4gICAgJyNiOGRmZDgnLFxyXG4gICAgJyM4OWNhYmYnLFxyXG4gICAgJyM1OWI1YTUnLFxyXG4gICAgJyMzNmE1OTEnLFxyXG4gICAgJyMxMjk1N2UnLFxyXG4gICAgJyMxMDhkNzYnLFxyXG4gICAgJyMwZDgyNmInLFxyXG4gICAgJyMwYTc4NjEnLFxyXG4gICAgJyMwNTY3NGUnLFxyXG4gICAgJyM5N2ZmZTEnLFxyXG4gICAgJyM2NGZmZDInLFxyXG4gICAgJyMzMWZmYzMnLFxyXG4gICAgJyMxOGZmYmMnLFxyXG4gIF07XHJcbiAgc3RhdGljICRqb29sZXJSZWQgPSBbXHJcbiAgICAnI2Y1ZTBlMScsXHJcbiAgICAnI2U1YjNiMycsXHJcbiAgICAnI2Q0ODA4MScsXHJcbiAgICAnI2MyNGQ0ZScsXHJcbiAgICAnI2I1MjYyOCcsXHJcbiAgICAnI2E4MDAwMicsXHJcbiAgICAnI2EwMDAwMicsXHJcbiAgICAnIzk3MDAwMScsXHJcbiAgICAnIzhkMDAwMScsXHJcbiAgICAnIzdkMDAwMScsXHJcbiAgICAnI2ZmYWFhYScsXHJcbiAgICAnI2ZmNzc3NycsXHJcbiAgICAnI2ZmNDQ0NCcsXHJcbiAgICAnI2ZmMmEyYScsXHJcbiAgXTtcclxuICBzdGF0aWMgJGpvb2xlclBpbmsgPSBbXHJcbiAgICAnI2ZkZWFmMycsXHJcbiAgICAnI2ZiY2JlMScsXHJcbiAgICAnI2Y4YThjZScsXHJcbiAgICAnI2Y1ODViYScsXHJcbiAgICAnI2YyNmFhYicsXHJcbiAgICAnI2YwNTA5YycsXHJcbiAgICAnI2VlNDk5NCcsXHJcbiAgICAnI2VjNDA4YScsXHJcbiAgICAnI2U5Mzc4MCcsXHJcbiAgICAnI2U1Mjc2ZScsXHJcbiAgICAnI2ZmZmZmZicsXHJcbiAgICAnI2ZmZWVmNCcsXHJcbiAgICAnI2ZmYmJkMycsXHJcbiAgICAnI2ZmYTFjMicsXHJcbiAgXTtcclxuICBzdGF0aWMgJGpvb2xlclB1cnBsZSA9IFtcclxuICAgICcjZmNmNmZkJyxcclxuICAgICcjZjdlOGY5JyxcclxuICAgICcjZjFkOGY1JyxcclxuICAgICcjZWJjOGYxJyxcclxuICAgICcjZTdiZGVlJyxcclxuICAgICcjZTNiMWViJyxcclxuICAgICcjZTBhYWU5JyxcclxuICAgICcjZGNhMWU1JyxcclxuICAgICcjZDg5OGUyJyxcclxuICAgICcjZDA4OGRkJyxcclxuICAgICcjZmZmZmZmJyxcclxuICAgICcjZmZmZmZmJyxcclxuICAgICcjZmZmZmZmJyxcclxuICAgICcjZmNlY2ZmJyxcclxuICBdO1xyXG59XHJcbiJdfQ==
82
+ CustomTheme.$joolerCombo = [
83
+ '#b9cff2',
84
+ '#b8dfd8',
85
+ '#ffaaaa',
86
+ '#fbcbe1',
87
+ '#f1d8f5',
88
+ '#8aafea',
89
+ '#97ffe1',
90
+ '#ff7777',
91
+ '#f585ba',
92
+ '#e7bdee',
93
+ '#6481ff',
94
+ '#18ffbc',
95
+ '#ff4444',
96
+ '#ffa1c2',
97
+ '#e0aae9',
98
+ '#1256cf',
99
+ '#108d76',
100
+ '#df0000',
101
+ '#ec408a',
102
+ '#d088dd',
103
+ ];
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY3VzdG9tLXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXOztBQUNmLHVCQUFXLEdBQUc7SUFDbkIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDO0FBQ0ssdUJBQVcsR0FBRztJQUNuQixTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQztBQUNLLHNCQUFVLEdBQUc7SUFDbEIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDO0FBQ0ssdUJBQVcsR0FBRztJQUNuQixTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztDQUNWLENBQUM7QUFDSyx5QkFBYSxHQUFHO0lBQ3JCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQztBQUNLLHdCQUFZLEdBQUc7SUFDcEIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEN1c3RvbVRoZW1lIHtcclxuICBzdGF0aWMgJGpvb2xlckJsdWUgPSBbXHJcbiAgICAnI2UzZWNmYScsXHJcbiAgICAnI2I5Y2ZmMicsXHJcbiAgICAnIzhhYWZlYScsXHJcbiAgICAnIzViOGVlMScsXHJcbiAgICAnIzM4NzZkYScsXHJcbiAgICAnIzE1NWVkNCcsXHJcbiAgICAnIzEyNTZjZicsXHJcbiAgICAnIzBmNGNjOScsXHJcbiAgICAnIzBjNDJjMycsXHJcbiAgICAnIzA2MzFiOScsXHJcbiAgICAnI2UzZThmZicsXHJcbiAgICAnI2IwYmZmZicsXHJcbiAgICAnIzdkOTVmZicsXHJcbiAgICAnIzY0ODFmZicsXHJcbiAgXTtcclxuICBzdGF0aWMgJGpvb2xlclRlYWwgPSBbXHJcbiAgICAnI2I4ZGZkOCcsXHJcbiAgICAnIzg5Y2FiZicsXHJcbiAgICAnIzU5YjVhNScsXHJcbiAgICAnIzM2YTU5MScsXHJcbiAgICAnIzEyOTU3ZScsXHJcbiAgICAnIzEwOGQ3NicsXHJcbiAgICAnIzBkODI2YicsXHJcbiAgICAnIzBhNzg2MScsXHJcbiAgICAnIzA1Njc0ZScsXHJcbiAgICAnIzk3ZmZlMScsXHJcbiAgICAnIzY0ZmZkMicsXHJcbiAgICAnIzMxZmZjMycsXHJcbiAgICAnIzE4ZmZiYycsXHJcbiAgXTtcclxuICBzdGF0aWMgJGpvb2xlclJlZCA9IFtcclxuICAgICcjZjVlMGUxJyxcclxuICAgICcjZTViM2IzJyxcclxuICAgICcjZDQ4MDgxJyxcclxuICAgICcjYzI0ZDRlJyxcclxuICAgICcjYjUyNjI4JyxcclxuICAgICcjYTgwMDAyJyxcclxuICAgICcjYTAwMDAyJyxcclxuICAgICcjOTcwMDAxJyxcclxuICAgICcjOGQwMDAxJyxcclxuICAgICcjN2QwMDAxJyxcclxuICAgICcjZmZhYWFhJyxcclxuICAgICcjZmY3Nzc3JyxcclxuICAgICcjZmY0NDQ0JyxcclxuICAgICcjZmYyYTJhJyxcclxuICBdO1xyXG4gIHN0YXRpYyAkam9vbGVyUGluayA9IFtcclxuICAgICcjZmRlYWYzJyxcclxuICAgICcjZmJjYmUxJyxcclxuICAgICcjZjhhOGNlJyxcclxuICAgICcjZjU4NWJhJyxcclxuICAgICcjZjI2YWFiJyxcclxuICAgICcjZjA1MDljJyxcclxuICAgICcjZWU0OTk0JyxcclxuICAgICcjZWM0MDhhJyxcclxuICAgICcjZTkzNzgwJyxcclxuICAgICcjZTUyNzZlJyxcclxuICAgICcjZmZmZmZmJyxcclxuICAgICcjZmZlZWY0JyxcclxuICAgICcjZmZiYmQzJyxcclxuICAgICcjZmZhMWMyJyxcclxuICBdO1xyXG4gIHN0YXRpYyAkam9vbGVyUHVycGxlID0gW1xyXG4gICAgJyNmY2Y2ZmQnLFxyXG4gICAgJyNmN2U4ZjknLFxyXG4gICAgJyNmMWQ4ZjUnLFxyXG4gICAgJyNlYmM4ZjEnLFxyXG4gICAgJyNlN2JkZWUnLFxyXG4gICAgJyNlM2IxZWInLFxyXG4gICAgJyNlMGFhZTknLFxyXG4gICAgJyNkY2ExZTUnLFxyXG4gICAgJyNkODk4ZTInLFxyXG4gICAgJyNkMDg4ZGQnLFxyXG4gICAgJyNmZmZmZmYnLFxyXG4gICAgJyNmZmZmZmYnLFxyXG4gICAgJyNmZmZmZmYnLFxyXG4gICAgJyNmY2VjZmYnLFxyXG4gIF07XHJcbiAgc3RhdGljICRqb29sZXJDb21ibyA9IFtcclxuICAgICcjYjljZmYyJyxcclxuICAgICcjYjhkZmQ4JyxcclxuICAgICcjZmZhYWFhJyxcclxuICAgICcjZmJjYmUxJyxcclxuICAgICcjZjFkOGY1JyxcclxuICAgICcjOGFhZmVhJyxcclxuICAgICcjOTdmZmUxJyxcclxuICAgICcjZmY3Nzc3JyxcclxuICAgICcjZjU4NWJhJyxcclxuICAgICcjZTdiZGVlJyxcclxuICAgICcjNjQ4MWZmJyxcclxuICAgICcjMThmZmJjJyxcclxuICAgICcjZmY0NDQ0JyxcclxuICAgICcjZmZhMWMyJyxcclxuICAgICcjZTBhYWU5JyxcclxuICAgICcjMTI1NmNmJyxcclxuICAgICcjMTA4ZDc2JyxcclxuICAgICcjZGYwMDAwJyxcclxuICAgICcjZWM0MDhhJyxcclxuICAgICcjZDA4OGRkJyxcclxuICBdO1xyXG59XHJcbiJdfQ==
@@ -1,18 +1,22 @@
1
1
  import { CustomTheme } from "../custom-theme";
2
2
  export class EnumHelperBaseClass {
3
- static getValuesArrayFromEnum(enumOptions, isAllCaps) {
4
- let colors = CustomTheme.$joolerBlue;
3
+ static getEnumOptionsFromEnumClass(enumClass, customColors, isAllCaps) {
4
+ let colors = CustomTheme.$joolerCombo;
5
+ if (customColors && customColors.length > 0) {
6
+ colors = customColors;
7
+ }
5
8
  let stringValues = [];
6
- let enumObject;
7
- let enumObjects = [];
8
- for (let item in enumOptions) {
9
+ let enumOption;
10
+ let enumOptions = [];
11
+ for (let item in enumClass) {
9
12
  if (isNaN(Number(item))) {
10
13
  let joinedString;
11
14
  stringValues.push(item);
12
15
  let splitStr = item.toLowerCase().split('_');
13
16
  if (!isAllCaps) {
14
17
  for (let i = 0; i < splitStr.length; i++) {
15
- splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
18
+ splitStr[i] =
19
+ splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
16
20
  }
17
21
  }
18
22
  else {
@@ -26,28 +30,28 @@ export class EnumHelperBaseClass {
26
30
  }
27
31
  let repeatedColors = [];
28
32
  let i = 0;
29
- for (let value of stringValues) {
33
+ for (let label of stringValues) {
30
34
  // in case the array of colors is smaller than the stringValues array, we repeat the the colors so that they are enough
31
- repeatedColors.push(colors[stringValues.indexOf(value) % colors.length]);
32
- enumObject = {
33
- value: Object.keys(enumOptions).map(Number)[i],
34
- label: value,
35
+ repeatedColors.push(colors[stringValues.indexOf(label) % colors.length]);
36
+ enumOption = {
37
+ value: Object.keys(enumClass).map(Number)[i],
38
+ label: label,
35
39
  color: repeatedColors[i],
36
40
  };
37
- enumObjects.push(enumObject);
41
+ enumOptions.push(enumOption);
38
42
  i++;
39
43
  }
40
- return enumObjects;
44
+ return enumOptions;
41
45
  }
42
- static getLabelAndColorFromEnumValue(enumOptions, enumValue) {
43
- let enumObjects = EnumHelperBaseClass.getValuesArrayFromEnum(enumOptions);
44
- let enumObject;
45
- for (let item of enumObjects) {
46
+ static getLabelAndColorFromEnumValue(enumClass, enumValue, customColors) {
47
+ let enumOptions = EnumHelperBaseClass.getEnumOptionsFromEnumClass(enumClass, customColors);
48
+ let enumOption;
49
+ for (let item of enumOptions) {
46
50
  if (enumValue == item.value) {
47
- enumObject = enumObjects[enumObjects.indexOf(item)];
51
+ enumOption = enumOptions[enumOptions.indexOf(item)];
48
52
  }
49
53
  }
50
- return enumObject;
54
+ return enumOption;
51
55
  }
52
56
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1oZWxwZXItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvbW9kZWxzL2VudW0taGVscGVyLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsc0JBQXNCLENBQUMsV0FBZ0IsRUFBRSxTQUFtQjtRQUNqRSxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksWUFBWSxHQUFhLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksV0FBVyxHQUFVLEVBQUUsQ0FBQztRQUM1QixLQUFLLElBQUksSUFBSSxJQUFJLFdBQVcsRUFBRTtZQUM1QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxZQUFvQixDQUFDO2dCQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUN4QyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM5RTtpQkFDRjtxQkFBTTtvQkFDTCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTt3QkFDeEMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztxQkFDekM7aUJBQ0Y7Z0JBQ0QsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDbEU7U0FDRjtRQUNELElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLElBQUksS0FBSyxJQUFJLFlBQVksRUFBRTtZQUM5Qix1SEFBdUg7WUFDdkgsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN6RSxVQUFVLEdBQUc7Z0JBQ1gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7YUFDekIsQ0FBQztZQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLENBQUM7U0FDTDtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQUMsNkJBQTZCLENBQUMsV0FBZ0IsRUFBRSxTQUFpQjtRQUN0RSxJQUFJLFdBQVcsR0FBVSxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRixJQUFJLFVBQVUsQ0FBQztRQUNmLEtBQUssSUFBSSxJQUFJLElBQUksV0FBVyxFQUFFO1lBQzVCLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzNCLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21UaGVtZSB9IGZyb20gXCIuLi9jdXN0b20tdGhlbWVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBFbnVtSGVscGVyQmFzZUNsYXNzIHtcclxuICBzdGF0aWMgZ2V0VmFsdWVzQXJyYXlGcm9tRW51bShlbnVtT3B0aW9uczogYW55LCBpc0FsbENhcHM/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgY29sb3JzID0gQ3VzdG9tVGhlbWUuJGpvb2xlckJsdWU7XHJcbiAgICBsZXQgc3RyaW5nVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGVudW1PYmplY3Q7XHJcbiAgICBsZXQgZW51bU9iamVjdHM6IGFueVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpdGVtIGluIGVudW1PcHRpb25zKSB7XHJcbiAgICAgIGlmIChpc05hTihOdW1iZXIoaXRlbSkpKSB7XHJcbiAgICAgICAgbGV0IGpvaW5lZFN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIHN0cmluZ1ZhbHVlcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIGxldCBzcGxpdFN0ciA9IGl0ZW0udG9Mb3dlckNhc2UoKS5zcGxpdCgnXycpO1xyXG4gICAgICAgIGlmICghaXNBbGxDYXBzKSB7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwbGl0U3RyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNwbGl0U3RyW2ldID0gc3BsaXRTdHJbaV0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzcGxpdFN0cltpXS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BsaXRTdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgc3BsaXRTdHJbaV0gPSBzcGxpdFN0cltpXS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBqb2luZWRTdHJpbmcgPSBzcGxpdFN0ci5qb2luKCcgJyk7XHJcbiAgICAgICAgc3RyaW5nVmFsdWVzLnNwbGljZShzdHJpbmdWYWx1ZXMuaW5kZXhPZihpdGVtKSwgMSwgam9pbmVkU3RyaW5nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IHJlcGVhdGVkQ29sb3JzID0gW107XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiBzdHJpbmdWYWx1ZXMpIHtcclxuICAgICAgLy8gaW4gY2FzZSB0aGUgYXJyYXkgb2YgY29sb3JzIGlzIHNtYWxsZXIgdGhhbiB0aGUgc3RyaW5nVmFsdWVzIGFycmF5LCB3ZSByZXBlYXQgdGhlIHRoZSBjb2xvcnMgc28gdGhhdCB0aGV5IGFyZSBlbm91Z2hcclxuICAgICAgcmVwZWF0ZWRDb2xvcnMucHVzaChjb2xvcnNbc3RyaW5nVmFsdWVzLmluZGV4T2YodmFsdWUpICUgY29sb3JzLmxlbmd0aF0pO1xyXG4gICAgICBlbnVtT2JqZWN0ID0ge1xyXG4gICAgICAgIHZhbHVlOiBPYmplY3Qua2V5cyhlbnVtT3B0aW9ucykubWFwKE51bWJlcilbaV0sXHJcbiAgICAgICAgbGFiZWw6IHZhbHVlLFxyXG4gICAgICAgIGNvbG9yOiByZXBlYXRlZENvbG9yc1tpXSxcclxuICAgICAgfTtcclxuICAgICAgZW51bU9iamVjdHMucHVzaChlbnVtT2JqZWN0KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVudW1PYmplY3RzO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldExhYmVsQW5kQ29sb3JGcm9tRW51bVZhbHVlKGVudW1PcHRpb25zOiBhbnksIGVudW1WYWx1ZTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZW51bU9iamVjdHM6IGFueVtdID0gRW51bUhlbHBlckJhc2VDbGFzcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtKGVudW1PcHRpb25zKTtcclxuICAgIGxldCBlbnVtT2JqZWN0O1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBlbnVtT2JqZWN0cykge1xyXG4gICAgICBpZiAoZW51bVZhbHVlID09IGl0ZW0udmFsdWUpIHtcclxuICAgICAgICBlbnVtT2JqZWN0ID0gZW51bU9iamVjdHNbZW51bU9iamVjdHMuaW5kZXhPZihpdGVtKV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBlbnVtT2JqZWN0O1xyXG4gIH1cclxufVxyXG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1oZWxwZXItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvbW9kZWxzL2VudW0taGVscGVyLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsMkJBQTJCLENBQ2hDLFNBQWMsRUFDZCxZQUF1QixFQUN2QixTQUFtQjtRQUVuQixJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBRXRDLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE1BQU0sR0FBRyxZQUFZLENBQUM7U0FDdkI7UUFFRCxJQUFJLFlBQVksR0FBYSxFQUFFLENBQUM7UUFDaEMsSUFBSSxVQUFzQixDQUFDO1FBQzNCLElBQUksV0FBVyxHQUFpQixFQUFFLENBQUM7UUFDbkMsS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksWUFBb0IsQ0FBQztnQkFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTt3QkFDeEMsUUFBUSxDQUFDLENBQUMsQ0FBQzs0QkFDVCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2xFO2lCQUNGO3FCQUFNO29CQUNMLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUN4QyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUN6QztpQkFDRjtnQkFDRCxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUNsRTtTQUNGO1FBQ0QsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLEtBQUssSUFBSSxLQUFLLElBQUksWUFBWSxFQUFFO1lBQzlCLHVIQUF1SDtZQUN2SCxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLFVBQVUsR0FBRztnQkFDWCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQzthQUN6QixDQUFDO1lBQ0YsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QixDQUFDLEVBQUUsQ0FBQztTQUNMO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbEMsU0FBYyxFQUNkLFNBQWlCLEVBQ2pCLFlBQXVCO1FBRXZCLElBQUksV0FBVyxHQUNiLG1CQUFtQixDQUFDLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzRSxJQUFJLFVBQXNCLENBQUM7UUFDM0IsS0FBSyxJQUFJLElBQUksSUFBSSxXQUFXLEVBQUU7WUFDNUIsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDM0IsVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDckQ7U0FDRjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVRoZW1lIH0gZnJvbSBcIi4uL2N1c3RvbS10aGVtZVwiO1xyXG5pbXBvcnQgeyBFbnVtT3B0aW9uIH0gZnJvbSBcIi4vZW51bS1oZWxwZXIubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBFbnVtSGVscGVyQmFzZUNsYXNzIHtcclxuICBzdGF0aWMgZ2V0RW51bU9wdGlvbnNGcm9tRW51bUNsYXNzKFxyXG4gICAgZW51bUNsYXNzOiBhbnksXHJcbiAgICBjdXN0b21Db2xvcnM/OiBzdHJpbmdbXSxcclxuICAgIGlzQWxsQ2Fwcz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGxldCBjb2xvcnMgPSBDdXN0b21UaGVtZS4kam9vbGVyQ29tYm87XHJcblxyXG4gICAgaWYgKGN1c3RvbUNvbG9ycyAmJiBjdXN0b21Db2xvcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb2xvcnMgPSBjdXN0b21Db2xvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN0cmluZ1ZhbHVlczogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCBlbnVtT3B0aW9uOiBFbnVtT3B0aW9uO1xyXG4gICAgbGV0IGVudW1PcHRpb25zOiBFbnVtT3B0aW9uW10gPSBbXTtcclxuICAgIGZvciAobGV0IGl0ZW0gaW4gZW51bUNsYXNzKSB7XHJcbiAgICAgIGlmIChpc05hTihOdW1iZXIoaXRlbSkpKSB7XHJcbiAgICAgICAgbGV0IGpvaW5lZFN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIHN0cmluZ1ZhbHVlcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIGxldCBzcGxpdFN0ciA9IGl0ZW0udG9Mb3dlckNhc2UoKS5zcGxpdCgnXycpO1xyXG4gICAgICAgIGlmICghaXNBbGxDYXBzKSB7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwbGl0U3RyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNwbGl0U3RyW2ldID1cclxuICAgICAgICAgICAgICBzcGxpdFN0cltpXS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHNwbGl0U3RyW2ldLnN1YnN0cmluZygxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGxpdFN0ci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBzcGxpdFN0cltpXSA9IHNwbGl0U3RyW2ldLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGpvaW5lZFN0cmluZyA9IHNwbGl0U3RyLmpvaW4oJyAnKTtcclxuICAgICAgICBzdHJpbmdWYWx1ZXMuc3BsaWNlKHN0cmluZ1ZhbHVlcy5pbmRleE9mKGl0ZW0pLCAxLCBqb2luZWRTdHJpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgcmVwZWF0ZWRDb2xvcnMgPSBbXTtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAobGV0IGxhYmVsIG9mIHN0cmluZ1ZhbHVlcykge1xyXG4gICAgICAvLyBpbiBjYXNlIHRoZSBhcnJheSBvZiBjb2xvcnMgaXMgc21hbGxlciB0aGFuIHRoZSBzdHJpbmdWYWx1ZXMgYXJyYXksIHdlIHJlcGVhdCB0aGUgdGhlIGNvbG9ycyBzbyB0aGF0IHRoZXkgYXJlIGVub3VnaFxyXG4gICAgICByZXBlYXRlZENvbG9ycy5wdXNoKGNvbG9yc1tzdHJpbmdWYWx1ZXMuaW5kZXhPZihsYWJlbCkgJSBjb2xvcnMubGVuZ3RoXSk7XHJcbiAgICAgIGVudW1PcHRpb24gPSB7XHJcbiAgICAgICAgdmFsdWU6IE9iamVjdC5rZXlzKGVudW1DbGFzcykubWFwKE51bWJlcilbaV0sXHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIGNvbG9yOiByZXBlYXRlZENvbG9yc1tpXSxcclxuICAgICAgfTtcclxuICAgICAgZW51bU9wdGlvbnMucHVzaChlbnVtT3B0aW9uKTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVudW1PcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldExhYmVsQW5kQ29sb3JGcm9tRW51bVZhbHVlKFxyXG4gICAgZW51bUNsYXNzOiBhbnksXHJcbiAgICBlbnVtVmFsdWU6IG51bWJlcixcclxuICAgIGN1c3RvbUNvbG9ycz86IHN0cmluZ1tdXHJcbiAgKSB7XHJcbiAgICBsZXQgZW51bU9wdGlvbnM6IEVudW1PcHRpb25bXSA9XHJcbiAgICAgIEVudW1IZWxwZXJCYXNlQ2xhc3MuZ2V0RW51bU9wdGlvbnNGcm9tRW51bUNsYXNzKGVudW1DbGFzcywgY3VzdG9tQ29sb3JzKTtcclxuICAgIGxldCBlbnVtT3B0aW9uOiBFbnVtT3B0aW9uO1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBlbnVtT3B0aW9ucykge1xyXG4gICAgICBpZiAoZW51bVZhbHVlID09IGl0ZW0udmFsdWUpIHtcclxuICAgICAgICBlbnVtT3B0aW9uID0gZW51bU9wdGlvbnNbZW51bU9wdGlvbnMuaW5kZXhPZihpdGVtKV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBlbnVtT3B0aW9uO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1oZWxwZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9tb2RlbHMvZW51bS1oZWxwZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRW51bU9wdGlvbiB7XHJcbiAgdmFsdWU6IG51bWJlcjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -44,4 +44,4 @@ export class LineTypeModelHelper {
44
44
  }
45
45
  }
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS10eXBlLW1vZGVsLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvbGliL21vZGVscy9saW5lLXR5cGUtbW9kZWwtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sbUJBQW1CO0lBTzVCLE1BQU0sQ0FBQyxRQUFRO1FBQ1gsSUFBSSxLQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDOUIsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFhLENBQUM7UUFDM0MsS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtTQUNwRztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBYztRQUN4QyxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ25ELE1BQU07WUFDVixLQUFLLFFBQVEsQ0FBQyxjQUFjO2dCQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7Z0JBQzlELE1BQU07WUFDVjtnQkFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO1NBQzNEO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksS0FBSyxDQUFDO1FBQ1YsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixNQUFNO1lBQ1YsS0FBSyxnQkFBZ0I7Z0JBQ2pCLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTTtZQUNWO2dCQUNJLE9BQU8sSUFBSSxDQUFBO1NBQ2xCO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFhO1FBQ3pDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7YUFDcEI7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1IZWxwZXIgfSBmcm9tIFwiQGpvb2xlci9zaGFyZWQtZ2VuZXJhbC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IExpbmVUeXBlIH0gZnJvbSBcIi4vbGluZS10eXBlLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZVR5cGVNb2RlbEhlbHBlciB7XHJcblxyXG4gICAgc3RhdGljIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBzdGF0aWMgY29sb3I6IHN0cmluZztcclxuICAgIHN0YXRpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgc3RhdGljIHZhbHVlOiBhbnk7XHJcblxyXG4gICAgc3RhdGljIGdldEl0ZW1zKCkge1xyXG4gICAgICAgIGxldCBpdGVtczogRW51bUhlbHBlcltdID0gW107XHJcbiAgICAgICAgbGV0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoTGluZVR5cGUpO1xyXG4gICAgICAgIGxldCB0eXBlcyA9IHZhbHVlcy5maWx0ZXIodmFsdWUgPT5cclxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykgYXMgbnVtYmVyW107XHJcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgdHlwZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdHJpbmdWYWx1ZUFuZENvbG9yKHZhbHVlKTtcclxuICAgICAgICAgICAgaXRlbXMucHVzaCh7IHZhbHVlOiB2YWx1ZSwgbGFiZWw6IHRoaXMubGFiZWwsIGNvbG9yOiB0aGlzLmNvbG9yLCBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbiB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbXNcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc2V0U3RyaW5nVmFsdWVBbmRDb2xvcih0eXBlOiBMaW5lVHlwZSkge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIExpbmVUeXBlLklOQ0xVREU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbCA9IFwiSW5jbHVkZVwiLCB0aGlzLmNvbG9yID0gXCJnb2xkXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBMaW5lVHlwZS5ET19OT1RfSU5DTFVERTpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxhYmVsID0gXCJEbyBOb3QgSW5jbHVkZVwiLCB0aGlzLmNvbG9yID0gXCJwbGF0aW51bVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbCA9IFwiVW5kZWZpbmVkXCIsIHRoaXMuY29sb3IgPSBcIkdyYXlcIlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRWYWx1ZShsYWJlbDogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlO1xyXG4gICAgICAgIHN3aXRjaCAobGFiZWwpIHtcclxuICAgICAgICAgICAgY2FzZSBcIkluY2x1ZGVcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIkRvIE5vdCBJbmNsdWRlXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPSAxO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHN0YXRpYyBnZXRMYWJlbEFuZENvbG9yRm9yVmFsdWUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5nZXRJdGVtcygpKSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnZhbHVlID09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS10eXBlLW1vZGVsLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvbGliL21vZGVscy9saW5lLXR5cGUtbW9kZWwtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sbUJBQW1CO0lBTzVCLE1BQU0sQ0FBQyxRQUFRO1FBQ1gsSUFBSSxLQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDOUIsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFhLENBQUM7UUFDM0MsS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtTQUNwRztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBYztRQUN4QyxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssUUFBUSxDQUFDLE9BQU87Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ25ELE1BQU07WUFDVixLQUFLLFFBQVEsQ0FBQyxjQUFjO2dCQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7Z0JBQzlELE1BQU07WUFDVjtnQkFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO1NBQzNEO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksS0FBSyxDQUFDO1FBQ1YsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixNQUFNO1lBQ1YsS0FBSyxnQkFBZ0I7Z0JBQ2pCLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTTtZQUNWO2dCQUNJLE9BQU8sSUFBSSxDQUFBO1NBQ2xCO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFhO1FBQ3pDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7YUFDcEI7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1PcHRpb24gfSBmcm9tIFwiQGpvb2xlci9zaGFyZWQtZ2VuZXJhbC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IExpbmVUeXBlIH0gZnJvbSBcIi4vbGluZS10eXBlLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZVR5cGVNb2RlbEhlbHBlciB7XHJcblxyXG4gICAgc3RhdGljIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBzdGF0aWMgY29sb3I6IHN0cmluZztcclxuICAgIHN0YXRpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgc3RhdGljIHZhbHVlOiBhbnk7XHJcblxyXG4gICAgc3RhdGljIGdldEl0ZW1zKCkge1xyXG4gICAgICAgIGxldCBpdGVtczogRW51bU9wdGlvbltdID0gW107XHJcbiAgICAgICAgbGV0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoTGluZVR5cGUpO1xyXG4gICAgICAgIGxldCB0eXBlcyA9IHZhbHVlcy5maWx0ZXIodmFsdWUgPT5cclxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykgYXMgbnVtYmVyW107XHJcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgdHlwZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdHJpbmdWYWx1ZUFuZENvbG9yKHZhbHVlKTtcclxuICAgICAgICAgICAgaXRlbXMucHVzaCh7IHZhbHVlOiB2YWx1ZSwgbGFiZWw6IHRoaXMubGFiZWwsIGNvbG9yOiB0aGlzLmNvbG9yLCBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbiB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbXNcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc2V0U3RyaW5nVmFsdWVBbmRDb2xvcih0eXBlOiBMaW5lVHlwZSkge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIExpbmVUeXBlLklOQ0xVREU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbCA9IFwiSW5jbHVkZVwiLCB0aGlzLmNvbG9yID0gXCJnb2xkXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBMaW5lVHlwZS5ET19OT1RfSU5DTFVERTpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxhYmVsID0gXCJEbyBOb3QgSW5jbHVkZVwiLCB0aGlzLmNvbG9yID0gXCJwbGF0aW51bVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sYWJlbCA9IFwiVW5kZWZpbmVkXCIsIHRoaXMuY29sb3IgPSBcIkdyYXlcIlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRWYWx1ZShsYWJlbDogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlO1xyXG4gICAgICAgIHN3aXRjaCAobGFiZWwpIHtcclxuICAgICAgICAgICAgY2FzZSBcIkluY2x1ZGVcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIkRvIE5vdCBJbmNsdWRlXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPSAxO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHN0YXRpYyBnZXRMYWJlbEFuZENvbG9yRm9yVmFsdWUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5nZXRJdGVtcygpKSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnZhbHVlID09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=