barsa-sap-ui 1.0.357 → 1.0.359
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +12 -12
- package/esm2020/lib/barsa-sap-ui.module.mjs +118 -129
- package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +3 -3
- package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +51 -18
- package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +3 -3
- package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +11 -8
- package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +6 -7
- package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +7 -8
- package/esm2020/lib/card-item/card-item.component.mjs +3 -3
- package/esm2020/lib/column-renderer/column-renderer.component.mjs +9 -8
- package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -3
- package/esm2020/lib/global-search/global-search.component.mjs +7 -6
- package/esm2020/lib/index.mjs +1 -3
- package/esm2020/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +4 -4
- package/esm2020/lib/layout-actions/layout-actions.component.mjs +3 -4
- package/esm2020/lib/list-item/list-item.component.mjs +3 -3
- package/esm2020/lib/models/grid-data-provider.mjs +3 -142
- package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +5 -6
- package/esm2020/lib/report-view-renderer.directive.mjs +8 -2
- package/esm2020/lib/sap-ui-report-base.component.mjs +2 -3
- package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +3 -3
- package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +3 -3
- package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +3 -3
- package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +3 -3
- package/esm2020/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.mjs +5 -7
- package/esm2020/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +3 -3
- package/esm2020/lib/ui-grid/ui-grid.component.mjs +3 -3
- package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +3 -3
- package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +4 -5
- package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +4 -4
- package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +1 -1
- package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +3 -3
- package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +57 -8
- package/esm2020/lib/ui-tree/ui-tree.component.mjs +8 -8
- package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +15 -13
- package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +13 -14
- package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +5 -6
- package/esm2020/public-api.mjs +1 -2
- package/fesm2015/barsa-sap-ui.mjs +351 -477
- package/fesm2015/barsa-sap-ui.mjs.map +1 -1
- package/fesm2020/barsa-sap-ui.mjs +351 -476
- package/fesm2020/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-sap-ui.module.d.ts +124 -126
- package/lib/barsa-table-header/barsa-table-header.component.d.ts +13 -4
- package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +2 -2
- package/lib/global-search/global-search.component.d.ts +1 -2
- package/lib/index.d.ts +1 -2
- package/lib/models/grid-data-provider.d.ts +2 -6
- package/lib/report-view-renderer.directive.d.ts +3 -1
- package/lib/sap-ui-report-base.component.d.ts +1 -3
- package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +1 -1
- package/lib/ui-table-view/ui-table-view.component.d.ts +12 -3
- package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +2 -1
- package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +2 -4
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2020/lib/page-with-header/page-with-header.component.mjs +0 -75
- package/lib/page-with-header/page-with-header.component.d.ts +0 -29
|
@@ -50,11 +50,11 @@ export class CardItemComponent extends BaseViewItemPropsComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
CardItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
CardItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CardItemComponent, selector: "bsu-card-item", inputs: { setting: "setting" }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<fd-card\n cardType=\"quickView\"\n class=\"docs-flex-item-margin\"\n [class.openOnClick]=\"setting.openOnClick\"\n [style.width]=\"cardWidth\"\n [style.min-width]=\"minWidth\"\n [style.max-width]=\"maxWidth\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n\n <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify *ngIf=\"!noContent || contextMenuItems\">\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\n <ng-container\n *ngTemplateOutlet=\"\n setting.ContentComponent ? contentTemplateComponent : contentTemplate;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n </div>\n <ng-container *ngIf=\"contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\">\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [footerMode]=\"true\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </ng-container>\n </fd-card-content>\n</fd-card>\n\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\n ><div\n *ngIf=\"column\"\n #divEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"divEl\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [value]=\"column | columnValue: mo\"\n [icon]=\"column | columnIcon: mo\"\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\n [rtl]=\"rtl\"\n [isChecked]=\"isChecked\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [controlUi]=\"column.Caption | controlUi: layout94\"\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n</ng-template>\n<ng-template #contentTemplate let-mo let-index=\"index\">\n <fd-quick-view [id]=\"'id'\" *ngIf=\"!noContent\">\n <fd-quick-view-group>\n <fd-quick-view-subheader\n *ngIf=\"setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField\"\n >\n <fd-avatar\n *ngIf=\"setting.AvatarField || setting.Avatar\"\n alterIcon=\"alt|content|backup|default-icon\"\n [circle]=\"setting.CircleAvatar\"\n [image]=\"\n setting.AvatarField\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\n : ''\n \"\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\n [glyph]=\"\n setting.Avatar ||\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\n \"\n >\n </fd-avatar>\n <fd-quick-view-subheader-title *ngIf=\"setting.TitleField\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.TitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-title>\n <fd-quick-view-subheader-subtitle *ngIf=\"setting.SubtitleField\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.SubtitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-subtitle>\n </fd-quick-view-subheader>\n <fd-quick-view-group-item *ngFor=\"let column of setting.FieldListMapped\">\n <ng-container *ngIf=\"column\">\n <fd-quick-view-group-item-label>\n {{ column.Caption }}\n </fd-quick-view-group-item-label>\n <fd-quick-view-group-item-content>\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n </ng-container>\n </fd-quick-view-group-item>\n <fd-quick-view-group-item>\n <fd-quick-view-group-item-content *ngIf=\"setting.DescriptionField\">\n <fd-quick-view-group-item-label *ngIf=\"inlineEditMode && allowInlineEdit\">\n {{ setting.DescriptionField?.Alias }}\n </fd-quick-view-group-item-label>\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.DescriptionField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n <fd-quick-view-group-item-content\n class=\"action\"\n *ngIf=\"setting.ActionFieldNameField\"\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\n >\n <a fd-link>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.ActionFieldNameField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </a>\n </fd-quick-view-group-item-content>\n </fd-quick-view-group-item>\n </fd-quick-view-group>\n </fd-quick-view>\n</ng-template>\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.ContentComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.ContentComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n\n<ng-template #renderHeader let-mo let-index=\"index\">\n <fd-card-header\n *ngIf=\"\n isCheckList ||\n deviceName !== 'desktop' ||\n (contextMenuItems && contextMenuItems.length > 0 && !contextMenuInFooter)\n \"\n >\n <div\n fd-card-title\n [style.justify-content]=\"!isCheckList && canView && deviceName !== 'desktop' ? 'left' : 'space-between'\"\n >\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\n <fd-checkbox\n *ngIf=\"isCheckList\"\n [name]=\"mo.$Caption\"\n [ngModel]=\"isChecked\"\n (ngModelChange)=\"onRowCheck()\"\n ></fd-checkbox>\n <div\n *ngIf=\"!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </div>\n <ng-container *ngIf=\"canView\">\n <button\n fd-button\n class=\"view-btn\"\n (click)=\"onRowClick()\"\n [glyph]=\"navigationArrow\"\n fdType=\"transparent\"\n ></button>\n </ng-container>\n </div>\n </fd-card-header>\n</ng-template>\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.HeaderComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.HeaderComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n", styles: ["fd-card fd-card-content{padding:0!important}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor"] }, { kind: "directive", type: i3.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "component", type: i4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i7.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i7.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "component", type: i8.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i9.QuickViewComponent, selector: "fd-quick-view", inputs: ["id"] }, { kind: "component", type: i9.QuickViewSubheaderComponent, selector: "fd-quick-view-subheader" }, { kind: "component", type: i9.QuickViewSubheaderTitleComponent, selector: "fd-quick-view-subheader-title" }, { kind: "component", type: i9.QuickViewSubheaderSubtitleComponent, selector: "fd-quick-view-subheader-subtitle" }, { kind: "component", type: i9.QuickViewGroupComponent, selector: "fd-quick-view-group" }, { kind: "component", type: i9.QuickViewGroupItemComponent, selector: "fd-quick-view-group-item", inputs: ["id"] }, { kind: "component", type: i9.QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label" }, { kind: "component", type: i9.QuickViewGroupItemContentComponent, selector: "fd-quick-view-group-item-content" }, { kind: "directive", type: i9.QuickViewGroupItemContentElementDirective, selector: "[fd-quick-view-group-item-content-element]" }, { kind: "component", type: i10.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: i11.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: i12.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.ControlUiPipe, name: "controlUi" }, { kind: "pipe", type: i3.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i3.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
CardItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CardItemComponent, selector: "bsu-card-item", inputs: { setting: "setting" }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<fd-card\r\n cardType=\"quickView\"\r\n class=\"docs-flex-item-margin\"\r\n [class.openOnClick]=\"setting.openOnClick\"\r\n [style.width]=\"cardWidth\"\r\n [style.min-width]=\"minWidth\"\r\n [style.max-width]=\"maxWidth\"\r\n>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify *ngIf=\"!noContent || contextMenuItems\">\r\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.ContentComponent ? contentTemplateComponent : contentTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\">\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"true\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n </ng-container>\r\n </fd-card-content>\r\n</fd-card>\r\n\r\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\r\n ><div\r\n *ngIf=\"column\"\r\n #divEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"divEl\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [isChecked]=\"isChecked\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [controlUi]=\"column.Caption | controlUi: layout94\"\r\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\r\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\r\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\r\n [formLayoutShowLabel]=\"true\"\r\n ></bsu-column-renderer>\r\n </div>\r\n</ng-template>\r\n<ng-template #contentTemplate let-mo let-index=\"index\">\r\n <fd-quick-view [id]=\"'id'\" *ngIf=\"!noContent\">\r\n <fd-quick-view-group>\r\n <fd-quick-view-subheader\r\n *ngIf=\"setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField\"\r\n >\r\n <fd-avatar\r\n *ngIf=\"setting.AvatarField || setting.Avatar\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n >\r\n </fd-avatar>\r\n <fd-quick-view-subheader-title *ngIf=\"setting.TitleField\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-quick-view-subheader-title>\r\n <fd-quick-view-subheader-subtitle *ngIf=\"setting.SubtitleField\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-quick-view-subheader-subtitle>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group-item *ngFor=\"let column of setting.FieldListMapped\">\r\n <ng-container *ngIf=\"column\">\r\n <fd-quick-view-group-item-label>\r\n {{ column.Caption }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n </ng-container>\r\n </fd-quick-view-group-item>\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-content *ngIf=\"setting.DescriptionField\">\r\n <fd-quick-view-group-item-label *ngIf=\"inlineEditMode && allowInlineEdit\">\r\n {{ setting.DescriptionField?.Alias }}\r\n </fd-quick-view-group-item-label>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n <fd-quick-view-group-item-content\r\n class=\"action\"\r\n *ngIf=\"setting.ActionFieldNameField\"\r\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\r\n >\r\n <a fd-link>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.ActionFieldNameField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </a>\r\n </fd-quick-view-group-item-content>\r\n </fd-quick-view-group-item>\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n</ng-template>\r\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.ContentComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.ContentComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n\r\n<ng-template #renderHeader let-mo let-index=\"index\">\r\n <fd-card-header\r\n *ngIf=\"\r\n isCheckList ||\r\n deviceName !== 'desktop' ||\r\n (contextMenuItems && contextMenuItems.length > 0 && !contextMenuInFooter)\r\n \"\r\n >\r\n <div\r\n fd-card-title\r\n [style.justify-content]=\"!isCheckList && canView && deviceName !== 'desktop' ? 'left' : 'space-between'\"\r\n >\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n <fd-checkbox\r\n *ngIf=\"isCheckList\"\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"onRowCheck()\"\r\n ></fd-checkbox>\r\n <div\r\n *ngIf=\"!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n </div>\r\n <ng-container *ngIf=\"canView\">\r\n <button\r\n fd-button\r\n class=\"view-btn\"\r\n (click)=\"onRowClick()\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </ng-container>\r\n </div>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.HeaderComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.HeaderComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onDynamicComponentEvents($event)\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n", styles: ["fd-card fd-card-content{padding:0!important}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header:hover{background:var(--fdCard_Background_Color)}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor"] }, { kind: "directive", type: i3.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "component", type: i4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i7.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i7.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "component", type: i8.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i9.QuickViewComponent, selector: "fd-quick-view", inputs: ["id"] }, { kind: "component", type: i9.QuickViewSubheaderComponent, selector: "fd-quick-view-subheader" }, { kind: "component", type: i9.QuickViewSubheaderTitleComponent, selector: "fd-quick-view-subheader-title" }, { kind: "component", type: i9.QuickViewSubheaderSubtitleComponent, selector: "fd-quick-view-subheader-subtitle" }, { kind: "component", type: i9.QuickViewGroupComponent, selector: "fd-quick-view-group" }, { kind: "component", type: i9.QuickViewGroupItemComponent, selector: "fd-quick-view-group-item", inputs: ["id"] }, { kind: "component", type: i9.QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label" }, { kind: "component", type: i9.QuickViewGroupItemContentComponent, selector: "fd-quick-view-group-item-content" }, { kind: "directive", type: i9.QuickViewGroupItemContentElementDirective, selector: "[fd-quick-view-group-item-content-element]" }, { kind: "component", type: i10.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: i11.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: i12.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.ControlUiPipe, name: "controlUi" }, { kind: "pipe", type: i3.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i3.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardItemComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'bsu-card-item', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card\n cardType=\"quickView\"\n class=\"docs-flex-item-margin\"\n [class.openOnClick]=\"setting.openOnClick\"\n [style.width]=\"cardWidth\"\n [style.min-width]=\"minWidth\"\n [style.max-width]=\"maxWidth\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n\n <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify *ngIf=\"!noContent || contextMenuItems\">\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\n <ng-container\n *ngTemplateOutlet=\"\n setting.ContentComponent ? contentTemplateComponent : contentTemplate;\n context: {\n $implicit: mo,\n index: this.index\n }\n \"\n ></ng-container>\n </div>\n <ng-container *ngIf=\"contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\">\n <div\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [footerMode]=\"true\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </ng-container>\n </fd-card-content>\n</fd-card>\n\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\n ><div\n *ngIf=\"column\"\n #divEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"divEl\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [value]=\"column | columnValue: mo\"\n [icon]=\"column | columnIcon: mo\"\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\n [rtl]=\"rtl\"\n [isChecked]=\"isChecked\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [controlUi]=\"column.Caption | controlUi: layout94\"\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\n [formLayoutShowLabel]=\"true\"\n ></bsu-column-renderer>\n </div>\n</ng-template>\n<ng-template #contentTemplate let-mo let-index=\"index\">\n <fd-quick-view [id]=\"'id'\" *ngIf=\"!noContent\">\n <fd-quick-view-group>\n <fd-quick-view-subheader\n *ngIf=\"setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField\"\n >\n <fd-avatar\n *ngIf=\"setting.AvatarField || setting.Avatar\"\n alterIcon=\"alt|content|backup|default-icon\"\n [circle]=\"setting.CircleAvatar\"\n [image]=\"\n setting.AvatarField\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\n : ''\n \"\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\n [glyph]=\"\n setting.Avatar ||\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\n \"\n >\n </fd-avatar>\n <fd-quick-view-subheader-title *ngIf=\"setting.TitleField\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.TitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-title>\n <fd-quick-view-subheader-subtitle *ngIf=\"setting.SubtitleField\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.SubtitleField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </fd-quick-view-subheader-subtitle>\n </fd-quick-view-subheader>\n <fd-quick-view-group-item *ngFor=\"let column of setting.FieldListMapped\">\n <ng-container *ngIf=\"column\">\n <fd-quick-view-group-item-label>\n {{ column.Caption }}\n </fd-quick-view-group-item-label>\n <fd-quick-view-group-item-content>\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: column,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n </ng-container>\n </fd-quick-view-group-item>\n <fd-quick-view-group-item>\n <fd-quick-view-group-item-content *ngIf=\"setting.DescriptionField\">\n <fd-quick-view-group-item-label *ngIf=\"inlineEditMode && allowInlineEdit\">\n {{ setting.DescriptionField?.Alias }}\n </fd-quick-view-group-item-label>\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.DescriptionField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </div>\n </fd-quick-view-group-item-content>\n <fd-quick-view-group-item-content\n class=\"action\"\n *ngIf=\"setting.ActionFieldNameField\"\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\n >\n <a fd-link>\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: {\n $implicit: setting.ActionFieldNameField,\n layout94: layout$ | async,\n mo: mo,\n index: index\n }\n \"\n ></ng-container>\n </a>\n </fd-quick-view-group-item-content>\n </fd-quick-view-group-item>\n </fd-quick-view-group>\n </fd-quick-view>\n</ng-template>\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.ContentComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.ContentComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n\n<ng-template #renderHeader let-mo let-index=\"index\">\n <fd-card-header\n *ngIf=\"\n isCheckList ||\n deviceName !== 'desktop' ||\n (contextMenuItems && contextMenuItems.length > 0 && !contextMenuInFooter)\n \"\n >\n <div\n fd-card-title\n [style.justify-content]=\"!isCheckList && canView && deviceName !== 'desktop' ? 'left' : 'space-between'\"\n >\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\n <fd-checkbox\n *ngIf=\"isCheckList\"\n [name]=\"mo.$Caption\"\n [ngModel]=\"isChecked\"\n (ngModelChange)=\"onRowCheck()\"\n ></fd-checkbox>\n <div\n *ngIf=\"!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [styleIndex]=\"styleIndex\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"mo\"\n (commandClick)=\"onUlvCommand()\"\n ></div>\n </div>\n <ng-container *ngIf=\"canView\">\n <button\n fd-button\n class=\"view-btn\"\n (click)=\"onRowClick()\"\n [glyph]=\"navigationArrow\"\n fdType=\"transparent\"\n ></button>\n </ng-container>\n </div>\n </fd-card-header>\n</ng-template>\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\n <bnrc-dynamic-item-component\n [component]=\"setting.HeaderComponent\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isChecked]=\"isChecked\"\n [setting]=\"setting\"\n [parameters]=\"setting.HeaderComponent.Settings\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-item-component>\n</ng-template>\n", styles: ["fd-card fd-card-content{padding:0!important}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"] }]
|
|
56
|
+
args: [{ selector: 'bsu-card-item', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card\r\n cardType=\"quickView\"\r\n class=\"docs-flex-item-margin\"\r\n [class.openOnClick]=\"setting.openOnClick\"\r\n [style.width]=\"cardWidth\"\r\n [style.min-width]=\"minWidth\"\r\n [style.max-width]=\"maxWidth\"\r\n>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <fd-card-content (click)=\"onRowCheck()\" (dblclick)=\"onRowClick()\" ellipsify *ngIf=\"!noContent || contextMenuItems\">\r\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.ContentComponent ? contentTemplateComponent : contentTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\">\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"true\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n </ng-container>\r\n </fd-card-content>\r\n</fd-card>\r\n\r\n<ng-template #columnTemplate let-column let-mo=\"mo\" let-index=\"index\" let-layout94=\"layout94\"\r\n ><div\r\n *ngIf=\"column\"\r\n #divEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"divEl\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [isChecked]=\"isChecked\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [controlUi]=\"column.Caption | controlUi: layout94\"\r\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\r\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\r\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\r\n [formLayoutShowLabel]=\"true\"\r\n ></bsu-column-renderer>\r\n </div>\r\n</ng-template>\r\n<ng-template #contentTemplate let-mo let-index=\"index\">\r\n <fd-quick-view [id]=\"'id'\" *ngIf=\"!noContent\">\r\n <fd-quick-view-group>\r\n <fd-quick-view-subheader\r\n *ngIf=\"setting.Avatar || setting.AvatarField || setting.TitleField || setting.SubtitleField\"\r\n >\r\n <fd-avatar\r\n *ngIf=\"setting.AvatarField || setting.Avatar\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"avatarSize ? avatarSize : deviceSize === 's' ? 's' : 'm'\"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n >\r\n </fd-avatar>\r\n <fd-quick-view-subheader-title *ngIf=\"setting.TitleField\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-quick-view-subheader-title>\r\n <fd-quick-view-subheader-subtitle *ngIf=\"setting.SubtitleField\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-quick-view-subheader-subtitle>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group-item *ngFor=\"let column of setting.FieldListMapped\">\r\n <ng-container *ngIf=\"column\">\r\n <fd-quick-view-group-item-label>\r\n {{ column.Caption }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n </ng-container>\r\n </fd-quick-view-group-item>\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-content *ngIf=\"setting.DescriptionField\">\r\n <fd-quick-view-group-item-label *ngIf=\"inlineEditMode && allowInlineEdit\">\r\n {{ setting.DescriptionField?.Alias }}\r\n </fd-quick-view-group-item-label>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n <fd-quick-view-group-item-content\r\n class=\"action\"\r\n *ngIf=\"setting.ActionFieldNameField\"\r\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\r\n >\r\n <a fd-link>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.ActionFieldNameField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </a>\r\n </fd-quick-view-group-item-content>\r\n </fd-quick-view-group-item>\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n</ng-template>\r\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.ContentComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.ContentComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n\r\n<ng-template #renderHeader let-mo let-index=\"index\">\r\n <fd-card-header\r\n *ngIf=\"\r\n isCheckList ||\r\n deviceName !== 'desktop' ||\r\n (contextMenuItems && contextMenuItems.length > 0 && !contextMenuInFooter)\r\n \"\r\n >\r\n <div\r\n fd-card-title\r\n [style.justify-content]=\"!isCheckList && canView && deviceName !== 'desktop' ? 'left' : 'space-between'\"\r\n >\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n <fd-checkbox\r\n *ngIf=\"isCheckList\"\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"onRowCheck()\"\r\n ></fd-checkbox>\r\n <div\r\n *ngIf=\"!contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0\"\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n </div>\r\n <ng-container *ngIf=\"canView\">\r\n <button\r\n fd-button\r\n class=\"view-btn\"\r\n (click)=\"onRowClick()\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n </ng-container>\r\n </div>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.HeaderComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.HeaderComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onDynamicComponentEvents($event)\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n", styles: ["fd-card fd-card-content{padding:0!important}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header:hover{background:var(--fdCard_Background_Color)}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"] }]
|
|
57
57
|
}], propDecorators: { setting: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NhcmQtaXRlbS9jYXJkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVcEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDBCQUEwQjtJQVE3RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUNuQztRQUNELElBQ0ksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNwQixDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ25CLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdEIsQ0FBQyxPQUFPLENBQUMsU0FBUztZQUNsQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFDM0I7WUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxVQUFVLENBQUM7UUFDZixRQUFRLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDeEIsS0FBSyxHQUFHO2dCQUNKLFVBQVUsR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osVUFBVSxHQUFHLEdBQUcsQ0FBQztnQkFDakIsTUFBTTtZQUNWLEtBQUssR0FBRztnQkFDSixVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixNQUFNO1lBQ1YsS0FBSyxHQUFHLENBQUM7WUFDVDtnQkFDSSxVQUFVLEdBQUcsR0FBRyxDQUFDO2dCQUNqQixNQUFNO1NBQ2I7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDOzs4R0EzQ1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsd0VBSGYsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENUakMsaytXQThRQTsyRkRsUWEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLGVBQWUsYUFHZCxDQUFDLGdCQUFnQixDQUFDLG1CQUNaLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50LCBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBVaUNhcmRMaXN0Vmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC12aWV3JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtY2FyZC1pdGVtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkSXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNldHRpbmc6IFVpQ2FyZExpc3RWaWV3U2V0dGluZztcclxuICAgIG5vQ29udGVudDogYm9vbGVhbjtcclxuICAgIGNhcmRXaWR0aDogc3RyaW5nO1xyXG4gICAgbWF4V2lkdGg6IHN0cmluZztcclxuICAgIG1pbldpZHRoOiBzdHJpbmc7XHJcbiAgICBjb250ZXh0TWVudUluRm9vdGVyOiBib29sZWFuO1xyXG4gICAgYXZhdGFyU2l6ZTogU2l6ZTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZyA9IHRoaXMuc2V0dGluZztcclxuICAgICAgICBpZiAoc2V0dGluZy5Db250ZXh0TWVudUluRm9vdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dE1lbnVJbkZvb3RlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgIXNldHRpbmcuQXZhdGFyRmllbGQgJiZcclxuICAgICAgICAgICAgIXNldHRpbmcuVGl0bGVGaWVsZCAmJlxyXG4gICAgICAgICAgICAhc2V0dGluZy5TdWJ0aXRsZUZpZWxkICYmXHJcbiAgICAgICAgICAgICFzZXR0aW5nLkZpZWxkTGlzdCAmJlxyXG4gICAgICAgICAgICAhc2V0dGluZy5Db250ZW50Q29tcG9uZW50XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9Db250ZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNldHRpbmcuQ2FyZFdpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLm1heFdpZHRoID0gdGhpcy5jYXJkV2lkdGggPSBzZXR0aW5nLkNhcmRXaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGF2YXRhclNpemU7XHJcbiAgICAgICAgc3dpdGNoIChzZXR0aW5nLkF2YXRhclNpemUpIHtcclxuICAgICAgICAgICAgY2FzZSAnMic6XHJcbiAgICAgICAgICAgICAgICBhdmF0YXJTaXplID0gJ20nO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJzMnOlxyXG4gICAgICAgICAgICAgICAgYXZhdGFyU2l6ZSA9ICdsJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICc0JzpcclxuICAgICAgICAgICAgICAgIGF2YXRhclNpemUgPSAneGwnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJzEnOlxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYXZhdGFyU2l6ZSA9ICdzJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmF2YXRhclNpemUgPSBhdmF0YXJTaXplO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1jYXJkXG4gICAgY2FyZFR5cGU9XCJxdWlja1ZpZXdcIlxuICAgIGNsYXNzPVwiZG9jcy1mbGV4LWl0ZW0tbWFyZ2luXCJcbiAgICBbY2xhc3Mub3Blbk9uQ2xpY2tdPVwic2V0dGluZy5vcGVuT25DbGlja1wiXG4gICAgW3N0eWxlLndpZHRoXT1cImNhcmRXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJtaW5XaWR0aFwiXG4gICAgW3N0eWxlLm1heC13aWR0aF09XCJtYXhXaWR0aFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgc2V0dGluZy5IZWFkZXJDb21wb25lbnQgPyByZW5kZXJIZWFkZXJDb21wb25lbnQgOiByZW5kZXJIZWFkZXI7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcbiAgICAgICAgICAgICAgICBpbmRleDogdGhpcy5pbmRleFxuICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxmZC1jYXJkLWNvbnRlbnQgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiIChkYmxjbGljayk9XCJvblJvd0NsaWNrKClcIiBlbGxpcHNpZnkgKm5nSWY9XCIhbm9Db250ZW50IHx8IGNvbnRleHRNZW51SXRlbXNcIj5cbiAgICAgICAgPGRpdiAjZGl2RWwgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIiBbaG9zdEVsXT1cImRpdkVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZy5Db250ZW50Q29tcG9uZW50ID8gY29udGVudFRlbXBsYXRlQ29tcG9uZW50IDogY29udGVudFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IG1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dE1lbnVJbkZvb3RlciAmJiBjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHVsdkNvbnRleHRNZW51XG4gICAgICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2Zvb3Rlck1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVJbmRleF09XCJzdHlsZUluZGV4XCJcbiAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgICAgICAgIChjb21tYW5kQ2xpY2spPVwib25VbHZDb21tYW5kKClcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLWNhcmQtY29udGVudD5cbjwvZmQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNjb2x1bW5UZW1wbGF0ZSBsZXQtY29sdW1uIGxldC1tbz1cIm1vXCIgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtbGF5b3V0OTQ9XCJsYXlvdXQ5NFwiXG4gICAgPjxkaXZcbiAgICAgICAgKm5nSWY9XCJjb2x1bW5cIlxuICAgICAgICAjZGl2RWxcbiAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxuICAgICAgICBbaG9zdEVsXT1cImRpdkVsXCJcbiAgICAgICAgW2RiTmFtZV09XCJjb2x1bW4uTmFtZVwiXG4gICAgPlxuICAgICAgICA8YnN1LWNvbHVtbi1yZW5kZXJlclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJjb2x1bW4gfCBjb2x1bW5WYWx1ZTogbW9cIlxuICAgICAgICAgICAgW2ljb25dPVwiY29sdW1uIHwgY29sdW1uSWNvbjogbW9cIlxuICAgICAgICAgICAgW2VkaXRNb2RlXT1cImlzQ2hlY2tlZCAmJiBpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxuICAgICAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJpc0NoZWNrZWRcIlxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICBbY29udHJvbFVpXT1cImNvbHVtbi5DYXB0aW9uIHwgY29udHJvbFVpOiBsYXlvdXQ5NFwiXG4gICAgICAgICAgICAoa2V5dXAuY29udHJvbC5lbnRlcik9XCJvbkVkaXRGb3JtUGFuZWxTYXZlKCRldmVudClcIlxuICAgICAgICAgICAgKGtleXVwLmVzYyk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5UYWIpPVwib25UYWJLZXlEb3duKCRldmVudCwgaW5kZXgpXCJcbiAgICAgICAgICAgIFtmb3JtTGF5b3V0U2hvd0xhYmVsXT1cInRydWVcIlxuICAgICAgICA+PC9ic3UtY29sdW1uLXJlbmRlcmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlIGxldC1tbyBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgIDxmZC1xdWljay12aWV3IFtpZF09XCInaWQnXCIgKm5nSWY9XCIhbm9Db250ZW50XCI+XG4gICAgICAgIDxmZC1xdWljay12aWV3LWdyb3VwPlxuICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctc3ViaGVhZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZXR0aW5nLkF2YXRhciB8fCBzZXR0aW5nLkF2YXRhckZpZWxkIHx8IHNldHRpbmcuVGl0bGVGaWVsZCB8fCBzZXR0aW5nLlN1YnRpdGxlRmllbGRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZXR0aW5nLkF2YXRhckZpZWxkIHx8IHNldHRpbmcuQXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJJY29uPVwiYWx0fGNvbnRlbnR8YmFja3VwfGRlZmF1bHQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwic2V0dGluZy5DaXJjbGVBdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLkF2YXRhckZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAobW9bc2V0dGluZy5BdmF0YXJGaWVsZC5OYW1lXT8uRmlsZUlkIHwgcGljRmllbGRTcmM6ICdJRCc6c2V0dGluZy5BdmF0YXJGaWVsZC5GaWVsZERlZklkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiYXZhdGFyU2l6ZSA/IGF2YXRhclNpemUgOiBkZXZpY2VTaXplID09PSAncycgPyAncycgOiAnbSdcIlxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLkF2YXRhciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vLiRTdGF0ZSA9PT0gJ05ldycgJiYgIWlzQ2hlY2tlZCA/ICdmYXZvcml0ZScgOiBpbmxpbmVFZGl0TW9kZSAmJiBpc0NoZWNrZWQgPyAnZWRpdCcgOiAnJylcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9mZC1hdmF0YXI+XG4gICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctc3ViaGVhZGVyLXRpdGxlICpuZ0lmPVwic2V0dGluZy5UaXRsZUZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNldHRpbmcuVGl0bGVGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW86IG1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LXN1YmhlYWRlci10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1zdWJoZWFkZXItc3VidGl0bGUgKm5nSWY9XCJzZXR0aW5nLlN1YnRpdGxlRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogc2V0dGluZy5TdWJ0aXRsZUZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbzogbW8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctc3ViaGVhZGVyLXN1YnRpdGxlPlxuICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LXN1YmhlYWRlcj5cbiAgICAgICAgICAgIDxmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBzZXR0aW5nLkZpZWxkTGlzdE1hcHBlZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5DYXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50LWVsZW1lbnQgY2xhc3M9XCJncm91cC1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vOiBtbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1ncm91cC1pdGVtPlxuICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbT5cbiAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWNvbnRlbnQgKm5nSWY9XCJzZXR0aW5nLkRlc2NyaXB0aW9uRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1sYWJlbCAqbmdJZj1cImlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgc2V0dGluZy5EZXNjcmlwdGlvbkZpZWxkPy5BbGlhcyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tY29udGVudC1lbGVtZW50IGNsYXNzPVwiZ3JvdXAtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogc2V0dGluZy5EZXNjcmlwdGlvbkZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vOiBtbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNldHRpbmcuQWN0aW9uRmllbGROYW1lRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oc2V0dGluZy5BY3Rpb25GaWVsZENvbW1hbmRGaWVsZCB8fCAnJylcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZXR0aW5nLkFjdGlvbkZpZWxkTmFtZUZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vOiBtbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbT5cbiAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwPlxuICAgIDwvZmQtcXVpY2stdmlldz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZUNvbXBvbmVudCBsZXQtbW8gbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XG4gICAgICAgIFtjb21wb25lbnRdPVwic2V0dGluZy5Db250ZW50Q29tcG9uZW50XCJcbiAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxuICAgICAgICBbaXNDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgIFtzZXR0aW5nXT1cInNldHRpbmdcIlxuICAgICAgICBbcGFyYW1ldGVyc109XCJzZXR0aW5nLkNvbnRlbnRDb21wb25lbnQuU2V0dGluZ3NcIlxuICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXG4gICAgPjwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXJIZWFkZXIgbGV0LW1vIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGZkLWNhcmQtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBpc0NoZWNrTGlzdCB8fFxuICAgICAgICAgICAgZGV2aWNlTmFtZSAhPT0gJ2Rlc2t0b3AnIHx8XG4gICAgICAgICAgICAoY29udGV4dE1lbnVJdGVtcyAmJiBjb250ZXh0TWVudUl0ZW1zLmxlbmd0aCA+IDAgJiYgIWNvbnRleHRNZW51SW5Gb290ZXIpXG4gICAgICAgIFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBmZC1jYXJkLXRpdGxlXG4gICAgICAgICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cIiFpc0NoZWNrTGlzdCAmJiBjYW5WaWV3ICYmIGRldmljZU5hbWUgIT09ICdkZXNrdG9wJyA/ICdsZWZ0JyA6ICdzcGFjZS1iZXR3ZWVuJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyBmbGV4LWdyb3c6IDFcIj5cbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0NoZWNrTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm1vLiRDYXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Sb3dDaGVjaygpXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNvbnRleHRNZW51SW5Gb290ZXIgJiYgY29udGV4dE1lbnVJdGVtcyAmJiBjb250ZXh0TWVudUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICB1bHZDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICAgICAgICAgICAgKGNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FuVmlld1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlldy1idG5cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3dDbGljaygpXCJcbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckhlYWRlckNvbXBvbmVudCBsZXQtbW8gbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XG4gICAgICAgIFtjb21wb25lbnRdPVwic2V0dGluZy5IZWFkZXJDb21wb25lbnRcIlxuICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICBbc3R5bGVJbmRleF09XCJtby4kU3R5bGVJbmRleFwiXG4gICAgICAgIFtpc0NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgW3NldHRpbmddPVwic2V0dGluZ1wiXG4gICAgICAgIFtwYXJhbWV0ZXJzXT1cInNldHRpbmcuSGVhZGVyQ29tcG9uZW50LlNldHRpbmdzXCJcbiAgICAgICAgW2VkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICAoZXZlbnRzKT1cIm9uRHluYW1pY0NvbXBvbmVudEV2ZW50cygkZXZlbnQpXCJcbiAgICA+PC9ibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NhcmQtaXRlbS9jYXJkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVcEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDBCQUEwQjtJQVE3RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUNuQztRQUNELElBQ0ksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNwQixDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ25CLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdEIsQ0FBQyxPQUFPLENBQUMsU0FBUztZQUNsQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFDM0I7WUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxVQUFVLENBQUM7UUFDZixRQUFRLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDeEIsS0FBSyxHQUFHO2dCQUNKLFVBQVUsR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osVUFBVSxHQUFHLEdBQUcsQ0FBQztnQkFDakIsTUFBTTtZQUNWLEtBQUssR0FBRztnQkFDSixVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixNQUFNO1lBQ1YsS0FBSyxHQUFHLENBQUM7WUFDVDtnQkFDSSxVQUFVLEdBQUcsR0FBRyxDQUFDO2dCQUNqQixNQUFNO1NBQ2I7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDOzs4R0EzQ1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsd0VBSGYsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENUakMsNmdZQThRQTsyRkRsUWEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNJLGVBQWUsYUFHZCxDQUFDLGdCQUFnQixDQUFDLG1CQUNaLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50LCBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBVaUNhcmRMaXN0Vmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC12aWV3JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtY2FyZC1pdGVtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkSXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHNldHRpbmc6IFVpQ2FyZExpc3RWaWV3U2V0dGluZztcclxuICAgIG5vQ29udGVudDogYm9vbGVhbjtcclxuICAgIGNhcmRXaWR0aDogc3RyaW5nO1xyXG4gICAgbWF4V2lkdGg6IHN0cmluZztcclxuICAgIG1pbldpZHRoOiBzdHJpbmc7XHJcbiAgICBjb250ZXh0TWVudUluRm9vdGVyOiBib29sZWFuO1xyXG4gICAgYXZhdGFyU2l6ZTogU2l6ZTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZyA9IHRoaXMuc2V0dGluZztcclxuICAgICAgICBpZiAoc2V0dGluZy5Db250ZXh0TWVudUluRm9vdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dE1lbnVJbkZvb3RlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgIXNldHRpbmcuQXZhdGFyRmllbGQgJiZcclxuICAgICAgICAgICAgIXNldHRpbmcuVGl0bGVGaWVsZCAmJlxyXG4gICAgICAgICAgICAhc2V0dGluZy5TdWJ0aXRsZUZpZWxkICYmXHJcbiAgICAgICAgICAgICFzZXR0aW5nLkZpZWxkTGlzdCAmJlxyXG4gICAgICAgICAgICAhc2V0dGluZy5Db250ZW50Q29tcG9uZW50XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9Db250ZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNldHRpbmcuQ2FyZFdpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLm1heFdpZHRoID0gdGhpcy5jYXJkV2lkdGggPSBzZXR0aW5nLkNhcmRXaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGF2YXRhclNpemU7XHJcbiAgICAgICAgc3dpdGNoIChzZXR0aW5nLkF2YXRhclNpemUpIHtcclxuICAgICAgICAgICAgY2FzZSAnMic6XHJcbiAgICAgICAgICAgICAgICBhdmF0YXJTaXplID0gJ20nO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJzMnOlxyXG4gICAgICAgICAgICAgICAgYXZhdGFyU2l6ZSA9ICdsJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICc0JzpcclxuICAgICAgICAgICAgICAgIGF2YXRhclNpemUgPSAneGwnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJzEnOlxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYXZhdGFyU2l6ZSA9ICdzJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmF2YXRhclNpemUgPSBhdmF0YXJTaXplO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1jYXJkXHJcbiAgICBjYXJkVHlwZT1cInF1aWNrVmlld1wiXHJcbiAgICBjbGFzcz1cImRvY3MtZmxleC1pdGVtLW1hcmdpblwiXHJcbiAgICBbY2xhc3Mub3Blbk9uQ2xpY2tdPVwic2V0dGluZy5vcGVuT25DbGlja1wiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwiY2FyZFdpZHRoXCJcclxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwibWluV2lkdGhcIlxyXG4gICAgW3N0eWxlLm1heC13aWR0aF09XCJtYXhXaWR0aFwiXHJcbj5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICBzZXR0aW5nLkhlYWRlckNvbXBvbmVudCA/IHJlbmRlckhlYWRlckNvbXBvbmVudCA6IHJlbmRlckhlYWRlcjtcclxuICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgICAgIGluZGV4OiB0aGlzLmluZGV4XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxmZC1jYXJkLWNvbnRlbnQgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiIChkYmxjbGljayk9XCJvblJvd0NsaWNrKClcIiBlbGxpcHNpZnkgKm5nSWY9XCIhbm9Db250ZW50IHx8IGNvbnRleHRNZW51SXRlbXNcIj5cclxuICAgICAgICA8ZGl2ICNkaXZFbCBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCIgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiIFtob3N0RWxdPVwiZGl2RWxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLkNvbnRlbnRDb21wb25lbnQgPyBjb250ZW50VGVtcGxhdGVDb21wb25lbnQgOiBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IG1vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogdGhpcy5pbmRleFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dE1lbnVJbkZvb3RlciAmJiBjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICB1bHZDb250ZXh0TWVudVxyXG4gICAgICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICBbZm9vdGVyTW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGVJbmRleF09XCJzdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICAgICAgKGNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoKVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG48L2ZkLWNhcmQ+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbHVtblRlbXBsYXRlIGxldC1jb2x1bW4gbGV0LW1vPVwibW9cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1sYXlvdXQ5ND1cImxheW91dDk0XCJcclxuICAgID48ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJjb2x1bW5cIlxyXG4gICAgICAgICNkaXZFbFxyXG4gICAgICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgIFtob3N0RWxdPVwiZGl2RWxcIlxyXG4gICAgICAgIFtkYk5hbWVdPVwiY29sdW1uLk5hbWVcIlxyXG4gICAgPlxyXG4gICAgICAgIDxic3UtY29sdW1uLXJlbmRlcmVyXHJcbiAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbiB8IGNvbHVtblZhbHVlOiBtbyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImNvbHVtbiB8IGNvbHVtbkljb246IG1vXCJcclxuICAgICAgICAgICAgW2VkaXRNb2RlXT1cImlzQ2hlY2tlZCAmJiBpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwiaXNDaGVja2VkXCJcclxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbY29udHJvbFVpXT1cImNvbHVtbi5DYXB0aW9uIHwgY29udHJvbFVpOiBsYXlvdXQ5NFwiXHJcbiAgICAgICAgICAgIChrZXl1cC5jb250cm9sLmVudGVyKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cC5lc2MpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5UYWIpPVwib25UYWJLZXlEb3duKCRldmVudCwgaW5kZXgpXCJcclxuICAgICAgICAgICAgW2Zvcm1MYXlvdXRTaG93TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgPjwvYnN1LWNvbHVtbi1yZW5kZXJlcj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZSBsZXQtbW8gbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgIDxmZC1xdWljay12aWV3IFtpZF09XCInaWQnXCIgKm5nSWY9XCIhbm9Db250ZW50XCI+XHJcbiAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXA+XHJcbiAgICAgICAgICAgIDxmZC1xdWljay12aWV3LXN1YmhlYWRlclxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZXR0aW5nLkF2YXRhciB8fCBzZXR0aW5nLkF2YXRhckZpZWxkIHx8IHNldHRpbmcuVGl0bGVGaWVsZCB8fCBzZXR0aW5nLlN1YnRpdGxlRmllbGRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZmQtYXZhdGFyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZXR0aW5nLkF2YXRhckZpZWxkIHx8IHNldHRpbmcuQXZhdGFyXCJcclxuICAgICAgICAgICAgICAgICAgICBhbHRlckljb249XCJhbHR8Y29udGVudHxiYWNrdXB8ZGVmYXVsdC1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInNldHRpbmcuQ2lyY2xlQXZhdGFyXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcuQXZhdGFyRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKG1vW3NldHRpbmcuQXZhdGFyRmllbGQuTmFtZV0/LkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnSUQnOnNldHRpbmcuQXZhdGFyRmllbGQuRmllbGREZWZJZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImF2YXRhclNpemUgPyBhdmF0YXJTaXplIDogZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ20nXCJcclxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcuQXZhdGFyIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtby4kU3RhdGUgPT09ICdOZXcnICYmICFpc0NoZWNrZWQgPyAnZmF2b3JpdGUnIDogaW5saW5lRWRpdE1vZGUgJiYgaXNDaGVja2VkID8gJ2VkaXQnIDogJycpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvZmQtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctc3ViaGVhZGVyLXRpdGxlICpuZ0lmPVwic2V0dGluZy5UaXRsZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZXR0aW5nLlRpdGxlRmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbzogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LXN1YmhlYWRlci10aXRsZT5cclxuICAgICAgICAgICAgICAgIDxmZC1xdWljay12aWV3LXN1YmhlYWRlci1zdWJ0aXRsZSAqbmdJZj1cInNldHRpbmcuU3VidGl0bGVGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogc2V0dGluZy5TdWJ0aXRsZUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDk0OiBsYXlvdXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW86IG1vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1zdWJoZWFkZXItc3VidGl0bGU+XHJcbiAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1zdWJoZWFkZXI+XHJcbiAgICAgICAgICAgIDxmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBzZXR0aW5nLkZpZWxkTGlzdE1hcHBlZFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5DYXB0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50LWVsZW1lbnQgY2xhc3M9XCJncm91cC1pdGVtLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2x1bW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW86IG1vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1ncm91cC1pdGVtPlxyXG4gICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50ICpuZ0lmPVwic2V0dGluZy5EZXNjcmlwdGlvbkZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1sYWJlbCAqbmdJZj1cImlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nLkRlc2NyaXB0aW9uRmllbGQ/LkFsaWFzIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tY29udGVudC1lbGVtZW50IGNsYXNzPVwiZ3JvdXAtaXRlbS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNldHRpbmcuRGVzY3JpcHRpb25GaWVsZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OTQ6IGxheW91dCQgfCBhc3luYyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW86IG1vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2V0dGluZy5BY3Rpb25GaWVsZE5hbWVGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKHNldHRpbmcuQWN0aW9uRmllbGRDb21tYW5kRmllbGQgfHwgJycpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8YSBmZC1saW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZXR0aW5nLkFjdGlvbkZpZWxkTmFtZUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbzogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbS1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbT5cclxuICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXA+XHJcbiAgICA8L2ZkLXF1aWNrLXZpZXc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlQ29tcG9uZW50IGxldC1tbyBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgPGJucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudFxyXG4gICAgICAgIFtjb21wb25lbnRdPVwic2V0dGluZy5Db250ZW50Q29tcG9uZW50XCJcclxuICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4XCJcclxuICAgICAgICBbaXNDaGVja2VkXT1cImlzQ2hlY2tlZFwiXHJcbiAgICAgICAgW3NldHRpbmddPVwic2V0dGluZ1wiXHJcbiAgICAgICAgW3BhcmFtZXRlcnNdPVwic2V0dGluZy5Db250ZW50Q29tcG9uZW50LlNldHRpbmdzXCJcclxuICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgIFtydGxdPVwicnRsXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgPjwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyZW5kZXJIZWFkZXIgbGV0LW1vIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICA8ZmQtY2FyZC1oZWFkZXJcclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICBpc0NoZWNrTGlzdCB8fFxyXG4gICAgICAgICAgICBkZXZpY2VOYW1lICE9PSAnZGVza3RvcCcgfHxcclxuICAgICAgICAgICAgKGNvbnRleHRNZW51SXRlbXMgJiYgY29udGV4dE1lbnVJdGVtcy5sZW5ndGggPiAwICYmICFjb250ZXh0TWVudUluRm9vdGVyKVxyXG4gICAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmZC1jYXJkLXRpdGxlXHJcbiAgICAgICAgICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiIWlzQ2hlY2tMaXN0ICYmIGNhblZpZXcgJiYgZGV2aWNlTmFtZSAhPT0gJ2Rlc2t0b3AnID8gJ2xlZnQnIDogJ3NwYWNlLWJldHdlZW4nXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyBmbGV4LWdyb3c6IDFcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm1vLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUm93Q2hlY2soKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb250ZXh0TWVudUluRm9vdGVyICYmIGNvbnRleHRNZW51SXRlbXMgJiYgY29udGV4dE1lbnVJdGVtcy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICAgICAgICB1bHZDb250ZXh0TWVudVxyXG4gICAgICAgICAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgICAgICAgICAoY29tbWFuZENsaWNrKT1cIm9uVWx2Q29tbWFuZCgpXCJcclxuICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5WaWV3XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2aWV3LWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZmQtY2FyZC1oZWFkZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVySGVhZGVyQ29tcG9uZW50IGxldC1tbyBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgPGJucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudFxyXG4gICAgICAgIFtjb21wb25lbnRdPVwic2V0dGluZy5IZWFkZXJDb21wb25lbnRcIlxyXG4gICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxyXG4gICAgICAgIFtpc0NoZWNrZWRdPVwiaXNDaGVja2VkXCJcclxuICAgICAgICBbc2V0dGluZ109XCJzZXR0aW5nXCJcclxuICAgICAgICBbcGFyYW1ldGVyc109XCJzZXR0aW5nLkhlYWRlckNvbXBvbmVudC5TZXR0aW5nc1wiXHJcbiAgICAgICAgW2VkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcclxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICBbY2FuVmlld109XCJjYW5WaWV3XCJcclxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAoZXZlbnRzKT1cIm9uRHluYW1pY0NvbXBvbmVudEV2ZW50cygkZXZlbnQpXCJcclxuICAgID48L2JucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -4,11 +4,12 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "barsa-novin-ray-core";
|
|
6
6
|
import * as i3 from "@fundamental-ngx/core/avatar";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/
|
|
10
|
-
import * as i7 from "
|
|
11
|
-
import * as i8 from "../
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/bar";
|
|
8
|
+
import * as i5 from "@fundamental-ngx/core/button";
|
|
9
|
+
import * as i6 from "@fundamental-ngx/core/icon";
|
|
10
|
+
import * as i7 from "@fundamental-ngx/core/popover";
|
|
11
|
+
import * as i8 from "../layout-control/layout-control.component";
|
|
12
|
+
import * as i9 from "../file-viewer-popover/file-viewer-popover.component";
|
|
12
13
|
export class ColumnRendererComponent extends BaseComponent {
|
|
13
14
|
/**
|
|
14
15
|
*
|
|
@@ -40,10 +41,10 @@ export class ColumnRendererComponent extends BaseComponent {
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
ColumnRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnRendererComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
ColumnRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", 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: "<ng-container *ngIf=\"column\">\n <ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n</ng-container>\n<ng-template #renderCellTemplate>\n <ng-container [ngSwitch]=\"column.FieldTypeId\">\n <ng-container *ngSwitchCase=\"'42'\">\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'33'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'31'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'5'\">\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\">\n <img [attr.rtl]=\"rtl\" *ngIf=\"icon\" [src]=\"icon\" />\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 <
|
|
44
|
+
ColumnRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", 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: "<ng-container *ngIf=\"column\">\n <ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n</ng-container>\n<ng-template #renderCellTemplate>\n <ng-container [ngSwitch]=\"column.FieldTypeId\">\n <ng-container *ngSwitchCase=\"'42'\">\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'33'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'31'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'5'\">\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\">\n <img [attr.rtl]=\"rtl\" *ngIf=\"icon\" [src]=\"icon\" />\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 <div\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [ellapsisText]=\"value\"\n [class.ellapsis]=\"!disableEllapsis\"\n (ellapsised)=\"onElapsised($event)\"\n (click)=\"showMore && helpPopover.open()\"\n >\n {{ value }}\n </div>\n <fd-popover #helpPopover>\n <fd-popover-control> </fd-popover-control>\n <fd-popover-body class=\"help-popover-body\">\n <div fd-popover-body-header>\n <div fd-bar>\n <div fd-bar-left>\n <fd-bar-element style=\"white-space: break-spaces\"\n >{{ column.Alias | bbbTranslate }}:</fd-bar-element\n >\n </div>\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"helpPopover.close()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <div class=\"help-content\">{{ value }}</div>\n </fd-popover-body>\n </fd-popover>\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 <bsu-layout-control\n *ngIf=\"controlUi\"\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n</ng-template>\n<ng-template #renderCellFileListKhati>\n <ng-container *ngIf=\"mo[column.Name]\">\n <div class=\"file-viewer-attachments\">\n <ng-container *ngFor=\"let file of mo[column.Name].Files\">\n <bsu-file-viewer-popover\n [style.width.px]=\"containerDom ? containerDom.offsetWidth : null\"\n *ngIf=\"!file.IsDeleted\"\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 </ng-container>\n </div>\n </ng-container>\n</ng-template>\n<ng-template #renderCellFileInfo>\n <fd-avatar\n *ngIf=\"mo[column.Name]\"\n [transparent]=\"true\"\n [size]=\"deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\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 <ng-container *ngIf=\"column.Extra?.TrueImage === ''\">{{ value }}</ng-container>\n <img\n *ngIf=\"column.Extra?.TrueImage !== ''\"\n [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\"\n aling=\"middle\"\n />\n</ng-template>\n<ng-template #renderCellImage>\n <fd-avatar\n *ngIf=\"mo[column.Name] && mo[column.Name]['Url']\"\n [size]=\"column.FieldTypeId === '42' ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\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}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize"], outputs: ["ellapsised"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { 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", "isTitle"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i8.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i9.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnRendererComponent, decorators: [{
|
|
45
46
|
type: Component,
|
|
46
|
-
args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"column\">\n <ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n</ng-container>\n<ng-template #renderCellTemplate>\n <ng-container [ngSwitch]=\"column.FieldTypeId\">\n <ng-container *ngSwitchCase=\"'42'\">\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'33'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'31'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'5'\">\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\">\n <img [attr.rtl]=\"rtl\" *ngIf=\"icon\" [src]=\"icon\" />\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 <
|
|
47
|
+
args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"column\">\n <ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\n</ng-container>\n<ng-template #renderCellTemplate>\n <ng-container [ngSwitch]=\"column.FieldTypeId\">\n <ng-container *ngSwitchCase=\"'42'\">\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'33'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'31'\">\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'5'\">\n <ng-container\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\n ></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #renderGeneral>\n <div style=\"display: flex; width: 100%; height: 100%; align-items: center; justify-content: start\">\n <img [attr.rtl]=\"rtl\" *ngIf=\"icon\" [src]=\"icon\" />\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 <div\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\n [ellapsisText]=\"value\"\n [class.ellapsis]=\"!disableEllapsis\"\n (ellapsised)=\"onElapsised($event)\"\n (click)=\"showMore && helpPopover.open()\"\n >\n {{ value }}\n </div>\n <fd-popover #helpPopover>\n <fd-popover-control> </fd-popover-control>\n <fd-popover-body class=\"help-popover-body\">\n <div fd-popover-body-header>\n <div fd-bar>\n <div fd-bar-left>\n <fd-bar-element style=\"white-space: break-spaces\"\n >{{ column.Alias | bbbTranslate }}:</fd-bar-element\n >\n </div>\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"helpPopover.close()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </div>\n <div class=\"help-content\">{{ value }}</div>\n </fd-popover-body>\n </fd-popover>\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 <bsu-layout-control\n *ngIf=\"controlUi\"\n [inlineEdit]=\"true\"\n [caption]=\"column.Caption\"\n [config]=\"controlUi\"\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\n [showLabel]=\"formLayoutShowLabel\"\n ></bsu-layout-control>\n</ng-template>\n<ng-template #renderCellFileListKhati>\n <ng-container *ngIf=\"mo[column.Name]\">\n <div class=\"file-viewer-attachments\">\n <ng-container *ngFor=\"let file of mo[column.Name].Files\">\n <bsu-file-viewer-popover\n [style.width.px]=\"containerDom ? containerDom.offsetWidth : null\"\n *ngIf=\"!file.IsDeleted\"\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 </ng-container>\n </div>\n </ng-container>\n</ng-template>\n<ng-template #renderCellFileInfo>\n <fd-avatar\n *ngIf=\"mo[column.Name]\"\n [transparent]=\"true\"\n [size]=\"deviceSize === 's' ? 's' : 'm'\"\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\n ></fd-avatar>\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 <ng-container *ngIf=\"column.Extra?.TrueImage === ''\">{{ value }}</ng-container>\n <img\n *ngIf=\"column.Extra?.TrueImage !== ''\"\n [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\"\n aling=\"middle\"\n />\n</ng-template>\n<ng-template #renderCellImage>\n <fd-avatar\n *ngIf=\"mo[column.Name] && mo[column.Name]['Url']\"\n [size]=\"column.FieldTypeId === '42' ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\n [transparent]=\"true\"\n [image]=\"mo[column.Name]['Url']\"\n ></fd-avatar>\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}\n"] }]
|
|
47
48
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _isSmall: [{
|
|
48
49
|
type: HostBinding,
|
|
49
50
|
args: ['class.isMobile']
|
|
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
80
81
|
}], icon: [{
|
|
81
82
|
type: Input
|
|
82
83
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBUWhILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBb0J0RDs7T0FFRztJQUNILFlBQXNCLElBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUF0QmQsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXdCaEQsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFDRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDN0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNUO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7O29IQTdDUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyaUJDakJwQyxpakxBdUlBOzJGRHRIYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQUdoQixRQUFRO3NCQUF0QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFDcEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYmJyZXZhdGlvbkRldmljZVNpemUsIEJhc2VDb21wb25lbnQsIExheW91dFNldHRpbmcsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWNvbHVtbi1yZW5kZXJlcixbY29sUmVuZGVyZXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXNNb2JpbGUnKSBfaXNTbWFsbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNvbHVtbjogYW55O1xuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGluZGV4OiBhbnk7XG4gICAgQElucHV0KCkgZWRpdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY3VzdG9tUm93SGVpZ2h0OiBhbnk7XG4gICAgQElucHV0KCkgY29udHJvbFVpOiBMYXlvdXRTZXR0aW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBmb3JtTGF5b3V0U2hvd0xhYmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc05ld0lubGluZU1vOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRhaW5lckRvbTogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlRWxsYXBzaXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBpY29uOiBhbnk7XG4gICAgc2hvd01vcmU6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmRldmljZVNpemUgPT09ICdzJykge1xuICAgICAgICAgICAgdGhpcy5faXNTbWFsbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb2x1bW4uRmllbGRUeXBlSWQudG9TdHJpbmcoKSA9PT0gJzMxJykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uRWxhcHNpc2VkKHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlRWxsYXBzaXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dNb3JlID0gdmFsO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWRpdE1vZGUgPyBmb3JtQ29udHJvbFRlbXBsYXRlIDogcmVuZGVyQ2VsbFRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxUZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2x1bW4uRmllbGRUeXBlSWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJzQyJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNlbGxJbWFnZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJzMzJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNlbGxGaWxlSW5mb1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJzMxJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNlbGxGaWxlTGlzdEtoYXRpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInNSdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5FeHRyYT8uU2hvd0NoZWNrSW5HcmlkID8gcmVuZGVyQ2VsbENoZWNib3ggOiByZW5kZXJDaGVjYm94SW1hZ2VcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckdlbmVyYWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJHZW5lcmFsPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0XCI+XG4gICAgICAgIDxpbWcgW2F0dHIucnRsXT1cInJ0bFwiICpuZ0lmPVwiaWNvblwiIFtzcmNdPVwiaWNvblwiIC8+XG4gICAgICAgIDwhLS0gPGZkLXRleHRcbiAgICAgICAgICAgICNmZFRleHRcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtICE9PSAnSW1hZ2UnXCJcbiAgICAgICAgICAgIFttYXhMaW5lc109XCIxXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cInZhbHVlXCJcbiAgICAgICAgICAgIFtmZC1pbmxpbmUtaGVscF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWZkVGV4dC5faGFzTW9yZVwiXG4gICAgICAgID48L2ZkLXRleHQ+IC0tPlxuXG4gICAgICAgIDwhLS0gPGJzdS1iYXJzYS10ZXh0LWVsbGlwc2lzXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uLiRXaWR0aFwiXG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJ1wiXG4gICAgICAgICAgICBbdGV4dF09XCJ2YWx1ZVwiXG4gICAgICAgID48L2JzdS1iYXJzYS10ZXh0LWVsbGlwc2lzPiAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtICE9PSAnSW1hZ2UnXCJcbiAgICAgICAgICAgIGVsbGFwc2lzVGV4dFxuICAgICAgICAgICAgW2NsYXNzLmVsbGFwc2lzXT1cIiFkaXNhYmxlRWxsYXBzaXNcIlxuICAgICAgICAgICAgW2VsbGFwc2lzVGV4dF09XCJkaXNhYmxlRWxsYXBzaXMgPyAnJyA6ICh2YWx1ZSB8IGJiYlRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgW21heFdpZHRoXT1cImRldmljZVNpemUgPT09ICdzJyAmJiAhZGlzYWJsZUVsbGFwc2lzID8gMjIwIDogMFwiXG4gICAgICAgICAgICAoZWxsYXBzaXNlZCk9XCJvbkVsYXBzaXNlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID57eyB2YWx1ZSB8IGJiYlRyYW5zbGF0ZSB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxmZC1wb3BvdmVyICNoZWxwUG9wb3ZlciAqbmdJZj1cIiFkaXNhYmxlRWxsYXBzaXNcIj5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93TW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwic2hvd1wiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWxwLW1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidmFsdWUgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhlbHBQb3BvdmVyLm9wZW4oKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IGNsYXNzPVwiaGVscC1wb3BvdmVyLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscC1jb250ZW50XCI+e3sgdmFsdWUgfCBiYmJUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNmb3JtQ29udHJvbFRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICFjb250cm9sVWkgfHwgY29udHJvbFVpLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLlJlYWRPbmx5RmllbGQnXG4gICAgICAgICAgICAgICAgPyByZW5kZXJDZWxsVGVtcGxhdGVcbiAgICAgICAgICAgICAgICA6IGxheW91dENvbnRyb2xUZW1wbGF0ZVxuICAgICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2xheW91dENvbnRyb2xUZW1wbGF0ZT5cbiAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICpuZ0lmPVwiY29udHJvbFVpXCJcbiAgICAgICAgW2lubGluZUVkaXRdPVwidHJ1ZVwiXG4gICAgICAgIFtjYXB0aW9uXT1cImNvbHVtbi5DYXB0aW9uXCJcbiAgICAgICAgW2NvbmZpZ109XCJjb250cm9sVWlcIlxuICAgICAgICBbZm9jdXNDb250cm9sXT1cImluZGV4ID09PSAwICYmIChpc0NoZWNrZWQgfHwgaXNOZXdJbmxpbmVNbylcIlxuICAgICAgICBbc2hvd0xhYmVsXT1cImZvcm1MYXlvdXRTaG93TGFiZWxcIlxuICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxGaWxlTGlzdEtoYXRpPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb1tjb2x1bW4uTmFtZV1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtdmlld2VyLWF0dGFjaG1lbnRzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWxlIG9mIG1vW2NvbHVtbi5OYW1lXS5GaWxlc1wiPlxuICAgICAgICAgICAgICAgIDxic3UtZmlsZS12aWV3ZXItcG9wb3ZlclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29udGFpbmVyRG9tID8gY29udGFpbmVyRG9tLm9mZnNldFdpZHRoIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZpbGUuSXNEZWxldGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtmaWxlc109XCJtb1tjb2x1bW4uTmFtZV0uRmlsZXNcIlxuICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbkRvd25sb2FkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZVJlbW92ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtZmlsZS12aWV3ZXItcG9wb3Zlcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gPGZkLXRva2VuICpuZ0lmPVwiIWZpbGUuSXNEZWxldGVkXCIgW3JlYWRPbmx5XT1cInRydWVcIj57eyBmaWxlLkZpbGVOYW1lIH19PC9mZC10b2tlbj4gLS0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDZWxsRmlsZUluZm8+XG4gICAgPGZkLWF2YXRhclxuICAgICAgICAqbmdJZj1cIm1vW2NvbHVtbi5OYW1lXVwiXG4gICAgICAgIFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcbiAgICAgICAgW3NpemVdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ20nXCJcbiAgICAgICAgW2ltYWdlXT1cIm1vW2NvbHVtbi5OYW1lXSB8IHBpY0ZpZWxkU3JjOiAnUGljdHVyZUZpbGVJbmZvJzpudWxsOmNvbHVtbi5GaWVsZERlZklkXCJcbiAgICA+PC9mZC1hdmF0YXI+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDZWxsQ2hlY2JveD5cbiAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwibW9bY29sdW1uLk5hbWVdID09PSB0cnVlID8gJ2FjY2VwdCcgOiAnbGVzcydcIj48L2ZkLWljb24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDaGVjYm94SW1hZ2U+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5FeHRyYT8uVHJ1ZUltYWdlID09PSAnJ1wiPnt7IHZhbHVlIH19PC9uZy1jb250YWluZXI+XG4gICAgPGltZ1xuICAgICAgICAqbmdJZj1cImNvbHVtbi5FeHRyYT8uVHJ1ZUltYWdlICE9PSAnJ1wiXG4gICAgICAgIFtzcmNdPVwibW9bY29sdW1uLk5hbWVdID8gY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgOiBjb2x1bW4uRXh0cmE/LkZhbHNlSW1hZ2VcIlxuICAgICAgICBhbGluZz1cIm1pZGRsZVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxJbWFnZT5cbiAgICA8ZmQtYXZhdGFyXG4gICAgICAgICpuZ0lmPVwibW9bY29sdW1uLk5hbWVdICYmIG1vW2NvbHVtbi5OYW1lXVsnVXJsJ11cIlxuICAgICAgICBbc2l6ZV09XCJjb2x1bW4uRmllbGRUeXBlSWQgPT09ICc0MicgPyAneHMnIDogZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ20nXCJcbiAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICBbaW1hZ2VdPVwibW9bY29sdW1uLk5hbWVdWydVcmwnXVwiXG4gICAgPjwvZmQtYXZhdGFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7OztBQVFoSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQW9CdEQ7O09BRUc7SUFDSCxZQUFzQixJQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBdEJkLGFBQVEsR0FBRyxLQUFLLENBQUM7SUF3QmhELENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBQ0QsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzdDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDVDtJQUNMLENBQUM7SUFDRCxXQUFXLENBQUMsR0FBWTtRQUNwQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDOztvSEE3Q1EsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMmlCQ2pCcEMsdS9MQWtKQTsyRkRqSWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTt3R0FHaEIsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ3BCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJicmV2YXRpb25EZXZpY2VTaXplLCBCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1jb2x1bW4tcmVuZGVyZXIsW2NvbFJlbmRlcmVyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzTW9iaWxlJykgX2lzU21hbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjb2x1bW46IGFueTtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBpbmRleDogYW55O1xuICAgIEBJbnB1dCgpIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGN1c3RvbVJvd0hlaWdodDogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRyb2xVaTogTGF5b3V0U2V0dGluZyB8IG51bGw7XG4gICAgQElucHV0KCkgZm9ybUxheW91dFNob3dMYWJlbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNOZXdJbmxpbmVNbzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250YWluZXJEb206IEhUTUxFbGVtZW50O1xuXG4gICAgQElucHV0KCkgZGlzYWJsZUVsbGFwc2lzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAgQElucHV0KCkgaWNvbjogYW55O1xuICAgIHNob3dNb3JlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzU21hbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uLkZpZWxkVHlwZUlkLnRvU3RyaW5nKCkgPT09ICczMScpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVsYXBzaXNlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZUVsbGFwc2lzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRNb2RlID8gZm9ybUNvbnRyb2xUZW1wbGF0ZSA6IHJlbmRlckNlbGxUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJDZWxsVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLkZpZWxkVHlwZUlkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIic0MidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDZWxsSW1hZ2VcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIiczMydcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDZWxsRmlsZUluZm9cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIiczMSdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDZWxsRmlsZUxpc3RLaGF0aVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJzUnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4uRXh0cmE/LlNob3dDaGVja0luR3JpZCA/IHJlbmRlckNlbGxDaGVjYm94IDogcmVuZGVyQ2hlY2JveEltYWdlXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJHZW5lcmFsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR2VuZXJhbD5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzdGFydFwiPlxuICAgICAgICA8aW1nIFthdHRyLnJ0bF09XCJydGxcIiAqbmdJZj1cImljb25cIiBbc3JjXT1cImljb25cIiAvPlxuICAgICAgICA8IS0tIDxmZC10ZXh0XG4gICAgICAgICAgICAjZmRUZXh0XG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJ1wiXG4gICAgICAgICAgICBbbWF4TGluZXNdPVwiMVwiXG4gICAgICAgICAgICBbdGV4dF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbZmQtaW5saW5lLWhlbHBdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFmZFRleHQuX2hhc01vcmVcIlxuICAgICAgICA+PC9mZC10ZXh0PiAtLT5cblxuICAgICAgICA8IS0tIDxic3UtYmFyc2EtdGV4dC1lbGxpcHNpc1xuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi4kV2lkdGhcIlxuICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gIT09ICdJbWFnZSdcIlxuICAgICAgICAgICAgW3RleHRdPVwidmFsdWVcIlxuICAgICAgICA+PC9ic3UtYmFyc2EtdGV4dC1lbGxpcHNpcz4gLS0+XG4gICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bSAhPT0gJ0ltYWdlJ1wiIHN0eWxlPVwid29yZC1icmVhazpicmVhay13b3JkXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSB9fVxuICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLkV4dHJhPy5JY29uRGlzcGxheVR5cGVFbnVtICE9PSAnSW1hZ2UnXCJcbiAgICAgICAgICAgIFtlbGxhcHNpc1RleHRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2NsYXNzLmVsbGFwc2lzXT1cIiFkaXNhYmxlRWxsYXBzaXNcIlxuICAgICAgICAgICAgKGVsbGFwc2lzZWQpPVwib25FbGFwc2lzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmUgJiYgaGVscFBvcG92ZXIub3BlbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdmFsdWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxmZC1wb3BvdmVyICNoZWxwUG9wb3Zlcj5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+IDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImhlbHAtcG9wb3Zlci1ib2R5XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1wb3BvdmVyLWJvZHktaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50IHN0eWxlPVwid2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBjb2x1bW4uQWxpYXMgfCBiYmJUcmFuc2xhdGUgfX06PC9mZC1iYXItZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVscFBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNvbnRlbnRcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Zvcm1Db250cm9sVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgIWNvbnRyb2xVaSB8fCBjb250cm9sVWkuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuUmVhZE9ubHlGaWVsZCdcbiAgICAgICAgICAgICAgICA/IHJlbmRlckNlbGxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgIDogbGF5b3V0Q29udHJvbFRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbGF5b3V0Q29udHJvbFRlbXBsYXRlPlxuICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgKm5nSWY9XCJjb250cm9sVWlcIlxuICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgW2NhcHRpb25dPVwiY29sdW1uLkNhcHRpb25cIlxuICAgICAgICBbY29uZmlnXT1cImNvbnRyb2xVaVwiXG4gICAgICAgIFtmb2N1c0NvbnRyb2xdPVwiaW5kZXggPT09IDAgJiYgKGlzQ2hlY2tlZCB8fCBpc05ld0lubGluZU1vKVwiXG4gICAgICAgIFtzaG93TGFiZWxdPVwiZm9ybUxheW91dFNob3dMYWJlbFwiXG4gICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbEZpbGVMaXN0S2hhdGk+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vW2NvbHVtbi5OYW1lXVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS12aWV3ZXItYXR0YWNobWVudHNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgbW9bY29sdW1uLk5hbWVdLkZpbGVzXCI+XG4gICAgICAgICAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb250YWluZXJEb20gPyBjb250YWluZXJEb20ub2Zmc2V0V2lkdGggOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmlsZS5Jc0RlbGV0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cIm1vW2NvbHVtbi5OYW1lXS5GaWxlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbY2FuRG93bmxvYWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgID48L2JzdS1maWxlLXZpZXdlci1wb3BvdmVyPlxuXG4gICAgICAgICAgICAgICAgPCEtLSA8ZmQtdG9rZW4gKm5nSWY9XCIhZmlsZS5Jc0RlbGV0ZWRcIiBbcmVhZE9ubHldPVwidHJ1ZVwiPnt7IGZpbGUuRmlsZU5hbWUgfX08L2ZkLXRva2VuPiAtLT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxGaWxlSW5mbz5cbiAgICA8ZmQtYXZhdGFyXG4gICAgICAgICpuZ0lmPVwibW9bY29sdW1uLk5hbWVdXCJcbiAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICBbc2l6ZV09XCJkZXZpY2VTaXplID09PSAncycgPyAncycgOiAnbSdcIlxuICAgICAgICBbaW1hZ2VdPVwibW9bY29sdW1uLk5hbWVdIHwgcGljRmllbGRTcmM6ICdQaWN0dXJlRmlsZUluZm8nOm51bGw6Y29sdW1uLkZpZWxkRGVmSWRcIlxuICAgID48L2ZkLWF2YXRhcj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNlbGxDaGVjYm94PlxuICAgIDxmZC1pY29uIFtnbHlwaF09XCJtb1tjb2x1bW4uTmFtZV0gPT09IHRydWUgPyAnYWNjZXB0JyA6ICdsZXNzJ1wiPjwvZmQtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckNoZWNib3hJbWFnZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgPT09ICcnXCI+e3sgdmFsdWUgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiY29sdW1uLkV4dHJhPy5UcnVlSW1hZ2UgIT09ICcnXCJcbiAgICAgICAgW3NyY109XCJtb1tjb2x1bW4uTmFtZV0gPyBjb2x1bW4uRXh0cmE/LlRydWVJbWFnZSA6IGNvbHVtbi5FeHRyYT8uRmFsc2VJbWFnZVwiXG4gICAgICAgIGFsaW5nPVwibWlkZGxlXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyQ2VsbEltYWdlPlxuICAgIDxmZC1hdmF0YXJcbiAgICAgICAgKm5nSWY9XCJtb1tjb2x1bW4uTmFtZV0gJiYgbW9bY29sdW1uLk5hbWVdWydVcmwnXVwiXG4gICAgICAgIFtzaXplXT1cImNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gJzQyJyA/ICd4cycgOiBkZXZpY2VTaXplID09PSAncycgPyAncycgOiAnbSdcIlxuICAgICAgICBbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG4gICAgICAgIFtpbWFnZV09XCJtb1tjb2x1bW4uTmFtZV1bJ1VybCddXCJcbiAgICA+PC9mZC1hdmF0YXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|