@progress-chef/platform-shared-components 0.0.162 → 0.0.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons/IconFont.css +13 -12
- package/assets/icons/IconFont.scss +13 -12
- package/assets/icons/IconFont.ttf +0 -0
- package/assets/icons/IconFont.woff +0 -0
- package/assets/icons/IconFont.woff2 +0 -0
- package/esm2022/lib/atoms/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/atoms/icon/icon.component.mjs +2 -2
- package/fesm2022/progress-chef-platform-shared-components.mjs +4 -4
- package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: "IconFont";
|
|
3
|
-
src: url('IconFont.woff2?t=
|
|
4
|
-
url('IconFont.woff?t=
|
|
5
|
-
url('IconFont.ttf?t=
|
|
3
|
+
src: url('IconFont.woff2?t=1775457624535') format('woff2'),
|
|
4
|
+
url('IconFont.woff?t=1775457624535') format('woff'),
|
|
5
|
+
url('IconFont.ttf?t=1775457624535') format('truetype');
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.iconfont {
|
|
@@ -96,15 +96,16 @@
|
|
|
96
96
|
.icon-courier-global-defaults:before { content: "\e950"; }
|
|
97
97
|
.icon-check:before { content: "\e951"; }
|
|
98
98
|
.icon-policies:before { content: "\e952"; }
|
|
99
|
-
.icon-
|
|
100
|
-
.icon-
|
|
101
|
-
.icon-
|
|
102
|
-
.icon-dsm-
|
|
103
|
-
.icon-dsm-
|
|
104
|
-
.icon-dsm-
|
|
105
|
-
.icon-dsm-
|
|
106
|
-
.icon-dsm-
|
|
107
|
-
.icon-dsm
|
|
99
|
+
.icon-archive:before { content: "\e953"; }
|
|
100
|
+
.icon-short-launch:before { content: "\e954"; }
|
|
101
|
+
.icon-dsm-nodes:before { content: "\e955"; }
|
|
102
|
+
.icon-dsm-env:before { content: "\e956"; }
|
|
103
|
+
.icon-dsm-policy-files:before { content: "\e957"; }
|
|
104
|
+
.icon-dsm-recipes:before { content: "\e958"; }
|
|
105
|
+
.icon-dsm-roles:before { content: "\e959"; }
|
|
106
|
+
.icon-dsm-cookbooks:before { content: "\e95a"; }
|
|
107
|
+
.icon-dsm:before { content: "\e95b"; }
|
|
108
|
+
.icon-opsmith:before { content: "\e95c"; }
|
|
108
109
|
|
|
109
110
|
|
|
110
111
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: "IconFont";
|
|
3
|
-
src: url('IconFont.woff2?t=
|
|
4
|
-
url('IconFont.woff?t=
|
|
5
|
-
url('IconFont.ttf?t=
|
|
3
|
+
src: url('IconFont.woff2?t=1775457624535') format('woff2'),
|
|
4
|
+
url('IconFont.woff?t=1775457624535') format('woff'),
|
|
5
|
+
url('IconFont.ttf?t=1775457624535') format('truetype');
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.iconfont {
|
|
@@ -96,15 +96,16 @@
|
|
|
96
96
|
.icon-courier-global-defaults:before { content: "\e950"; }
|
|
97
97
|
.icon-check:before { content: "\e951"; }
|
|
98
98
|
.icon-policies:before { content: "\e952"; }
|
|
99
|
-
.icon-
|
|
100
|
-
.icon-
|
|
101
|
-
.icon-
|
|
102
|
-
.icon-dsm-
|
|
103
|
-
.icon-dsm-
|
|
104
|
-
.icon-dsm-
|
|
105
|
-
.icon-dsm-
|
|
106
|
-
.icon-dsm-
|
|
107
|
-
.icon-dsm
|
|
99
|
+
.icon-archive:before { content: "\e953"; }
|
|
100
|
+
.icon-short-launch:before { content: "\e954"; }
|
|
101
|
+
.icon-dsm-nodes:before { content: "\e955"; }
|
|
102
|
+
.icon-dsm-env:before { content: "\e956"; }
|
|
103
|
+
.icon-dsm-policy-files:before { content: "\e957"; }
|
|
104
|
+
.icon-dsm-recipes:before { content: "\e958"; }
|
|
105
|
+
.icon-dsm-roles:before { content: "\e959"; }
|
|
106
|
+
.icon-dsm-cookbooks:before { content: "\e95a"; }
|
|
107
|
+
.icon-dsm:before { content: "\e95b"; }
|
|
108
|
+
.icon-opsmith:before { content: "\e95c"; }
|
|
108
109
|
|
|
109
110
|
|
|
110
111
|
/**
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -122,7 +122,7 @@ export class DropdownComponent {
|
|
|
122
122
|
return this.defaultItem;
|
|
123
123
|
}
|
|
124
124
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.ThemesService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: DropdownComponent, isStandalone: true, selector: "lib-dropdown", inputs: { elementId: "elementId", label: "label", data: "data", isDisabled: ["isDisabled", "isDisabled", (value) => value === true || value === 'true'], clearButton: ["clearButton", "clearButton", (value) => value === true || value === 'true'], fillMode: "fillMode", filterable: ["filterable", "filterable", (value) => value === true || value === 'true'], popupClass: "popupClass", showDefaultItem: "showDefaultItem", useAsComboBox: "useAsComboBox", selectedItem: "selectedItem", readonly: ["readonly", "readonly", (value) => value === true || value === 'true'], rounded: "rounded", size: "size", suggest: ["suggest", "suggest", (value) => value === true || value === 'true'], textField: "textField", value: "value", valueField: "valueField", valuePrimitive: ["valuePrimitive", "valuePrimitive", (value) => value === true || value === 'true'], model: "model", control: "control", fontType: "fontType", focus: ["focus", "focus", (value) => value === true || value === 'true'], loading: ["loading", "loading", (value) => value === true || value === 'true'], loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", width: "width", infiniteScrollLoader: ["infiniteScrollLoader", "infiniteScrollLoader", (value) => value === true || value === 'true'], showError: ["showError", "showError", (value) => value === true || value === 'true'], errorMessage: "errorMessage", checkboxes: ["checkboxes", "checkboxes", (value) => value === true || value === 'true'], autoClose: ["autoClose", "autoClose", (value) => value === true || value === 'true'], placeholder: "placeholder" }, outputs: { modelChange: "modelChange", onScrollEnd: "onScrollEnd" }, viewQueries: [{ propertyName: "comboBox", first: true, predicate: ["comboBox"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown\">\n <span *ngIf=\"label.length > 0\">\n <label class=\"checkbox-label\" [for]=\"elementId\">\n <lib-typography [defaultText]=\"label\" [type]=\"fontType\">\n </lib-typography>\n </label>\n \n </span>\n <kendo-combobox *ngIf=\"_useAsComboBox\" #comboBox [id]=\"elementId\" (opened)=\"onDropdownOpen()\"\n (close)=\"onDropdownClose()\" [data]=\"data\" [style.width]=\"width\" [clearButton]=\"clearButton\" fillMode=\"outline\"\n [filterable]=\"filterable\" [placeholder]=\"_placeholder\" [readonly]=\"readonly\" rounded=\"small\" [size]=\"size\"\n [suggest]=\"suggest\" [textField]=\"textField\" [value]=\"value\" [valueField]=\"valueField\"\n [valuePrimitive]=\"valuePrimitive\" [ngModel]=\"model\" (ngModelChange)=\"emitModelChange($event)\"\n [formControl]=\"control\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\">\n <ng-template kendoComboBoxHeaderTemplate>\n <ng-content select=\"header\"></ng-content>\n </ng-template>\n <ng-template kendoComboBoxItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoComboBoxFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoComboBoxNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-combobox>\n\n <kendo-dropdownlist #dropdownList *ngIf=\"!_useAsComboBox\" [id]=\"elementId\" [data]=\"data\" [textField]=\"textField\"\n [valueField]=\"valueField\" [(ngModel)]=\"model\" (selectionChange)=\"emitModelChange($event)\" [fillMode]=\"fillMode\"\n [itemDisabled]=\"itemDisabled\" [style.width]=\"width\" [valuePrimitive]=\"valuePrimitive\" [value]=\"value\"\n [rounded]=\"rounded\" [size]=\"size\" (opened)=\"onDropdownOpen()\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\"\n [ngClass]=\"{'default-text': model === null || model === undefined}\" (close)=\"onDropdownClose()\"\n [defaultItem]=\"showDefaultItem ? getDefaultItem() : null\" [formControl]=\"control\">\n <ng-template kendoDropDownListItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoDropDownListFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoDropDownListNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-dropdownlist>\n <div *ngIf=\"showError\">\n <lib-typography [defaultText]=\"errorMessage\" class=\"error-text\" />\n </div>\n</div>\n", styles: [".checkbox-label{margin-bottom:8px}.footer-loader{display:flex;justify-content:center;align-items:center;padding:.5rem 0;box-sizing:border-box}::ng-deep .rowData{padding-left:1rem}::ng-deep .k-list-md .k-list-item,::ng-deep .k-list-md .k-list-optionlabel{padding:8px 16px}::ng-deep .k-picker,::ng-deep .k-dropdownlist.k-picker-outline{border-color:#21252980}::ng-deep .k-picker:focus,::ng-deep .k-dropdownlist.k-picker-outline:focus{border-color:#80b4ff!important;box-shadow:0 0 0 .25rem #0069ff40!important}::ng-deep .k-dropdownlist.k-picker-outline .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-outline .k-button-icon,::ng-deep .k-dropdownlist.k-picker-flat .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-flat .k-button-icon{color:#101416}::ng-deep .default-text .k-input-value-text{color:#6f7a85!important}::ng-deep .k-list-md{border-radius:0 0 8px 8px}::ng-deep .k-list-container{border-radius:0 0 8px 8px}::ng-deep .k-animation-container,::ng-deep .k-popup{z-index:10002!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropDownsModule }, { kind: "directive", type: i3.FooterTemplateDirective, selector: "[kendoDropDownListFooterTemplate],[kendoComboBoxFooterTemplate],[kendoDropDownTreeFooterTemplate],[kendoMultiColumnComboBoxFooterTemplate],[kendoAutoCompleteFooterTemplate],[kendoMultiSelectFooterTemplate],[kendoMultiSelectTreeFooterTemplate]" }, { kind: "directive", type: i3.HeaderTemplateDirective, selector: "[kendoDropDownListHeaderTemplate],[kendoComboBoxHeaderTemplate],[kendoDropDownTreeHeaderTemplate],[kendoMultiColumnComboBoxHeaderTemplate],[kendoAutoCompleteHeaderTemplate],[kendoMultiSelectHeaderTemplate],[kendoMultiSelectTreeHeaderTemplate]" }, { kind: "directive", type: i3.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: i3.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }, { kind: "component", type: i3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "component", type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: DropdownComponent, isStandalone: true, selector: "lib-dropdown", inputs: { elementId: "elementId", label: "label", data: "data", isDisabled: ["isDisabled", "isDisabled", (value) => value === true || value === 'true'], clearButton: ["clearButton", "clearButton", (value) => value === true || value === 'true'], fillMode: "fillMode", filterable: ["filterable", "filterable", (value) => value === true || value === 'true'], popupClass: "popupClass", showDefaultItem: "showDefaultItem", useAsComboBox: "useAsComboBox", selectedItem: "selectedItem", readonly: ["readonly", "readonly", (value) => value === true || value === 'true'], rounded: "rounded", size: "size", suggest: ["suggest", "suggest", (value) => value === true || value === 'true'], textField: "textField", value: "value", valueField: "valueField", valuePrimitive: ["valuePrimitive", "valuePrimitive", (value) => value === true || value === 'true'], model: "model", control: "control", fontType: "fontType", focus: ["focus", "focus", (value) => value === true || value === 'true'], loading: ["loading", "loading", (value) => value === true || value === 'true'], loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", width: "width", infiniteScrollLoader: ["infiniteScrollLoader", "infiniteScrollLoader", (value) => value === true || value === 'true'], showError: ["showError", "showError", (value) => value === true || value === 'true'], errorMessage: "errorMessage", checkboxes: ["checkboxes", "checkboxes", (value) => value === true || value === 'true'], autoClose: ["autoClose", "autoClose", (value) => value === true || value === 'true'], placeholder: "placeholder" }, outputs: { modelChange: "modelChange", onScrollEnd: "onScrollEnd" }, viewQueries: [{ propertyName: "comboBox", first: true, predicate: ["comboBox"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown\">\n <span *ngIf=\"label.length > 0\">\n <label class=\"checkbox-label\" [for]=\"elementId\">\n <lib-typography [defaultText]=\"label\" [type]=\"fontType\">\n </lib-typography>\n </label>\n \n </span>\n <kendo-combobox *ngIf=\"_useAsComboBox\" #comboBox [id]=\"elementId\" (opened)=\"onDropdownOpen()\"\n (close)=\"onDropdownClose()\" [data]=\"data\" [style.width]=\"width\" [clearButton]=\"clearButton\" fillMode=\"outline\"\n [filterable]=\"filterable\" [placeholder]=\"_placeholder\" [readonly]=\"readonly\" rounded=\"small\" [size]=\"size\"\n [suggest]=\"suggest\" [textField]=\"textField\" [value]=\"value\" [valueField]=\"valueField\"\n [valuePrimitive]=\"valuePrimitive\" [ngModel]=\"model\" (ngModelChange)=\"emitModelChange($event)\"\n [formControl]=\"control\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\">\n <ng-template kendoComboBoxHeaderTemplate>\n <ng-content select=\"header\"></ng-content>\n </ng-template>\n <ng-template kendoComboBoxItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoComboBoxFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoComboBoxNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-combobox>\n\n <kendo-dropdownlist #dropdownList *ngIf=\"!_useAsComboBox\" [id]=\"elementId\" [data]=\"data\" [textField]=\"textField\"\n [valueField]=\"valueField\" [(ngModel)]=\"model\" (selectionChange)=\"emitModelChange($event)\" [fillMode]=\"fillMode\"\n [itemDisabled]=\"itemDisabled\" [style.width]=\"width\" [valuePrimitive]=\"valuePrimitive\" [value]=\"value\"\n [rounded]=\"rounded\" [size]=\"size\" (opened)=\"onDropdownOpen()\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\"\n [ngClass]=\"{'default-text': model === null || model === undefined}\" (close)=\"onDropdownClose()\"\n [defaultItem]=\"showDefaultItem ? getDefaultItem() : null\" [formControl]=\"control\">\n <ng-template kendoDropDownListItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoDropDownListFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoDropDownListNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-dropdownlist>\n <div *ngIf=\"showError\">\n <lib-typography [defaultText]=\"errorMessage\" class=\"error-text\" />\n </div>\n</div>\n", styles: [".checkbox-label{margin-bottom:8px}.footer-loader{display:flex;justify-content:center;align-items:center;padding:.5rem 0;box-sizing:border-box}::ng-deep .rowData{padding-left:1rem}::ng-deep .k-list-md .k-list-item,::ng-deep .k-list-md .k-list-optionlabel{padding:8px 16px}::ng-deep .k-picker,::ng-deep .k-dropdownlist.k-picker-outline{border-color:#21252980}::ng-deep .k-picker:focus,::ng-deep .k-dropdownlist.k-picker-outline:focus{border-color:#80b4ff!important;box-shadow:0 0 0 .25rem #0069ff40!important}::ng-deep .k-picker:hover,::ng-deep .k-picker.k-hover,::ng-deep .k-dropdownlist.k-picker-outline:hover,::ng-deep .k-dropdownlist.k-picker-outline.k-hover{background-color:#dee6f7}::ng-deep .k-dropdownlist.k-picker-outline .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-outline .k-button-icon,::ng-deep .k-dropdownlist.k-picker-flat .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-flat .k-button-icon{color:#101416}::ng-deep .default-text .k-input-value-text{color:#6f7a85!important}::ng-deep .k-list-md{border-radius:0 0 8px 8px}::ng-deep .k-list-container{border-radius:0 0 8px 8px}::ng-deep .k-animation-container,::ng-deep .k-popup{z-index:10002!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropDownsModule }, { kind: "directive", type: i3.FooterTemplateDirective, selector: "[kendoDropDownListFooterTemplate],[kendoComboBoxFooterTemplate],[kendoDropDownTreeFooterTemplate],[kendoMultiColumnComboBoxFooterTemplate],[kendoAutoCompleteFooterTemplate],[kendoMultiSelectFooterTemplate],[kendoMultiSelectTreeFooterTemplate]" }, { kind: "directive", type: i3.HeaderTemplateDirective, selector: "[kendoDropDownListHeaderTemplate],[kendoComboBoxHeaderTemplate],[kendoDropDownTreeHeaderTemplate],[kendoMultiColumnComboBoxHeaderTemplate],[kendoAutoCompleteHeaderTemplate],[kendoMultiSelectHeaderTemplate],[kendoMultiSelectTreeHeaderTemplate]" }, { kind: "directive", type: i3.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: i3.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }, { kind: "component", type: i3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "component", type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
@@ -133,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
133
133
|
LoaderComponent,
|
|
134
134
|
FormsModule,
|
|
135
135
|
ReactiveFormsModule
|
|
136
|
-
], standalone: true, selector: 'lib-dropdown', template: "<div class=\"dropdown\">\n <span *ngIf=\"label.length > 0\">\n <label class=\"checkbox-label\" [for]=\"elementId\">\n <lib-typography [defaultText]=\"label\" [type]=\"fontType\">\n </lib-typography>\n </label>\n \n </span>\n <kendo-combobox *ngIf=\"_useAsComboBox\" #comboBox [id]=\"elementId\" (opened)=\"onDropdownOpen()\"\n (close)=\"onDropdownClose()\" [data]=\"data\" [style.width]=\"width\" [clearButton]=\"clearButton\" fillMode=\"outline\"\n [filterable]=\"filterable\" [placeholder]=\"_placeholder\" [readonly]=\"readonly\" rounded=\"small\" [size]=\"size\"\n [suggest]=\"suggest\" [textField]=\"textField\" [value]=\"value\" [valueField]=\"valueField\"\n [valuePrimitive]=\"valuePrimitive\" [ngModel]=\"model\" (ngModelChange)=\"emitModelChange($event)\"\n [formControl]=\"control\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\">\n <ng-template kendoComboBoxHeaderTemplate>\n <ng-content select=\"header\"></ng-content>\n </ng-template>\n <ng-template kendoComboBoxItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoComboBoxFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoComboBoxNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-combobox>\n\n <kendo-dropdownlist #dropdownList *ngIf=\"!_useAsComboBox\" [id]=\"elementId\" [data]=\"data\" [textField]=\"textField\"\n [valueField]=\"valueField\" [(ngModel)]=\"model\" (selectionChange)=\"emitModelChange($event)\" [fillMode]=\"fillMode\"\n [itemDisabled]=\"itemDisabled\" [style.width]=\"width\" [valuePrimitive]=\"valuePrimitive\" [value]=\"value\"\n [rounded]=\"rounded\" [size]=\"size\" (opened)=\"onDropdownOpen()\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\"\n [ngClass]=\"{'default-text': model === null || model === undefined}\" (close)=\"onDropdownClose()\"\n [defaultItem]=\"showDefaultItem ? getDefaultItem() : null\" [formControl]=\"control\">\n <ng-template kendoDropDownListItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoDropDownListFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoDropDownListNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-dropdownlist>\n <div *ngIf=\"showError\">\n <lib-typography [defaultText]=\"errorMessage\" class=\"error-text\" />\n </div>\n</div>\n", styles: [".checkbox-label{margin-bottom:8px}.footer-loader{display:flex;justify-content:center;align-items:center;padding:.5rem 0;box-sizing:border-box}::ng-deep .rowData{padding-left:1rem}::ng-deep .k-list-md .k-list-item,::ng-deep .k-list-md .k-list-optionlabel{padding:8px 16px}::ng-deep .k-picker,::ng-deep .k-dropdownlist.k-picker-outline{border-color:#21252980}::ng-deep .k-picker:focus,::ng-deep .k-dropdownlist.k-picker-outline:focus{border-color:#80b4ff!important;box-shadow:0 0 0 .25rem #0069ff40!important}::ng-deep .k-dropdownlist.k-picker-outline .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-outline .k-button-icon,::ng-deep .k-dropdownlist.k-picker-flat .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-flat .k-button-icon{color:#101416}::ng-deep .default-text .k-input-value-text{color:#6f7a85!important}::ng-deep .k-list-md{border-radius:0 0 8px 8px}::ng-deep .k-list-container{border-radius:0 0 8px 8px}::ng-deep .k-animation-container,::ng-deep .k-popup{z-index:10002!important}\n"] }]
|
|
136
|
+
], standalone: true, selector: 'lib-dropdown', template: "<div class=\"dropdown\">\n <span *ngIf=\"label.length > 0\">\n <label class=\"checkbox-label\" [for]=\"elementId\">\n <lib-typography [defaultText]=\"label\" [type]=\"fontType\">\n </lib-typography>\n </label>\n \n </span>\n <kendo-combobox *ngIf=\"_useAsComboBox\" #comboBox [id]=\"elementId\" (opened)=\"onDropdownOpen()\"\n (close)=\"onDropdownClose()\" [data]=\"data\" [style.width]=\"width\" [clearButton]=\"clearButton\" fillMode=\"outline\"\n [filterable]=\"filterable\" [placeholder]=\"_placeholder\" [readonly]=\"readonly\" rounded=\"small\" [size]=\"size\"\n [suggest]=\"suggest\" [textField]=\"textField\" [value]=\"value\" [valueField]=\"valueField\"\n [valuePrimitive]=\"valuePrimitive\" [ngModel]=\"model\" (ngModelChange)=\"emitModelChange($event)\"\n [formControl]=\"control\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\">\n <ng-template kendoComboBoxHeaderTemplate>\n <ng-content select=\"header\"></ng-content>\n </ng-template>\n <ng-template kendoComboBoxItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoComboBoxFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoComboBoxNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-combobox>\n\n <kendo-dropdownlist #dropdownList *ngIf=\"!_useAsComboBox\" [id]=\"elementId\" [data]=\"data\" [textField]=\"textField\"\n [valueField]=\"valueField\" [(ngModel)]=\"model\" (selectionChange)=\"emitModelChange($event)\" [fillMode]=\"fillMode\"\n [itemDisabled]=\"itemDisabled\" [style.width]=\"width\" [valuePrimitive]=\"valuePrimitive\" [value]=\"value\"\n [rounded]=\"rounded\" [size]=\"size\" (opened)=\"onDropdownOpen()\" [popupSettings]=\"{popupClass: popupClass, appendTo: 'root'}\"\n [ngClass]=\"{'default-text': model === null || model === undefined}\" (close)=\"onDropdownClose()\"\n [defaultItem]=\"showDefaultItem ? getDefaultItem() : null\" [formControl]=\"control\">\n <ng-template kendoDropDownListItemTemplate let-data>\n <img *ngIf=\"data.imageUrl && data.imageUrl.length > 0\" [src]=\"data.imageUrl\" [width]=\"18\" [alt]=\"data.imageUrl\" />\n <div ngClass=\"data.imageUrl.length > 0 ? 'rowData' : ''\">\n <lib-typography [defaultText]=\"data.name\" [type]=\"fontType\">\n </lib-typography>\n </div>\n </ng-template>\n <ng-template kendoDropDownListFooterTemplate>\n <div *ngIf=\"infiniteScrollLoader\" class=\"footer-loader\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n <ng-template *ngIf=\"loading\" kendoDropDownListNoDataTemplate>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n </kendo-dropdownlist>\n <div *ngIf=\"showError\">\n <lib-typography [defaultText]=\"errorMessage\" class=\"error-text\" />\n </div>\n</div>\n", styles: [".checkbox-label{margin-bottom:8px}.footer-loader{display:flex;justify-content:center;align-items:center;padding:.5rem 0;box-sizing:border-box}::ng-deep .rowData{padding-left:1rem}::ng-deep .k-list-md .k-list-item,::ng-deep .k-list-md .k-list-optionlabel{padding:8px 16px}::ng-deep .k-picker,::ng-deep .k-dropdownlist.k-picker-outline{border-color:#21252980}::ng-deep .k-picker:focus,::ng-deep .k-dropdownlist.k-picker-outline:focus{border-color:#80b4ff!important;box-shadow:0 0 0 .25rem #0069ff40!important}::ng-deep .k-picker:hover,::ng-deep .k-picker.k-hover,::ng-deep .k-dropdownlist.k-picker-outline:hover,::ng-deep .k-dropdownlist.k-picker-outline.k-hover{background-color:#dee6f7}::ng-deep .k-dropdownlist.k-picker-outline .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-outline .k-button-icon,::ng-deep .k-dropdownlist.k-picker-flat .k-input-value-text,::ng-deep .k-dropdownlist.k-picker-flat .k-button-icon{color:#101416}::ng-deep .default-text .k-input-value-text{color:#6f7a85!important}::ng-deep .k-list-md{border-radius:0 0 8px 8px}::ng-deep .k-list-container{border-radius:0 0 8px 8px}::ng-deep .k-animation-container,::ng-deep .k-popup{z-index:10002!important}\n"] }]
|
|
137
137
|
}], ctorParameters: () => [{ type: i1.ThemesService }, { type: i0.Renderer2 }], propDecorators: { elementId: [{
|
|
138
138
|
type: Input
|
|
139
139
|
}], label: [{
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
225
225
|
}], placeholder: [{
|
|
226
226
|
type: Input
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBaUI3RCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLElBQWEsYUFBYSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUdELElBQWEsWUFBWSxDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQThCRCxZQUFvQixhQUE0QixFQUFVLFFBQW1CO1FBQXpELGtCQUFhLEdBQWIsYUFB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LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvYWRlclR5cGUsIExvYWRlclNpemUsIExvYWRlclRoZW1lQ29sb3IgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVtZXNTZXJ2aWNlIH0gZnJvbSAnQHByb2dyZXNzLWNoZWYvcGxhdGZvcm0tdGhlbWVzLXNlcnZpY2UnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeVR5cGUgfSBmcm9tICcuLi90eXBvZ3JhcGh5L1R5cG9ncmFwaHlUeXBlJztcbmltcG9ydCB7IENvbWJvQm94Q29tcG9uZW50LCBEcm9wRG93bkxpc3RDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlDb21wb25lbnQgfSBmcm9tICcuLi90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHsgIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcERvd25zTW9kdWxlLFxuICAgIFR5cG9ncmFwaHlDb21wb25lbnQsXG4gICAgTG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcblxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2xpYi1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGVsZW1lbnRJZDogc3RyaW5nID0gXCJzYW1wbGVJZFwiO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIGNsZWFyQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpbGxNb2RlOiBcImZsYXRcIiB8IFwic29saWRcIiB8IFwib3V0bGluZVwiIHwgXCJub25lXCIgPSBcIm91dGxpbmVcIjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgZmlsdGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHBvcHVwQ2xhc3M6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHNob3dEZWZhdWx0SXRlbSA9IHRydWU7XG5cbiAgX3VzZUFzQ29tYm9Cb3g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IHVzZUFzQ29tYm9Cb3godmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl91c2VBc0NvbWJvQm94ID0gdmFsdWU7XG4gIH1cblxuICBfc2VsZWN0ZWRJdGVtOiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRJdGVtKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvdW5kZWQ6IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCIgfCBcImZ1bGxcIiB8IFwibm9uZVwiID0gXCJtZWRpdW1cIjtcbiAgQElucHV0KCkgc2l6ZTogXCJzbWFsbFwiIHwgXCJtZWRpdW1cIiB8IFwibGFyZ2VcIiB8IFwibm9uZVwiID0gXCJtZWRpdW1cIjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgc3VnZ2VzdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHRleHRGaWVsZCE6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWUhOiBhbnk7XG4gIEBJbnB1dCgpIHZhbHVlRmllbGQhOiBzdHJpbmc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIHZhbHVlUHJpbWl0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vZGVsITogYW55O1xuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgQElucHV0KCkgZm9udFR5cGU6IFR5cG9ncmFwaHlUeXBlID0gJ0JPRFlfTUVESVVNJztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkZXJUeXBlOiBMb2FkZXJUeXBlID0gTG9hZGVyVHlwZS5wdWxzaW5nO1xuICBASW5wdXQoKSBsb2FkZXJTaXplOiBMb2FkZXJTaXplID0gTG9hZGVyU2l6ZS5tZWRpdW07XG4gIEBJbnB1dCgpIGxvYWRlclRoZW1lOiBMb2FkZXJUaGVtZUNvbG9yID0gTG9hZGVyVGhlbWVDb2xvci5wcmltYXJ5O1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzEwMCUnO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSBpbmZpbml0ZVNjcm9sbExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSBzaG93RXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBcIkVycm9yXCJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgY2hlY2tib3hlczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSBhdXRvQ2xvc2U6IGJvb2xlYW4gPSB0cnVlO1xuICBkZWZhdWx0SXRlbTogYW55O1xuXG4gIEBPdXRwdXQoKSBvblNjcm9sbEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzY3JvbGxMaXN0ZW5lcjogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoZW1lc1NlcnZpY2U6IFRoZW1lc1NlcnZpY2UsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuZGVmYXVsdEl0ZW0gPSB7fTtcbiAgfVxuICBAVmlld0NoaWxkKCdjb21ib0JveCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgY29tYm9Cb3ghOiBDb21ib0JveENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25MaXN0JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBkcm9wZG93bkxpc3QhOiBEcm9wRG93bkxpc3RDb21wb25lbnQ7XG5cblxuICBwdWJsaWMgaXRlbURpc2FibGVkKGl0ZW1BcmdzOiB7IGRhdGFJdGVtOiBhbnk7IGluZGV4OiBudW1iZXIgfSkge1xuICAgIHJldHVybiBpdGVtQXJncy5pbmRleCA9PT0gLTE7XG4gIH1cblxuICBfcGxhY2Vob2xkZXI6IGFueSA9IG51bGw7XG4gIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snaXNEaXNhYmxlZCddKSB7XG4gICAgICBpZiAoY2hhbmdlc1snaXNEaXNhYmxlZCddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZm9jdXMpIHtcbiAgICAgIHRoaXMuY29tYm9Cb3g/LmZvY3VzKCk7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBlbWl0TW9kZWxDaGFuZ2UoZXY6IGFueSkge1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChldik7XG4gIH1cblxuICBvblNjcm9sbChldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQudGFyZ2V0Lm9mZnNldEhlaWdodCArIGV2ZW50LnRhcmdldC5zY3JvbGxUb3AgPj1cbiAgICAgIGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSAxXG4gICAgKSB7XG4gICAgICB0aGlzLm9uU2Nyb2xsRW5kLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3Bkb3duT3BlbigpIHtcbiAgICBpZiAoIXRoaXMucG9wdXBDbGFzcykgcmV0dXJuO1xuICAgIGNvbnN0IGRyb3Bkb3duTGlzdCA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoYC4ke3RoaXMucG9wdXBDbGFzc31gLCB0cnVlKVxuICAgIGlmIChkcm9wZG93bkxpc3QpIHtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXIgPSAoZTogYW55KSA9PiB0aGlzLm9uU2Nyb2xsKGUpO1xuICAgICAgZHJvcGRvd25MaXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsTGlzdGVuZXIsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRWYWxDbGFzcygpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmRlZmF1bHRJdGVtW3RoaXMudGV4dEZpZWxkXSA9PT0gdGhpcy5jb250cm9sPy52YWx1ZT8uW3RoaXMudGV4dEZpZWxkXSA/ICdkZWZhdWx0LXRleHQnIDogJyc7XG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIG9uRHJvcGRvd25DbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMucG9wdXBDbGFzcykgcmV0dXJuO1xuICAgIGNvbnN0IGRyb3Bkb3duTGlzdCA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoYC4ke3RoaXMucG9wdXBDbGFzc31gLCB0cnVlKVxuICAgIGlmIChkcm9wZG93bkxpc3QgJiYgdGhpcy5zY3JvbGxMaXN0ZW5lcikge1xuICAgICAgZHJvcGRvd25MaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsTGlzdGVuZXIsIHRydWUpO1xuICAgICAgdGhpcy5zY3JvbGxMaXN0ZW5lciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVmYXVsdEl0ZW0oKSB7XG4gICAgaWYgKCF0aGlzLmRlZmF1bHRJdGVtKSB7XG4gICAgICB0aGlzLmRlZmF1bHRJdGVtID0ge307XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGV4dEZpZWxkKSB7XG4gICAgICB0aGlzLmRlZmF1bHRJdGVtW3RoaXMudGV4dEZpZWxkXSA9IHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBpZiAodGhpcy52YWx1ZUZpZWxkKSB7XG4gICAgICB0aGlzLmRlZmF1bHRJdGVtW3RoaXMudGV4dEZpZWxkICE9PSB0aGlzLnZhbHVlRmllbGQgPyB0aGlzLnZhbHVlRmllbGQgOiAndmFsdWUnXSA9IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRJdGVtXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93blwiPlxuICA8c3BhbiAqbmdJZj1cImxhYmVsLmxlbmd0aCA+IDBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjaGVja2JveC1sYWJlbFwiIFtmb3JdPVwiZWxlbWVudElkXCI+XG4gICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cImxhYmVsXCIgW3R5cGVdPVwiZm9udFR5cGVcIj5cbiAgICAgIDwvbGliLXR5cG9ncmFwaHk+XG4gICAgPC9sYWJlbD5cbiAgICAmbmJzcDtcbiAgPC9zcGFuPlxuICA8a2VuZG8tY29tYm9ib3ggKm5nSWY9XCJfdXNlQXNDb21ib0JveFwiICNjb21ib0JveCBbaWRdPVwiZWxlbWVudElkXCIgKG9wZW5lZCk9XCJvbkRyb3Bkb3duT3BlbigpXCJcbiAgICAoY2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIiBbZGF0YV09XCJkYXRhXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgW2NsZWFyQnV0dG9uXT1cImNsZWFyQnV0dG9uXCIgZmlsbE1vZGU9XCJvdXRsaW5lXCJcbiAgICBbZmlsdGVyYWJsZV09XCJmaWx0ZXJhYmxlXCIgW3BsYWNlaG9sZGVyXT1cIl9wbGFjZWhvbGRlclwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIHJvdW5kZWQ9XCJzbWFsbFwiIFtzaXplXT1cInNpemVcIlxuICAgIFtzdWdnZXN0XT1cInN1Z2dlc3RcIiBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIlxuICAgIFt2YWx1ZVByaW1pdGl2ZV09XCJ2YWx1ZVByaW1pdGl2ZVwiIFtuZ01vZGVsXT1cIm1vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZW1pdE1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW3BvcHVwU2V0dGluZ3NdPVwie3BvcHVwQ2xhc3M6IHBvcHVwQ2xhc3MsIGFwcGVuZFRvOiAncm9vdCd9XCI+XG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvQ29tYm9Cb3hIZWFkZXJUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0NvbWJvQm94SXRlbVRlbXBsYXRlIGxldC1kYXRhPlxuICAgICAgPGltZyAqbmdJZj1cImRhdGEuaW1hZ2VVcmwgJiYgZGF0YS5pbWFnZVVybC5sZW5ndGggPiAwXCIgW3NyY109XCJkYXRhLmltYWdlVXJsXCIgW3dpZHRoXT1cIjE4XCIgW2FsdF09XCJkYXRhLmltYWdlVXJsXCIgLz5cbiAgICAgIDxkaXYgbmdDbGFzcz1cImRhdGEuaW1hZ2VVcmwubGVuZ3RoID4gMCA/ICdyb3dEYXRhJyA6ICcnXCI+XG4gICAgICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwiZGF0YS5uYW1lXCIgW3R5cGVdPVwiZm9udFR5cGVcIj5cbiAgICAgICAgPC9saWItdHlwb2dyYXBoeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvQ29tYm9Cb3hGb290ZXJUZW1wbGF0ZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJpbmZpbml0ZVNjcm9sbExvYWRlclwiIGNsYXNzPVwiZm9vdGVyLWxvYWRlclwiPlxuICAgICAgICA8bGliLWxvYWRlciBbdHlwZV09XCJsb2FkZXJUeXBlXCIgW3NpemVdPVwibG9hZGVyU2l6ZVwiIFt0aGVtZUNvbG9yXT1cImxvYWRlclRoZW1lXCI+PC9saWItbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsb2FkaW5nXCIga2VuZG9Db21ib0JveE5vRGF0YVRlbXBsYXRlPlxuICAgICAgPGxpYi1sb2FkZXIgW3R5cGVdPVwibG9hZGVyVHlwZVwiIFtzaXplXT1cImxvYWRlclNpemVcIiBbdGhlbWVDb2xvcl09XCJsb2FkZXJUaGVtZVwiPjwvbGliLWxvYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2tlbmRvLWNvbWJvYm94PlxuXG4gIDxrZW5kby1kcm9wZG93bmxpc3QgI2Ryb3Bkb3duTGlzdCAqbmdJZj1cIiFfdXNlQXNDb21ib0JveFwiIFtpZF09XCJlbGVtZW50SWRcIiBbZGF0YV09XCJkYXRhXCIgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIlxuICAgIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJlbWl0TW9kZWxDaGFuZ2UoJGV2ZW50KVwiIFtmaWxsTW9kZV09XCJmaWxsTW9kZVwiXG4gICAgW2l0ZW1EaXNhYmxlZF09XCJpdGVtRGlzYWJsZWRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIiBbdmFsdWVQcmltaXRpdmVdPVwidmFsdWVQcmltaXRpdmVcIiBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtyb3VuZGVkXT1cInJvdW5kZWRcIiBbc2l6ZV09XCJzaXplXCIgKG9wZW5lZCk9XCJvbkRyb3Bkb3duT3BlbigpXCIgW3BvcHVwU2V0dGluZ3NdPVwie3BvcHVwQ2xhc3M6IHBvcHVwQ2xhc3MsIGFwcGVuZFRvOiAncm9vdCd9XCJcbiAgICBbbmdDbGFzc109XCJ7J2RlZmF1bHQtdGV4dCc6IG1vZGVsID09PSBudWxsIHx8IG1vZGVsID09PSB1bmRlZmluZWR9XCIgKGNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZSgpXCJcbiAgICBbZGVmYXVsdEl0ZW1dPVwic2hvd0RlZmF1bHRJdGVtID8gZ2V0RGVmYXVsdEl0ZW0oKSA6IG51bGxcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Ryb3BEb3duTGlzdEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YT5cbiAgICAgIDxpbWcgKm5nSWY9XCJkYXRhLmltYWdlVXJsICYmIGRhdGEuaW1hZ2VVcmwubGVuZ3RoID4gMFwiIFtzcmNdPVwiZGF0YS5pbWFnZVVybFwiIFt3aWR0aF09XCIxOFwiIFthbHRdPVwiZGF0YS5pbWFnZVVybFwiIC8+XG4gICAgICA8ZGl2IG5nQ2xhc3M9XCJkYXRhLmltYWdlVXJsLmxlbmd0aCA+IDAgPyAncm93RGF0YScgOiAnJ1wiPlxuICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cImRhdGEubmFtZVwiIFt0eXBlXT1cImZvbnRUeXBlXCI+XG4gICAgICAgIDwvbGliLXR5cG9ncmFwaHk+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Ryb3BEb3duTGlzdEZvb3RlclRlbXBsYXRlPlxuICAgICAgPGRpdiAqbmdJZj1cImluZmluaXRlU2Nyb2xsTG9hZGVyXCIgY2xhc3M9XCJmb290ZXItbG9hZGVyXCI+XG4gICAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImxvYWRpbmdcIiBrZW5kb0Ryb3BEb3duTGlzdE5vRGF0YVRlbXBsYXRlPlxuICAgICAgPGxpYi1sb2FkZXIgW3R5cGVdPVwibG9hZGVyVHlwZVwiIFtzaXplXT1cImxvYWRlclNpemVcIiBbdGhlbWVDb2xvcl09XCJsb2FkZXJUaGVtZVwiPjwvbGliLWxvYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cbiAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiPlxuICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJlcnJvci10ZXh0XCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBa0I3RCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLElBQWEsYUFBYSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUdELElBQWEsWUFBWSxDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQThCRCxZQUFvQixhQUE0QixFQUFVLFFBQW1CO1FBQXpELGtCQUFhLEdBQWIsYUFB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XG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTG9hZGVyVHlwZSwgTG9hZGVyU2l6ZSwgTG9hZGVyVGhlbWVDb2xvciB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZW1lc1NlcnZpY2UgfSBmcm9tICdAcHJvZ3Jlc3MtY2hlZi9wbGF0Zm9ybS10aGVtZXMtc2VydmljZSc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5VHlwZSB9IGZyb20gJy4uL3R5cG9ncmFwaHkvVHlwb2dyYXBoeVR5cGUnO1xuaW1wb3J0IHsgQ29tYm9Cb3hDb21wb25lbnQsIERyb3BEb3duTGlzdENvbXBvbmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRyb3Bkb3ducyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3BEb3duc01vZHVsZSxcbiAgICBUeXBvZ3JhcGh5Q29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG5cbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdsaWItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBlbGVtZW50SWQ6IHN0cmluZyA9IFwic2FtcGxlSWRcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRhdGE6IEFycmF5PGFueT4gPSBbXTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSBjbGVhckJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWxsTW9kZTogXCJmbGF0XCIgfCBcInNvbGlkXCIgfCBcIm91dGxpbmVcIiB8IFwibm9uZVwiID0gXCJvdXRsaW5lXCI7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIGZpbHRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwb3B1cENsYXNzOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBzaG93RGVmYXVsdEl0ZW0gPSB0cnVlO1xuXG4gIF91c2VBc0NvbWJvQm94OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCB1c2VBc0NvbWJvQm94KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdXNlQXNDb21ib0JveCA9IHZhbHVlO1xuICB9XG5cbiAgX3NlbGVjdGVkSXRlbTogYW55ID0gbnVsbDtcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkSXRlbSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByb3VuZGVkOiBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiIHwgXCJmdWxsXCIgfCBcIm5vbmVcIiA9IFwibWVkaXVtXCI7XG4gIEBJbnB1dCgpIHNpemU6IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCIgfCBcIm5vbmVcIiA9IFwibWVkaXVtXCI7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIHN1Z2dlc3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0ZXh0RmllbGQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlITogYW55O1xuICBASW5wdXQoKSB2YWx1ZUZpZWxkITogc3RyaW5nO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykgPT4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJyB9KSB2YWx1ZVByaW1pdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlbCE6IGFueTtcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBJbnB1dCgpIGZvbnRUeXBlOiBUeXBvZ3JhcGh5VHlwZSA9ICdCT0RZX01FRElVTSc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIGZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGVyVHlwZTogTG9hZGVyVHlwZSA9IExvYWRlclR5cGUucHVsc2luZztcbiAgQElucHV0KCkgbG9hZGVyU2l6ZTogTG9hZGVyU2l6ZSA9IExvYWRlclNpemUubWVkaXVtO1xuICBASW5wdXQoKSBsb2FkZXJUaGVtZTogTG9hZGVyVGhlbWVDb2xvciA9IExvYWRlclRoZW1lQ29sb3IucHJpbWFyeTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgaW5maW5pdGVTY3JvbGxMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgc2hvd0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nID0gXCJFcnJvclwiXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSA9PiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnIH0pIGNoZWNrYm94ZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpID0+IHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScgfSkgYXV0b0Nsb3NlOiBib29sZWFuID0gdHJ1ZTtcbiAgZGVmYXVsdEl0ZW06IGFueTtcblxuICBAT3V0cHV0KCkgb25TY3JvbGxFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgc2Nyb2xsTGlzdGVuZXI6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtZXNTZXJ2aWNlOiBUaGVtZXNTZXJ2aWNlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLmRlZmF1bHRJdGVtID0ge307XG4gIH1cbiAgQFZpZXdDaGlsZCgnY29tYm9Cb3gnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGNvbWJvQm94ITogQ29tYm9Cb3hDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duTGlzdCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgZHJvcGRvd25MaXN0ITogRHJvcERvd25MaXN0Q29tcG9uZW50O1xuXG5cbiAgcHVibGljIGl0ZW1EaXNhYmxlZChpdGVtQXJnczogeyBkYXRhSXRlbTogYW55OyBpbmRleDogbnVtYmVyIH0pIHtcbiAgICByZXR1cm4gaXRlbUFyZ3MuaW5kZXggPT09IC0xO1xuICB9XG5cbiAgX3BsYWNlaG9sZGVyOiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzRGlzYWJsZWQnXSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2lzRGlzYWJsZWQnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmZvY3VzKSB7XG4gICAgICB0aGlzLmNvbWJvQm94Py5mb2N1cygpO1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3Q/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZW1pdE1vZGVsQ2hhbmdlKGV2OiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoZXYpO1xuICB9XG5cbiAgb25TY3JvbGwoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnRhcmdldC5vZmZzZXRIZWlnaHQgKyBldmVudC50YXJnZXQuc2Nyb2xsVG9wID49XG4gICAgICBldmVudC50YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gMVxuICAgICkge1xuICAgICAgdGhpcy5vblNjcm9sbEVuZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25Ecm9wZG93bk9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLnBvcHVwQ2xhc3MpIHJldHVybjtcbiAgICBjb25zdCBkcm9wZG93bkxpc3QgPSB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KGAuJHt0aGlzLnBvcHVwQ2xhc3N9YCwgdHJ1ZSlcbiAgICBpZiAoZHJvcGRvd25MaXN0KSB7XG4gICAgICB0aGlzLnNjcm9sbExpc3RlbmVyID0gKGU6IGFueSkgPT4gdGhpcy5vblNjcm9sbChlKTtcbiAgICAgIGRyb3Bkb3duTGlzdC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbExpc3RlbmVyLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBnZXREZWZhdWx0VmFsQ2xhc3MoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5kZWZhdWx0SXRlbVt0aGlzLnRleHRGaWVsZF0gPT09IHRoaXMuY29udHJvbD8udmFsdWU/Llt0aGlzLnRleHRGaWVsZF0gPyAnZGVmYXVsdC10ZXh0JyA6ICcnO1xuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBvbkRyb3Bkb3duQ2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLnBvcHVwQ2xhc3MpIHJldHVybjtcbiAgICBjb25zdCBkcm9wZG93bkxpc3QgPSB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KGAuJHt0aGlzLnBvcHVwQ2xhc3N9YCwgdHJ1ZSlcbiAgICBpZiAoZHJvcGRvd25MaXN0ICYmIHRoaXMuc2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgIGRyb3Bkb3duTGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbExpc3RlbmVyLCB0cnVlKTtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRJdGVtKCkge1xuICAgIGlmICghdGhpcy5kZWZhdWx0SXRlbSkge1xuICAgICAgdGhpcy5kZWZhdWx0SXRlbSA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRleHRGaWVsZCkge1xuICAgICAgdGhpcy5kZWZhdWx0SXRlbVt0aGlzLnRleHRGaWVsZF0gPSB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xuICAgICAgdGhpcy5kZWZhdWx0SXRlbVt0aGlzLnRleHRGaWVsZCAhPT0gdGhpcy52YWx1ZUZpZWxkID8gdGhpcy52YWx1ZUZpZWxkIDogJ3ZhbHVlJ10gPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0SXRlbVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgPHNwYW4gKm5nSWY9XCJsYWJlbC5sZW5ndGggPiAwXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tib3gtbGFiZWxcIiBbZm9yXT1cImVsZW1lbnRJZFwiPlxuICAgICAgPGxpYi10eXBvZ3JhcGh5IFtkZWZhdWx0VGV4dF09XCJsYWJlbFwiIFt0eXBlXT1cImZvbnRUeXBlXCI+XG4gICAgICA8L2xpYi10eXBvZ3JhcGh5PlxuICAgIDwvbGFiZWw+XG4gICAgJm5ic3A7XG4gIDwvc3Bhbj5cbiAgPGtlbmRvLWNvbWJvYm94ICpuZ0lmPVwiX3VzZUFzQ29tYm9Cb3hcIiAjY29tYm9Cb3ggW2lkXT1cImVsZW1lbnRJZFwiIChvcGVuZWQpPVwib25Ecm9wZG93bk9wZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZSgpXCIgW2RhdGFdPVwiZGF0YVwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiIFtjbGVhckJ1dHRvbl09XCJjbGVhckJ1dHRvblwiIGZpbGxNb2RlPVwib3V0bGluZVwiXG4gICAgW2ZpbHRlcmFibGVdPVwiZmlsdGVyYWJsZVwiIFtwbGFjZWhvbGRlcl09XCJfcGxhY2Vob2xkZXJcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiByb3VuZGVkPVwic21hbGxcIiBbc2l6ZV09XCJzaXplXCJcbiAgICBbc3VnZ2VzdF09XCJzdWdnZXN0XCIgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIiBbdmFsdWVdPVwidmFsdWVcIiBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCJcbiAgICBbdmFsdWVQcmltaXRpdmVdPVwidmFsdWVQcmltaXRpdmVcIiBbbmdNb2RlbF09XCJtb2RlbFwiIChuZ01vZGVsQ2hhbmdlKT1cImVtaXRNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwb3B1cFNldHRpbmdzXT1cIntwb3B1cENsYXNzOiBwb3B1cENsYXNzLCBhcHBlbmRUbzogJ3Jvb3QnfVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0NvbWJvQm94SGVhZGVyVGVtcGxhdGU+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJoZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUga2VuZG9Db21ib0JveEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YT5cbiAgICAgIDxpbWcgKm5nSWY9XCJkYXRhLmltYWdlVXJsICYmIGRhdGEuaW1hZ2VVcmwubGVuZ3RoID4gMFwiIFtzcmNdPVwiZGF0YS5pbWFnZVVybFwiIFt3aWR0aF09XCIxOFwiIFthbHRdPVwiZGF0YS5pbWFnZVVybFwiIC8+XG4gICAgICA8ZGl2IG5nQ2xhc3M9XCJkYXRhLmltYWdlVXJsLmxlbmd0aCA+IDAgPyAncm93RGF0YScgOiAnJ1wiPlxuICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cImRhdGEubmFtZVwiIFt0eXBlXT1cImZvbnRUeXBlXCI+XG4gICAgICAgIDwvbGliLXR5cG9ncmFwaHk+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0NvbWJvQm94Rm9vdGVyVGVtcGxhdGU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaW5maW5pdGVTY3JvbGxMb2FkZXJcIiBjbGFzcz1cImZvb3Rlci1sb2FkZXJcIj5cbiAgICAgICAgPGxpYi1sb2FkZXIgW3R5cGVdPVwibG9hZGVyVHlwZVwiIFtzaXplXT1cImxvYWRlclNpemVcIiBbdGhlbWVDb2xvcl09XCJsb2FkZXJUaGVtZVwiPjwvbGliLWxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibG9hZGluZ1wiIGtlbmRvQ29tYm9Cb3hOb0RhdGFUZW1wbGF0ZT5cbiAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9rZW5kby1jb21ib2JveD5cblxuICA8a2VuZG8tZHJvcGRvd25saXN0ICNkcm9wZG93bkxpc3QgKm5nSWY9XCIhX3VzZUFzQ29tYm9Cb3hcIiBbaWRdPVwiZWxlbWVudElkXCIgW2RhdGFdPVwiZGF0YVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCJcbiAgICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiZW1pdE1vZGVsQ2hhbmdlKCRldmVudClcIiBbZmlsbE1vZGVdPVwiZmlsbE1vZGVcIlxuICAgIFtpdGVtRGlzYWJsZWRdPVwiaXRlbURpc2FibGVkXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgW3ZhbHVlUHJpbWl0aXZlXT1cInZhbHVlUHJpbWl0aXZlXCIgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbcm91bmRlZF09XCJyb3VuZGVkXCIgW3NpemVdPVwic2l6ZVwiIChvcGVuZWQpPVwib25Ecm9wZG93bk9wZW4oKVwiIFtwb3B1cFNldHRpbmdzXT1cIntwb3B1cENsYXNzOiBwb3B1cENsYXNzLCBhcHBlbmRUbzogJ3Jvb3QnfVwiXG4gICAgW25nQ2xhc3NdPVwieydkZWZhdWx0LXRleHQnOiBtb2RlbCA9PT0gbnVsbCB8fCBtb2RlbCA9PT0gdW5kZWZpbmVkfVwiIChjbG9zZSk9XCJvbkRyb3Bkb3duQ2xvc2UoKVwiXG4gICAgW2RlZmF1bHRJdGVtXT1cInNob3dEZWZhdWx0SXRlbSA/IGdldERlZmF1bHRJdGVtKCkgOiBudWxsXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIj5cbiAgICA8bmctdGVtcGxhdGUga2VuZG9Ecm9wRG93bkxpc3RJdGVtVGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgICA8aW1nICpuZ0lmPVwiZGF0YS5pbWFnZVVybCAmJiBkYXRhLmltYWdlVXJsLmxlbmd0aCA+IDBcIiBbc3JjXT1cImRhdGEuaW1hZ2VVcmxcIiBbd2lkdGhdPVwiMThcIiBbYWx0XT1cImRhdGEuaW1hZ2VVcmxcIiAvPlxuICAgICAgPGRpdiBuZ0NsYXNzPVwiZGF0YS5pbWFnZVVybC5sZW5ndGggPiAwID8gJ3Jvd0RhdGEnIDogJydcIj5cbiAgICAgICAgPGxpYi10eXBvZ3JhcGh5IFtkZWZhdWx0VGV4dF09XCJkYXRhLm5hbWVcIiBbdHlwZV09XCJmb250VHlwZVwiPlxuICAgICAgICA8L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUga2VuZG9Ecm9wRG93bkxpc3RGb290ZXJUZW1wbGF0ZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJpbmZpbml0ZVNjcm9sbExvYWRlclwiIGNsYXNzPVwiZm9vdGVyLWxvYWRlclwiPlxuICAgICAgICA8bGliLWxvYWRlciBbdHlwZV09XCJsb2FkZXJUeXBlXCIgW3NpemVdPVwibG9hZGVyU2l6ZVwiIFt0aGVtZUNvbG9yXT1cImxvYWRlclRoZW1lXCI+PC9saWItbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsb2FkaW5nXCIga2VuZG9Ecm9wRG93bkxpc3ROb0RhdGFUZW1wbGF0ZT5cbiAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9rZW5kby1kcm9wZG93bmxpc3Q+XG4gIDxkaXYgKm5nSWY9XCJzaG93RXJyb3JcIj5cbiAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwiZXJyb3ItdGV4dFwiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|