barsa-sap-ui 2.0.125 → 2.0.126

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.
@@ -39,11 +39,11 @@ export class ColumnRendererComponent extends BaseComponent {
39
39
  this._cdr.detectChanges();
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ColumnRendererComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: { column: "column", mo: "mo", index: "index", editMode: "editMode", customRowHeight: "customRowHeight", controlUi: "controlUi", formLayoutShowLabel: "formLayoutShowLabel", isChecked: "isChecked", isNewInlineMo: "isNewInlineMo", containerDom: "containerDom", disableEllapsis: "disableEllapsis", rtl: "rtl", deviceName: "deviceName", deviceSize: "deviceSize", value: "value", icon: "icon" }, host: { properties: { "class.isMobile": "this._isSmall" } }, usesInheritance: true, ngImport: i0, template: "@if (column) {\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n}\n<ng-template #renderCellTemplate>\n @switch (column.FieldTypeId) { @case (42) {\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n } @case (33) {\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n } @case (31) {\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n } @case (11) {\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\n } @case (5) {\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n } @default {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } }\n</ng-template>\n<ng-template #renderGeneral>\n <div class=\"renderGeneral\" [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\" [style.width]=\"\">\n @if (icon) {\n <img [attr.rtl]=\"rtl\" [src]=\"icon\" />\n }\n <!-- <fd-text\n #fdText\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [maxLines]=\"1\"\n [text]=\"value\"\n [fd-inline-help]=\"value\"\n [disabled]=\"!fdText._hasMore\"\n ></fd-text> -->\n\n <!-- <bsu-barsa-text-ellipsis\n [style.width]=\"column.$Width\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [text]=\"value\"\n></bsu-barsa-text-ellipsis> -->\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\n{{ value }}\n</div> -->\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') {\n\n <div\n [ellapsisText]=\"value\"\n [disableEllapsis]=\"editMode\"\n [class.ellapsis]=\"!disableEllapsis\"\n [attr.title]=\"value\"\n (ellapsised)=\"onElapsised($event)\"\n >\n {{ value }}\n </div>\n }\n </div>\n</ng-template>\n<ng-template #formControlTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\n ? renderCellTemplate\n : layoutControlTemplate\n \"\n ></ng-container>\n</ng-template>\n<ng-template #layoutControlTemplate>\n @if (controlUi) {\n <bsu-layout-control\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n }\n</ng-template>\n<ng-template #renderCellListTasavir>\n @if (mo[column.Name] && mo[column.Name].Images) {\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\n @for (pic of mo[column.Name].Images; track pic) {\n <img\n fullscreen\n fullscreenFiles\n [files]=\"mo[column.Name].Images\"\n [isImageGallery]=\"true\"\n [deviceSize]=\"deviceSize\"\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\n style=\"width: 3rem; height: 3rem\"\n />\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileListKhati>\n @if (mo[column.Name]) {\n <div class=\"file-viewer-attachments\">\n @for (file of mo[column.Name].Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [style.width.px]=\"containerDom ? containerDom.offsetWidth : null\"\n [file]=\"file\"\n [files]=\"mo[column.Name].Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n }\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileInfo>\n @if (mo[column.Name]) {\n <fd-avatar\n [transparent]=\"true\"\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\n }\n</ng-template>\n<ng-template #renderCellChecbox>\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\n</ng-template>\n<ng-template #renderChecboxImage>\n @if (column.Extra?.TrueImage === '') {\n {{ value }}\n } @if (column.Extra?.TrueImage !== '') {\n <img [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\n }\n</ng-template>\n<ng-template #renderCellImage>\n @if (mo[column.Name] && mo[column.Name]['Url']) {\n <fd-avatar\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n }\n</ng-template>\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}fd-avatar{min-width:100%;width:100%;max-width:64px}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize", "disableEllapsis"], outputs: ["ellapsised"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i6.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i7.FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: ["files", "title", "deviceSize", "isImageGallery", "component"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: { column: "column", mo: "mo", index: "index", editMode: "editMode", customRowHeight: "customRowHeight", controlUi: "controlUi", formLayoutShowLabel: "formLayoutShowLabel", isChecked: "isChecked", isNewInlineMo: "isNewInlineMo", containerDom: "containerDom", disableEllapsis: "disableEllapsis", rtl: "rtl", deviceName: "deviceName", deviceSize: "deviceSize", value: "value", icon: "icon" }, host: { properties: { "class.isMobile": "this._isSmall" } }, usesInheritance: true, ngImport: i0, template: "@if (column) {\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n}\n<ng-template #renderCellTemplate>\n @switch (column.FieldTypeId) { @case (42) {\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n } @case (33) {\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n } @case (31) {\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n } @case (11) {\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\n } @case (5) {\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n } @default {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } }\n</ng-template>\n<ng-template #renderGeneral>\n <div class=\"renderGeneral\" [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\" [style.width]=\"\">\n @if (icon) {\n <img [attr.rtl]=\"rtl\" [src]=\"icon\" />\n }\n <!-- <fd-text\n #fdText\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [maxLines]=\"1\"\n [text]=\"value\"\n [fd-inline-help]=\"value\"\n [disabled]=\"!fdText._hasMore\"\n ></fd-text> -->\n\n <!-- <bsu-barsa-text-ellipsis\n [style.width]=\"column.$Width\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [text]=\"value\"\n></bsu-barsa-text-ellipsis> -->\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\n{{ value }}\n</div> -->\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') {\n\n <div\n [ellapsisText]=\"value\"\n [disableEllapsis]=\"editMode\"\n [class.ellapsis]=\"!disableEllapsis\"\n [attr.title]=\"value\"\n (ellapsised)=\"onElapsised($event)\"\n >\n {{ value }}\n </div>\n }\n </div>\n</ng-template>\n<ng-template #formControlTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\n ? renderCellTemplate\n : layoutControlTemplate\n \"\n ></ng-container>\n</ng-template>\n<ng-template #layoutControlTemplate>\n @if (controlUi) {\n <bsu-layout-control\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n }\n</ng-template>\n<ng-template #renderCellListTasavir>\n @if (mo[column.Name] && mo[column.Name].Images) {\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\n @for (pic of mo[column.Name].Images; track pic) {\n <img\n fullscreen\n fullscreenFiles\n [files]=\"mo[column.Name].Images\"\n [isImageGallery]=\"true\"\n [deviceSize]=\"deviceSize\"\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\n style=\"width: 3rem; height: 3rem\"\n />\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileListKhati>\n @if (mo[column.Name]) {\n <div class=\"file-viewer-attachments\">\n @for (file of mo[column.Name].Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [style.max-width.px]=\"containerDom && containerDom.offsetWidth ? containerDom.offsetWidth : null\"\n [file]=\"file\"\n [files]=\"mo[column.Name].Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n }\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileInfo>\n @if (mo[column.Name]) {\n <fd-avatar\n [transparent]=\"true\"\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\n }\n</ng-template>\n<ng-template #renderCellChecbox>\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\n</ng-template>\n<ng-template #renderChecboxImage>\n @if (column.Extra?.TrueImage === '') {\n {{ value }}\n } @if (column.Extra?.TrueImage !== '') {\n <img [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\n }\n</ng-template>\n<ng-template #renderCellImage>\n @if (mo[column.Name] && mo[column.Name]['Url']) {\n <fd-avatar\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n }\n</ng-template>\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}fd-avatar{min-width:100%;width:100%;max-width:64px}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize", "disableEllapsis"], outputs: ["ellapsised"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i6.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i7.FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: ["files", "title", "deviceSize", "isImageGallery", "component"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ColumnRendererComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (column) {\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n}\n<ng-template #renderCellTemplate>\n @switch (column.FieldTypeId) { @case (42) {\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n } @case (33) {\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n } @case (31) {\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n } @case (11) {\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\n } @case (5) {\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n } @default {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } }\n</ng-template>\n<ng-template #renderGeneral>\n <div class=\"renderGeneral\" [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\" [style.width]=\"\">\n @if (icon) {\n <img [attr.rtl]=\"rtl\" [src]=\"icon\" />\n }\n <!-- <fd-text\n #fdText\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [maxLines]=\"1\"\n [text]=\"value\"\n [fd-inline-help]=\"value\"\n [disabled]=\"!fdText._hasMore\"\n ></fd-text> -->\n\n <!-- <bsu-barsa-text-ellipsis\n [style.width]=\"column.$Width\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [text]=\"value\"\n></bsu-barsa-text-ellipsis> -->\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\n{{ value }}\n</div> -->\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') {\n\n <div\n [ellapsisText]=\"value\"\n [disableEllapsis]=\"editMode\"\n [class.ellapsis]=\"!disableEllapsis\"\n [attr.title]=\"value\"\n (ellapsised)=\"onElapsised($event)\"\n >\n {{ value }}\n </div>\n }\n </div>\n</ng-template>\n<ng-template #formControlTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\n ? renderCellTemplate\n : layoutControlTemplate\n \"\n ></ng-container>\n</ng-template>\n<ng-template #layoutControlTemplate>\n @if (controlUi) {\n <bsu-layout-control\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n }\n</ng-template>\n<ng-template #renderCellListTasavir>\n @if (mo[column.Name] && mo[column.Name].Images) {\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\n @for (pic of mo[column.Name].Images; track pic) {\n <img\n fullscreen\n fullscreenFiles\n [files]=\"mo[column.Name].Images\"\n [isImageGallery]=\"true\"\n [deviceSize]=\"deviceSize\"\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\n style=\"width: 3rem; height: 3rem\"\n />\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileListKhati>\n @if (mo[column.Name]) {\n <div class=\"file-viewer-attachments\">\n @for (file of mo[column.Name].Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [style.width.px]=\"containerDom ? containerDom.offsetWidth : null\"\n [file]=\"file\"\n [files]=\"mo[column.Name].Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n }\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileInfo>\n @if (mo[column.Name]) {\n <fd-avatar\n [transparent]=\"true\"\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\n }\n</ng-template>\n<ng-template #renderCellChecbox>\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\n</ng-template>\n<ng-template #renderChecboxImage>\n @if (column.Extra?.TrueImage === '') {\n {{ value }}\n } @if (column.Extra?.TrueImage !== '') {\n <img [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\n }\n</ng-template>\n<ng-template #renderCellImage>\n @if (mo[column.Name] && mo[column.Name]['Url']) {\n <fd-avatar\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n }\n</ng-template>\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}fd-avatar{min-width:100%;width:100%;max-width:64px}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}\n"] }]
46
+ args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (column) {\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n}\n<ng-template #renderCellTemplate>\n @switch (column.FieldTypeId) { @case (42) {\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n } @case (33) {\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n } @case (31) {\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n } @case (11) {\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\n } @case (5) {\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n } @default {\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n } }\n</ng-template>\n<ng-template #renderGeneral>\n <div class=\"renderGeneral\" [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\" [style.width]=\"\">\n @if (icon) {\n <img [attr.rtl]=\"rtl\" [src]=\"icon\" />\n }\n <!-- <fd-text\n #fdText\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [maxLines]=\"1\"\n [text]=\"value\"\n [fd-inline-help]=\"value\"\n [disabled]=\"!fdText._hasMore\"\n ></fd-text> -->\n\n <!-- <bsu-barsa-text-ellipsis\n [style.width]=\"column.$Width\"\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [text]=\"value\"\n></bsu-barsa-text-ellipsis> -->\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\n{{ value }}\n</div> -->\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') {\n\n <div\n [ellapsisText]=\"value\"\n [disableEllapsis]=\"editMode\"\n [class.ellapsis]=\"!disableEllapsis\"\n [attr.title]=\"value\"\n (ellapsised)=\"onElapsised($event)\"\n >\n {{ value }}\n </div>\n }\n </div>\n</ng-template>\n<ng-template #formControlTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\n ? renderCellTemplate\n : layoutControlTemplate\n \"\n ></ng-container>\n</ng-template>\n<ng-template #layoutControlTemplate>\n @if (controlUi) {\n <bsu-layout-control\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n }\n</ng-template>\n<ng-template #renderCellListTasavir>\n @if (mo[column.Name] && mo[column.Name].Images) {\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\n @for (pic of mo[column.Name].Images; track pic) {\n <img\n fullscreen\n fullscreenFiles\n [files]=\"mo[column.Name].Images\"\n [isImageGallery]=\"true\"\n [deviceSize]=\"deviceSize\"\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\n style=\"width: 3rem; height: 3rem\"\n />\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileListKhati>\n @if (mo[column.Name]) {\n <div class=\"file-viewer-attachments\">\n @for (file of mo[column.Name].Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [style.max-width.px]=\"containerDom && containerDom.offsetWidth ? containerDom.offsetWidth : null\"\n [file]=\"file\"\n [files]=\"mo[column.Name].Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n }\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\n }\n </div>\n }\n</ng-template>\n<ng-template #renderCellFileInfo>\n @if (mo[column.Name]) {\n <fd-avatar\n [transparent]=\"true\"\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\n }\n</ng-template>\n<ng-template #renderCellChecbox>\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\n</ng-template>\n<ng-template #renderChecboxImage>\n @if (column.Extra?.TrueImage === '') {\n {{ value }}\n } @if (column.Extra?.TrueImage !== '') {\n <img [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\n }\n</ng-template>\n<ng-template #renderCellImage>\n @if (mo[column.Name] && mo[column.Name]['Url']) {\n <fd-avatar\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\n }\n</ng-template>\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}fd-avatar{min-width:100%;width:100%;max-width:64px}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}\n"] }]
47
47
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { _isSmall: [{
48
48
  type: HostBinding,
49
49
  args: ['class.isMobile']
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
80
80
  }], icon: [{
81
81
  type: Input
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFRaEgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFxQnREOztPQUVHO0lBQ0gsWUFBc0IsSUFBdUI7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXZCZCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBeUJoRCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQS9DUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwyaUJDakJwQyxvaEtBNElBOzsyRkQzSGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTtzRkFHaEIsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ3BCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJicmV2YXRpb25EZXZpY2VTaXplLCBCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1jb2x1bW4tcmVuZGVyZXIsW2NvbFJlbmRlcmVyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzTW9iaWxlJykgX2lzU21hbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjb2x1bW46IGFueTtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBpbmRleDogYW55O1xuICAgIEBJbnB1dCgpIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGN1c3RvbVJvd0hlaWdodDogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRyb2xVaTogTGF5b3V0U2V0dGluZyB8IG51bGw7XG4gICAgQElucHV0KCkgZm9ybUxheW91dFNob3dMYWJlbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNOZXdJbmxpbmVNbzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250YWluZXJEb206IEhUTUxFbGVtZW50O1xuXG4gICAgQElucHV0KCkgZGlzYWJsZUVsbGFwc2lzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAgQElucHV0KCkgaWNvbjogYW55O1xuICAgIHNob3dNb3JlOiBib29sZWFuO1xuICAgIGZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZmllbGRUeXBlSWQgPSBOdW1iZXIodGhpcy5jb2x1bW4uRmllbGRUeXBlSWQpO1xuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzU21hbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uLkZpZWxkVHlwZUlkLnRvU3RyaW5nKCkgPT09ICczMScpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVsYXBzaXNlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZUVsbGFwc2lzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCJAaWYgKGNvbHVtbikge1xuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRNb2RlID8gZm9ybUNvbnRyb2xUZW1wbGF0ZSA6IHJlbmRlckNlbGxUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbFRlbXBsYXRlPlxuICAgIEBzd2l0Y2ggKGNvbHVtbi5GaWVsZFR5cGVJZCkgeyBAY2FzZSAoNDIpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEltYWdlXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAY2FzZSAoMzMpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEZpbGVJbmZvXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAY2FzZSAoMzEpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEZpbGVMaXN0S2hhdGlcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBjYXNlICgxMSkge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDZWxsTGlzdFRhc2F2aXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBjYXNlICg1KSB7XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5FeHRyYT8uU2hvd0NoZWNrSW5HcmlkID8gcmVuZGVyQ2VsbENoZWNib3ggOiByZW5kZXJDaGVjYm94SW1hZ2VcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBkZWZhdWx0IHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyR2VuZXJhbFwiPjwvbmctY29udGFpbmVyPlxuICAgIH0gfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR2VuZXJhbD5cbiAgICA8ZGl2IGNsYXNzPVwicmVuZGVyR2VuZXJhbFwiIFtjbGFzcy5vbmx5SWNvbl09XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gPT09ICdJbWFnZSdcIiBbc3R5bGUud2lkdGhdPVwiXCI+XG4gICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICA8aW1nIFthdHRyLnJ0bF09XCJydGxcIiBbc3JjXT1cImljb25cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gPGZkLXRleHRcbiAgICAjZmRUZXh0XG4gICAgKm5nSWY9XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gIT09ICdJbWFnZSdcIlxuICAgIFttYXhMaW5lc109XCIxXCJcbiAgICBbdGV4dF09XCJ2YWx1ZVwiXG4gICAgW2ZkLWlubGluZS1oZWxwXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwiIWZkVGV4dC5faGFzTW9yZVwiXG4gID48L2ZkLXRleHQ+IC0tPlxuXG4gICAgICAgIDwhLS0gPGJzdS1iYXJzYS10ZXh0LWVsbGlwc2lzXG4gIFtzdHlsZS53aWR0aF09XCJjb2x1bW4uJFdpZHRoXCJcbiAgKm5nSWY9XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gIT09ICdJbWFnZSdcIlxuICBbdGV4dF09XCJ2YWx1ZVwiXG4+PC9ic3UtYmFyc2EtdGV4dC1lbGxpcHNpcz4gLS0+XG4gICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJ1wiIHN0eWxlPVwid29yZC1icmVhazpicmVhay13b3JkXCI+XG57eyB2YWx1ZSB9fVxuPC9kaXY+IC0tPlxuICAgICAgICBAaWYgKGNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJykge1xuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtlbGxhcHNpc1RleHRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVFbGxhcHNpc109XCJlZGl0TW9kZVwiXG4gICAgICAgICAgICBbY2xhc3MuZWxsYXBzaXNdPVwiIWRpc2FibGVFbGxhcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoZWxsYXBzaXNlZCk9XCJvbkVsYXBzaXNlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdmFsdWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Zvcm1Db250cm9sVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgIWNvbnRyb2xVaSB8fCBjb250cm9sVWkuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuUmVhZE9ubHlGaWVsZCdcbiAgICAgICAgICAgICAgICA/IHJlbmRlckNlbGxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgIDogbGF5b3V0Q29udHJvbFRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbGF5b3V0Q29udHJvbFRlbXBsYXRlPlxuICAgIEBpZiAoY29udHJvbFVpKSB7XG4gICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgW2NhcHRpb25dPVwiY29sdW1uLkNhcHRpb25cIlxuICAgICAgICBbY29uZmlnXT1cImNvbnRyb2xVaVwiXG4gICAgICAgIFtmb2N1c0NvbnRyb2xdPVwiaW5kZXggPT09IDAgJiYgKGlzQ2hlY2tlZCB8fCBpc05ld0lubGluZU1vKVwiXG4gICAgICAgIFtzaG93TGFiZWxdPVwiZm9ybUxheW91dFNob3dMYWJlbFwiXG4gICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxMaXN0VGFzYXZpcj5cbiAgICBAaWYgKG1vW2NvbHVtbi5OYW1lXSAmJiBtb1tjb2x1bW4uTmFtZV0uSW1hZ2VzKSB7XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAwLjE1cmVtXCI+XG4gICAgICAgIEBmb3IgKHBpYyBvZiBtb1tjb2x1bW4uTmFtZV0uSW1hZ2VzOyB0cmFjayBwaWMpIHtcbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgZnVsbHNjcmVlblxuICAgICAgICAgICAgZnVsbHNjcmVlbkZpbGVzXG4gICAgICAgICAgICBbZmlsZXNdPVwibW9bY29sdW1uLk5hbWVdLkltYWdlc1wiXG4gICAgICAgICAgICBbaXNJbWFnZUdhbGxlcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtzcmNdPVwicGljLkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnQmFyc2FQaWN0dXJlLlRodW1ibmFpbCc6bnVsbDonJzozMjozMlwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAzcmVtOyBoZWlnaHQ6IDNyZW1cIlxuICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbEZpbGVMaXN0S2hhdGk+XG4gICAgQGlmIChtb1tjb2x1bW4uTmFtZV0pIHtcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS12aWV3ZXItYXR0YWNobWVudHNcIj5cbiAgICAgICAgQGZvciAoZmlsZSBvZiBtb1tjb2x1bW4uTmFtZV0uRmlsZXM7IHRyYWNrIGZpbGUpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcbiAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29udGFpbmVyRG9tID8gY29udGFpbmVyRG9tLm9mZnNldFdpZHRoIDogbnVsbFwiXG4gICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJtb1tjb2x1bW4uTmFtZV0uRmlsZXNcIlxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgICAgICBbY2FuRG93bmxvYWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZVJlbW92ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgID48L2JzdS1maWxlLXZpZXdlci1wb3BvdmVyPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gPGZkLXRva2VuICpuZ0lmPVwiIWZpbGUuSXNEZWxldGVkXCIgW3JlYWRPbmx5XT1cInRydWVcIj57eyBmaWxlLkZpbGVOYW1lIH19PC9mZC10b2tlbj4gLS0+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDZWxsRmlsZUluZm8+XG4gICAgQGlmIChtb1tjb2x1bW4uTmFtZV0pIHtcbiAgICA8ZmQtYXZhdGFyXG4gICAgICAgIFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcbiAgICAgICAgW3NpemVdPVwiY29sdW1uLkZpZWxkVHlwZUlkID09PSAnNDInIHx8IGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gNDIgPyAneHMnIDogZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ20nXCJcbiAgICAgICAgW2ltYWdlXT1cIm1vW2NvbHVtbi5OYW1lXSB8IHBpY0ZpZWxkU3JjOiAnUGljdHVyZUZpbGVJbmZvJzpudWxsOmNvbHVtbi5GaWVsZERlZklkXCJcbiAgICA+PC9mZC1hdmF0YXI+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbENoZWNib3g+XG4gICAgPGZkLWljb24gW2dseXBoXT1cIm1vW2NvbHVtbi5OYW1lXSA9PT0gdHJ1ZSA/ICdhY2NlcHQnIDogJ2xlc3MnXCI+PC9mZC1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2hlY2JveEltYWdlPlxuICAgIEBpZiAoY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgPT09ICcnKSB7XG4gICAge3sgdmFsdWUgfX1cbiAgICB9IEBpZiAoY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgIT09ICcnKSB7XG4gICAgPGltZyBbc3JjXT1cIm1vW2NvbHVtbi5OYW1lXSA/IGNvbHVtbi5FeHRyYT8uVHJ1ZUltYWdlIDogY29sdW1uLkV4dHJhPy5GYWxzZUltYWdlXCIgYWxpbmc9XCJtaWRkbGVcIiAvPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxJbWFnZT5cbiAgICBAaWYgKG1vW2NvbHVtbi5OYW1lXSAmJiBtb1tjb2x1bW4uTmFtZV1bJ1VybCddKSB7XG4gICAgPGZkLWF2YXRhclxuICAgICAgICBbc2l6ZV09XCJjb2x1bW4uRmllbGRUeXBlSWQgPT09ICc0MicgfHwgY29sdW1uLkZpZWxkVHlwZUlkID09PSA0MiA/ICd4cycgOiBkZXZpY2VTaXplID09PSAncycgPyAncycgOiAnbSdcIlxuICAgICAgICBbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG4gICAgICAgIFtpbWFnZV09XCJtb1tjb2x1bW4uTmFtZV1bJ1VybCddXCJcbiAgICA+PC9mZC1hdmF0YXI+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFRaEgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFxQnREOztPQUVHO0lBQ0gsWUFBc0IsSUFBdUI7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXZCZCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBeUJoRCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQS9DUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwyaUJDakJwQyxvaktBNElBOzsyRkQzSGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTtzRkFHaEIsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ3BCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJicmV2YXRpb25EZXZpY2VTaXplLCBCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1jb2x1bW4tcmVuZGVyZXIsW2NvbFJlbmRlcmVyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzTW9iaWxlJykgX2lzU21hbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjb2x1bW46IGFueTtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBpbmRleDogYW55O1xuICAgIEBJbnB1dCgpIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGN1c3RvbVJvd0hlaWdodDogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRyb2xVaTogTGF5b3V0U2V0dGluZyB8IG51bGw7XG4gICAgQElucHV0KCkgZm9ybUxheW91dFNob3dMYWJlbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNOZXdJbmxpbmVNbzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250YWluZXJEb206IEhUTUxFbGVtZW50O1xuXG4gICAgQElucHV0KCkgZGlzYWJsZUVsbGFwc2lzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAgQElucHV0KCkgaWNvbjogYW55O1xuICAgIHNob3dNb3JlOiBib29sZWFuO1xuICAgIGZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZmllbGRUeXBlSWQgPSBOdW1iZXIodGhpcy5jb2x1bW4uRmllbGRUeXBlSWQpO1xuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzU21hbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uLkZpZWxkVHlwZUlkLnRvU3RyaW5nKCkgPT09ICczMScpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVsYXBzaXNlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZUVsbGFwc2lzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCJAaWYgKGNvbHVtbikge1xuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRNb2RlID8gZm9ybUNvbnRyb2xUZW1wbGF0ZSA6IHJlbmRlckNlbGxUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbFRlbXBsYXRlPlxuICAgIEBzd2l0Y2ggKGNvbHVtbi5GaWVsZFR5cGVJZCkgeyBAY2FzZSAoNDIpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEltYWdlXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAY2FzZSAoMzMpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEZpbGVJbmZvXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAY2FzZSAoMzEpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ2VsbEZpbGVMaXN0S2hhdGlcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBjYXNlICgxMSkge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDZWxsTGlzdFRhc2F2aXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBjYXNlICg1KSB7XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5FeHRyYT8uU2hvd0NoZWNrSW5HcmlkID8gcmVuZGVyQ2VsbENoZWNib3ggOiByZW5kZXJDaGVjYm94SW1hZ2VcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBkZWZhdWx0IHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyR2VuZXJhbFwiPjwvbmctY29udGFpbmVyPlxuICAgIH0gfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR2VuZXJhbD5cbiAgICA8ZGl2IGNsYXNzPVwicmVuZGVyR2VuZXJhbFwiIFtjbGFzcy5vbmx5SWNvbl09XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gPT09ICdJbWFnZSdcIiBbc3R5bGUud2lkdGhdPVwiXCI+XG4gICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICA8aW1nIFthdHRyLnJ0bF09XCJydGxcIiBbc3JjXT1cImljb25cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gPGZkLXRleHRcbiAgICAjZmRUZXh0XG4gICAgKm5nSWY9XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gIT09ICdJbWFnZSdcIlxuICAgIFttYXhMaW5lc109XCIxXCJcbiAgICBbdGV4dF09XCJ2YWx1ZVwiXG4gICAgW2ZkLWlubGluZS1oZWxwXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwiIWZkVGV4dC5faGFzTW9yZVwiXG4gID48L2ZkLXRleHQ+IC0tPlxuXG4gICAgICAgIDwhLS0gPGJzdS1iYXJzYS10ZXh0LWVsbGlwc2lzXG4gIFtzdHlsZS53aWR0aF09XCJjb2x1bW4uJFdpZHRoXCJcbiAgKm5nSWY9XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gIT09ICdJbWFnZSdcIlxuICBbdGV4dF09XCJ2YWx1ZVwiXG4+PC9ic3UtYmFyc2EtdGV4dC1lbGxpcHNpcz4gLS0+XG4gICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJ1wiIHN0eWxlPVwid29yZC1icmVhazpicmVhay13b3JkXCI+XG57eyB2YWx1ZSB9fVxuPC9kaXY+IC0tPlxuICAgICAgICBAaWYgKGNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJykge1xuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtlbGxhcHNpc1RleHRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVFbGxhcHNpc109XCJlZGl0TW9kZVwiXG4gICAgICAgICAgICBbY2xhc3MuZWxsYXBzaXNdPVwiIWRpc2FibGVFbGxhcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoZWxsYXBzaXNlZCk9XCJvbkVsYXBzaXNlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdmFsdWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Zvcm1Db250cm9sVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgIWNvbnRyb2xVaSB8fCBjb250cm9sVWkuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuUmVhZE9ubHlGaWVsZCdcbiAgICAgICAgICAgICAgICA/IHJlbmRlckNlbGxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgIDogbGF5b3V0Q29udHJvbFRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbGF5b3V0Q29udHJvbFRlbXBsYXRlPlxuICAgIEBpZiAoY29udHJvbFVpKSB7XG4gICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgW2NhcHRpb25dPVwiY29sdW1uLkNhcHRpb25cIlxuICAgICAgICBbY29uZmlnXT1cImNvbnRyb2xVaVwiXG4gICAgICAgIFtmb2N1c0NvbnRyb2xdPVwiaW5kZXggPT09IDAgJiYgKGlzQ2hlY2tlZCB8fCBpc05ld0lubGluZU1vKVwiXG4gICAgICAgIFtzaG93TGFiZWxdPVwiZm9ybUxheW91dFNob3dMYWJlbFwiXG4gICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxMaXN0VGFzYXZpcj5cbiAgICBAaWYgKG1vW2NvbHVtbi5OYW1lXSAmJiBtb1tjb2x1bW4uTmFtZV0uSW1hZ2VzKSB7XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAwLjE1cmVtXCI+XG4gICAgICAgIEBmb3IgKHBpYyBvZiBtb1tjb2x1bW4uTmFtZV0uSW1hZ2VzOyB0cmFjayBwaWMpIHtcbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgZnVsbHNjcmVlblxuICAgICAgICAgICAgZnVsbHNjcmVlbkZpbGVzXG4gICAgICAgICAgICBbZmlsZXNdPVwibW9bY29sdW1uLk5hbWVdLkltYWdlc1wiXG4gICAgICAgICAgICBbaXNJbWFnZUdhbGxlcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtzcmNdPVwicGljLkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnQmFyc2FQaWN0dXJlLlRodW1ibmFpbCc6bnVsbDonJzozMjozMlwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAzcmVtOyBoZWlnaHQ6IDNyZW1cIlxuICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbEZpbGVMaXN0S2hhdGk+XG4gICAgQGlmIChtb1tjb2x1bW4uTmFtZV0pIHtcbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS12aWV3ZXItYXR0YWNobWVudHNcIj5cbiAgICAgICAgQGZvciAoZmlsZSBvZiBtb1tjb2x1bW4uTmFtZV0uRmlsZXM7IHRyYWNrIGZpbGUpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcbiAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICBbc3R5bGUubWF4LXdpZHRoLnB4XT1cImNvbnRhaW5lckRvbSAmJiBjb250YWluZXJEb20ub2Zmc2V0V2lkdGggPyBjb250YWluZXJEb20ub2Zmc2V0V2lkdGggOiBudWxsXCJcbiAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxuICAgICAgICAgICAgW2ZpbGVzXT1cIm1vW2NvbHVtbi5OYW1lXS5GaWxlc1wiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtjYW5Eb3dubG9hZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgPjwvYnN1LWZpbGUtdmlld2VyLXBvcG92ZXI+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSA8ZmQtdG9rZW4gKm5nSWY9XCIhZmlsZS5Jc0RlbGV0ZWRcIiBbcmVhZE9ubHldPVwidHJ1ZVwiPnt7IGZpbGUuRmlsZU5hbWUgfX08L2ZkLXRva2VuPiAtLT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxGaWxlSW5mbz5cbiAgICBAaWYgKG1vW2NvbHVtbi5OYW1lXSkge1xuICAgIDxmZC1hdmF0YXJcbiAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICBbc2l6ZV09XCJjb2x1bW4uRmllbGRUeXBlSWQgPT09ICc0MicgfHwgY29sdW1uLkZpZWxkVHlwZUlkID09PSA0MiA/ICd4cycgOiBkZXZpY2VTaXplID09PSAncycgPyAncycgOiAnbSdcIlxuICAgICAgICBbaW1hZ2VdPVwibW9bY29sdW1uLk5hbWVdIHwgcGljRmllbGRTcmM6ICdQaWN0dXJlRmlsZUluZm8nOm51bGw6Y29sdW1uLkZpZWxkRGVmSWRcIlxuICAgID48L2ZkLWF2YXRhcj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDZWxsQ2hlY2JveD5cbiAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwibW9bY29sdW1uLk5hbWVdID09PSB0cnVlID8gJ2FjY2VwdCcgOiAnbGVzcydcIj48L2ZkLWljb24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDaGVjYm94SW1hZ2U+XG4gICAgQGlmIChjb2x1bW4uRXh0cmE/LlRydWVJbWFnZSA9PT0gJycpIHtcbiAgICB7eyB2YWx1ZSB9fVxuICAgIH0gQGlmIChjb2x1bW4uRXh0cmE/LlRydWVJbWFnZSAhPT0gJycpIHtcbiAgICA8aW1nIFtzcmNdPVwibW9bY29sdW1uLk5hbWVdID8gY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgOiBjb2x1bW4uRXh0cmE/LkZhbHNlSW1hZ2VcIiBhbGluZz1cIm1pZGRsZVwiIC8+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbEltYWdlPlxuICAgIEBpZiAobW9bY29sdW1uLk5hbWVdICYmIG1vW2NvbHVtbi5OYW1lXVsnVXJsJ10pIHtcbiAgICA8ZmQtYXZhdGFyXG4gICAgICAgIFtzaXplXT1cImNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gJzQyJyB8fCBjb2x1bW4uRmllbGRUeXBlSWQgPT09IDQyID8gJ3hzJyA6IGRldmljZVNpemUgPT09ICdzJyA/ICdzJyA6ICdtJ1wiXG4gICAgICAgIFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcbiAgICAgICAgW2ltYWdlXT1cIm1vW2NvbHVtbi5OYW1lXVsnVXJsJ11cIlxuICAgID48L2ZkLWF2YXRhcj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -4,8 +4,9 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "barsa-novin-ray-core";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@fundamental-ngx/core/card";
7
- import * as i4 from "../mask/mask.component";
8
- import * as i5 from "../blob-viewer/blob-viewer.component";
7
+ import * as i4 from "@fundamental-ngx/core/illustrated-message";
8
+ import * as i5 from "../mask/mask.component";
9
+ import * as i6 from "../blob-viewer/blob-viewer.component";
9
10
  export class FileViewerContentComponent extends BaseComponent {
10
11
  constructor(_picFieldSrc) {
11
12
  super();
@@ -13,6 +14,10 @@ export class FileViewerContentComponent extends BaseComponent {
13
14
  this.cantView = new EventEmitter();
14
15
  this._height = null;
15
16
  this.hideContent = false;
17
+ this.sceneConfig = {
18
+ scene: { url: 'assets/images/sapIllus-Scene-NoMail.svg', id: 'sapIllus-Scene-NoMail-1' },
19
+ dialog: { url: 'assets/images/sapIllus-Dialog-NoMail.svg', id: 'sapIllus-Dialog-NoMail' }
20
+ };
16
21
  }
17
22
  ngOnInit() {
18
23
  super.ngOnInit();
@@ -27,16 +32,16 @@ export class FileViewerContentComponent extends BaseComponent {
27
32
  !isImg && (file.thumbnailUrl = getIcon(ext || file.Type));
28
33
  if (!isImg && ['webm', 'mp4', 'x-wav', 'x-ms-wma', 'm4a', 'txt', 'pdf'].indexOf(this.file.Type) < 0) {
29
34
  this.hideContent = true;
30
- this._height = '0px';
35
+ // this._height = '0px';
31
36
  this.cantView.emit();
32
37
  }
33
38
  }
34
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FileViewerContentComponent, deps: [{ token: i1.PictureFieldSourcePipe }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: { fillWidth: "fillWidth", imageOnly: "imageOnly", isImageGallery: "isImageGallery", cardMode: "cardMode", showFooter: "showFooter", showContent: "showContent", width: "width", deviceSize: "deviceSize", cardContentHeight: "cardContentHeight", file: "file" }, outputs: { cantView: "cantView" }, host: { properties: { "style.height": "this._height" } }, usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"cardMode ? cardTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n></ng-container>\n\n<ng-template #showImage>\n <div class=\"column big-imgs-box\" [class.fill-width]=\"fillWidth\">\n <div class=\"pics\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"file.mediaUrl\" [src]=\"file.mediaUrl\" [style.width]=\"width\" />\n </div>\n </div>\n</ng-template>\n<ng-template #blobViewer>\n @if(!hideContent){\n <bsu-blob-viewer\n [file]=\"file\"\n [style.width]=\"width\"\n fillEmptySpace\n [disable]=\"deviceSize !== 's'\"\n [decrement]=\"'25px'\"\n ></bsu-blob-viewer>\n }@else{ }\n</ng-template>\n<ng-template #cardTpl>\n <fd-card class=\"media\">\n <fd-card-content\n style=\"text-align: center; padding: 0\"\n [style.height]=\"cardContentHeight\"\n [style.display]=\"hideContent ? 'none' : null\"\n >\n <ng-container\n *ngTemplateOutlet=\"!showContent ? thumbnailTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n ></ng-container>\n </fd-card-content>\n </fd-card>\n</ng-template>\n<ng-template #thumbnailTpl>\n <img imgLazy [imgLazy]=\"file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.width]=\"width\" />\n</ng-template>\n", styles: [":host{display:block;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "directive", type: i1.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], exportAs: ["fillEmptySpace"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i4.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i5.BlobViewerComponent, selector: "bsu-blob-viewer", inputs: ["file"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: { fillWidth: "fillWidth", imageOnly: "imageOnly", isImageGallery: "isImageGallery", cardMode: "cardMode", showFooter: "showFooter", showContent: "showContent", width: "width", deviceSize: "deviceSize", cardContentHeight: "cardContentHeight", file: "file" }, outputs: { cantView: "cantView" }, host: { properties: { "style.height": "this._height" } }, usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"cardMode ? cardTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n></ng-container>\n\n<ng-template #showImage>\n <div class=\"column big-imgs-box\" [class.fill-width]=\"fillWidth\">\n <div class=\"pics\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"file.mediaUrl\" [src]=\"file.mediaUrl\" [style.width]=\"width\" />\n </div>\n </div>\n</ng-template>\n<ng-template #blobViewer>\n @if(!hideContent){\n <bsu-blob-viewer\n [file]=\"file\"\n [style.width]=\"width\"\n fillEmptySpace\n [disable]=\"deviceSize !== 's'\"\n [decrement]=\"'25px'\"\n ></bsu-blob-viewer>\n }@else{ }\n</ng-template>\n<ng-template #cardTpl>\n <fd-card class=\"media\" [class.hideContent]=\"hideContent\">\n <fd-card-content style=\"text-align: center; padding: 0\" [style.height]=\"cardContentHeight\">\n @if(hideContent && file){\n <figure fd-illustrated-message type=\"dialog\" [svgConfig]=\"sceneConfig\" svgAriaLabel=\"Illustration label\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'Unable To Load File' | bbbTranslate }}</h3>\n </figcaption>\n </figure>\n } @else{\n <ng-container\n *ngTemplateOutlet=\"!showContent ? thumbnailTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n ></ng-container>\n }\n </fd-card-content>\n </fd-card>\n</ng-template>\n<ng-template #thumbnailTpl>\n <img imgLazy [imgLazy]=\"file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.width]=\"width\" />\n</ng-template>\n", styles: [":host{display:block;min-height:100%}fd-card.hideContent{box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "directive", type: i1.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], exportAs: ["fillEmptySpace"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i4.IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: ["type", "svgConfig", "svgAriaLabel", "noSvg", "id", "class"] }, { kind: "component", type: i4.IllustratedMessageFigcaptionComponent, selector: "[fd-illustrated-message-figcaption]" }, { kind: "directive", type: i4.IllustratedMessageTitleDirective, selector: "[fd-illustrated-message-title]" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.BlobViewerComponent, selector: "bsu-blob-viewer", inputs: ["file"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
41
  }
37
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FileViewerContentComponent, decorators: [{
38
43
  type: Component,
39
- args: [{ selector: 'bsu-file-viewer-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container\n *ngTemplateOutlet=\"cardMode ? cardTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n></ng-container>\n\n<ng-template #showImage>\n <div class=\"column big-imgs-box\" [class.fill-width]=\"fillWidth\">\n <div class=\"pics\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"file.mediaUrl\" [src]=\"file.mediaUrl\" [style.width]=\"width\" />\n </div>\n </div>\n</ng-template>\n<ng-template #blobViewer>\n @if(!hideContent){\n <bsu-blob-viewer\n [file]=\"file\"\n [style.width]=\"width\"\n fillEmptySpace\n [disable]=\"deviceSize !== 's'\"\n [decrement]=\"'25px'\"\n ></bsu-blob-viewer>\n }@else{ }\n</ng-template>\n<ng-template #cardTpl>\n <fd-card class=\"media\">\n <fd-card-content\n style=\"text-align: center; padding: 0\"\n [style.height]=\"cardContentHeight\"\n [style.display]=\"hideContent ? 'none' : null\"\n >\n <ng-container\n *ngTemplateOutlet=\"!showContent ? thumbnailTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n ></ng-container>\n </fd-card-content>\n </fd-card>\n</ng-template>\n<ng-template #thumbnailTpl>\n <img imgLazy [imgLazy]=\"file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.width]=\"width\" />\n</ng-template>\n", styles: [":host{display:block;min-height:100%}\n"] }]
44
+ args: [{ selector: 'bsu-file-viewer-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container\n *ngTemplateOutlet=\"cardMode ? cardTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n></ng-container>\n\n<ng-template #showImage>\n <div class=\"column big-imgs-box\" [class.fill-width]=\"fillWidth\">\n <div class=\"pics\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"file.mediaUrl\" [src]=\"file.mediaUrl\" [style.width]=\"width\" />\n </div>\n </div>\n</ng-template>\n<ng-template #blobViewer>\n @if(!hideContent){\n <bsu-blob-viewer\n [file]=\"file\"\n [style.width]=\"width\"\n fillEmptySpace\n [disable]=\"deviceSize !== 's'\"\n [decrement]=\"'25px'\"\n ></bsu-blob-viewer>\n }@else{ }\n</ng-template>\n<ng-template #cardTpl>\n <fd-card class=\"media\" [class.hideContent]=\"hideContent\">\n <fd-card-content style=\"text-align: center; padding: 0\" [style.height]=\"cardContentHeight\">\n @if(hideContent && file){\n <figure fd-illustrated-message type=\"dialog\" [svgConfig]=\"sceneConfig\" svgAriaLabel=\"Illustration label\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'Unable To Load File' | bbbTranslate }}</h3>\n </figcaption>\n </figure>\n } @else{\n <ng-container\n *ngTemplateOutlet=\"!showContent ? thumbnailTpl : file.isImage || imageOnly ? showImage : blobViewer\"\n ></ng-container>\n }\n </fd-card-content>\n </fd-card>\n</ng-template>\n<ng-template #thumbnailTpl>\n <img imgLazy [imgLazy]=\"file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.width]=\"width\" />\n</ng-template>\n", styles: [":host{display:block;min-height:100%}fd-card.hideContent{box-shadow:none}\n"] }]
40
45
  }], ctorParameters: () => [{ type: i1.PictureFieldSourcePipe }], propDecorators: { fillWidth: [{
41
46
  type: Input
42
47
  }], imageOnly: [{
@@ -63,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
63
68
  type: HostBinding,
64
69
  args: ['style.height']
65
70
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9maWxlLXZpZXdlci1jb250ZW50L2ZpbGUtdmlld2VyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFDSCxhQUFhLEVBR2IsT0FBTyxFQUNQLE9BQU8sRUFFVixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUTlCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBY3pELFlBQW9CLFlBQW9DO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFEsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBSDlDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFDM0QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFHcEIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLEtBQUs7WUFDRCxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQzVDLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDckQsSUFBSSxFQUNKLEVBQUUsRUFDRixHQUFHLEVBQ0gsR0FBRyxDQUNOLENBQUM7WUFDRixDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ3hDLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFDeEQsRUFBRSxFQUNGLEVBQUUsRUFDRixDQUFDLEVBQ0QsQ0FBQyxDQUNKLENBQUM7WUFDRixDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7OEdBaERRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDZiQ2hCdkMsbTJDQXVDQTs7MkZEdkJhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07MkZBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDc0IsT0FBTztzQkFBbkMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIEZpbGVBdHRhY2htZW50SW5mbyxcbiAgICBnZXRJY29uLFxuICAgIGlzSW1hZ2UsXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZpbGUtdmlld2VyLWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBmaWxsV2lkdGg6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW1hZ2VPbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzSW1hZ2VHYWxsZXJ5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcmRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgY2FyZENvbnRlbnRIZWlnaHQ6IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvO1xuICAgIEBPdXRwdXQoKSBjYW50VmlldyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIF9oZWlnaHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIGhpZGVDb250ZW50ID0gZmFsc2U7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGljRmllbGRTcmM6IFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuZmlsZTtcbiAgICAgICAgY29uc3Qgc3BsID0gZmlsZS5GaWxlTmFtZT8uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZXh0ID0gc3BsID8gc3BsW3NwbC5sZW5ndGggLSAxXSA6ICcnO1xuICAgICAgICBjb25zdCBpc0ltZyA9IGlzSW1hZ2UoZXh0KTtcbiAgICAgICAgaXNJbWcgJiZcbiAgICAgICAgICAgIChmaWxlLnRodW1ibmFpbFVybCA9IHRoaXMuX3BpY0ZpZWxkU3JjLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBmaWxlLklkLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbWFnZUdhbGxlcnkgPyAnQmFyc2FQaWN0dXJlLlRodW1ibmFpbCcgOiAnSUQnLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgMTIwLFxuICAgICAgICAgICAgICAgIDEyMFxuICAgICAgICAgICAgKSkgJiZcbiAgICAgICAgICAgIChmaWxlLm1lZGlhVXJsID0gdGhpcy5fcGljRmllbGRTcmMudHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgIGZpbGUuSWQsXG4gICAgICAgICAgICAgICAgdGhpcy5pc0ltYWdlR2FsbGVyeSA/ICdCYXJzYVBpY3R1cmUuRnVsbCcgOiAnQXR0YWNobWVudCcsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApKSAmJlxuICAgICAgICAgICAgKGZpbGUuaXNJbWFnZSA9IHRydWUpO1xuICAgICAgICAhaXNJbWcgJiYgKGZpbGUudGh1bWJuYWlsVXJsID0gZ2V0SWNvbihleHQgfHwgZmlsZS5UeXBlKSk7XG4gICAgICAgIGlmICghaXNJbWcgJiYgWyd3ZWJtJywgJ21wNCcsICd4LXdhdicsICd4LW1zLXdtYScsICdtNGEnLCAndHh0JywgJ3BkZiddLmluZGV4T2YodGhpcy5maWxlLlR5cGUpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9oZWlnaHQgPSAnMHB4JztcbiAgICAgICAgICAgIHRoaXMuY2FudFZpZXcuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FyZE1vZGUgPyBjYXJkVHBsIDogZmlsZS5pc0ltYWdlIHx8IGltYWdlT25seSA/IHNob3dJbWFnZSA6IGJsb2JWaWV3ZXJcIlxuPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3Nob3dJbWFnZT5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGJpZy1pbWdzLWJveFwiIFtjbGFzcy5maWxsLXdpZHRoXT1cImZpbGxXaWR0aFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGljc1wiPlxuICAgICAgICAgICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG4gICAgICAgICAgICA8aW1nIGltZ0xhenkgW2ltZ0xhenldPVwiZmlsZS5tZWRpYVVybFwiIFtzcmNdPVwiZmlsZS5tZWRpYVVybFwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjYmxvYlZpZXdlcj5cbiAgICBAaWYoIWhpZGVDb250ZW50KXtcbiAgICA8YnN1LWJsb2Itdmlld2VyXG4gICAgICAgIFtmaWxlXT1cImZpbGVcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICAgICAgICBmaWxsRW1wdHlTcGFjZVxuICAgICAgICBbZGlzYWJsZV09XCJkZXZpY2VTaXplICE9PSAncydcIlxuICAgICAgICBbZGVjcmVtZW50XT1cIicyNXB4J1wiXG4gICAgPjwvYnN1LWJsb2Itdmlld2VyPlxuICAgIH1AZWxzZXsgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2FyZFRwbD5cbiAgICA8ZmQtY2FyZCBjbGFzcz1cIm1lZGlhXCI+XG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnRcbiAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiY2FyZENvbnRlbnRIZWlnaHRcIlxuICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaGlkZUNvbnRlbnQgPyAnbm9uZScgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiIXNob3dDb250ZW50ID8gdGh1bWJuYWlsVHBsIDogZmlsZS5pc0ltYWdlIHx8IGltYWdlT25seSA/IHNob3dJbWFnZSA6IGJsb2JWaWV3ZXJcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cbiAgICA8L2ZkLWNhcmQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0aHVtYm5haWxUcGw+XG4gICAgPGltZyBpbWdMYXp5IFtpbWdMYXp5XT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3NyY109XCJmaWxlLnRodW1ibmFpbFVybFwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9maWxlLXZpZXdlci1jb250ZW50L2ZpbGUtdmlld2VyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFDSCxhQUFhLEVBR2IsT0FBTyxFQUNQLE9BQU8sRUFFVixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVE5QixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQWtCekQsWUFBb0IsWUFBb0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEUSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFQOUMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUMzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFBVyxHQUFHO1lBQ1YsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLHlDQUF5QyxFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRTtZQUN4RixNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsMENBQTBDLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixFQUFFO1NBQzVGLENBQUM7SUFHRixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsS0FBSztZQUNELENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDNUMsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUNyRCxJQUFJLEVBQ0osRUFBRSxFQUNGLEdBQUcsRUFDSCxHQUFHLENBQ04sQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDeEMsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUN4RCxFQUFFLEVBQ0YsRUFBRSxFQUNGLENBQUMsRUFDRCxDQUFDLENBQ0osQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7OEdBcERRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDZiQ2hCdkMsMnNEQTJDQTs7MkZEM0JhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07MkZBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDc0IsT0FBTztzQkFBbkMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIEZpbGVBdHRhY2htZW50SW5mbyxcbiAgICBnZXRJY29uLFxuICAgIGlzSW1hZ2UsXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZpbGUtdmlld2VyLWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBmaWxsV2lkdGg6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW1hZ2VPbmx5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzSW1hZ2VHYWxsZXJ5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcmRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgY2FyZENvbnRlbnRIZWlnaHQ6IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvO1xuICAgIEBPdXRwdXQoKSBjYW50VmlldyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIF9oZWlnaHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIGhpZGVDb250ZW50ID0gZmFsc2U7XG4gICAgc2NlbmVDb25maWcgPSB7XG4gICAgICAgIHNjZW5lOiB7IHVybDogJ2Fzc2V0cy9pbWFnZXMvc2FwSWxsdXMtU2NlbmUtTm9NYWlsLnN2ZycsIGlkOiAnc2FwSWxsdXMtU2NlbmUtTm9NYWlsLTEnIH0sXG4gICAgICAgIGRpYWxvZzogeyB1cmw6ICdhc3NldHMvaW1hZ2VzL3NhcElsbHVzLURpYWxvZy1Ob01haWwuc3ZnJywgaWQ6ICdzYXBJbGx1cy1EaWFsb2ctTm9NYWlsJyB9XG4gICAgfTtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9waWNGaWVsZFNyYzogUGljdHVyZUZpZWxkU291cmNlUGlwZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlO1xuICAgICAgICBjb25zdCBzcGwgPSBmaWxlLkZpbGVOYW1lPy5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBleHQgPSBzcGwgPyBzcGxbc3BsLmxlbmd0aCAtIDFdIDogJyc7XG4gICAgICAgIGNvbnN0IGlzSW1nID0gaXNJbWFnZShleHQpO1xuICAgICAgICBpc0ltZyAmJlxuICAgICAgICAgICAgKGZpbGUudGh1bWJuYWlsVXJsID0gdGhpcy5fcGljRmllbGRTcmMudHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgIGZpbGUuSWQsXG4gICAgICAgICAgICAgICAgdGhpcy5pc0ltYWdlR2FsbGVyeSA/ICdCYXJzYVBpY3R1cmUuVGh1bWJuYWlsJyA6ICdJRCcsXG4gICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAxMjAsXG4gICAgICAgICAgICAgICAgMTIwXG4gICAgICAgICAgICApKSAmJlxuICAgICAgICAgICAgKGZpbGUubWVkaWFVcmwgPSB0aGlzLl9waWNGaWVsZFNyYy50cmFuc2Zvcm0oXG4gICAgICAgICAgICAgICAgZmlsZS5JZCxcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW1hZ2VHYWxsZXJ5ID8gJ0JhcnNhUGljdHVyZS5GdWxsJyA6ICdBdHRhY2htZW50JyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICkpICYmXG4gICAgICAgICAgICAoZmlsZS5pc0ltYWdlID0gdHJ1ZSk7XG4gICAgICAgICFpc0ltZyAmJiAoZmlsZS50aHVtYm5haWxVcmwgPSBnZXRJY29uKGV4dCB8fCBmaWxlLlR5cGUpKTtcbiAgICAgICAgaWYgKCFpc0ltZyAmJiBbJ3dlYm0nLCAnbXA0JywgJ3gtd2F2JywgJ3gtbXMtd21hJywgJ200YScsICd0eHQnLCAncGRmJ10uaW5kZXhPZih0aGlzLmZpbGUuVHlwZSkgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIHRoaXMuX2hlaWdodCA9ICcwcHgnO1xuICAgICAgICAgICAgdGhpcy5jYW50Vmlldy5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkTW9kZSA/IGNhcmRUcGwgOiBmaWxlLmlzSW1hZ2UgfHwgaW1hZ2VPbmx5ID8gc2hvd0ltYWdlIDogYmxvYlZpZXdlclwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2hvd0ltYWdlPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gYmlnLWltZ3MtYm94XCIgW2NsYXNzLmZpbGwtd2lkdGhdPVwiZmlsbFdpZHRoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNzXCI+XG4gICAgICAgICAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbiAgICAgICAgICAgIDxpbWcgaW1nTGF6eSBbaW1nTGF6eV09XCJmaWxlLm1lZGlhVXJsXCIgW3NyY109XCJmaWxlLm1lZGlhVXJsXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNibG9iVmlld2VyPlxuICAgIEBpZighaGlkZUNvbnRlbnQpe1xuICAgIDxic3UtYmxvYi12aWV3ZXJcbiAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4gICAgICAgIGZpbGxFbXB0eVNwYWNlXG4gICAgICAgIFtkaXNhYmxlXT1cImRldmljZVNpemUgIT09ICdzJ1wiXG4gICAgICAgIFtkZWNyZW1lbnRdPVwiJzI1cHgnXCJcbiAgICA+PC9ic3UtYmxvYi12aWV3ZXI+XG4gICAgfUBlbHNleyB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjYXJkVHBsPlxuICAgIDxmZC1jYXJkIGNsYXNzPVwibWVkaWFcIiBbY2xhc3MuaGlkZUNvbnRlbnRdPVwiaGlkZUNvbnRlbnRcIj5cbiAgICAgICAgPGZkLWNhcmQtY29udGVudCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMFwiIFtzdHlsZS5oZWlnaHRdPVwiY2FyZENvbnRlbnRIZWlnaHRcIj5cbiAgICAgICAgICAgIEBpZihoaWRlQ29udGVudCAmJiBmaWxlKXtcbiAgICAgICAgICAgIDxmaWd1cmUgZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZSB0eXBlPVwiZGlhbG9nXCIgW3N2Z0NvbmZpZ109XCJzY2VuZUNvbmZpZ1wiIHN2Z0FyaWFMYWJlbD1cIklsbHVzdHJhdGlvbiBsYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtdGl0bGU+e3sgJ1VuYWJsZSBUbyBMb2FkIEZpbGUnIHwgYmJiVHJhbnNsYXRlIH19PC9oMz5cbiAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgIH0gQGVsc2V7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhc2hvd0NvbnRlbnQgPyB0aHVtYm5haWxUcGwgOiBmaWxlLmlzSW1hZ2UgfHwgaW1hZ2VPbmx5ID8gc2hvd0ltYWdlIDogYmxvYlZpZXdlclwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIDwvZmQtY2FyZD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3RodW1ibmFpbFRwbD5cbiAgICA8aW1nIGltZ0xhenkgW2ltZ0xhenldPVwiZmlsZS50aHVtYm5haWxVcmxcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -46,7 +46,7 @@ export class LayoutActionsComponent extends FormToolbarBaseComponent {
46
46
  }
47
47
  onWorkflowButtonSelected(workflowButton) {
48
48
  this.selectedWorkflowButton = workflowButton;
49
- this.workflowChoiceSelect.emit(workflowButton.Choice);
49
+ this.workflowChoiceSelect.emit(workflowButton.Data);
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LayoutActionsComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
52
52
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: LayoutActionsComponent, selector: "bsu-layout-actions", inputs: { workflowButtons: "workflowButtons", workflowButtonsComboMode: "workflowButtonsComboMode", canSend: "canSend", simple: "simple", footerDesign: "footerDesign" }, outputs: { workflowChoiceSelect: "workflowChoiceSelect" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\n<ng-template #defaultTemplate>\n @if (visible) { @if (hasButtons) {\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\n @if (canSend && false) {\n <div fd-bar-left>\n <fd-bar-element class=\"forward\">\n <fd-popover\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [closeOnOutsideClick]=\"false\"\n [scrollStrategy]=\"repositionScrollStrategy\"\n #forwardPopover\n >\n <fd-popover-control class=\"forward\">\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n (click)=\"forwardPopover.close()\"\n [fdType]=\"'transparent'\"\n [glyph]=\"'decline'\"\n ></button>\n </fd-bar-element>\n <div fd-bar-left>\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\n </div>\n </div>\n </div>\n </div>\n <bnrc-form-new\n class=\"form-erja\"\n [settings]=\"{\n MetaTypeDef: { Id: '', $Caption: '' },\n MetaView: { Id: '', $Caption: '' },\n DisableGenerateId: true\n }\"\n ></bnrc-form-new>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\n <fd-button-bar\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"forwardPopover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n </fd-bar-element>\n </div>\n }\n <div fd-bar-right>\n @if (workflowButtonsComboMode && workflowButtons.length > 0) {\n <button\n fd-button\n [fdMenu]=\"true\"\n fdType=\"emphasized\"\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n ></button>\n <fd-menu #menu>\n @for (btn of workflowButtons; track btn) {\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btn.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n <fd-button-bar\n [fdType]=\"'positive'\"\n [label]=\"'Send' | bbbTranslate\"\n [disabled]=\"!selectedWorkflowButton\"\n [glyph]=\"'accept'\"\n (click)=\"onAcceptWorkflow()\"\n ></fd-button-bar>\n } @for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\n <bnrc-dynamic-form-toolbaritem\n class=\"fd-bar__element\"\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\n <fd-button-bar\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n </div>\n </div>\n } } @if (mobileBottomBar) {\n <div style=\"background-color: transparent; height: 4rem\"></div>\n }\n</ng-template>\n<ng-template #buttonsMode>\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\n <fd-button-bar\n [attr.workflowButton]=\"true\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n</ng-template>\n", styles: [":host[rtl=true] fd-split-button{margin-left:.5rem}:host[rtl=false] fd-split-button{margin-right:.5rem}.forward button{min-width:6rem}.form-erja{padding-top:1rem;padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FormNewComponent, selector: "bnrc-form-new", inputs: ["settings"] }, { kind: "component", type: i3.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i6.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i6.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i6.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i6.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
67
67
  }], workflowChoiceSelect: [{
68
68
  type: Output
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBT25GLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFjaEUsWUFBc0IsUUFBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBUjdCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBR25CLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUN0RSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3RDLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDN0Msd0NBQXdDO1FBQ3hDLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN2QixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN4QixDQUFDLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELHdCQUF3QixDQUFDLGNBQWM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQTlDUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzVENYbkMsNHlMQXVIQTs7MkZENUdhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs0RUFHdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhckRlc2lnblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJhc2VDb21wb25lbnQsIGdldERldmljZUlzTW9iaWxlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgRm9ybVRvb2xiYXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSB3b3JrZmxvd0J1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYW5TZW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNpbXBsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmb290ZXJEZXNpZ246IEJhckRlc2lnblR5cGU7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93Q2hvaWNlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbjogYW55O1xuICAgIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIHJlcG9zaXRpb25TY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG4gICAgYXV0b0Nsb3NlID0gZmFsc2U7XG4gICAgbW9iaWxlQm90dG9tQmFyID0gZmFsc2U7XG4gICAgaGFzQnV0dG9ucyA9IGZhbHNlO1xuICAgIHNjcm9sbFRocm90dGxlID0gMDtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX292ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaGFzQnV0dG9ucyA9IHRoaXMud29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDAgfHwgdGhpcy5idXR0b25zLmxlbmd0aCA+IDA7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLm1vYmlsZUJvdHRvbUJhciA9IHRoaXMuaXNNb2JpbGUgJiYgIXRoaXMuc3RhbmRhbG9uZSAmJiB0aGlzLmhhc0J1dHRvbnM7XG4gICAgICAgIHRoaXMucmVwb3NpdGlvblNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oe1xuICAgICAgICAgICAgYXV0b0Nsb3NlOiB0aGlzLmF1dG9DbG9zZSxcbiAgICAgICAgICAgIHNjcm9sbFRocm90dGxlOiB0aGlzLnNjcm9sbFRocm90dGxlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB3b3JrZmxvd0J1dHRvbnMgPSB0aGlzLndvcmtmbG93QnV0dG9ucztcbiAgICAgICAgLy8gdGhpcy53b3JrZmxvd0J1dHRvbnNDb21ib01vZGUgPSB0cnVlO1xuICAgICAgICBpZiAod29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBjLmRlc2lnbiA9ICdzdGFuZGFyZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBsYXN0QnV0dG9uID0gd29ya2Zsb3dCdXR0b25zW3dvcmtmbG93QnV0dG9ucy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmIChsYXN0QnV0dG9uLkNob2ljZSkge1xuICAgICAgICAgICAgICAgIGxhc3RCdXR0b24uZGVzaWduID0gJ2VtcGhhc2l6ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uQWNjZXB0V29ya2Zsb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub29sQ2xpY2sodGhpcy5zZWxlY3RlZFdvcmtmbG93QnV0dG9uKTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd0J1dHRvblNlbGVjdGVkKHdvcmtmbG93QnV0dG9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbiA9IHdvcmtmbG93QnV0dG9uO1xuICAgICAgICB0aGlzLndvcmtmbG93Q2hvaWNlU2VsZWN0LmVtaXQod29ya2Zsb3dCdXR0b24uQ2hvaWNlKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2ltcGxlID8gYnV0dG9uc01vZGUgOiBkZWZhdWx0VGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICBAaWYgKHZpc2libGUpIHsgQGlmIChoYXNCdXR0b25zKSB7XG4gICAgPGRpdiBmZC1iYXIgW2JhckRlc2lnbl09XCJmb290ZXJEZXNpZ24gPyBmb290ZXJEZXNpZ24gOiAnZm9vdGVyJ1wiIFtpblBhZ2VdPVwidHJ1ZVwiPlxuICAgICAgICBAaWYgKGNhblNlbmQgJiYgZmFsc2UpIHtcbiAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudCBjbGFzcz1cImZvcndhcmRcIj5cbiAgICAgICAgICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2Nyb2xsU3RyYXRlZ3ldPVwicmVwb3NpdGlvblNjcm9sbFN0cmF0ZWd5XCJcbiAgICAgICAgICAgICAgICAgICAgI2ZvcndhcmRQb3BvdmVyXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sIGNsYXNzPVwiZm9yd2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2ZkVHlwZV09XCInc3RhbmRhcmQnXCIgW2xhYmVsXT1cIidGb3J3YXJkJyB8IGJiYlRyYW5zbGF0ZVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keSBzdHlsZT1cIm1pbi13aWR0aDogMzB2dzsgbWF4LXdpZHRoOiAzMHZ3OyBtaW4taGVpZ2h0OiAzMHZoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXIgYmFyRGVzaWduPVwiaGVhZGVyXCIgW2NvenldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9yd2FyZFBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInZGVjbGluZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD7Yp9ix2KzYp9i5INmB2LHZhSDYqNmHINi02K7YtSDYr9uM2q/YsSA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Ym5yYy1mb3JtLW5ld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1lcmphXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRhVHlwZURlZjogeyBJZDogJycsICRDYXB0aW9uOiAnJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRhVmlldzogeyBJZDogJycsICRDYXB0aW9uOiAnJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNhYmxlR2VuZXJhdGVJZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYm5yYy1mb3JtLW5ldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtcG9wb3Zlci1ib2R5LWZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhciBiYXJEZXNpZ249XCJmb290ZXJcIiBbY296eV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXIgW2xhYmVsXT1cIidTZW5kJyB8IGJiYlRyYW5zbGF0ZVwiIGZkVHlwZT1cImVtcGhhc2l6ZWRcIj48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9yd2FyZFBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgIEBpZiAod29ya2Zsb3dCdXR0b25zQ29tYm9Nb2RlICYmIHdvcmtmbG93QnV0dG9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2VsZWN0ZWRXb3JrZmxvd0J1dHRvbj8udGV4dCB8fCAnU2VsZWN0JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJzZWxlY3RlZFdvcmtmbG93QnV0dG9uPy50ZXh0IHx8ICdTZWxlY3QnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxmZC1tZW51ICNtZW51PlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiB3b3JrZmxvd0J1dHRvbnM7IHRyYWNrIGJ0bikge1xuICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25Xb3JrZmxvd0J1dHRvblNlbGVjdGVkKGJ0bilcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyBidG4udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2ZkLW1lbnU+XG4gICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3Bvc2l0aXZlJ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTZW5kJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZFdvcmtmbG93QnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ2FjY2VwdCdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFjY2VwdFdvcmtmbG93KClcIlxuICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgIH0gQGZvciAoYnRuIG9mIGJ1dHRvbnM7IHRyYWNrIGJ0bjsgbGV0IGkgPSAkaW5kZXgpIHsgQGlmIChidG4uRGF0YT8uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8Ym5yYy1keW5hbWljLWZvcm0tdG9vbGJhcml0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWJhcl9fZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJidG4uRGF0YS5DdXN0b21VaVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiYnRuXCJcbiAgICAgICAgICAgICAgICBbaXNFbmFibGVdPVwiYnRuLkNvbW1hbmQ/Ll9pc0VuYWJsZVwiXG4gICAgICAgICAgICAgICAgKGJ0bkNsaWNrKT1cIm9uVG9vbENsaWNrKGJ0bilcIlxuICAgICAgICAgICAgPjwvYm5yYy1keW5hbWljLWZvcm0tdG9vbGJhcml0ZW0+XG4gICAgICAgICAgICB9IEBpZiAoYnRuICE9PSAnLScgJiYgIWJ0bi5EYXRhPy5DdXN0b21VaT8uU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJidG4uZGVzaWduID8gYnRuLmRlc2lnbiA6IGJ0bi5EYXRhPy5Kc29uRXh0cmFQcm9wPy5EZXNpZ25cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cImJ0bi5uZXdJY29uID8gYnRuLm5ld0ljb24gOiBidG4uRGF0YT8uSnNvbkV4dHJhUHJvcD8uSWNvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9vbENsaWNrKGJ0bilcIlxuICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgIH0gfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9IH0gQGlmIChtb2JpbGVCb3R0b21CYXIpIHtcbiAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGhlaWdodDogNHJlbVwiPjwvZGl2PlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2J1dHRvbnNNb2RlPlxuICAgIEBmb3IgKGJ0biBvZiB3b3JrZmxvd0J1dHRvbnM7IHRyYWNrIGJ0bjsgbGV0IGkgPSAkaW5kZXgpIHsgQGlmIChidG4gIT09ICctJykge1xuICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgIFthdHRyLndvcmtmbG93QnV0dG9uXT1cInRydWVcIlxuICAgICAgICBbZmRUeXBlXT1cImJ0bi5kZXNpZ24gPyBidG4uZGVzaWduIDogYnRuLkRhdGE/Lkpzb25FeHRyYVByb3A/LkRlc2lnblwiXG4gICAgICAgIFtsYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtnbHlwaF09XCJidG4ubmV3SWNvbiA/IGJ0bi5uZXdJY29uIDogYnRuLkRhdGE/Lkpzb25FeHRyYVByb3A/Lkljb25cIlxuICAgICAgICAoY2xpY2spPVwib25Ub29sQ2xpY2soYnRuKVwiXG4gICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICB9IH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBT25GLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFjaEUsWUFBc0IsUUFBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBUjdCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBR25CLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUN0RSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3RDLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDN0Msd0NBQXdDO1FBQ3hDLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN2QixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN4QixDQUFDLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELHdCQUF3QixDQUFDLGNBQWM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQTlDUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzVENYbkMsNHlMQXVIQTs7MkZENUdhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs0RUFHdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhckRlc2lnblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJhc2VDb21wb25lbnQsIGdldERldmljZUlzTW9iaWxlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgRm9ybVRvb2xiYXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSB3b3JrZmxvd0J1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYW5TZW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNpbXBsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmb290ZXJEZXNpZ246IEJhckRlc2lnblR5cGU7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93Q2hvaWNlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbjogYW55O1xuICAgIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIHJlcG9zaXRpb25TY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG4gICAgYXV0b0Nsb3NlID0gZmFsc2U7XG4gICAgbW9iaWxlQm90dG9tQmFyID0gZmFsc2U7XG4gICAgaGFzQnV0dG9ucyA9IGZhbHNlO1xuICAgIHNjcm9sbFRocm90dGxlID0gMDtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX292ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaGFzQnV0dG9ucyA9IHRoaXMud29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDAgfHwgdGhpcy5idXR0b25zLmxlbmd0aCA+IDA7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLm1vYmlsZUJvdHRvbUJhciA9IHRoaXMuaXNNb2JpbGUgJiYgIXRoaXMuc3RhbmRhbG9uZSAmJiB0aGlzLmhhc0J1dHRvbnM7XG4gICAgICAgIHRoaXMucmVwb3NpdGlvblNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oe1xuICAgICAgICAgICAgYXV0b0Nsb3NlOiB0aGlzLmF1dG9DbG9zZSxcbiAgICAgICAgICAgIHNjcm9sbFRocm90dGxlOiB0aGlzLnNjcm9sbFRocm90dGxlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB3b3JrZmxvd0J1dHRvbnMgPSB0aGlzLndvcmtmbG93QnV0dG9ucztcbiAgICAgICAgLy8gdGhpcy53b3JrZmxvd0J1dHRvbnNDb21ib01vZGUgPSB0cnVlO1xuICAgICAgICBpZiAod29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBjLmRlc2lnbiA9ICdzdGFuZGFyZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBsYXN0QnV0dG9uID0gd29ya2Zsb3dCdXR0b25zW3dvcmtmbG93QnV0dG9ucy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmIChsYXN0QnV0dG9uLkNob2ljZSkge1xuICAgICAgICAgICAgICAgIGxhc3RCdXR0b24uZGVzaWduID0gJ2VtcGhhc2l6ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uQWNjZXB0V29ya2Zsb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub29sQ2xpY2sodGhpcy5zZWxlY3RlZFdvcmtmbG93QnV0dG9uKTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd0J1dHRvblNlbGVjdGVkKHdvcmtmbG93QnV0dG9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbiA9IHdvcmtmbG93QnV0dG9uO1xuICAgICAgICB0aGlzLndvcmtmbG93Q2hvaWNlU2VsZWN0LmVtaXQod29ya2Zsb3dCdXR0b24uRGF0YSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpbXBsZSA/IGJ1dHRvbnNNb2RlIDogZGVmYXVsdFRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgQGlmICh2aXNpYmxlKSB7IEBpZiAoaGFzQnV0dG9ucykge1xuICAgIDxkaXYgZmQtYmFyIFtiYXJEZXNpZ25dPVwiZm9vdGVyRGVzaWduID8gZm9vdGVyRGVzaWduIDogJ2Zvb3RlcidcIiBbaW5QYWdlXT1cInRydWVcIj5cbiAgICAgICAgQGlmIChjYW5TZW5kICYmIGZhbHNlKSB7XG4gICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQgY2xhc3M9XCJmb3J3YXJkXCI+XG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Njcm9sbFN0cmF0ZWd5XT1cInJlcG9zaXRpb25TY3JvbGxTdHJhdGVneVwiXG4gICAgICAgICAgICAgICAgICAgICNmb3J3YXJkUG9wb3ZlclxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbCBjbGFzcz1cImZvcndhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIFtmZFR5cGVdPVwiJ3N0YW5kYXJkJ1wiIFtsYWJlbF09XCInRm9yd2FyZCcgfCBiYmJUcmFuc2xhdGVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgc3R5bGU9XCJtaW4td2lkdGg6IDMwdnc7IG1heC13aWR0aDogMzB2dzsgbWluLWhlaWdodDogMzB2aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1wb3BvdmVyLWJvZHktaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImhlYWRlclwiIFtjb3p5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcndhcmRQb3BvdmVyLmNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ2RlY2xpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+2KfYsdis2KfYuSDZgdix2YUg2KjZhyDYtNiu2LUg2K/bjNqv2LEgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJucmMtZm9ybS1uZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZXJqYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmdzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YVR5cGVEZWY6IHsgSWQ6ICcnLCAkQ2FwdGlvbjogJycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YVZpZXc6IHsgSWQ6ICcnLCAkQ2FwdGlvbjogJycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZUdlbmVyYXRlSWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2JucmMtZm9ybS1uZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXIgYmFyRGVzaWduPVwiZm9vdGVyXCIgW2NvenldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIFtsYWJlbF09XCInU2VuZCcgfCBiYmJUcmFuc2xhdGVcIiBmZFR5cGU9XCJlbXBoYXNpemVkXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcndhcmRQb3BvdmVyLmNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICBAaWYgKHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZSAmJiB3b3JrZmxvd0J1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNlbGVjdGVkV29ya2Zsb3dCdXR0b24/LnRleHQgfHwgJ1NlbGVjdCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwic2VsZWN0ZWRXb3JrZmxvd0J1dHRvbj8udGV4dCB8fCAnU2VsZWN0JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgICAgICBAZm9yIChidG4gb2Ygd29ya2Zsb3dCdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtIChjbGljayk9XCJtZW51LmNsb3NlKCk7IG9uV29ya2Zsb3dCdXR0b25TZWxlY3RlZChidG4pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgYnRuLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIidwb3NpdGl2ZSdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU2VuZCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRXb3JrZmxvd0J1dHRvblwiXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cIidhY2NlcHQnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY2NlcHRXb3JrZmxvdygpXCJcbiAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICB9IEBmb3IgKGJ0biBvZiBidXR0b25zOyB0cmFjayBidG47IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuLkRhdGE/LkN1c3RvbVVpPy5TZWxlY3Rvcikge1xuICAgICAgICAgICAgPGJucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1iYXJfX2VsZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwiYnRuLkRhdGEuQ3VzdG9tVWlcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImJ0blwiXG4gICAgICAgICAgICAgICAgW2lzRW5hYmxlXT1cImJ0bi5Db21tYW5kPy5faXNFbmFibGVcIlxuICAgICAgICAgICAgICAgIChidG5DbGljayk9XCJvblRvb2xDbGljayhidG4pXCJcbiAgICAgICAgICAgID48L2JucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtPlxuICAgICAgICAgICAgfSBAaWYgKGJ0biAhPT0gJy0nICYmICFidG4uRGF0YT8uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiYnRuLmRlc2lnbiA/IGJ0bi5kZXNpZ24gOiBidG4uRGF0YT8uSnNvbkV4dHJhUHJvcD8uRGVzaWduXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYnRuLnRleHQgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJidG4ubmV3SWNvbiA/IGJ0bi5uZXdJY29uIDogYnRuLkRhdGE/Lkpzb25FeHRyYVByb3A/Lkljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvb2xDbGljayhidG4pXCJcbiAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICB9IH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgfSB9IEBpZiAobW9iaWxlQm90dG9tQmFyKSB7XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBoZWlnaHQ6IDRyZW1cIj48L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNidXR0b25zTW9kZT5cbiAgICBAZm9yIChidG4gb2Ygd29ya2Zsb3dCdXR0b25zOyB0cmFjayBidG47IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuICE9PSAnLScpIHtcbiAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICBbYXR0ci53b3JrZmxvd0J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW2ZkVHlwZV09XCJidG4uZGVzaWduID8gYnRuLmRlc2lnbiA6IGJ0bi5EYXRhPy5Kc29uRXh0cmFQcm9wPy5EZXNpZ25cIlxuICAgICAgICBbbGFiZWxdPVwiYnRuLnRleHQgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbZ2x5cGhdPVwiYnRuLm5ld0ljb24gPyBidG4ubmV3SWNvbiA6IGJ0bi5EYXRhPy5Kc29uRXh0cmFQcm9wPy5JY29uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9vbENsaWNrKGJ0bilcIlxuICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgfSB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -117,6 +117,7 @@ export class LayoutControlComponent extends LayoutItemBaseComponent {
117
117
  let translateCaption = `${this._bbbTranslate.transform(labelCaption)}${this.isSearchPanel || labelCaption === '&zwnj;' ? '' : colonLabel}`;
118
118
  this.isMandatory = config.FieldUi.Setting?.IsMandatory;
119
119
  if (this.isMandatory) {
120
+ translateCaption = translateCaption.replace('*', '');
120
121
  translateCaption += `<strong class="field-mandatory">*</strong>`;
121
122
  }
122
123
  this.labelCaption = this.domSanitizer.bypassSecurityTrustHtml(translateCaption);
@@ -298,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
298
299
  }], SetVisible: [{
299
300
  type: Input
300
301
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBTXZCLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFFYixpQkFBaUIsRUFFakIsV0FBVyxFQUNYLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVM5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBbUQvRCxZQUNjLGdCQUFrQyxFQUNyQyxFQUFjLEVBQ3JCLHNCQUE2QyxFQUNuQyxZQUEwQixFQUMxQixJQUF1QixFQUN2QixPQUFlLEVBQ2YsVUFBcUIsRUFDckIsYUFBK0IsRUFDbkIsb0JBQW1DO1FBRXpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFWCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbkIs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ICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFyc2FBcGksXG4gICAgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQsXG4gICAgTGF5b3V0U2VydmljZSxcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgIGdldERldmljZUlzTW9iaWxlLFxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXG4gICAgbWVhc3VyZVRleHQsXG4gICAgZ2V0TGFiZWxXaWR0aFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWxheW91dC1jb250cm9sJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29udHJvbENvbXBvbmVudCBleHRlbmRzIExheW91dEl0ZW1CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCd0ZW1wTGFiZWxSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICB0ZW1wTGFiZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1jb250cm9sJykgbGF5b3V0Q29udHJvbENsYXNzID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdy1kaXJlY3Rpb24nKSBpc1Jvd0RpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdy1yZXZlcnNlLWRpcmVjdGlvbicpIGlzUm93UmV2ZXJzZURpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbHVtbi1kaXJlY3Rpb24nKSBpc0NvbHVtbkRpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbHVtbi1yZXZlcnNlLWRpcmVjdGlvbicpIGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbnRhaW5lci1maWVsZCcpIGlzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAvLyBASG9zdEJpbmRpbmcoJ3N0eWxlLnZpc2liaWxpdHknKSB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBtYXhXaWR0aDtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpIG1pbldpZHRoO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodCcpIG1pbkhlaWdodCA9ICcyLjI1cmVtJztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNDaGVja2JveCcpIGlzQ2hlY2tib3g7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRyb2xJc1JlYWRvbmx5JykgY29udHJvbElzUmVhZG9ubHkgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNCdXR0b24nKSBpc0J1dHRvbjtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNzaW5nbGVwaWN0dXJlJykgaXNTaW5nbGVQaWN0dXJlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5taW5XaWR0aCcpIGF0dHJNaW5XaWR0aDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaXNtb2JpbGUnKSBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRyb2xJZCcpIGF0dHJDb250cm9sSWQ7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmNhcHRpb24nKSBhdHRyQ2FwdGlvbjtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmb2N1c0NvbnRyb2w6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heExhYmVsV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBoYXNIb3Jpem9udGFsVGV4dDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgZmxleDogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9PigpO1xuXG4gICAgaGlkZSA9IHRydWU7XG4gICAgbGF5b3V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgd3JhcENvbnRlbnQ6IGJvb2xlYW47XG4gICAgbGFiZWxXaWR0aDogbnVtYmVyO1xuICAgIGxhYmVsQ2FwdGlvbjogc3RyaW5nIHwgU2FmZUh0bWw7XG4gICAgbGFiZWxWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBsYXlvdXRTZXRTaXplOiBib29sZWFuO1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNVbHY6IGJvb2xlYW47XG4gICAgaXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgZmllbGRJY29uOiBzdHJpbmc7XG4gICAgb3JpZ2luYWxYdHlwZTogc3RyaW5nO1xuICAgIHRleHRWaXNpYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIGVtcHR5VGV4dCA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCcmIzgyMDM7Jyk7XG4gICAgbGF5b3V0Q29udHJvbFdpZHRoOiBudW1iZXI7XG4gICAgZm9ybUhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBjaGVja2JveFdpZHRoID0gJ2ZpdC1jb250ZW50JztcbiAgICBoZWxwRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgX2NvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJUcmFuc2xhdGU6IEJiYlRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIEBTa2lwU2VsZigpIHByb3RlY3RlZCBfcGFyZW50TGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtUGFuZWxTZXJ2aWNlLCBfY2RyKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudERlbnNpdHkgPT09ICdjb21wYWN0Jykge1xuICAgICAgICAgICAgdGhpcy5taW5IZWlnaHQgPSAnMnJlbSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBmbGV4LCBtYXhMYWJlbFdpZHRoIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoZmxleCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0RmxleChmbGV4LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heExhYmVsV2lkdGggJiYgIW1heExhYmVsV2lkdGguZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgobWF4TGFiZWxXaWR0aC5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmZvcm1IZWlnaHQkID0gdGhpcy5mb3JtUGFuZWxTZXJ2aWNlLmZvcm1IZWlnaHQkO1xuICAgICAgICB0aGlzLl9zZXRGbGV4KHRoaXMuZmxleCk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRDb250cm9sV2lkdGggPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodEF1dG8gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICdGaWVsZFVpLlNldHRpbmcuQ3VzdG9tVWkuUGFyYW1ldGVycy5NaW5IZWlnaHRBdXRvJyxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmlubGluZUVkaXQgfHwgbWluSGVpZ2h0QXV0byB8fCB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLlVsdk1haW5VaScpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVbHYgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2lzVWx2Jyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hdHRyQ2FwdGlvbiA9IGNvbmZpZy5DYXB0aW9uLnJlcGxhY2UoJzonLCAnJyk7XG4gICAgICAgIHRoaXMuYXR0ckNvbnRyb2xJZCA9IGNvbmZpZy5Db250cm9sSWQ7XG4gICAgICAgIHRoaXMuaXNCdXR0b24gPSBjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuQnV0dG9uJztcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG5cbiAgICAgICAgdGhpcy5pc1Jvd0RpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdSaWdodCcgfHwgY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ0RlZmF1bHQnO1xuICAgICAgICB0aGlzLmlzUm93UmV2ZXJzZURpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdMZWZ0JztcbiAgICAgICAgdGhpcy5pc0NvbHVtbkRpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdUb3AnIHx8IHRoaXMuaXNTZWFyY2hQYW5lbDtcbiAgICAgICAgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb24gPSBjb25maWcuVGV4dExvY2F0aW9uID09PSAnQm90dG9tJztcblxuICAgICAgICBjb25maWcuRmllbGRVaS5MYXlvdXRDb250cm9sID0gdGhpcztcbiAgICAgICAgdGhpcy5oZWxwRGVzY3JpcHRpb24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjb25maWcuRmllbGRVaSwgJ1NldHRpbmcuSGVscERlc2NyaXB0aW9uJywgJycpO1xuXG4gICAgICAgIHRoaXMuZmllbGRJY29uID0gY29uZmlnLkZpZWxkVWkuU2V0dGluZy5GaWVsZEljb247XG4gICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgPSBjb25maWcuRmllbGRVaS5TZXR0aW5nLkNvbnRyb2xJc1JlYWRPbmx5O1xuICAgICAgICB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5ID1cbiAgICAgICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgfHxcbiAgICAgICAgICAgIGNvbmZpZy5GaWVsZFVpLlNldHRpbmcuSW5uZXJDdHJscj8uSXNSZWFkT25seSB8fFxuICAgICAgICAgICAgY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jbm5lckN0cmxyPy54dHlwZSA9PT0gJ1VsLlJlYWRPbmx5RmllbGRDdHJscic7XG4gICAgICAgIHRoaXMub3JpZ2luYWxYdHlwZSA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGU7XG4gICAgICAgIHRoaXMudGV4dFZpc2libGUgPSBjb25maWcuVGV4dFZpc2libGU7XG4gICAgICAgIGlmIChjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2VhcmNoQ29tbWFuZEluZm9VaScpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gJyYjODIwMzsnO1xuICAgICAgICAgICAgdGhpcy5sYWJlbFZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50ZXh0VmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmVwYXJlTWluQW5kTWF4U2l6ZSgpO1xuICAgICAgICB0aGlzLl9zZXRMYWJlbFdpZHRoKHRoaXMubWF4TGFiZWxXaWR0aCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlZnJlc2hMYWJlbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbnN0IGxhYmVsQ2FwdGlvbiA9IGNvbmZpZy5DYXB0aW9uO1xuICAgICAgICAvLyBpZiAoY29uZmlnLkZpZWxkVWkuU2V0dGluZz8uSXNNYW5kYXRvcnkpIHtcbiAgICAgICAgLy8gICAgIGlmIChsYWJlbENhcHRpb24uaW5kZXhPZignKicpIDwgMCkge1xuICAgICAgICAvLyAgICAgICAgIGxhYmVsQ2FwdGlvbiA9IGxhYmVsQ2FwdGlvbiArICcgKic7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBsYWJlbENhcHRpb24gPSBsYWJlbENhcHRpb24ucmVwbGFjZSgnKicsICcnKTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHRoaXMuaXNDaGVja2JveCA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5DaGVja0JveCc7XG4gICAgICAgIGlmICh0aGlzLmlzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIGNvbnN0IHggPSBtZWFzdXJlVGV4dChsYWJlbENhcHRpb24pO1xuICAgICAgICAgICAgaWYgKHggPCB0aGlzLm1heExhYmVsV2lkdGggJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94V2lkdGggPSBgJHt0aGlzLm1heExhYmVsV2lkdGh9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1NpbmdsZVBpY3R1cmUgPSBjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2luZ2xlUGljdHVyZSc7XG4gICAgICAgIGNvbnN0IGNvbG9uTGFiZWwgPSB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuQ29sb25JbkxhYmVsID8gJzonIDogJyc7XG4gICAgICAgIGxldCB0cmFuc2xhdGVDYXB0aW9uID0gYCR7dGhpcy5fYmJiVHJhbnNsYXRlLnRyYW5zZm9ybShsYWJlbENhcHRpb24pfSR7XG4gICAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWwgfHwgbGFiZWxDYXB0aW9uID09PSAnJnp3bmo7JyA/ICcnIDogY29sb25MYWJlbFxuICAgICAgICB9YDtcbiAgICAgICAgdGhpcy5pc01hbmRhdG9yeSA9IGNvbmZpZy5GaWVsZFVpLlNldHRpbmc/LklzTWFuZGF0b3J5O1xuICAgICAgICBpZiAodGhpcy5pc01hbmRhdG9yeSkge1xuICAgICAgICAgICAgdHJhbnNsYXRlQ2FwdGlvbiArPSBgPHN0cm9uZyBjbGFzcz1cImZpZWxkLW1hbmRhdG9yeVwiPio8L3N0cm9uZz5gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodHJhbnNsYXRlQ2FwdGlvbik7XG4gICAgICAgIHRoaXMubGFiZWxWaXNpYmxlID0gY29uZmlnLlRleHRWaXNpYmxlICYmIHRoaXMuc2hvd0xhYmVsICE9PSBmYWxzZTtcbiAgICAgICAgY29uc3QgY29udHJvbFdpZHRoID0gZ2V0TGFiZWxXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGlmIChjb250cm9sV2lkdGggJiYgY29udHJvbFdpZHRoID4gdGhpcy5tYXhMYWJlbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRMYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SGlkZShjb25maWcuRmllbGRVaS5TZXR0aW5nLklzVmlzaWJsZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgICBfc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYWJlbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnIHx8XG4gICAgICAgICAgICAodGhpcy5pc01vYmlsZSAmJiAodGhpcy5pc0NoZWNrYm94IHx8IHRoaXMuY29udHJvbElzUmVhZG9ubHkpKVxuICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uIHx8IHRoaXMuaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgdmFsKTtcblxuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaXNDaGVja2JveFxuICAgICAgICAgICAgPyB0aGlzLmNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuQ2FwdGlvblNldHRpbmc/LkFsaWduTW9kZSA9PT0gJ0F1dG9TaXplJyB8fCAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IHRoaXMuaXNDb2x1bW5EaXJlY3Rpb24gfHwgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cbiAgICAgICAgICAgID8gJzEwMCUnXG4gICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIG1pbldpZHRoKTtcbiAgICB9XG4gICAgX3Jlc2l6ZVVsdkJ5RGV2aWNlKGRldmljZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNVbHYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGV2aWNlSGVpZ2h0ID0gJ0Rlc2t0b3BIZWlnaHQnO1xuICAgICAgICBzd2l0Y2ggKGRldmljZSkge1xuICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgZGV2aWNlSGVpZ2h0ID0gJ01vYmlsZUhlaWdodCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICBkZXZpY2VIZWlnaHQgPSAnVGFibGV0SGVpZ2h0JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhlaWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgICAgICAnRmllbGRVaS5TZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy4nICsgZGV2aWNlSGVpZ2h0LFxuICAgICAgICAgICAgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByZXBhcmVNaW5BbmRNYXhTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGF5b3V0SW5mbyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmlzQnV0dG9uO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVBpY3R1cmUgPSB0aGlzLmlzU2luZ2xlUGljdHVyZTtcbiAgICAgICAgY29uc3QgaXNDaGVja2JveCA9IHRoaXMuaXNDaGVja2JveDtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZUVkaXQgJiYgbGF5b3V0SW5mbyAmJiAoaXNCdXR0b24gfHwgaXNDaGVja2JveCB8fCBpc1NpbmdsZVBpY3R1cmUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJNaW5XaWR0aCA9IGNvbmZpZy5Cb3VuZHMud2lkdGg7XG4gICAgICAgICAgICBsZXQgZXh0cmFWYWwgPSAwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICgoaXNCdXR0b24gfHwgaXNDaGVja2JveCkgJiYgbGF5b3V0SW5mby5GaWVsZFVpLlNldHRpbmc/LkZpZWxkSWNvbikgfHxcbiAgICAgICAgICAgICAgICBsYXlvdXRJbmZvLkZpZWxkVWkuU2V0dGluZy5Kc29uRXh0cmFQcm9wPy5HbHlwaFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFWYWwgPSAxODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgTWF4U2l6ZSwgTWluU2l6ZSB9ID0gbGF5b3V0SW5mbztcbiAgICAgICAgICAgIGlmIChNYXhTaXplPy53aWR0aCA+IDAgJiYgIXRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBNYXhTaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE1pblNpemU/LndpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSBNaW5TaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ck1pbldpZHRoID0gdGhpcy5tYXhMYWJlbFdpZHRoICsgMjAwO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSAnMzIwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbldpZHRoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFJlZnJlc2hMYWJlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3JlZnJlc2hMYWJlbCcsIGRhdGE6IHRoaXMuY29uZmlnIH0pO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFNldFZpc2libGUgPSAodmlzaWJsZSwgcmVmcmVzaCkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jc1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fc2V0SGlkZSghdmlzaWJsZSk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZy5GaWVsZFVpLlNldHRpbmcuJEJSdWxlSGlkZSA9ICF2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9zZXRIaWRlKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaGlkZSA9IHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5IaWRlU2VhcmNoQ29tbWFuZEluZm9VaSA9PT0gdHJ1ZSA/IHRydWUgOiBoaWRlOyAvLyBoaWRlIGRlZmF1bHQgYnV0dG9ucyBvZiBzZWFyY2ggcGFuZWxcbiAgICAgICAgdGhpcy5oaWRlID0gaGlkZTtcbiAgICAgICAgaWYgKGhpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRlLWZvcm0taXRlbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGUtZm9ybS1pdGVtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RmxleChmbGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlIHx8IHRoaXMuY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSAhPT0gJ1VpLlRleHRBcmVhJylcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGZsZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghaGlkZSkgeyBAaWYgKGxhYmVsVmlzaWJsZSkge1xuPGJzdS1seS1sYWJlbFxuICAgIFthdHRyLmxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gICAgW2F0dHJSdGxdXG4gICAgI3RlbXBMYWJlbFJlZlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2NhcHRpb25dPVwibGFiZWxDYXB0aW9uXCJcbiAgICBbb3JpZ2luYWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIlxuICAgICAgICBpc0NoZWNrYm94XG4gICAgICAgICAgICA/IGNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIGNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIChpc0NoZWNrYm94IHx8IGNvbnRyb2xJc1JlYWRvbmx5KSlcbiAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtpc01hbmRhdG9yeV09XCJpc01hbmRhdG9yeVwiXG4gICAgW2ZpZWxkSWNvbl09XCJmaWVsZEljb25cIlxuICAgIFtoZWxwRGVzY3JpcHRpb25dPVwiaGVscERlc2NyaXB0aW9uXCJcbiAgICBbb3JpZ2luYWxYdHlwZV09XCJvcmlnaW5hbFh0eXBlXCJcbiAgICBbdGV4dFZpc2libGVdPVwidGV4dFZpc2libGVcIlxuICAgIFtpc0NvbHVtbl09XCJpc0NvbHVtbkRpcmVjdGlvbiB8fCBpc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cIlxuPjwvYnN1LWx5LWxhYmVsPlxufVxuPGxhYmVsIFthdHRyLnZpc2libGVdPVwibGFiZWxWaXNpYmxlXCIgY2xhc3M9XCJob3Jpem9udGFsLWxhYmVsXCIgW2lubmVySHRtbF09XCJlbXB0eVRleHRcIj48L2xhYmVsPlxuPGJucmMtZmllbGQtdWlcbiAgICBbYXR0ci54dHlwZV09XCJjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlXCJcbiAgICBbYXR0ci5maWVsZFdpZHRoXT1cImxheW91dENvbnRyb2xXaWR0aFwiXG4gICAgW2F0dHIuaXNDaGVja2JveF09XCJpc0NoZWNrYm94XCJcbiAgICBbYXR0ci5pc2J1dHRvbl09XCJpc0J1dHRvblwiXG4gICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJpc0NoZWNrYm94ID8gMSA6IDBcIlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY3VzdG9tRmllbGRdPVwiY29uZmlnLkZpZWxkVWlcIlxuICAgIFtsYXlvdXRJbmZvXT1cImNvbmZpZ1wiXG4gICAgW2lubGluZUVkaXRdPVwiaW5saW5lRWRpdFwiXG4gICAgW2Zvcm1IZWlnaHRdPVwiKGZvcm1IZWlnaHQkIHwgYXN5bmMpISFcIlxuICAgIFtmb2N1c0NvbnRyb2xdPVwiZm9jdXNDb250cm9sXCJcbiAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVWx2ID8gJzEwMCUnIDogJ2F1dG8nXCJcbiAgICBbYXR0ci5pc3Vsdl09XCJpc1VsdlwiXG4+PC9ibnJjLWZpZWxkLXVpPlxufVxuIl19
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBTXZCLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFFYixpQkFBaUIsRUFFakIsV0FBVyxFQUNYLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVM5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBbUQvRCxZQUNjLGdCQUFrQyxFQUNyQyxFQUFjLEVBQ3JCLHNCQUE2QyxFQUNuQyxZQUEwQixFQUMxQixJQUF1QixFQUN2QixPQUFlLEVBQ2YsVUFBcUIsRUFDckIsYUFBK0IsRUFDbkIsb0JBQW1DO1FBRXpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFWCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbkIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFlO1FBeER4Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFLekIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUdoQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFJbkMsYUFBUSxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFXbkQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO1FBRXJFLFNBQUksR0FBRyxJQUFJLENBQUM7UUFhWixjQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUdqRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQTZMOUIsb0JBQW9CO1FBQ1gsaUJBQVksR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUM7UUFDRixvQkFBb0I7UUFDWCxlQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixxREFBcUQ7Z0JBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUE3TEUsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxrQkFBa0IsR0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQTZCLENBQUMsV0FBVyxDQUFDO1FBQzdFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNsRCxNQUFNLEVBQ04sbURBQW1ELEVBQ25ELEtBQUssQ0FDUixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQztRQUMzRixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUM7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDN0UsSUFBSSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxZQUFZLEtBQUssUUFBUSxDQUFDO1FBRWpFLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXZHLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVO2dCQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxLQUFLLHVCQUF1QixDQUFDO1FBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNPLGFBQWE7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLDZDQUE2QztRQUM3QywyQ0FBMkM7UUFDM0MsOENBQThDO1FBQzlDLFFBQVE7UUFDUixXQUFXO1FBQ1gsb0RBQW9EO1FBQ3BELElBQUk7UUFFSixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQztZQUNuRCxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssa0JBQWtCLENBQUM7UUFDM0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsSUFBSSxnQkFBZ0IsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUNoRSxJQUFJLENBQUMsYUFBYSxJQUFJLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFDM0QsRUFBRSxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRCxnQkFBZ0IsSUFBSSw0Q0FBNEMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDO1FBQ25FLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxZQUFZLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELGNBQWMsQ0FBQyxhQUFxQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsU0FBUyxLQUFLLFVBQVU7WUFDcEQsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUMsTUFBTTtZQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLHdCQUF3QjtnQkFDekQsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXhFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsU0FBUyxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO2dCQUNuRyxDQUFDLENBQUMsYUFBYTtnQkFDZixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyx3QkFBd0I7b0JBQ3pELENBQUMsQ0FBQyxNQUFNO29CQUNSLENBQUMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsTUFBTTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLFlBQVksR0FBRyxlQUFlLENBQUM7UUFDbkMsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNiLEtBQUssR0FBRztnQkFDSixZQUFZLEdBQUcsY0FBYyxDQUFDO2dCQUM5QixNQUFNO1lBQ1YsS0FBSyxHQUFHO2dCQUNKLFlBQVksR0FBRyxjQUFjLENBQUM7Z0JBQzlCLE1BQU07UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQzFDLElBQUksQ0FBQyxNQUFNLEVBQ1gsaURBQWlELEdBQUcsWUFBWSxFQUNoRSxNQUFNLENBQ1QsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELG9CQUFvQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLElBQUksQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDakIsSUFDSSxDQUFDLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztnQkFDbkUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssRUFDakQsQ0FBQztnQkFDQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLENBQUM7WUFDRCxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUN4QyxJQUFJLE9BQU8sRUFBRSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNwRCxDQUFDO1lBQ0QsSUFBSSxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNwRCxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7WUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUM7SUFDTCxDQUFDO0lBZ0JPLFFBQVEsQ0FBQyxJQUFhO1FBQzFCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLHVDQUF1QztRQUMxSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNMLENBQUM7SUFDTyxRQUFRLENBQUMsSUFBWTtRQUN6QixJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxhQUFhO2dCQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNMLENBQUM7OEdBM1FRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHFwQ0FIcEIsQ0FBQyxhQUFhLENBQUMsbUhBSVMsVUFBVSx5RUN2Q2pELDZ6REFtREE7OzJGRGJhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxvQkFBb0IsYUFHbkIsQ0FBQyxhQUFhLENBQUMsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTTs7MEJBOEQxQyxRQUFRO3lDQTFEYixZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHVixrQkFBa0I7c0JBQXRELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNDLGNBQWM7c0JBQWpELFdBQVc7dUJBQUMscUJBQXFCO2dCQUNVLHFCQUFxQjtzQkFBaEUsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBQ0gsaUJBQWlCO3NCQUF2RCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDVSx3QkFBd0I7c0JBQXRFLFdBQVc7dUJBQUMsZ0NBQWdDO2dCQUNQLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUVKLFFBQVE7c0JBQXZDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNFLFFBQVE7c0JBQXZDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNHLFNBQVM7c0JBQXpDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNGLE1BQU07c0JBQWxDLFdBQVc7dUJBQUMsY0FBYztnQkFDSyxVQUFVO3NCQUF6QyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFDUyxpQkFBaUI7c0JBQXZELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNQLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFDUyxlQUFlO3NCQUFuRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDTCxZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0UsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUNHLGFBQWE7c0JBQTNDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNBLFdBQVc7c0JBQXZDLFdBQVc7dUJBQUMsY0FBYztnQkFDbEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFnTkUsWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgQ29udGVudERlbnNpdHlTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBtZWFzdXJlVGV4dCxcbiAgICBnZXRMYWJlbFdpZHRoXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWNvbnRyb2wnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBMYWJlbFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHRlbXBMYWJlbFJlZjogRWxlbWVudFJlZjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubGF5b3V0LWNvbnRyb2wnKSBsYXlvdXRDb250cm9sQ2xhc3MgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LWRpcmVjdGlvbicpIGlzUm93RGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LXJldmVyc2UtZGlyZWN0aW9uJykgaXNSb3dSZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLWRpcmVjdGlvbicpIGlzQ29sdW1uRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLXJldmVyc2UtZGlyZWN0aW9uJykgaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udGFpbmVyLWZpZWxkJykgaXNDb250YWluZXIgPSB0cnVlO1xuICAgIC8vIEBIb3N0QmluZGluZygnc3R5bGUudmlzaWJpbGl0eScpIHZpc2liaWxpdHk6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpIG1heFdpZHRoO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgbWluV2lkdGg7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JykgbWluSGVpZ2h0ID0gJzIuMjVyZW0nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0O1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0NoZWNrYm94JykgaXNDaGVja2JveDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElzUmVhZG9ubHknKSBjb250cm9sSXNSZWFkb25seSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0J1dHRvbicpIGlzQnV0dG9uO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc3NpbmdsZXBpY3R1cmUnKSBpc1NpbmdsZVBpY3R1cmU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm1pbldpZHRoJykgYXR0ck1pbldpZHRoO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc21vYmlsZScpIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElkJykgYXR0ckNvbnRyb2xJZDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2FwdGlvbicpIGF0dHJDYXB0aW9uO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4TGFiZWxXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGhhc0hvcml6b250YWxUZXh0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBmbGV4OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0+KCk7XG5cbiAgICBoaWRlID0gdHJ1ZTtcbiAgICBsYXlvdXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICB3cmFwQ29udGVudDogYm9vbGVhbjtcbiAgICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gICAgbGFiZWxDYXB0aW9uOiBzdHJpbmcgfCBTYWZlSHRtbDtcbiAgICBsYWJlbFZpc2libGU/OiBib29sZWFuO1xuICAgIGxheW91dFNldFNpemU6IGJvb2xlYW47XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1VsdjogYm9vbGVhbjtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBmaWVsZEljb246IHN0cmluZztcbiAgICBvcmlnaW5hbFh0eXBlOiBzdHJpbmc7XG4gICAgdGV4dFZpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgZW1wdHlUZXh0ID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoJyYjODIwMzsnKTtcbiAgICBsYXlvdXRDb250cm9sV2lkdGg6IG51bWJlcjtcbiAgICBmb3JtSGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGNoZWNrYm94V2lkdGggPSAnZml0LWNvbnRlbnQnO1xuICAgIGhlbHBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2JiYlRyYW5zbGF0ZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRMYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UsIF9jZHIpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICcycmVtJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGZsZXgsIG1heExhYmVsV2lkdGggfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChmbGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRGbGV4KGZsZXguY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4TGFiZWxXaWR0aCAmJiAhbWF4TGFiZWxXaWR0aC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZm9ybUhlaWdodCQgPSB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuZm9ybUhlaWdodCQ7XG4gICAgICAgIHRoaXMuX3NldEZsZXgodGhpcy5mbGV4KTtcblxuICAgICAgICB0aGlzLmxheW91dENvbnRyb2xXaWR0aCA9ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0QXV0byA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgJ0ZpZWxkVWkuU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzLk1pbkhlaWdodEF1dG8nLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCB8fCBtaW5IZWlnaHRBdXRvIHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMubWluSGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuVWx2TWFpblVpJykge1xuICAgICAgICAgICAgdGhpcy5pc1VsdiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaXNVbHYnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmF0dHJDYXB0aW9uID0gY29uZmlnLkNhcHRpb24ucmVwbGFjZSgnOicsICcnKTtcbiAgICAgICAgdGhpcy5hdHRyQ29udHJvbElkID0gY29uZmlnLkNvbnRyb2xJZDtcbiAgICAgICAgdGhpcy5pc0J1dHRvbiA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5CdXR0b24nO1xuICAgICAgICB0aGlzLl9yZWZyZXNoTGFiZWwoKTtcblxuICAgICAgICB0aGlzLmlzUm93RGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1JpZ2h0JyB8fCBjb25maWcuVGV4dExvY2F0aW9uID09PSAnRGVmYXVsdCc7XG4gICAgICAgIHRoaXMuaXNSb3dSZXZlcnNlRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ0xlZnQnO1xuICAgICAgICB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1RvcCcgfHwgdGhpcy5pc1NlYXJjaFBhbmVsO1xuICAgICAgICB0aGlzLmlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdCb3R0b20nO1xuXG4gICAgICAgIGNvbmZpZy5GaWVsZFVpLkxheW91dENvbnRyb2wgPSB0aGlzO1xuICAgICAgICB0aGlzLmhlbHBEZXNjcmlwdGlvbiA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGNvbmZpZy5GaWVsZFVpLCAnU2V0dGluZy5IZWxwRGVzY3JpcHRpb24nLCAnJyk7XG5cbiAgICAgICAgdGhpcy5maWVsZEljb24gPSBjb25maWcuRmllbGRVaS5TZXR0aW5nLkZpZWxkSWNvbjtcbiAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSA9IGNvbmZpZy5GaWVsZFVpLlNldHRpbmcuQ29udHJvbElzUmVhZE9ubHk7XG4gICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgPVxuICAgICAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSB8fFxuICAgICAgICAgICAgY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jbm5lckN0cmxyPy5Jc1JlYWRPbmx5IHx8XG4gICAgICAgICAgICBjb25maWcuRmllbGRVaS5TZXR0aW5nLklubmVyQ3RybHI/Lnh0eXBlID09PSAnVWwuUmVhZE9ubHlGaWVsZEN0cmxyJztcbiAgICAgICAgdGhpcy5vcmlnaW5hbFh0eXBlID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZTtcbiAgICAgICAgdGhpcy50ZXh0VmlzaWJsZSA9IGNvbmZpZy5UZXh0VmlzaWJsZTtcbiAgICAgICAgaWYgKGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TZWFyY2hDb21tYW5kSW5mb1VpJykge1xuICAgICAgICAgICAgdGhpcy5sYWJlbENhcHRpb24gPSAnJiM4MjAzOyc7XG4gICAgICAgICAgICB0aGlzLmxhYmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRleHRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXBhcmVNaW5BbmRNYXhTaXplKCk7XG4gICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgodGhpcy5tYXhMYWJlbFdpZHRoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaExhYmVsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGFiZWxDYXB0aW9uID0gY29uZmlnLkNhcHRpb247XG4gICAgICAgIC8vIGlmIChjb25maWcuRmllbGRVaS5TZXR0aW5nPy5Jc01hbmRhdG9yeSkge1xuICAgICAgICAvLyAgICAgaWYgKGxhYmVsQ2FwdGlvbi5pbmRleE9mKCcqJykgPCAwKSB7XG4gICAgICAgIC8vICAgICAgICAgbGFiZWxDYXB0aW9uID0gbGFiZWxDYXB0aW9uICsgJyAqJztcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGxhYmVsQ2FwdGlvbiA9IGxhYmVsQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgdGhpcy5pc0NoZWNrYm94ID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLkNoZWNrQm94JztcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgY29uc3QgeCA9IG1lYXN1cmVUZXh0KGxhYmVsQ2FwdGlvbik7XG4gICAgICAgICAgICBpZiAoeCA8IHRoaXMubWF4TGFiZWxXaWR0aCAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hXaWR0aCA9IGAke3RoaXMubWF4TGFiZWxXaWR0aH1weGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzU2luZ2xlUGljdHVyZSA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TaW5nbGVQaWN0dXJlJztcbiAgICAgICAgY29uc3QgY29sb25MYWJlbCA9IHRoaXMuZm9ybVBhbmVsU2VydmljZS5Db2xvbkluTGFiZWwgPyAnOicgOiAnJztcbiAgICAgICAgbGV0IHRyYW5zbGF0ZUNhcHRpb24gPSBgJHt0aGlzLl9iYmJUcmFuc2xhdGUudHJhbnNmb3JtKGxhYmVsQ2FwdGlvbil9JHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCB8fCBsYWJlbENhcHRpb24gPT09ICcmenduajsnID8gJycgOiBjb2xvbkxhYmVsXG4gICAgICAgIH1gO1xuICAgICAgICB0aGlzLmlzTWFuZGF0b3J5ID0gY29uZmlnLkZpZWxkVWkuU2V0dGluZz8uSXNNYW5kYXRvcnk7XG4gICAgICAgIGlmICh0aGlzLmlzTWFuZGF0b3J5KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGVDYXB0aW9uID0gdHJhbnNsYXRlQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAgICAgdHJhbnNsYXRlQ2FwdGlvbiArPSBgPHN0cm9uZyBjbGFzcz1cImZpZWxkLW1hbmRhdG9yeVwiPio8L3N0cm9uZz5gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodHJhbnNsYXRlQ2FwdGlvbik7XG4gICAgICAgIHRoaXMubGFiZWxWaXNpYmxlID0gY29uZmlnLlRleHRWaXNpYmxlICYmIHRoaXMuc2hvd0xhYmVsICE9PSBmYWxzZTtcbiAgICAgICAgY29uc3QgY29udHJvbFdpZHRoID0gZ2V0TGFiZWxXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGlmIChjb250cm9sV2lkdGggJiYgY29udHJvbFdpZHRoID4gdGhpcy5tYXhMYWJlbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRMYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SGlkZShjb25maWcuRmllbGRVaS5TZXR0aW5nLklzVmlzaWJsZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgICBfc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYWJlbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnIHx8XG4gICAgICAgICAgICAodGhpcy5pc01vYmlsZSAmJiAodGhpcy5pc0NoZWNrYm94IHx8IHRoaXMuY29udHJvbElzUmVhZG9ubHkpKVxuICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uIHx8IHRoaXMuaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgdmFsKTtcblxuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaXNDaGVja2JveFxuICAgICAgICAgICAgPyB0aGlzLmNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuQ2FwdGlvblNldHRpbmc/LkFsaWduTW9kZSA9PT0gJ0F1dG9TaXplJyB8fCAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IHRoaXMuaXNDb2x1bW5EaXJlY3Rpb24gfHwgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cbiAgICAgICAgICAgID8gJzEwMCUnXG4gICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIG1pbldpZHRoKTtcbiAgICB9XG4gICAgX3Jlc2l6ZVVsdkJ5RGV2aWNlKGRldmljZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNVbHYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGV2aWNlSGVpZ2h0ID0gJ0Rlc2t0b3BIZWlnaHQnO1xuICAgICAgICBzd2l0Y2ggKGRldmljZSkge1xuICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgZGV2aWNlSGVpZ2h0ID0gJ01vYmlsZUhlaWdodCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICBkZXZpY2VIZWlnaHQgPSAnVGFibGV0SGVpZ2h0JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhlaWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgICAgICAnRmllbGRVaS5TZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy4nICsgZGV2aWNlSGVpZ2h0LFxuICAgICAgICAgICAgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByZXBhcmVNaW5BbmRNYXhTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGF5b3V0SW5mbyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmlzQnV0dG9uO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVBpY3R1cmUgPSB0aGlzLmlzU2luZ2xlUGljdHVyZTtcbiAgICAgICAgY29uc3QgaXNDaGVja2JveCA9IHRoaXMuaXNDaGVja2JveDtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZUVkaXQgJiYgbGF5b3V0SW5mbyAmJiAoaXNCdXR0b24gfHwgaXNDaGVja2JveCB8fCBpc1NpbmdsZVBpY3R1cmUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJNaW5XaWR0aCA9IGNvbmZpZy5Cb3VuZHMud2lkdGg7XG4gICAgICAgICAgICBsZXQgZXh0cmFWYWwgPSAwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICgoaXNCdXR0b24gfHwgaXNDaGVja2JveCkgJiYgbGF5b3V0SW5mby5GaWVsZFVpLlNldHRpbmc/LkZpZWxkSWNvbikgfHxcbiAgICAgICAgICAgICAgICBsYXlvdXRJbmZvLkZpZWxkVWkuU2V0dGluZy5Kc29uRXh0cmFQcm9wPy5HbHlwaFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFWYWwgPSAxODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgTWF4U2l6ZSwgTWluU2l6ZSB9ID0gbGF5b3V0SW5mbztcbiAgICAgICAgICAgIGlmIChNYXhTaXplPy53aWR0aCA+IDAgJiYgIXRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBNYXhTaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE1pblNpemU/LndpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSBNaW5TaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ck1pbldpZHRoID0gdGhpcy5tYXhMYWJlbFdpZHRoICsgMjAwO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSAnMzIwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbldpZHRoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFJlZnJlc2hMYWJlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3JlZnJlc2hMYWJlbCcsIGRhdGE6IHRoaXMuY29uZmlnIH0pO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFNldFZpc2libGUgPSAodmlzaWJsZSwgcmVmcmVzaCkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jc1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fc2V0SGlkZSghdmlzaWJsZSk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZy5GaWVsZFVpLlNldHRpbmcuJEJSdWxlSGlkZSA9ICF2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9zZXRIaWRlKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaGlkZSA9IHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5IaWRlU2VhcmNoQ29tbWFuZEluZm9VaSA9PT0gdHJ1ZSA/IHRydWUgOiBoaWRlOyAvLyBoaWRlIGRlZmF1bHQgYnV0dG9ucyBvZiBzZWFyY2ggcGFuZWxcbiAgICAgICAgdGhpcy5oaWRlID0gaGlkZTtcbiAgICAgICAgaWYgKGhpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRlLWZvcm0taXRlbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGUtZm9ybS1pdGVtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RmxleChmbGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlIHx8IHRoaXMuY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSAhPT0gJ1VpLlRleHRBcmVhJylcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGZsZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghaGlkZSkgeyBAaWYgKGxhYmVsVmlzaWJsZSkge1xuPGJzdS1seS1sYWJlbFxuICAgIFthdHRyLmxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gICAgW2F0dHJSdGxdXG4gICAgI3RlbXBMYWJlbFJlZlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2NhcHRpb25dPVwibGFiZWxDYXB0aW9uXCJcbiAgICBbb3JpZ2luYWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIlxuICAgICAgICBpc0NoZWNrYm94XG4gICAgICAgICAgICA/IGNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIGNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIChpc0NoZWNrYm94IHx8IGNvbnRyb2xJc1JlYWRvbmx5KSlcbiAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtpc01hbmRhdG9yeV09XCJpc01hbmRhdG9yeVwiXG4gICAgW2ZpZWxkSWNvbl09XCJmaWVsZEljb25cIlxuICAgIFtoZWxwRGVzY3JpcHRpb25dPVwiaGVscERlc2NyaXB0aW9uXCJcbiAgICBbb3JpZ2luYWxYdHlwZV09XCJvcmlnaW5hbFh0eXBlXCJcbiAgICBbdGV4dFZpc2libGVdPVwidGV4dFZpc2libGVcIlxuICAgIFtpc0NvbHVtbl09XCJpc0NvbHVtbkRpcmVjdGlvbiB8fCBpc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cIlxuPjwvYnN1LWx5LWxhYmVsPlxufVxuPGxhYmVsIFthdHRyLnZpc2libGVdPVwibGFiZWxWaXNpYmxlXCIgY2xhc3M9XCJob3Jpem9udGFsLWxhYmVsXCIgW2lubmVySHRtbF09XCJlbXB0eVRleHRcIj48L2xhYmVsPlxuPGJucmMtZmllbGQtdWlcbiAgICBbYXR0ci54dHlwZV09XCJjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlXCJcbiAgICBbYXR0ci5maWVsZFdpZHRoXT1cImxheW91dENvbnRyb2xXaWR0aFwiXG4gICAgW2F0dHIuaXNDaGVja2JveF09XCJpc0NoZWNrYm94XCJcbiAgICBbYXR0ci5pc2J1dHRvbl09XCJpc0J1dHRvblwiXG4gICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJpc0NoZWNrYm94ID8gMSA6IDBcIlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY3VzdG9tRmllbGRdPVwiY29uZmlnLkZpZWxkVWlcIlxuICAgIFtsYXlvdXRJbmZvXT1cImNvbmZpZ1wiXG4gICAgW2lubGluZUVkaXRdPVwiaW5saW5lRWRpdFwiXG4gICAgW2Zvcm1IZWlnaHRdPVwiKGZvcm1IZWlnaHQkIHwgYXN5bmMpISFcIlxuICAgIFtmb2N1c0NvbnRyb2xdPVwiZm9jdXNDb250cm9sXCJcbiAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVWx2ID8gJzEwMCUnIDogJ2F1dG8nXCJcbiAgICBbYXR0ci5pc3Vsdl09XCJpc1VsdlwiXG4+PC9ibnJjLWZpZWxkLXVpPlxufVxuIl19