myrta-ui 13.0.28 → 13.0.30

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.
@@ -38,6 +38,12 @@ export class InputSelectComponent {
38
38
  this.showEmptyFields = false;
39
39
  this.placeholder = '';
40
40
  this.searchable = true;
41
+ /**
42
+ * Включает сортировку списка: выбранные элементы поднимаются наверх.
43
+ * Для надёжной работы рекомендуется указать `bindValue` (поле-идентификатор).
44
+ * Без `bindValue` сортировка работает по ссылкам объектов — подходит, если данные не пересоздаются.
45
+ */
46
+ this.sortable = false;
41
47
  this.loadLabel = '';
42
48
  this.notFoundText = 'Не найдено';
43
49
  this.closeOnSelect = true;
@@ -60,6 +66,9 @@ export class InputSelectComponent {
60
66
  this.searched = new EventEmitter();
61
67
  this.cleared = new EventEmitter();
62
68
  this.onTouched = () => { };
69
+ this.defaultTrackByFn = (item) => {
70
+ return this.bindValue ? item[this.bindValue] : item;
71
+ };
63
72
  }
64
73
  set setMaxSelectedItems(val) {
65
74
  if (val) {
@@ -102,6 +111,30 @@ export class InputSelectComponent {
102
111
  get checkLoading() {
103
112
  return this.loading ? 'mrx-input-loading' : '';
104
113
  }
114
+ get isMaxSelectedReached() {
115
+ return this.multiple &&
116
+ this.maxSelectedItems != null &&
117
+ Array.isArray(this.value) &&
118
+ this.value.length >= this.maxSelectedItems;
119
+ }
120
+ get displayItems() {
121
+ const baseList = this.sortable ? this.sortedItems : this.items;
122
+ if (!this.isMaxSelectedReached) {
123
+ return baseList;
124
+ }
125
+ return baseList.map(item => ({
126
+ ...item,
127
+ disabled: !this._isItemSelected(item)
128
+ }));
129
+ }
130
+ get sortedItems() {
131
+ if (!this.sortable || !this.items || !this.value) {
132
+ return this.items;
133
+ }
134
+ const selected = this.items.filter(item => this._isItemSelected(item));
135
+ const notSelected = this.items.filter(item => !this._isItemSelected(item));
136
+ return [...selected, ...notSelected];
137
+ }
105
138
  onChange(val) { }
106
139
  writeValue(value) {
107
140
  this._value = value;
@@ -129,15 +162,24 @@ export class InputSelectComponent {
129
162
  onClear($event) {
130
163
  this.cleared.emit($event);
131
164
  }
165
+ _isItemSelected(item) {
166
+ if (!this.value)
167
+ return false;
168
+ const values = Array.isArray(this.value) ? this.value : [this.value];
169
+ if (this.bindValue) {
170
+ return values.some(v => v === item[this.bindValue]);
171
+ }
172
+ return values.includes(item);
173
+ }
132
174
  }
133
175
  InputSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
- InputSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InputSelectComponent, selector: "mrx-input-select", inputs: { fields: "fields", size: "size", selected: "selected", bindValue: "bindValue", bindLabel: "bindLabel", customClasses: "customClasses", wrapperCustomClasses: "wrapperCustomClasses", multiple: "multiple", loading: "loading", addTag: "addTag", clearable: "clearable", items: "items", groupBy: "groupBy", emptyValue: "emptyValue", virtualScroll: "virtualScroll", trackByFn: "trackByFn", displayValue: "displayValue", disabledFromDisplay: "disabledFromDisplay", hideSelected: "hideSelected", maxLength: "maxLength", customSearchFn: "customSearchFn", isBottomLabel: "isBottomLabel", search: "search", required: "required", disabled: "disabled", readonly: "readonly", showEmptyFields: "showEmptyFields", placeholder: "placeholder", searchable: "searchable", loadLabel: "loadLabel", notFoundText: "notFoundText", closeOnSelect: "closeOnSelect", multiCollapseCount: "multiCollapseCount", editableSearchTerm: "editableSearchTerm", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", label: "label", labelRequiredHidden: "labelRequiredHidden", labelExtraClass: "labelExtraClass", tooltip: "tooltip", tooltipHidden: "tooltipHidden", tooltipVisible: "tooltipVisible", setMaxSelectedItems: ["maxSelectedItems", "setMaxSelectedItems"] }, outputs: { changed: "changed", modelChange: "modelChange", searched: "searched", cleared: "cleared" }, providers: [
176
+ InputSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InputSelectComponent, selector: "mrx-input-select", inputs: { fields: "fields", size: "size", selected: "selected", bindValue: "bindValue", bindLabel: "bindLabel", customClasses: "customClasses", wrapperCustomClasses: "wrapperCustomClasses", multiple: "multiple", loading: "loading", addTag: "addTag", clearable: "clearable", items: "items", groupBy: "groupBy", emptyValue: "emptyValue", virtualScroll: "virtualScroll", trackByFn: "trackByFn", displayValue: "displayValue", disabledFromDisplay: "disabledFromDisplay", hideSelected: "hideSelected", maxLength: "maxLength", customSearchFn: "customSearchFn", isBottomLabel: "isBottomLabel", search: "search", required: "required", disabled: "disabled", readonly: "readonly", showEmptyFields: "showEmptyFields", placeholder: "placeholder", searchable: "searchable", sortable: "sortable", loadLabel: "loadLabel", notFoundText: "notFoundText", closeOnSelect: "closeOnSelect", multiCollapseCount: "multiCollapseCount", editableSearchTerm: "editableSearchTerm", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", label: "label", labelRequiredHidden: "labelRequiredHidden", labelExtraClass: "labelExtraClass", tooltip: "tooltip", tooltipHidden: "tooltipHidden", tooltipVisible: "tooltipVisible", setMaxSelectedItems: ["maxSelectedItems", "setMaxSelectedItems"] }, outputs: { changed: "changed", modelChange: "modelChange", searched: "searched", cleared: "cleared" }, providers: [
135
177
  {
136
178
  provide: NG_VALUE_ACCESSOR,
137
179
  useExisting: forwardRef(() => InputSelectComponent),
138
180
  multi: true,
139
181
  },
140
- ], queries: [{ propertyName: "selectOptionsTemplate", first: true, predicate: ["selectOptionsTemplate"], descendants: true }, { propertyName: "selectOptionsGroupTemplate", first: true, predicate: ["selectOptionsGroupTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "tagTemplate", first: true, predicate: ["tagTemplate"], descendants: true }, { propertyName: "multiLabelTemplate", first: true, predicate: ["multiLabelTemplate"], descendants: true }], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\"\r\n [class.-readonly]=\"readonly\"\r\n [class.-disabled]=\"disabled\">\r\n\r\n <ng-select\r\n [items]=\"items\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [hideSelected]=\"hideSelected\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\"\r\n addTagText=\"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\"\r\n loadingText=\"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (clear)=\"onClear($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\" *ngIf=\"selectOptionsGroupTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsGroupTemplate; context:{item: item, index: index}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || '\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{item['label']}}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">\u00D7</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-input-select{position:relative}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container{background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow:after{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container{align-items:flex-start;padding:var(--spacing-2);padding-right:var(--spacing-3);box-sizing:border-box;border:none!important;border-radius:var(--border-radius-1)!important;width:100%;height:auto;outline:none;transition:outline-width .2s,border .2s;z-index:1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:before{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container.ng-has-value .ng-placeholder{display:none}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:focus,:host::ng-deep .mrx-input-select .ng-select .ng-select-container:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container{display:flex;align-items:center;position:relative;padding:var(--spacing-1) var(--spacing-2)!important;min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-placeholder{top:revert!important;color:var(--neutral-text-tertiary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value{display:flex;align-items:center;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label{overflow:hidden;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:transparent}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input{display:flex;align-items:center;height:auto;padding-left:0!important;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input>input{position:relative;z-index:-1;padding:0;transform:none;padding-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .mrx-loader{transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{display:flex;align-items:center;justify-content:center;padding:0;transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow{font-size:0;position:relative;width:100%!important;height:100%!important;background-image:none;line-height:normal;border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow:after{content:\"\";position:absolute;inset:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-extra-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{margin-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after{content:\"\\e92b\"}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after{content:\"\\e923\"}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-select-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-arrow-wrapper .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .-readonly .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label,:host::ng-deep .mrx-input-select .-disabled .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label{color:var(--neutral-text-primary, #282828)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 88px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container{max-width:calc(100% - var(--sizing-6))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container .ng-value{min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container{min-height:var(--sizing-12)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-arrow-wrapper{width:var(--sizing-6)!important;min-width:var(--sizing-6);height:var(--sizing-6);min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 64px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:var(--sizing-10)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding:0 var(--spacing-2) 0 var(--spacing-2)!important;min-height:var(--sizing-6);max-width:calc(100% - var(--sizing-4))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value{margin-bottom:0;min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .mrx-loader{width:var(--sizing-4);height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper{width:var(--sizing-4)!important;min-width:var(--sizing-4);height:var(--sizing-4);min-height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-arrow:after{font-size:var(--body-lg-font-size)}:host::ng-deep .mrx-input-select .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-label{text-overflow:ellipsis!important;overflow:hidden;max-width:100%!important;display:block;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{gap:var(--spacing-2);padding:0!important;padding-right:var(--spacing-2)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{display:flex;flex-direction:row;width:100%;max-width:max-content;margin:0;background:var(--brand-bg-secondary-default);border-radius:var(--border-radius-1);padding:0;padding-left:var(--spacing-2);padding-right:var(--spacing-1)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-empty{padding-right:var(--spacing-3)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{padding-right:var(--spacing-1);text-overflow:ellipsis!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{position:relative;min-width:var(--sizing-4);min-height:var(--sizing-4);order:1}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:after{content:\"\\e92b\";position:absolute;left:0;top:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);transform:none!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:0;padding-left:0!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel{z-index:900;background:var(--brand-bg-tertiary-default);box-shadow:0 4px 10px #3a3a3a26;border-radius:var(--border-radius-1);margin-top:var(--spacing-1);border:none}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items{border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:8px;background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{border-radius:var(--border-radius-2);background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{border-radius:var(--border-radius-2);background-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:var(--spacing-6)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{display:flex;align-items:center;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:var(--brand-bg-tertiary-default);color:var(--neutral-text-primary)!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:var(--brand-bg-tertiary-default);position:relative;padding-right:40px;color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-label{font-weight:400}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");position:absolute;top:50%;transform:translateY(-50%);right:16px;line-height:0}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover{background:var(--brand-bg-secondary-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal;color:var(--neutral-text-tertiary);font-weight:700}:host::ng-deep .mrx-input-select.mrx-input-error{display:block}:host::ng-deep .mrx-input-select.mrx-input-error .ng-select .ng-select-container:before{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container{background-color:var(--system-bg-negative-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container:hover{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container{background-color:var(--system-bg-positive-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:before{border-color:var(--system-bg-controls-positive-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value{max-width:100%!important}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value .ng-value-label{text-overflow:initial!important;overflow:initial}\n"], components: [{ type: i1.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"] }, { type: i2.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { type: i3.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { type: i4.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i1.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgTagTemplateDirective, selector: "[ng-tag-tmp]" }, { type: i1.NgLoadingTextTemplateDirective, selector: "[ng-loadingtext-tmp]" }, { type: i1.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
182
+ ], queries: [{ propertyName: "selectOptionsTemplate", first: true, predicate: ["selectOptionsTemplate"], descendants: true }, { propertyName: "selectOptionsGroupTemplate", first: true, predicate: ["selectOptionsGroupTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "tagTemplate", first: true, predicate: ["tagTemplate"], descendants: true }, { propertyName: "multiLabelTemplate", first: true, predicate: ["multiLabelTemplate"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\"\r\n [class.-readonly]=\"readonly\"\r\n [class.-disabled]=\"disabled\">\r\n\r\n <ng-select\r\n [items]=\"displayItems\"\r\n [class.limit-reached]=\"isMaxSelectedReached\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn || defaultTrackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [hideSelected]=\"hideSelected\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\"\r\n addTagText=\"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\"\r\n loadingText=\"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (clear)=\"onClear($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\" *ngIf=\"selectOptionsGroupTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsGroupTemplate; context:{item: item, index: index}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || '\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{item['label']}}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">\u00D7</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n <ng-template ng-header-tmp>\r\n <ng-container *ngIf=\"contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-input-select{position:relative}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container{background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow:after{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container{align-items:flex-start;padding:var(--spacing-2);padding-right:var(--spacing-3);box-sizing:border-box;border:none!important;border-radius:var(--border-radius-1)!important;width:100%;height:auto;outline:none;transition:outline-width .2s,border .2s;z-index:1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:before{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container.ng-has-value .ng-placeholder{display:none}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:focus,:host::ng-deep .mrx-input-select .ng-select .ng-select-container:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container{display:flex;align-items:center;position:relative;padding:var(--spacing-1) var(--spacing-2)!important;min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-placeholder{top:revert!important;color:var(--neutral-text-tertiary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value{display:flex;align-items:center;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label{overflow:hidden;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:transparent}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input{display:flex;align-items:center;height:auto;padding-left:0!important;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input>input{position:relative;z-index:-1;padding:0;transform:none;padding-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .mrx-loader{transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{display:flex;align-items:center;justify-content:center;padding:0;transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow{font-size:0;position:relative;width:100%!important;height:100%!important;background-image:none;line-height:normal;border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow:after{content:\"\";position:absolute;inset:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-extra-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{margin-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after{content:\"\\e92b\"}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after{content:\"\\e923\"}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-select-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-arrow-wrapper .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .-readonly .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label,:host::ng-deep .mrx-input-select .-disabled .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label{color:var(--neutral-text-primary, #282828)}:host::ng-deep .mrx-input-select .ng-option-disabled{color:var(--neutral-text-tertiary);pointer-events:none}:host::ng-deep .mrx-input-select .limit-reached .ng-input{display:none!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 88px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container{max-width:calc(100% - var(--sizing-6))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container .ng-value{min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container{min-height:var(--sizing-12)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-arrow-wrapper{width:var(--sizing-6)!important;min-width:var(--sizing-6);height:var(--sizing-6);min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 64px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:var(--sizing-10)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding:0 var(--spacing-2) 0 var(--spacing-2)!important;min-height:var(--sizing-6);max-width:calc(100% - var(--sizing-4))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value{margin-bottom:0;min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .mrx-loader{width:var(--sizing-4);height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper{width:var(--sizing-4)!important;min-width:var(--sizing-4);height:var(--sizing-4);min-height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-arrow:after{font-size:var(--body-lg-font-size)}:host::ng-deep .mrx-input-select .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-label{text-overflow:ellipsis!important;overflow:hidden;max-width:100%!important;display:block;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{gap:var(--spacing-2);padding:0!important;padding-right:var(--spacing-2)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{display:flex;flex-direction:row;width:100%;max-width:max-content;margin:0;background:var(--brand-bg-secondary-default);border-radius:var(--border-radius-1);padding:0;padding-left:var(--spacing-2);padding-right:var(--spacing-1)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-empty{padding-right:var(--spacing-3)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{padding-right:var(--spacing-1);text-overflow:ellipsis!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{position:relative;min-width:var(--sizing-4);min-height:var(--sizing-4);order:1}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:after{content:\"\\e92b\";position:absolute;left:0;top:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);transform:none!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:0;padding-left:0!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel{z-index:900;background:var(--brand-bg-tertiary-default);box-shadow:0 4px 10px #3a3a3a26;border-radius:var(--border-radius-1);margin-top:var(--spacing-1);border:none}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items{border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:8px;background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{border-radius:var(--border-radius-2);background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{border-radius:var(--border-radius-2);background-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:var(--spacing-6)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{display:flex;align-items:center;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:var(--brand-bg-tertiary-default);color:var(--neutral-text-primary)!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:var(--brand-bg-tertiary-default);position:relative;padding-right:40px;color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-label{font-weight:400}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");position:absolute;top:50%;transform:translateY(-50%);right:16px;line-height:0}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover{background:var(--brand-bg-secondary-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal;color:var(--neutral-text-tertiary);font-weight:700}:host::ng-deep .mrx-input-select.mrx-input-error{display:block}:host::ng-deep .mrx-input-select.mrx-input-error .ng-select .ng-select-container:before{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container{background-color:var(--system-bg-negative-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container:hover{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container{background-color:var(--system-bg-positive-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:before{border-color:var(--system-bg-controls-positive-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value{max-width:100%!important}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value .ng-value-label{text-overflow:initial!important;overflow:initial}\n"], components: [{ type: i1.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"] }, { type: i2.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { type: i3.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { type: i4.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i1.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgTagTemplateDirective, selector: "[ng-tag-tmp]" }, { type: i1.NgLoadingTextTemplateDirective, selector: "[ng-loadingtext-tmp]" }, { type: i1.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputSelectComponent, decorators: [{
142
184
  type: Component,
143
185
  args: [{ selector: 'mrx-input-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -146,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
146
188
  useExisting: forwardRef(() => InputSelectComponent),
147
189
  multi: true,
148
190
  },
149
- ], template: "<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\"\r\n [class.-readonly]=\"readonly\"\r\n [class.-disabled]=\"disabled\">\r\n\r\n <ng-select\r\n [items]=\"items\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [hideSelected]=\"hideSelected\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\"\r\n addTagText=\"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\"\r\n loadingText=\"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (clear)=\"onClear($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\" *ngIf=\"selectOptionsGroupTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsGroupTemplate; context:{item: item, index: index}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || '\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{item['label']}}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">\u00D7</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-input-select{position:relative}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container{background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow:after{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container{align-items:flex-start;padding:var(--spacing-2);padding-right:var(--spacing-3);box-sizing:border-box;border:none!important;border-radius:var(--border-radius-1)!important;width:100%;height:auto;outline:none;transition:outline-width .2s,border .2s;z-index:1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:before{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container.ng-has-value .ng-placeholder{display:none}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:focus,:host::ng-deep .mrx-input-select .ng-select .ng-select-container:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container{display:flex;align-items:center;position:relative;padding:var(--spacing-1) var(--spacing-2)!important;min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-placeholder{top:revert!important;color:var(--neutral-text-tertiary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value{display:flex;align-items:center;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label{overflow:hidden;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:transparent}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input{display:flex;align-items:center;height:auto;padding-left:0!important;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input>input{position:relative;z-index:-1;padding:0;transform:none;padding-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .mrx-loader{transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{display:flex;align-items:center;justify-content:center;padding:0;transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow{font-size:0;position:relative;width:100%!important;height:100%!important;background-image:none;line-height:normal;border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow:after{content:\"\";position:absolute;inset:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-extra-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{margin-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after{content:\"\\e92b\"}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after{content:\"\\e923\"}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-select-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-arrow-wrapper .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .-readonly .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label,:host::ng-deep .mrx-input-select .-disabled .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label{color:var(--neutral-text-primary, #282828)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 88px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container{max-width:calc(100% - var(--sizing-6))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container .ng-value{min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container{min-height:var(--sizing-12)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-arrow-wrapper{width:var(--sizing-6)!important;min-width:var(--sizing-6);height:var(--sizing-6);min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 64px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:var(--sizing-10)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding:0 var(--spacing-2) 0 var(--spacing-2)!important;min-height:var(--sizing-6);max-width:calc(100% - var(--sizing-4))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value{margin-bottom:0;min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .mrx-loader{width:var(--sizing-4);height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper{width:var(--sizing-4)!important;min-width:var(--sizing-4);height:var(--sizing-4);min-height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-arrow:after{font-size:var(--body-lg-font-size)}:host::ng-deep .mrx-input-select .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-label{text-overflow:ellipsis!important;overflow:hidden;max-width:100%!important;display:block;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{gap:var(--spacing-2);padding:0!important;padding-right:var(--spacing-2)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{display:flex;flex-direction:row;width:100%;max-width:max-content;margin:0;background:var(--brand-bg-secondary-default);border-radius:var(--border-radius-1);padding:0;padding-left:var(--spacing-2);padding-right:var(--spacing-1)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-empty{padding-right:var(--spacing-3)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{padding-right:var(--spacing-1);text-overflow:ellipsis!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{position:relative;min-width:var(--sizing-4);min-height:var(--sizing-4);order:1}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:after{content:\"\\e92b\";position:absolute;left:0;top:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);transform:none!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:0;padding-left:0!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel{z-index:900;background:var(--brand-bg-tertiary-default);box-shadow:0 4px 10px #3a3a3a26;border-radius:var(--border-radius-1);margin-top:var(--spacing-1);border:none}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items{border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:8px;background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{border-radius:var(--border-radius-2);background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{border-radius:var(--border-radius-2);background-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:var(--spacing-6)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{display:flex;align-items:center;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:var(--brand-bg-tertiary-default);color:var(--neutral-text-primary)!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:var(--brand-bg-tertiary-default);position:relative;padding-right:40px;color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-label{font-weight:400}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");position:absolute;top:50%;transform:translateY(-50%);right:16px;line-height:0}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover{background:var(--brand-bg-secondary-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal;color:var(--neutral-text-tertiary);font-weight:700}:host::ng-deep .mrx-input-select.mrx-input-error{display:block}:host::ng-deep .mrx-input-select.mrx-input-error .ng-select .ng-select-container:before{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container{background-color:var(--system-bg-negative-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container:hover{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container{background-color:var(--system-bg-positive-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:before{border-color:var(--system-bg-controls-positive-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value{max-width:100%!important}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value .ng-value-label{text-overflow:initial!important;overflow:initial}\n"] }]
191
+ ], template: "<div class=\"mrx-input-select\" [class.mrx-input-error]=\"invalid\" [class]=\"wrapperCustomClasses\">\r\n <div [class.inputbox-error]=\"showEmptyFields && required && !isVerified\"\r\n [class.inputbox-success]=\"showEmptyFields && required && isVerified\"\r\n [class.-readonly]=\"readonly\"\r\n [class.-disabled]=\"disabled\">\r\n\r\n <ng-select\r\n [items]=\"displayItems\"\r\n [class.limit-reached]=\"isMaxSelectedReached\"\r\n [ngModel]=\"value\"\r\n [addTag]=\"addTag\"\r\n [bindValue]=\"bindValue\"\r\n [bindLabel]=\"bindLabel\"\r\n [multiple]=\"multiple\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n [maxSelectedItems]=\"maxSelectedItems\"\r\n [groupBy]=\"groupBy ? groupBy : ''\"\r\n [placeholder]=\"placeholder\"\r\n [trackByFn]=\"trackByFn || defaultTrackByFn\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [class]=\"getClasses\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [searchFn]=\"customSearchFn\"\r\n [notFoundText]=\"notFoundText\"\r\n [hideSelected]=\"hideSelected\"\r\n [maxlength]=\"maxLength.toString() || 'none'\"\r\n clearAllText=\"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\"\r\n addTagText=\"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\"\r\n loadingText=\"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (clear)=\"onClear($event)\"\r\n (search)=\"updateSearch($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"disabled && disabledFromDisplay\">\r\n {{ displayValue }}\r\n </ng-template>\r\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\" *ngIf=\"selectOptionsGroupTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsGroupTemplate; context:{item: item, index: index}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"selectOptionsTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectOptionsTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" *ngIf=\"labelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"labelTemplate; context:{item: item, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-tag-tmp let-items=\"items\" *ngIf=\"tagTemplate\">\r\n <ng-container *ngTemplateOutlet=\"tagTemplate; context:{items: items}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-loadingtext-tmp>\r\n <div class=\"ng-option disabled\">{{ loadLabel || '\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430' }}</div>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiLabelTemplate\">\r\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context:{items: items, clear: clear}\"></ng-container>\r\n </ng-template>\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\" *ngIf=\"multiCollapseCount\">\r\n <ng-container *ngIf=\"value.length < multiCollapseCount\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items\">\r\n <span class=\"ng-value-label\">{{item['label']}}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\">\u00D7</span>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"value.length >= multiCollapseCount\" class=\"ng-summary-list\">\r\n <div class=\"ng-value ng-value-empty\">\r\n <span class=\"ng-value-label\">\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ value.length }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template ng-loadingspinner-tmp>\r\n <mrx-loader\r\n [ngStyle]=\"{display: 'flex'}\"\r\n [color]=\"'brand'\" size=\"small\"\r\n customClasses=\"align-self-center mr-2\"\r\n ></mrx-loader>\r\n </ng-template>\r\n <ng-template ng-header-tmp>\r\n <ng-container *ngIf=\"contentTemplate\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [":host::ng-deep .mrx-input-select{position:relative}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container{background-color:var(--neutral-bg-disabled)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-disabled .ng-select-container .ng-arrow-wrapper .ng-arrow:after{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container{align-items:flex-start;padding:var(--spacing-2);padding-right:var(--spacing-3);box-sizing:border-box;border:none!important;border-radius:var(--border-radius-1)!important;width:100%;height:auto;outline:none;transition:outline-width .2s,border .2s;z-index:1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:before{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container.ng-has-value .ng-placeholder{display:none}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:focus,:host::ng-deep .mrx-input-select .ng-select .ng-select-container:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select .ng-select-container:hover:before{border-color:var(--neutral-bg-stroke-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container{display:flex;align-items:center;position:relative;padding:var(--spacing-1) var(--spacing-2)!important;min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-placeholder{top:revert!important;color:var(--neutral-text-tertiary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value{display:flex;align-items:center;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-label{overflow:hidden;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:transparent}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input{display:flex;align-items:center;height:auto;padding-left:0!important;z-index:-1}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-value-container .ng-input>input{position:relative;z-index:-1;padding:0;transform:none;padding-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .mrx-loader{transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{display:flex;align-items:center;justify-content:center;padding:0;transform:translateY(4px)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow{font-size:0;position:relative;width:100%!important;height:100%!important;background-image:none;line-height:normal;border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-arrow:after{content:\"\";position:absolute;inset:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-extra-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-clear,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:hover .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper:focus .ng-arrow,:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper:focus .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper{margin-right:var(--spacing-2)}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-clear-wrapper .ng-clear:after{content:\"\\e92b\"}:host::ng-deep .mrx-input-select .ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:after{content:\"\\e923\"}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-select-container{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-opened .ng-arrow-wrapper .ng-arrow{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-input-select .-readonly .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label,:host::ng-deep .mrx-input-select .-disabled .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value .ng-value-label{color:var(--neutral-text-primary, #282828)}:host::ng-deep .mrx-input-select .ng-option-disabled{color:var(--neutral-text-tertiary);pointer-events:none}:host::ng-deep .mrx-input-select .limit-reached .ng-input{display:none!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 88px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - 56px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container{max-width:calc(100% - var(--sizing-6))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg.ng-select-multiple .ng-value-container .ng-value{min-height:var(--sizing-8)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container{min-height:var(--sizing-12)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-lg .ng-select-container .ng-arrow-wrapper{width:var(--sizing-6)!important;min-width:var(--sizing-6);height:var(--sizing-6);min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable .ng-has-value .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container.ng-has-value .ng-value-container{max-width:calc(100% - 64px)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.ng-select-clearable.mrx-input-loading .ng-select-container .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple.mrx-input-loading .ng-value-container{max-width:calc(100% - var(--sizing-10))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:var(--sizing-10)!important}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding:0 var(--spacing-2) 0 var(--spacing-2)!important;min-height:var(--sizing-6);max-width:calc(100% - var(--sizing-4))}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value{margin-bottom:0;min-height:var(--sizing-6)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .mrx-loader{width:var(--sizing-4);height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper{width:var(--sizing-4)!important;min-width:var(--sizing-4);height:var(--sizing-4);min-height:var(--sizing-4)}:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-clear:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-clear-wrapper .ng-arrow:after,:host::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-arrow-wrapper .ng-arrow:after{font-size:var(--body-lg-font-size)}:host::ng-deep .mrx-input-select .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-label{text-overflow:ellipsis!important;overflow:hidden;max-width:100%!important;display:block;white-space:nowrap}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{gap:var(--spacing-2);padding:0!important;padding-right:var(--spacing-2)!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{display:flex;flex-direction:row;width:100%;max-width:max-content;margin:0;background:var(--brand-bg-secondary-default);border-radius:var(--border-radius-1);padding:0;padding-left:var(--spacing-2);padding-right:var(--spacing-1)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-empty{padding-right:var(--spacing-3)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{padding-right:var(--spacing-1);text-overflow:ellipsis!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{position:relative;min-width:var(--sizing-4);min-height:var(--sizing-4);order:1}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:after{content:\"\\e92b\";position:absolute;left:0;top:0;width:100%;height:100%;font-family:mrx-icon-font;font-size:var(--body-lg-font-size);color:var(--neutral-icon-default)}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);transform:none!important}:host::ng-deep .mrx-input-select .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:0;padding-left:0!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel{z-index:900;background:var(--brand-bg-tertiary-default);box-shadow:0 4px 10px #3a3a3a26;border-radius:var(--border-radius-1);margin-top:var(--spacing-1);border:none}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items{border-radius:var(--border-radius-1)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:8px;background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{border-radius:var(--border-radius-2);background-color:transparent}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{border-radius:var(--border-radius-2);background-color:var(--neutral-bg-stroke-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:var(--spacing-6)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{display:flex;align-items:center;font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:var(--brand-bg-tertiary-default);color:var(--neutral-text-primary)!important}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:var(--brand-bg-tertiary-default);position:relative;padding-right:40px;color:var(--neutral-text-primary)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-label{font-weight:400}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");position:absolute;top:50%;transform:translateY(-50%);right:16px;line-height:0}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover{background:var(--brand-bg-secondary-default)}:host::ng-deep .mrx-input-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal;color:var(--neutral-text-tertiary);font-weight:700}:host::ng-deep .mrx-input-select.mrx-input-error{display:block}:host::ng-deep .mrx-input-select.mrx-input-error .ng-select .ng-select-container:before{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container{background-color:var(--system-bg-negative-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-error.ng-select .ng-select-container:hover{border-color:var(--system-bg-controls-negative-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container{background-color:var(--system-bg-positive-secondary)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:before{border-color:var(--system-bg-controls-positive-default)}:host::ng-deep .mrx-input-select .mrx-input-checked-success.ng-select .ng-select-container:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value{max-width:100%!important}:host::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-summary-list .ng-value .ng-value-label{text-overflow:initial!important;overflow:initial}\n"] }]
150
192
  }], propDecorators: { fields: [{
151
193
  type: Input
152
194
  }], size: [{
@@ -205,6 +247,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
205
247
  type: Input
206
248
  }], searchable: [{
207
249
  type: Input
250
+ }], sortable: [{
251
+ type: Input
208
252
  }], loadLabel: [{
209
253
  type: Input
210
254
  }], notFoundText: [{
@@ -251,6 +295,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
251
295
  }], multiLabelTemplate: [{
252
296
  type: ContentChild,
253
297
  args: ['multiLabelTemplate']
298
+ }], contentTemplate: [{
299
+ type: ContentChild,
300
+ args: ['contentTemplate']
254
301
  }], setMaxSelectedItems: [{
255
302
  type: Input,
256
303
  args: ['maxSelectedItems']
@@ -263,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
263
310
  }], cleared: [{
264
311
  type: Output
265
312
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxtQkFBbUIsRUFJcEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFlekQsTUFBTSxPQUFPLG9CQUFvQjtJQWJqQztRQWdCUyxXQUFNLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhO1FBQ04sU0FBSSxHQUFXLE1BQU0sRUFBRSxDQUFBO1FBQ2QsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUVyQixTQUFJLEdBQXlCLE9BQU8sQ0FBQztRQUdyQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FB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QkFBckUsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBQ1gsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUNBLFdBQVc7c0JBQXZDLFlBQVk7dUJBQUMsYUFBYTtnQkFDUyxrQkFBa0I7c0JBQXJELFlBQVk7dUJBQUMsb0JBQW9CO2dCQUc5QixtQkFBbUI7c0JBRHRCLEtBQUs7dUJBQUMsa0JBQWtCO2dCQU1SLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWRkVGFnRm4gfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvbmctc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQge1xyXG4gIElucHV0U2VsZWN0U2l6ZUVudW0sXHJcbiAgSW5wdXRTZWxlY3RTaXplVHlwZXMsXHJcbiAgSW5wdXRTZWxlY3RWYWx1ZVR5cGVzLFxyXG4gIElucHV0U2VsZWN0VmFsdWVXaXRoSWRcclxufSBmcm9tICcuL2lucHV0LXNlbGVjdC5lbnVtJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXNlbGVjdC5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0U2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIHB1YmxpYyBtYXhTZWxlY3RlZEl0ZW1zITogbnVtYmVyO1xyXG4gIHB1YmxpYyBfdmFsdWU6IElucHV0U2VsZWN0VmFsdWVUeXBlcyA9IFtdO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpXHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogSW5wdXRTZWxlY3RTaXplVHlwZXMgPSAnbGFyZ2UnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWQhOiBvYmplY3QgfCBhbnlbXTtcclxuICBASW5wdXQoKSBwdWJsaWMgYmluZFZhbHVlID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGJpbmRMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHdyYXBwZXJDdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYWRkVGFnOiBib29sZWFuIHwgQWRkVGFnRm4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgcHVibGljIGdyb3VwQnk6IHN0cmluZyB8ICgodmFsdWU6IGFueSkgPT4gYW55KSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eVZhbHVlOiBhbnk7XHJcbiAgQElucHV0KCkgcHVibGljIHZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhY2tCeUZuOiBhbnk7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlWYWx1ZSE6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZEZyb21EaXNwbGF5ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVNlYXJjaEZuPzogKHRlcm06IHN0cmluZywgaXRlbTogYW55KSA9PiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgaXNCb3R0b21MYWJlbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2ggPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0VtcHR5RmllbGRzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaGFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkTGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbm90Rm91bmRUZXh0ID0gJ9Cd0LUg0L3QsNC50LTQtdC90L4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlDb2xsYXBzZUNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgZWRpdGFibGVTZWFyY2hUZXJtOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIEVSUk9SXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgcHVibGljIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGxhYmVsUmVxdWlyZWRIaWRkZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxFeHRyYUNsYXNzOiBvYmplY3QgfCBzdHJpbmcgPSAnJztcclxuXHJcbiAgLy8gVE9PTFRJUFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXBIaWRkZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgLy8gUkVGU1xyXG4gIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQpIG5nU2VsZWN0ITogTmdTZWxlY3RDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZCgnc2VsZWN0T3B0aW9uc1RlbXBsYXRlJykgc2VsZWN0T3B0aW9uc1RlbXBsYXRlITogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcbiAgQENvbnRlbnRDaGlsZCgnc2VsZWN0T3B0aW9uc0dyb3VwVGVtcGxhdGUnKSBzZWxlY3RPcHRpb25zR3JvdXBUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ2xhYmVsVGVtcGxhdGUnKSBsYWJlbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcbiAgQENvbnRlbnRDaGlsZCgndGFnVGVtcGxhdGUnKSB0YWdUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ211bHRpTGFiZWxUZW1wbGF0ZScpIG11bHRpTGFiZWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG5cclxuICBASW5wdXQoJ21heFNlbGVjdGVkSXRlbXMnKVxyXG4gIHNldCBzZXRNYXhTZWxlY3RlZEl0ZW1zKHZhbDogbnVtYmVyKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMubWF4U2VsZWN0ZWRJdGVtcyA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SW5wdXRTZWxlY3RWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRTZWxlY3RWYWx1ZVR5cGVzPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbnB1dFNlbGVjdFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRTZWxlY3RWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIHNlYXJjaGVkOiBFdmVudEVtaXR0ZXI8eyB0ZXJtOiBzdHJpbmc7IGl0ZW1zOiBhbnlbXSB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0ZXJtOiBzdHJpbmc7IGl0ZW1zOiBhbnlbXSB9PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzVmVyaWZpZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIShcclxuICAgICAgdGhpcy52YWx1ZSA9PT0gbnVsbCB8fFxyXG4gICAgICB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgdGhpcy52YWx1ZSA9PT0gdGhpcy5lbXB0eVZhbHVlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBJbnB1dFNlbGVjdFZhbHVlVHlwZXMpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGludmFsaWRNZXNzYWdlQXJyYXkoKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmludmFsaWRNZXNzYWdlID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gQXJyYXkodGhpcy5pbnZhbGlkTWVzc2FnZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkTWVzc2FnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJ1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9ICR7SW5wdXRTZWxlY3RTaXplRW51bVt0aGlzLnNpemVdfSAke3RoaXMuY2hlY2tMb2FkaW5nfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrTG9hZGluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZyA/ICdtcngtaW5wdXQtbG9hZGluZycgOiAnJztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkNoYW5nZSh2YWw6IGFueSk6IHZvaWQge31cclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuZWRpdGFibGVTZWFyY2hUZXJtICYmIHRoaXMubmdTZWxlY3QpIHtcclxuICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gJyc7XHJcbiAgICAgIHRoaXMubmdTZWxlY3QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUoaW5zaWRlVmFsdWU6IElucHV0U2VsZWN0VmFsdWVUeXBlcyk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogaW5zaWRlVmFsdWUsIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZShpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVNlYXJjaChldmVudDogeyB0ZXJtOiBzdHJpbmc7IGl0ZW1zOiBhbnlbXSB9KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaGVkLmVtaXQoeyB0ZXJtOiBldmVudC50ZXJtLCBpdGVtczogZXZlbnQuaXRlbXN9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXIoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2xlYXJlZC5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtaW5wdXQtc2VsZWN0XCIgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCJpbnZhbGlkXCIgW2NsYXNzXT1cIndyYXBwZXJDdXN0b21DbGFzc2VzXCI+XHJcbiAgPGRpdiBbY2xhc3MuaW5wdXRib3gtZXJyb3JdPVwic2hvd0VtcHR5RmllbGRzICYmIHJlcXVpcmVkICYmICFpc1ZlcmlmaWVkXCJcclxuICAgICAgIFtjbGFzcy5pbnB1dGJveC1zdWNjZXNzXT1cInNob3dFbXB0eUZpZWxkcyAmJiByZXF1aXJlZCAmJiBpc1ZlcmlmaWVkXCJcclxuICAgICAgIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgW2NsYXNzLi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG5cclxuICAgIDxuZy1zZWxlY3RcclxuICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcclxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXHJcbiAgICAgIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcclxuICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICBbZWRpdGFibGVTZWFyY2hUZXJtXT1cImVkaXRhYmxlU2VhcmNoVGVybVwiXHJcbiAgICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIm1heFNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICBbZ3JvdXBCeV09XCJncm91cEJ5ID8gZ3JvdXBCeSA6ICcnXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3RyYWNrQnlGbl09XCJ0cmFja0J5Rm5cIlxyXG4gICAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgICAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gICAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXHJcbiAgICAgIFtzZWFyY2hGbl09XCJjdXN0b21TZWFyY2hGblwiXHJcbiAgICAgIFtub3RGb3VuZFRleHRdPVwibm90Rm91bmRUZXh0XCJcclxuICAgICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aC50b1N0cmluZygpIHx8ICdub25lJ1wiXHJcbiAgICAgIGNsZWFyQWxsVGV4dD1cItCe0YfQuNGB0YLQuNGC0YxcIlxyXG4gICAgICBhZGRUYWdUZXh0PVwi0JTQvtCx0LDQstC40YLRjFwiXHJcbiAgICAgIGxvYWRpbmdUZXh0PVwi0JfQsNCz0YDRg9C30LrQsC4uLlwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAoY2xlYXIpPVwib25DbGVhcigkZXZlbnQpXCJcclxuICAgICAgKHNlYXJjaCk9XCJ1cGRhdGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgKm5nSWY9XCJkaXNhYmxlZCAmJiBkaXNhYmxlZEZyb21EaXNwbGF5XCI+XHJcbiAgICAgICAge3sgZGlzcGxheVZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRncm91cC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiAqbmdJZj1cInNlbGVjdE9wdGlvbnNHcm91cFRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdE9wdGlvbnNHcm91cFRlbXBsYXRlOyBjb250ZXh0OntpdGVtOiBpdGVtLCBpbmRleDogaW5kZXh9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCIgKm5nSWY9XCJzZWxlY3RPcHRpb25zVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0T3B0aW9uc1RlbXBsYXRlOyBjb250ZXh0OntpdGVtOiBpdGVtLCBjbGVhcjogY2xlYXJ9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cImxhYmVsVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZTsgY29udGV4dDp7aXRlbTogaXRlbSwgY2xlYXI6IGNsZWFyfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctdGFnLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiICpuZ0lmPVwidGFnVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFnVGVtcGxhdGU7IGNvbnRleHQ6e2l0ZW1zOiBpdGVtc31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmd0ZXh0LXRtcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+e3sgbG9hZExhYmVsIHx8ICfQl9Cw0LPRgNGD0LfQutCwJyB9fTwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtdWx0aUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6e2l0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cIm11bHRpQ29sbGFwc2VDb3VudFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWx1ZS5sZW5ndGggPCBtdWx0aUNvbGxhcHNlQ291bnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy12YWx1ZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57e2l0ZW1bJ2xhYmVsJ119fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCIgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCI+w5c8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsdWUubGVuZ3RoID49IG11bHRpQ29sbGFwc2VDb3VudFwiIGNsYXNzPVwibmctc3VtbWFyeS1saXN0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctdmFsdWUgbmctdmFsdWUtZW1wdHlcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPtCS0YvQsdGA0LDQvdC+OiB7eyB2YWx1ZS5sZW5ndGggfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmdzcGlubmVyLXRtcD5cclxuICAgICAgICA8bXJ4LWxvYWRlclxyXG4gICAgICAgICAgW25nU3R5bGVdPVwie2Rpc3BsYXk6ICdmbGV4J31cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIidicmFuZCdcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cImFsaWduLXNlbGYtY2VudGVyIG1yLTJcIlxyXG4gICAgICAgID48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLXNlbGVjdD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1yeC1lcnJvci1tZXNzYWdlXHJcbiAgICAqbmdJZj1cImludmFsaWQgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxtQkFBbUIsRUFJcEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFlekQsTUFBTSxPQUFPLG9CQUFvQjtJQWJqQztRQWdCUyxXQUFNLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhO1FBQ04sU0FBSSxHQUFXLE1BQU0sRUFBRSxDQUFBO1FBQ2QsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUVyQixTQUFJLEdBQXlCLE9BQU8sQ0FBQztRQUdyQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FB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O3NCQUEzQixNQUFNO2dCQUNVLFFBQVE7c0JBQXhCLE1BQU07Z0JBQ1UsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBZGRUYWdGbiB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9uZy1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7XHJcbiAgSW5wdXRTZWxlY3RTaXplRW51bSxcclxuICBJbnB1dFNlbGVjdFNpemVUeXBlcyxcclxuICBJbnB1dFNlbGVjdFZhbHVlVHlwZXMsXHJcbiAgSW5wdXRTZWxlY3RWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vaW5wdXQtc2VsZWN0LmVudW0nO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiQG5nLXNlbGVjdC9uZy1zZWxlY3RcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWlucHV0LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgcHVibGljIG1heFNlbGVjdGVkSXRlbXMhOiBudW1iZXI7XHJcbiAgcHVibGljIF92YWx1ZTogSW5wdXRTZWxlY3RWYWx1ZVR5cGVzID0gW107XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KClcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBJbnB1dFNlbGVjdFNpemVUeXBlcyA9ICdsYXJnZSc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZCE6IG9iamVjdCB8IGFueVtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgYmluZExhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgd3JhcHBlckN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhZGRUYWc6IGJvb2xlYW4gfCBBZGRUYWdGbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBCeTogc3RyaW5nIHwgKCh2YWx1ZTogYW55KSA9PiBhbnkpID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGVtcHR5VmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgdmlydHVhbFNjcm9sbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmFja0J5Rm46IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheVZhbHVlITogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkRnJvbURpc3BsYXkhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tU2VhcmNoRm4/OiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0JvdHRvbUxhYmVsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93RW1wdHlGaWVsZHMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoYWJsZSA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICog0JLQutC70Y7Rh9Cw0LXRgiDRgdC+0YDRgtC40YDQvtCy0LrRgyDRgdC/0LjRgdC60LA6INCy0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLINC/0L7QtNC90LjQvNCw0Y7RgtGB0Y8g0L3QsNCy0LXRgNGFLlxyXG4gICAqINCU0LvRjyDQvdCw0LTRkdC20L3QvtC5INGA0LDQsdC+0YLRiyDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyDRg9C60LDQt9Cw0YLRjCBgYmluZFZhbHVlYCAo0L/QvtC70LUt0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YApLlxyXG4gICAqINCR0LXQtyBgYmluZFZhbHVlYCDRgdC+0YDRgtC40YDQvtCy0LrQsCDRgNCw0LHQvtGC0LDQtdGCINC/0L4g0YHRgdGL0LvQutCw0Lwg0L7QsdGK0LXQutGC0L7QsiDigJQg0L/QvtC00YXQvtC00LjRgiwg0LXRgdC70Lgg0LTQsNC90L3Ri9C1INC90LUg0L/QtdGA0LXRgdC+0LfQtNCw0Y7RgtGB0Y8uXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxvYWRMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQgPSAn0J3QtSDQvdCw0LnQtNC10L3Qvic7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aUNvbGxhcHNlQ291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0YWJsZVNlYXJjaFRlcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gRVJST1JcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tJbnZhbGlkOiB0cnVlIHwgZmFsc2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gTEFCRUxcclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxSZXF1aXJlZEhpZGRlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbEV4dHJhQ2xhc3M6IG9iamVjdCB8IHN0cmluZyA9ICcnO1xyXG5cclxuICAvLyBUT09MVElQXHJcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXAgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcEhpZGRlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAvLyBSRUZTXHJcbiAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCkgbmdTZWxlY3QhOiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBAQ29udGVudENoaWxkKCdzZWxlY3RPcHRpb25zVGVtcGxhdGUnKSBzZWxlY3RPcHRpb25zVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPjtcclxuICBAQ29udGVudENoaWxkKCdzZWxlY3RPcHRpb25zR3JvdXBUZW1wbGF0ZScpIHNlbGVjdE9wdGlvbnNHcm91cFRlbXBsYXRlITogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUZW1wbGF0ZScpIGxhYmVsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPjtcclxuICBAQ29udGVudENoaWxkKCd0YWdUZW1wbGF0ZScpIHRhZ1RlbXBsYXRlITogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcbiAgQENvbnRlbnRDaGlsZCgnbXVsdGlMYWJlbFRlbXBsYXRlJykgbXVsdGlMYWJlbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcbiAgQENvbnRlbnRDaGlsZCgnY29udGVudFRlbXBsYXRlJykgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCdtYXhTZWxlY3RlZEl0ZW1zJylcclxuICBzZXQgc2V0TWF4U2VsZWN0ZWRJdGVtcyh2YWw6IG51bWJlcikge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLm1heFNlbGVjdGVkSXRlbXMgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0U2VsZWN0VmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0U2VsZWN0VmFsdWVUeXBlcz4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW5wdXRTZWxlY3RWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0U2VsZWN0VmFsdWVXaXRoSWQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hlZDogRXZlbnRFbWl0dGVyPHsgdGVybTogc3RyaW5nOyBpdGVtczogYW55W10gfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGVybTogc3RyaW5nOyBpdGVtczogYW55W10gfT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGNsZWFyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1ZlcmlmaWVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEoXHJcbiAgICAgIHRoaXMudmFsdWUgPT09IG51bGwgfHxcclxuICAgICAgdGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMudmFsdWUgPT09IHRoaXMuZW1wdHlWYWx1ZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogSW5wdXRTZWxlY3RWYWx1ZVR5cGVzKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRNZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5pbnZhbGlkTWVzc2FnZSB8fCAhIXRoaXMuaW52YWxpZE1lc3NhZ2UubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbnZhbGlkTWVzc2FnZUFycmF5KCk6IHN0cmluZ1tdIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5pbnZhbGlkTWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIEFycmF5KHRoaXMuaW52YWxpZE1lc3NhZ2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZE1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJydcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc30gJHt0aGlzLmNoZWNrVmFsaWRDbGFzc2VzfSAke0lucHV0U2VsZWN0U2l6ZUVudW1bdGhpcy5zaXplXX0gJHt0aGlzLmNoZWNrTG9hZGluZ31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja0xvYWRpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRpbmcgPyAnbXJ4LWlucHV0LWxvYWRpbmcnIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzTWF4U2VsZWN0ZWRSZWFjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgJiZcclxuICAgICAgdGhpcy5tYXhTZWxlY3RlZEl0ZW1zICE9IG51bGwgJiZcclxuICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJlxyXG4gICAgICB0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1heFNlbGVjdGVkSXRlbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XHJcbiAgICBjb25zdCBiYXNlTGlzdCA9IHRoaXMuc29ydGFibGUgPyB0aGlzLnNvcnRlZEl0ZW1zIDogdGhpcy5pdGVtcztcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNNYXhTZWxlY3RlZFJlYWNoZWQpIHtcclxuICAgICAgcmV0dXJuIGJhc2VMaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBiYXNlTGlzdC5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAuLi5pdGVtLFxyXG4gICAgICBkaXNhYmxlZDogIXRoaXMuX2lzSXRlbVNlbGVjdGVkKGl0ZW0pXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNvcnRlZEl0ZW1zKCk6IGFueVtdIHtcclxuICAgIGlmICghdGhpcy5zb3J0YWJsZSB8fCAhdGhpcy5pdGVtcyB8fCAhdGhpcy52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gdGhpcy5faXNJdGVtU2VsZWN0ZWQoaXRlbSkpO1xyXG4gICAgY29uc3Qgbm90U2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLl9pc0l0ZW1TZWxlY3RlZChpdGVtKSk7XHJcblxyXG4gICAgcmV0dXJuIFsuLi5zZWxlY3RlZCwgLi4ubm90U2VsZWN0ZWRdO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uQ2hhbmdlKHZhbDogYW55KTogdm9pZCB7fVxyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5lZGl0YWJsZVNlYXJjaFRlcm0gJiYgdGhpcy5uZ1NlbGVjdCkge1xyXG4gICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSAnJztcclxuICAgICAgdGhpcy5uZ1NlbGVjdC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogSW5wdXRTZWxlY3RWYWx1ZVR5cGVzKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gaW5zaWRlVmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICB0aGlzLm9uQ2hhbmdlKGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlU2VhcmNoKGV2ZW50OiB7IHRlcm06IHN0cmluZzsgaXRlbXM6IGFueVtdIH0pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoZWQuZW1pdCh7IHRlcm06IGV2ZW50LnRlcm0sIGl0ZW1zOiBldmVudC5pdGVtc30pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcigkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jbGVhcmVkLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWZhdWx0VHJhY2tCeUZuID0gKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYmluZFZhbHVlID8gaXRlbVt0aGlzLmJpbmRWYWx1ZV0gOiBpdGVtO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgX2lzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSA6IFt0aGlzLnZhbHVlXTtcclxuICAgIGlmICh0aGlzLmJpbmRWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gdmFsdWVzLnNvbWUodiA9PiB2ID09PSBpdGVtW3RoaXMuYmluZFZhbHVlXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWVzLmluY2x1ZGVzKGl0ZW0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LXNlbGVjdFwiIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZFwiIFtjbGFzc109XCJ3cmFwcGVyQ3VzdG9tQ2xhc3Nlc1wiPlxyXG4gIDxkaXYgW2NsYXNzLmlucHV0Ym94LWVycm9yXT1cInNob3dFbXB0eUZpZWxkcyAmJiByZXF1aXJlZCAmJiAhaXNWZXJpZmllZFwiXHJcbiAgICAgICBbY2xhc3MuaW5wdXRib3gtc3VjY2Vzc109XCJzaG93RW1wdHlGaWVsZHMgJiYgcmVxdWlyZWQgJiYgaXNWZXJpZmllZFwiXHJcbiAgICAgICBbY2xhc3MuLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuXHJcbiAgICA8bmctc2VsZWN0XHJcbiAgICAgIFtpdGVtc109XCJkaXNwbGF5SXRlbXNcIlxyXG4gICAgICBbY2xhc3MubGltaXQtcmVhY2hlZF09XCJpc01heFNlbGVjdGVkUmVhY2hlZFwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgICAgW2FkZFRhZ109XCJhZGRUYWdcIlxyXG4gICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXHJcbiAgICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcclxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICAgICAgW2VkaXRhYmxlU2VhcmNoVGVybV09XCJlZGl0YWJsZVNlYXJjaFRlcm1cIlxyXG4gICAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJtYXhTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgW2dyb3VwQnldPVwiZ3JvdXBCeSA/IGdyb3VwQnkgOiAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFt0cmFja0J5Rm5dPVwidHJhY2tCeUZuIHx8IGRlZmF1bHRUcmFja0J5Rm5cIlxyXG4gICAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgICAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gICAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXHJcbiAgICAgIFtzZWFyY2hGbl09XCJjdXN0b21TZWFyY2hGblwiXHJcbiAgICAgIFtub3RGb3VuZFRleHRdPVwibm90Rm91bmRUZXh0XCJcclxuICAgICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aC50b1N0cmluZygpIHx8ICdub25lJ1wiXHJcbiAgICAgIGNsZWFyQWxsVGV4dD1cItCe0YfQuNGB0YLQuNGC0YxcIlxyXG4gICAgICBhZGRUYWdUZXh0PVwi0JTQvtCx0LDQstC40YLRjFwiXHJcbiAgICAgIGxvYWRpbmdUZXh0PVwi0JfQsNCz0YDRg9C30LrQsC4uLlwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAoY2xlYXIpPVwib25DbGVhcigkZXZlbnQpXCJcclxuICAgICAgKHNlYXJjaCk9XCJ1cGRhdGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgKm5nSWY9XCJkaXNhYmxlZCAmJiBkaXNhYmxlZEZyb21EaXNwbGF5XCI+XHJcbiAgICAgICAge3sgZGlzcGxheVZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRncm91cC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiAqbmdJZj1cInNlbGVjdE9wdGlvbnNHcm91cFRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdE9wdGlvbnNHcm91cFRlbXBsYXRlOyBjb250ZXh0OntpdGVtOiBpdGVtLCBpbmRleDogaW5kZXh9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCIgKm5nSWY9XCJzZWxlY3RPcHRpb25zVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0T3B0aW9uc1RlbXBsYXRlOyBjb250ZXh0OntpdGVtOiBpdGVtLCBjbGVhcjogY2xlYXJ9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cImxhYmVsVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZTsgY29udGV4dDp7aXRlbTogaXRlbSwgY2xlYXI6IGNsZWFyfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctdGFnLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiICpuZ0lmPVwidGFnVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFnVGVtcGxhdGU7IGNvbnRleHQ6e2l0ZW1zOiBpdGVtc31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmd0ZXh0LXRtcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+e3sgbG9hZExhYmVsIHx8ICfQl9Cw0LPRgNGD0LfQutCwJyB9fTwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtdWx0aUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6e2l0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIiAqbmdJZj1cIm11bHRpQ29sbGFwc2VDb3VudFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWx1ZS5sZW5ndGggPCBtdWx0aUNvbGxhcHNlQ291bnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy12YWx1ZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57e2l0ZW1bJ2xhYmVsJ119fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCIgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCI+w5c8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsdWUubGVuZ3RoID49IG11bHRpQ29sbGFwc2VDb3VudFwiIGNsYXNzPVwibmctc3VtbWFyeS1saXN0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctdmFsdWUgbmctdmFsdWUtZW1wdHlcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPtCS0YvQsdGA0LDQvdC+OiB7eyB2YWx1ZS5sZW5ndGggfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmdzcGlubmVyLXRtcD5cclxuICAgICAgICA8bXJ4LWxvYWRlclxyXG4gICAgICAgICAgW25nU3R5bGVdPVwie2Rpc3BsYXk6ICdmbGV4J31cIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIidicmFuZCdcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cImFsaWduLXNlbGYtY2VudGVyIG1yLTJcIlxyXG4gICAgICAgID48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VGVtcGxhdGVcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bXJ4LWVycm9yLW1lc3NhZ2VcclxuICAgICpuZ0lmPVwiaW52YWxpZCAmJiBpc0ludmFsaWRNZXNzYWdlXCJcclxuICAgIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiXHJcbiAgPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==