barsa-sap-ui 2.2.61 → 2.2.63
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/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +18 -3
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +1 -1
- package/esm2022/lib/barsa-form-layout-panel/barsa-form-layout-panel.component.mjs +3 -3
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +1 -1
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +3 -3
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -3
- package/esm2022/lib/layout-control/layout-control.component.mjs +7 -2
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +5 -3
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +10 -5
- package/esm2022/lib/models/grid-data-provider.mjs +9 -4
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +14 -4
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +3 -3
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +3 -3
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +3 -3
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +3 -3
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +3 -3
- package/fesm2022/barsa-sap-ui.mjs +72 -31
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +3 -1
- package/lib/layout-control/layout-control.component.d.ts +1 -0
- package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +2 -1
- package/lib/ly-tab-page/ly-tab-page.component.d.ts +1 -0
- package/lib/models/grid-data-provider.d.ts +2 -0
- package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +4 -0
- package/package.json +1 -1
|
@@ -35,11 +35,11 @@ export class UiReportContainerComponent extends SapUiReportBaseComponent {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiReportContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiReportContainerComponent, selector: "bsu-ui-report-container", viewQueries: [{ propertyName: "tableView", first: true, predicate: ["renderTable"], descendants: true, static: true }, { propertyName: "cardListView", first: true, predicate: ["renderCardList"], descendants: true, static: true }, { propertyName: "listView", first: true, predicate: ["renderList"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n icon: viewSetting?.Icon,\r\n rtl: rtl$ | async,\r\n hideToolbar: (hideToolbar$ | async) === true || viewSetting.HideToolbar,\r\n selectedView: selectedView,\r\n viewCollection: viewCollection,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n contentDensity: contentDensity$ | async,\r\n formLayout: layout$ | async,\r\n hasSelected: hasSelected$ | async,\r\n disableOverflowContextMenu: viewSetting.DisableOverflowContextMenu,\r\n inlineEditWithoutSelection: viewSetting.InlineEditWithoutSelection,\r\n showCreateForm: viewSetting.ShowCreateForm,\r\n hideOpenIcon: viewSetting.HideOpenIcon,\r\n hideTitleMode: viewSetting.HideTitleMode,\r\n openOnClick: viewSetting.OpenOnClick,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n formSetting: context.Setting.FormTemplate,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n disableResponsive: viewSetting.DisableResponsive,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n contextSetting: context.Setting,\r\n customFieldInfo: context.Setting.CustomFieldInfo,\r\n selectedMo: selectedMo$ | async,\r\n hideSearchpanel: hideSearchpanel$ | async,\r\n selectedCount: selectedCount$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n hasInlineEditButton: viewSetting.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting.HasInlineDeleteButton,\r\n pagingSetting: pagingSetting$ | async,\r\n shortcutList: viewSetting.ShortcutList?.MoDataList,\r\n simpleInlineEdit: simpleInlineEdit\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-shortcutList=\"shortcutList\"\r\n let-inlineEditWithoutSelection=\"inlineEditWithoutSelection\"\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-onlyInlineEdit=\"onlyInlineEdit\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-selectedView=\"selectedView\"\r\n let-viewCollection=\"viewCollection\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formLayout=\"formLayout\"\r\n let-hasSelected=\"hasSelected\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-hasSummary=\"hasSummary\"\r\n let-typeDefId=\"typeDefId\"\r\n let-formSetting=\"formSetting\"\r\n let-extraRelation=\"extraRelation\"\r\n let-contextView=\"contextView\"\r\n let-showCreateForm=\"showCreateForm\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-openOnClick=\"openOnClick\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-customFieldInfo=\"customFieldInfo\"\r\n let-selectedMo=\"selectedMo\"\r\n let-selectedCount=\"selectedCount\"\r\n let-hideSearchpanel=\"hideSearchpanel\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n let-contextSetting=\"contextSetting\"\r\n let-icon=\"icon\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-hideTitleMode=\"hideTitleMode\"\r\n>\r\n @if (showCreateForm) {\r\n <div>\r\n <bsu-report-new-top-form\r\n [extraRelation]=\"extraRelation\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [selectedMo]=\"selectedMo\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n (add)=\"onNewTopFormAdd($event)\"\r\n (save)=\"onSaveTopForm($event)\"\r\n ></bsu-report-new-top-form>\r\n </div>\r\n }\r\n <bsu-ulv-toolbar\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [title]=\"title\"\r\n [hideTitle]=\"hideTitleMode === '1' || hideTitleMode === '3'\"\r\n [icon]=\"icon\"\r\n [access]=\"access\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [inDialog]=\"inDialog\"\r\n [hasSelected]=\"hasSelected\"\r\n [contentDensity]=\"contentDensity\"\r\n [viewCollection]=\"viewCollection\"\r\n [reportView]=\"selectedView\"\r\n [inlineEditMode]=\"allowInlineEdit && inlineEditMode && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n (sortClick)=\"onSortSettings($event)\"\r\n (groupbyClick)=\"onGroupbySettings($event)\"\r\n (columnClick)=\"onColumnSettings($event)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (viewClick)=\"onChangeView($event)\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n\r\n <div\r\n reportViewRenderer\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n class=\"report-view\"\r\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [hideTitle]=\"hideTitleMode === '2' || hideTitleMode === '3'\"\r\n [groupSummary]=\"groupSummary\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [contextSetting]=\"contextSetting\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [inlineEditWithoutSelection]=\"inlineEditWithoutSelection\"\r\n [typeViewId]=\"typeViewId\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [reportId]=\"reportId\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [hideSearchpanel]=\"hideSearchpanel\"\r\n [selectedMo]=\"selectedMo\"\r\n [selectedCount]=\"selectedCount\"\r\n [hasSelected]=\"hasSelected\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [customFieldInfo]=\"customFieldInfo\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [extraRelation]=\"extraRelation\"\r\n [typeDefId]=\"typeDefId\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [view]=\"selectedView\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [contentDensity]=\"contentDensity\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [formSetting]=\"formSetting\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [columns]=\"columns\"\r\n [rtl]=\"rtl\"\r\n [allColumns]=\"allColumns\"\r\n [hasSummary]=\"hasSummary\"\r\n [columnsCount]=\"columnsCount\"\r\n [formLayout]=\"formLayout\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (resetWorkflowState)=\"onResetWorkflowState($event)\"\r\n (hasDetailsInRow)=\"onHasDetailsInRow($event, deviceSize)\"\r\n (executeToolbarButton)=\"onExecuteToolbarButton($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\r\n (createNewMo)=\"onCreateNewMo()\"\r\n (updateMo)=\"onUpdateMo($event)\"\r\n (mandatory)=\"onMandatory($event)\"\r\n (sortSettingsChange)=\"onSortSettingsChange($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n parameters.ShortcutList.MoDataList\r\n ></div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}.view-row{cursor:pointer}.header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.5rem;background-color:var(--sapBaseColor)}.header span{font-size:1.7rem;font-weight:300}.btn-margin{margin:0 8px 0 0}.table-header-btn-group{display:flex;justify-content:flex-end;flex-grow:1}.context-command{margin:0 2px}.body-wrapper,.body-wrapper table{width:100%}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.root-grouped{color:green}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.single-select{min-width:2rem;max-width:2rem;width:2rem;text-align:center}.grid-editable-btn-group{display:flex;justify-content:space-evenly;align-items:center}.table-fixed{table-layout:fixed}.table-fixed td{overflow:hidden}::ng-deep span.fd-toolbar__spacer{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.ReportNewTopFormComponent, selector: "bsu-report-new-top-form", inputs: ["selectedMo"], outputs: ["add", "save"] }, { kind: "directive", type: i4.ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: ["view", "moDataList", "allChecked", "contextSetting", "groupby", "isCheckList", "hasInlineDeleteButton", "hasInlineEditButton", "selectedCount", "hideToolbar", "toolbarButtons", "pagingSetting", "UlvMainCtrlr", "hasSummary", "relationList", "columns", "columnsCount", "secondaryColumns", "contextMenuItems", "conditionalFormats", "deviceName", "deviceSize", "mobileOrTablet", "access", "title", "customFieldInfo", "selectedMo", "allColumns", "viewSetting", "inlineEditMode", "onlyInlineEdit", "allowInlineEdit", "popin", "hasSelected", "formSetting", "disableOverflowContextMenu", "navigationArrow", "typeDefId", "reportId", "listEditViewId", "typeViewId", "containerWidth", "extraRelation", "contextView", "contentDensity", "hideOpenIcon", "hideTitle", "groupSummary", "openOnClick", "inDialog", "isMultiSelect", "rtl", "disableResponsive", "simpleInlineEdit", "hideSearchpanel", "gridFreeColumnSizing", "inlineEditWithoutSelection", "cartableTemplates", "cartableChildsMo"], outputs: ["editFormPanelCancel", "editFormPanelValueChange", "resetWorkflowState", "ulvCommandClick", "sortAscending", "sortDescending", "filter", "deselectAll", "rowCheck", "rowClick", "executeToolbarButton", "expandClick", "trackBySelectedFn", "cartableFormClosed", "createNewMo", "updateMo", "hasDetailsInRow", "allCheckbox", "mandatory", "editFormPanelSave", "columnResized", "selectNextInlineRecord", "workflowShareButtons", "escapeKey", "resetGridSettings", "sortSettingsChange"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i6.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiReportContainerComponent, selector: "bsu-ui-report-container", viewQueries: [{ propertyName: "tableView", first: true, predicate: ["renderTable"], descendants: true, static: true }, { propertyName: "cardListView", first: true, predicate: ["renderCardList"], descendants: true, static: true }, { propertyName: "listView", first: true, predicate: ["renderList"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n icon: viewSetting?.Icon,\r\n rtl: rtl$ | async,\r\n hideToolbar: (hideToolbar$ | async) === true || viewSetting.HideToolbar,\r\n selectedView: selectedView,\r\n viewCollection: viewCollection,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n contentDensity: contentDensity$ | async,\r\n formLayout: layout$ | async,\r\n hasSelected: hasSelected$ | async,\r\n disableOverflowContextMenu: viewSetting.DisableOverflowContextMenu,\r\n inlineEditWithoutSelection: viewSetting.InlineEditWithoutSelection,\r\n showCreateForm: viewSetting.ShowCreateForm,\r\n hideOpenIcon: viewSetting.HideOpenIcon,\r\n hideTitleMode: viewSetting.HideTitleMode,\r\n openOnClick: viewSetting.OpenOnClick,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n formSetting: context.Setting.FormTemplate,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n disableResponsive: viewSetting.DisableResponsive,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n contextSetting: context.Setting,\r\n customFieldInfo: context.Setting.CustomFieldInfo,\r\n selectedMo: selectedMo$ | async,\r\n hideSearchpanel: hideSearchpanel$ | async,\r\n selectedCount: selectedCount$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n hasInlineEditButton: viewSetting.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting.HasInlineDeleteButton,\r\n pagingSetting: pagingSetting$ | async,\r\n shortcutList: viewSetting.ShortcutList?.MoDataList,\r\n simpleInlineEdit: simpleInlineEdit,\r\n toolbarSettings: viewSetting.ToolbarSettings\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-shortcutList=\"shortcutList\"\r\n let-inlineEditWithoutSelection=\"inlineEditWithoutSelection\"\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-onlyInlineEdit=\"onlyInlineEdit\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-selectedView=\"selectedView\"\r\n let-viewCollection=\"viewCollection\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formLayout=\"formLayout\"\r\n let-hasSelected=\"hasSelected\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-hasSummary=\"hasSummary\"\r\n let-typeDefId=\"typeDefId\"\r\n let-formSetting=\"formSetting\"\r\n let-extraRelation=\"extraRelation\"\r\n let-contextView=\"contextView\"\r\n let-showCreateForm=\"showCreateForm\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-openOnClick=\"openOnClick\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-customFieldInfo=\"customFieldInfo\"\r\n let-selectedMo=\"selectedMo\"\r\n let-selectedCount=\"selectedCount\"\r\n let-hideSearchpanel=\"hideSearchpanel\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n let-contextSetting=\"contextSetting\"\r\n let-icon=\"icon\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-hideTitleMode=\"hideTitleMode\"\r\n let-toolbarSettings=\"toolbarSettings\"\r\n>\r\n @if (showCreateForm) {\r\n <div>\r\n <bsu-report-new-top-form\r\n [extraRelation]=\"extraRelation\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [selectedMo]=\"selectedMo\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n (add)=\"onNewTopFormAdd($event)\"\r\n (save)=\"onSaveTopForm($event)\"\r\n ></bsu-report-new-top-form>\r\n </div>\r\n }\r\n <bsu-ulv-toolbar\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons | ulvToolbarSettings:toolbarSettings\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\" \r\n [title]=\"title\"\r\n [hideTitle]=\"hideTitleMode === '1' || hideTitleMode === '3'\"\r\n [icon]=\"icon\"\r\n [access]=\"access\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [inDialog]=\"inDialog\"\r\n [hasSelected]=\"hasSelected\"\r\n [contentDensity]=\"contentDensity\"\r\n [viewCollection]=\"viewCollection\"\r\n [reportView]=\"selectedView\"\r\n [inlineEditMode]=\"allowInlineEdit && inlineEditMode && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n (sortClick)=\"onSortSettings($event)\"\r\n (groupbyClick)=\"onGroupbySettings($event)\"\r\n (columnClick)=\"onColumnSettings($event)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (viewClick)=\"onChangeView($event)\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n\r\n <div\r\n reportViewRenderer\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n class=\"report-view\"\r\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [hideTitle]=\"hideTitleMode === '2' || hideTitleMode === '3'\"\r\n [groupSummary]=\"groupSummary\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [contextSetting]=\"contextSetting\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [inlineEditWithoutSelection]=\"inlineEditWithoutSelection\"\r\n [typeViewId]=\"typeViewId\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [reportId]=\"reportId\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [hideSearchpanel]=\"hideSearchpanel\"\r\n [selectedMo]=\"selectedMo\"\r\n [selectedCount]=\"selectedCount\"\r\n [hasSelected]=\"hasSelected\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [customFieldInfo]=\"customFieldInfo\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [extraRelation]=\"extraRelation\"\r\n [typeDefId]=\"typeDefId\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [view]=\"selectedView\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [contentDensity]=\"contentDensity\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [formSetting]=\"formSetting\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [columns]=\"columns\"\r\n [rtl]=\"rtl\"\r\n [allColumns]=\"allColumns\"\r\n [hasSummary]=\"hasSummary\"\r\n [columnsCount]=\"columnsCount\"\r\n [formLayout]=\"formLayout\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (resetWorkflowState)=\"onResetWorkflowState($event)\"\r\n (hasDetailsInRow)=\"onHasDetailsInRow($event, deviceSize)\"\r\n (executeToolbarButton)=\"onExecuteToolbarButton($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\r\n (createNewMo)=\"onCreateNewMo()\"\r\n (updateMo)=\"onUpdateMo($event)\"\r\n (mandatory)=\"onMandatory($event)\"\r\n (sortSettingsChange)=\"onSortSettingsChange($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n parameters.ShortcutList.MoDataList\r\n ></div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}.view-row{cursor:pointer}.header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.5rem;background-color:var(--sapBaseColor)}.header span{font-size:1.7rem;font-weight:300}.btn-margin{margin:0 8px 0 0}.table-header-btn-group{display:flex;justify-content:flex-end;flex-grow:1}.context-command{margin:0 2px}.body-wrapper,.body-wrapper table{width:100%}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.root-grouped{color:green}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.single-select{min-width:2rem;max-width:2rem;width:2rem;text-align:center}.grid-editable-btn-group{display:flex;justify-content:space-evenly;align-items:center}.table-fixed{table-layout:fixed}.table-fixed td{overflow:hidden}::ng-deep span.fd-toolbar__spacer{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.ReportNewTopFormComponent, selector: "bsu-report-new-top-form", inputs: ["selectedMo"], outputs: ["add", "save"] }, { kind: "directive", type: i4.ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: ["view", "moDataList", "allChecked", "contextSetting", "groupby", "isCheckList", "hasInlineDeleteButton", "hasInlineEditButton", "selectedCount", "hideToolbar", "toolbarButtons", "pagingSetting", "UlvMainCtrlr", "hasSummary", "relationList", "columns", "columnsCount", "secondaryColumns", "contextMenuItems", "conditionalFormats", "deviceName", "deviceSize", "mobileOrTablet", "access", "title", "customFieldInfo", "selectedMo", "allColumns", "viewSetting", "inlineEditMode", "onlyInlineEdit", "allowInlineEdit", "popin", "hasSelected", "formSetting", "disableOverflowContextMenu", "navigationArrow", "typeDefId", "reportId", "listEditViewId", "typeViewId", "containerWidth", "extraRelation", "contextView", "contentDensity", "hideOpenIcon", "hideTitle", "groupSummary", "openOnClick", "inDialog", "isMultiSelect", "rtl", "disableResponsive", "simpleInlineEdit", "hideSearchpanel", "gridFreeColumnSizing", "inlineEditWithoutSelection", "cartableTemplates", "cartableChildsMo"], outputs: ["editFormPanelCancel", "editFormPanelValueChange", "resetWorkflowState", "ulvCommandClick", "sortAscending", "sortDescending", "filter", "deselectAll", "rowCheck", "rowClick", "executeToolbarButton", "expandClick", "trackBySelectedFn", "cartableFormClosed", "createNewMo", "updateMo", "hasDetailsInRow", "allCheckbox", "mandatory", "editFormPanelSave", "columnResized", "selectNextInlineRecord", "workflowShareButtons", "escapeKey", "resetGridSettings", "sortSettingsChange"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i6.ContextMenuPipe, name: "contextMenu" }, { kind: "pipe", type: i6.ToolbarSettingsPipe, name: "ulvToolbarSettings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
39
|
}
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiReportContainerComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
|
-
args: [{ selector: 'bsu-ui-report-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n icon: viewSetting?.Icon,\r\n rtl: rtl$ | async,\r\n hideToolbar: (hideToolbar$ | async) === true || viewSetting.HideToolbar,\r\n selectedView: selectedView,\r\n viewCollection: viewCollection,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n contentDensity: contentDensity$ | async,\r\n formLayout: layout$ | async,\r\n hasSelected: hasSelected$ | async,\r\n disableOverflowContextMenu: viewSetting.DisableOverflowContextMenu,\r\n inlineEditWithoutSelection: viewSetting.InlineEditWithoutSelection,\r\n showCreateForm: viewSetting.ShowCreateForm,\r\n hideOpenIcon: viewSetting.HideOpenIcon,\r\n hideTitleMode: viewSetting.HideTitleMode,\r\n openOnClick: viewSetting.OpenOnClick,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n formSetting: context.Setting.FormTemplate,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n disableResponsive: viewSetting.DisableResponsive,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n contextSetting: context.Setting,\r\n customFieldInfo: context.Setting.CustomFieldInfo,\r\n selectedMo: selectedMo$ | async,\r\n hideSearchpanel: hideSearchpanel$ | async,\r\n selectedCount: selectedCount$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n hasInlineEditButton: viewSetting.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting.HasInlineDeleteButton,\r\n pagingSetting: pagingSetting$ | async,\r\n shortcutList: viewSetting.ShortcutList?.MoDataList,\r\n simpleInlineEdit: simpleInlineEdit\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-shortcutList=\"shortcutList\"\r\n let-inlineEditWithoutSelection=\"inlineEditWithoutSelection\"\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-onlyInlineEdit=\"onlyInlineEdit\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-selectedView=\"selectedView\"\r\n let-viewCollection=\"viewCollection\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formLayout=\"formLayout\"\r\n let-hasSelected=\"hasSelected\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-hasSummary=\"hasSummary\"\r\n let-typeDefId=\"typeDefId\"\r\n let-formSetting=\"formSetting\"\r\n let-extraRelation=\"extraRelation\"\r\n let-contextView=\"contextView\"\r\n let-showCreateForm=\"showCreateForm\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-openOnClick=\"openOnClick\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-customFieldInfo=\"customFieldInfo\"\r\n let-selectedMo=\"selectedMo\"\r\n let-selectedCount=\"selectedCount\"\r\n let-hideSearchpanel=\"hideSearchpanel\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n let-contextSetting=\"contextSetting\"\r\n let-icon=\"icon\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-hideTitleMode=\"hideTitleMode\"\r\n>\r\n @if (showCreateForm) {\r\n <div>\r\n <bsu-report-new-top-form\r\n [extraRelation]=\"extraRelation\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [selectedMo]=\"selectedMo\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n (add)=\"onNewTopFormAdd($event)\"\r\n (save)=\"onSaveTopForm($event)\"\r\n ></bsu-report-new-top-form>\r\n </div>\r\n }\r\n <bsu-ulv-toolbar\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [title]=\"title\"\r\n [hideTitle]=\"hideTitleMode === '1' || hideTitleMode === '3'\"\r\n [icon]=\"icon\"\r\n [access]=\"access\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [inDialog]=\"inDialog\"\r\n [hasSelected]=\"hasSelected\"\r\n [contentDensity]=\"contentDensity\"\r\n [viewCollection]=\"viewCollection\"\r\n [reportView]=\"selectedView\"\r\n [inlineEditMode]=\"allowInlineEdit && inlineEditMode && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n (sortClick)=\"onSortSettings($event)\"\r\n (groupbyClick)=\"onGroupbySettings($event)\"\r\n (columnClick)=\"onColumnSettings($event)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (viewClick)=\"onChangeView($event)\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n\r\n <div\r\n reportViewRenderer\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n class=\"report-view\"\r\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [hideTitle]=\"hideTitleMode === '2' || hideTitleMode === '3'\"\r\n [groupSummary]=\"groupSummary\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [contextSetting]=\"contextSetting\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [inlineEditWithoutSelection]=\"inlineEditWithoutSelection\"\r\n [typeViewId]=\"typeViewId\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [reportId]=\"reportId\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [hideSearchpanel]=\"hideSearchpanel\"\r\n [selectedMo]=\"selectedMo\"\r\n [selectedCount]=\"selectedCount\"\r\n [hasSelected]=\"hasSelected\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [customFieldInfo]=\"customFieldInfo\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [extraRelation]=\"extraRelation\"\r\n [typeDefId]=\"typeDefId\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [view]=\"selectedView\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [contentDensity]=\"contentDensity\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [formSetting]=\"formSetting\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [columns]=\"columns\"\r\n [rtl]=\"rtl\"\r\n [allColumns]=\"allColumns\"\r\n [hasSummary]=\"hasSummary\"\r\n [columnsCount]=\"columnsCount\"\r\n [formLayout]=\"formLayout\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (resetWorkflowState)=\"onResetWorkflowState($event)\"\r\n (hasDetailsInRow)=\"onHasDetailsInRow($event, deviceSize)\"\r\n (executeToolbarButton)=\"onExecuteToolbarButton($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\r\n (createNewMo)=\"onCreateNewMo()\"\r\n (updateMo)=\"onUpdateMo($event)\"\r\n (mandatory)=\"onMandatory($event)\"\r\n (sortSettingsChange)=\"onSortSettingsChange($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n parameters.ShortcutList.MoDataList\r\n ></div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}.view-row{cursor:pointer}.header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.5rem;background-color:var(--sapBaseColor)}.header span{font-size:1.7rem;font-weight:300}.btn-margin{margin:0 8px 0 0}.table-header-btn-group{display:flex;justify-content:flex-end;flex-grow:1}.context-command{margin:0 2px}.body-wrapper,.body-wrapper table{width:100%}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.root-grouped{color:green}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.single-select{min-width:2rem;max-width:2rem;width:2rem;text-align:center}.grid-editable-btn-group{display:flex;justify-content:space-evenly;align-items:center}.table-fixed{table-layout:fixed}.table-fixed td{overflow:hidden}::ng-deep span.fd-toolbar__spacer{display:none}\n"] }]
|
|
42
|
+
args: [{ selector: 'bsu-ui-report-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n title: title$ | async,\r\n icon: viewSetting?.Icon,\r\n rtl: rtl$ | async,\r\n hideToolbar: (hideToolbar$ | async) === true || viewSetting.HideToolbar,\r\n selectedView: selectedView,\r\n viewCollection: viewCollection,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n contentDensity: contentDensity$ | async,\r\n formLayout: layout$ | async,\r\n hasSelected: hasSelected$ | async,\r\n disableOverflowContextMenu: viewSetting.DisableOverflowContextMenu,\r\n inlineEditWithoutSelection: viewSetting.InlineEditWithoutSelection,\r\n showCreateForm: viewSetting.ShowCreateForm,\r\n hideOpenIcon: viewSetting.HideOpenIcon,\r\n hideTitleMode: viewSetting.HideTitleMode,\r\n openOnClick: viewSetting.OpenOnClick,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n formSetting: context.Setting.FormTemplate,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n disableResponsive: viewSetting.DisableResponsive,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n contextSetting: context.Setting,\r\n customFieldInfo: context.Setting.CustomFieldInfo,\r\n selectedMo: selectedMo$ | async,\r\n hideSearchpanel: hideSearchpanel$ | async,\r\n selectedCount: selectedCount$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n hasInlineEditButton: viewSetting.HasInlineEditButton,\r\n hasInlineDeleteButton: viewSetting.HasInlineDeleteButton,\r\n pagingSetting: pagingSetting$ | async,\r\n shortcutList: viewSetting.ShortcutList?.MoDataList,\r\n simpleInlineEdit: simpleInlineEdit,\r\n toolbarSettings: viewSetting.ToolbarSettings\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-shortcutList=\"shortcutList\"\r\n let-inlineEditWithoutSelection=\"inlineEditWithoutSelection\"\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-onlyInlineEdit=\"onlyInlineEdit\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-selectedView=\"selectedView\"\r\n let-viewCollection=\"viewCollection\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formLayout=\"formLayout\"\r\n let-hasSelected=\"hasSelected\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-hasSummary=\"hasSummary\"\r\n let-typeDefId=\"typeDefId\"\r\n let-formSetting=\"formSetting\"\r\n let-extraRelation=\"extraRelation\"\r\n let-contextView=\"contextView\"\r\n let-showCreateForm=\"showCreateForm\"\r\n let-hideOpenIcon=\"hideOpenIcon\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-openOnClick=\"openOnClick\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-customFieldInfo=\"customFieldInfo\"\r\n let-selectedMo=\"selectedMo\"\r\n let-selectedCount=\"selectedCount\"\r\n let-hideSearchpanel=\"hideSearchpanel\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-hasInlineDeleteButton=\"hasInlineDeleteButton\"\r\n let-hasInlineEditButton=\"hasInlineEditButton\"\r\n let-contextSetting=\"contextSetting\"\r\n let-icon=\"icon\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-hideTitleMode=\"hideTitleMode\"\r\n let-toolbarSettings=\"toolbarSettings\"\r\n>\r\n @if (showCreateForm) {\r\n <div>\r\n <bsu-report-new-top-form\r\n [extraRelation]=\"extraRelation\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [selectedMo]=\"selectedMo\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [inlineEditMode]=\"true\"\r\n [isChecked]=\"true\"\r\n (add)=\"onNewTopFormAdd($event)\"\r\n (save)=\"onSaveTopForm($event)\"\r\n ></bsu-report-new-top-form>\r\n </div>\r\n }\r\n <bsu-ulv-toolbar\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons | ulvToolbarSettings:toolbarSettings\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\" \r\n [title]=\"title\"\r\n [hideTitle]=\"hideTitleMode === '1' || hideTitleMode === '3'\"\r\n [icon]=\"icon\"\r\n [access]=\"access\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [inDialog]=\"inDialog\"\r\n [hasSelected]=\"hasSelected\"\r\n [contentDensity]=\"contentDensity\"\r\n [viewCollection]=\"viewCollection\"\r\n [reportView]=\"selectedView\"\r\n [inlineEditMode]=\"allowInlineEdit && inlineEditMode && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n (sortClick)=\"onSortSettings($event)\"\r\n (groupbyClick)=\"onGroupbySettings($event)\"\r\n (columnClick)=\"onColumnSettings($event)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (viewClick)=\"onChangeView($event)\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n\r\n <div\r\n reportViewRenderer\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n class=\"report-view\"\r\n [attr.reportCaption]=\"context.Setting.Extra.Report.Caption\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [hideTitle]=\"hideTitleMode === '2' || hideTitleMode === '3'\"\r\n [groupSummary]=\"groupSummary\"\r\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\r\n [hasInlineEditButton]=\"hasInlineEditButton\"\r\n [contextSetting]=\"contextSetting\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [inlineEditWithoutSelection]=\"inlineEditWithoutSelection\"\r\n [typeViewId]=\"typeViewId\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [reportId]=\"reportId\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [hideSearchpanel]=\"hideSearchpanel\"\r\n [selectedMo]=\"selectedMo\"\r\n [selectedCount]=\"selectedCount\"\r\n [hasSelected]=\"hasSelected\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [customFieldInfo]=\"customFieldInfo\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [openOnClick]=\"openOnClick\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [extraRelation]=\"extraRelation\"\r\n [typeDefId]=\"typeDefId\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [view]=\"selectedView\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [contentDensity]=\"contentDensity\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [formSetting]=\"formSetting\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [columns]=\"columns\"\r\n [rtl]=\"rtl\"\r\n [allColumns]=\"allColumns\"\r\n [hasSummary]=\"hasSummary\"\r\n [columnsCount]=\"columnsCount\"\r\n [formLayout]=\"formLayout\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (resetWorkflowState)=\"onResetWorkflowState($event)\"\r\n (hasDetailsInRow)=\"onHasDetailsInRow($event, deviceSize)\"\r\n (executeToolbarButton)=\"onExecuteToolbarButton($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (cartableFormClosed)=\"onCartableFormClosed($event)\"\r\n (createNewMo)=\"onCreateNewMo()\"\r\n (updateMo)=\"onUpdateMo($event)\"\r\n (mandatory)=\"onMandatory($event)\"\r\n (sortSettingsChange)=\"onSortSettingsChange($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n parameters.ShortcutList.MoDataList\r\n ></div>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}.view-row{cursor:pointer}.header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.5rem;background-color:var(--sapBaseColor)}.header span{font-size:1.7rem;font-weight:300}.btn-margin{margin:0 8px 0 0}.table-header-btn-group{display:flex;justify-content:flex-end;flex-grow:1}.context-command{margin:0 2px}.body-wrapper,.body-wrapper table{width:100%}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.root-grouped{color:green}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.single-select{min-width:2rem;max-width:2rem;width:2rem;text-align:center}.grid-editable-btn-group{display:flex;justify-content:space-evenly;align-items:center}.table-fixed{table-layout:fixed}.table-fixed td{overflow:hidden}::ng-deep span.fd-toolbar__spacer{display:none}\n"] }]
|
|
43
43
|
}], propDecorators: { tableView: [{
|
|
44
44
|
type: ViewChild,
|
|
45
45
|
args: ['renderTable', { static: true }]
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
50
50
|
type: ViewChild,
|
|
51
51
|
args: ['renderList', { static: true }]
|
|
52
52
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1yZXBvcnQtY29udGFpbmVyL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmVwb3J0LWNvbnRhaW5lci91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXVCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUFpRDtJQVBqRzs7UUFZSSxtQkFBYyxHQUF1QixFQUFFLENBQUM7S0EyQjNDO0lBekJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQTZCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNPLFNBQVM7UUFDYixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDdkcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUMvQyxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNPLFdBQVcsQ0FBQyxXQUE2QjtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBQ08sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvQlEsMEJBQTBCO21HQUExQiwwQkFBMEIsb2FDWHZDLHloWkFrUkE7OzRGRHZRYSwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBRzJCLFNBQVM7c0JBQXBELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxZQUFZO3NCQUExRCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2UsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1yZXBvcnQtY29udGFpbmVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdyZW5kZXJUYWJsZScsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlVmlldzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlckNhcmRMaXN0JywgeyBzdGF0aWM6IHRydWUgfSkgY2FyZExpc3RWaWV3OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgncmVuZGVyTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RWaWV3OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgc2VsZWN0ZWRWaWV3OiBVaVJlcG9ydFZpZXdCYXNlO1xyXG4gICAgdmlld0NvbGxlY3Rpb246IFVpUmVwb3J0Vmlld0Jhc2VbXSA9IFtdO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5faW5pdFZpZXcoKTtcclxuICAgICAgICB0aGlzLmhpZGVQYWdpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZpZXcodmlld1NldHRpbmc6IFVpUmVwb3J0Vmlld0Jhc2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3KHZpZXdTZXR0aW5nKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2luaXRWaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHZpZXdDb2xsZWN0aW9uID0gdGhpcy5jb250ZXh0LlNldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlZpZXdDb2xsZWN0aW9uLk1vRGF0YUxpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgICAodmlldykgPT4gIXZpZXcuVWlDb21wb25lbnQuU2V0dGluZ3M/LkhpZGRlblxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFZpZXcgPSB2aWV3Q29sbGVjdGlvbi5maW5kKCh2aWV3KSA9PiB2aWV3LlVpQ29tcG9uZW50LlNldHRpbmdzPy5Jc0RlZmF1bHQpID8/IHZpZXdDb2xsZWN0aW9uWzBdO1xyXG4gICAgICAgIHRoaXMudmlld0NvbGxlY3Rpb24gPSB2aWV3Q29sbGVjdGlvbjtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3KGRlZmF1bHRWaWV3KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NoYW5nZVZpZXcodWlDb21wb25lbnQ6IFVpUmVwb3J0Vmlld0Jhc2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmlldyA9IHVpQ29tcG9uZW50O1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBoaWRlUGFnaW5nKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5IaWRlUGFnaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVQYWdpbmcodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS1yZW5kZXIgY29udGFpbmVyLS0+XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgcmVuZGVyQ29udGFpbmVyO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBncmlkRGF0YVNvdXJjZS5kYXRhJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxDaGVja2VkOiBhbGxDaGVja2VkJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpc0NoZWNrTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBjb2x1bW5zQ291bnQ6IGNvbHVtbnNDb3VudCQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgb25seUlubGluZUVkaXQ6IG9ubHlJbmxpbmVFZGl0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBzZWNvbmRhcnlDb2x1bW5zOiBzZWNvbmRhcnlDb2x1bW5zJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICB0b29sYmFyQnV0dG9uczogKHRvb2xiYXJCdXR0b25zJCB8IGFzeW5jKSEhIHwgc2VwZXJhdG9yRml4LFxyXG4gICAgICAgICAgICBwb3BpbjogKHNlY29uZGFyeUNvbHVtbnNDb3VudCQgfCBhc3luYykhISA+IDAgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXHJcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VOYW1lOiBkZXZpY2VOYW1lJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBtb2JpbGVPclRhYmxldDogbW9iaWxlT3JUYWJsZXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFjY2VzczogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5EZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXHJcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgaWNvbjogdmlld1NldHRpbmc/Lkljb24sXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogKGhpZGVUb29sYmFyJCB8IGFzeW5jKSA9PT0gdHJ1ZSB8fCB2aWV3U2V0dGluZy5IaWRlVG9vbGJhcixcclxuICAgICAgICAgICAgc2VsZWN0ZWRWaWV3OiBzZWxlY3RlZFZpZXcsXHJcbiAgICAgICAgICAgIHZpZXdDb2xsZWN0aW9uOiB2aWV3Q29sbGVjdGlvbixcclxuICAgICAgICAgICAgYWxsQ29sdW1uczogYWxsQ29sdW1ucyxcclxuICAgICAgICAgICAgZ3JpZFNldHRpbmc6IGdyaWRTZXR0aW5nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoYXNTdW1tYXJ5OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSGFzU3VtbWFyeVJvdyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBmb3JtTGF5b3V0OiBsYXlvdXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IHZpZXdTZXR0aW5nLkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxyXG4gICAgICAgICAgICBpbmxpbmVFZGl0V2l0aG91dFNlbGVjdGlvbjogdmlld1NldHRpbmcuSW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb24sXHJcbiAgICAgICAgICAgIHNob3dDcmVhdGVGb3JtOiB2aWV3U2V0dGluZy5TaG93Q3JlYXRlRm9ybSxcclxuICAgICAgICAgICAgaGlkZU9wZW5JY29uOiB2aWV3U2V0dGluZy5IaWRlT3Blbkljb24sXHJcbiAgICAgICAgICAgIGhpZGVUaXRsZU1vZGU6IHZpZXdTZXR0aW5nLkhpZGVUaXRsZU1vZGUsXHJcbiAgICAgICAgICAgIG9wZW5PbkNsaWNrOiB2aWV3U2V0dGluZy5PcGVuT25DbGljayxcclxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBjb250YWluZXJXaWR0aCQgfCBhc3luYyxcclxuICAgICAgICAgICAgdHlwZURlZklkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgcmVwb3J0SWQ6IGNvbnRleHQuU2V0dGluZy5FeHRyYS5SZXBvcnQuSWQsXHJcbiAgICAgICAgICAgIGxpc3RFZGl0Vmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0Lkxpc3RFZGl0Vmlld0lkLFxyXG4gICAgICAgICAgICB0eXBlVmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVWaWV3SWQsXHJcbiAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLFxyXG4gICAgICAgICAgICBleHRyYVJlbGF0aW9uOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LlJlbGF0aW9uLFxyXG4gICAgICAgICAgICBjb250ZXh0VmlldzogY29udGV4dC5TZXR0aW5nLlZpZXcsXHJcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGVzOiBjYXJ0YWJsZVRlbXBsYXRlcyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY2FydGFibGVDaGlsZHNNbzogY2FydGFibGVDaGlsZHNNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGlzYWJsZVJlc3BvbnNpdmU6IHZpZXdTZXR0aW5nLkRpc2FibGVSZXNwb25zaXZlLFxyXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRleHRTZXR0aW5nOiBjb250ZXh0LlNldHRpbmcsXHJcbiAgICAgICAgICAgIGN1c3RvbUZpZWxkSW5mbzogY29udGV4dC5TZXR0aW5nLkN1c3RvbUZpZWxkSW5mbyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRNbzogc2VsZWN0ZWRNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgaGlkZVNlYXJjaHBhbmVsOiBoaWRlU2VhcmNocGFuZWwkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkQ291bnQ6IHNlbGVjdGVkQ291bnQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBncmlkRnJlZUNvbHVtblNpemluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgVWx2TWFpbkN0cmxyOiBjb250ZXh0LkFkYXB0ZXI/LlVsdk1haW5DdHJscixcclxuICAgICAgICAgICAgYWxsb3dHcmlkQ29sdW1uU29ydDogY29udGV4dC5WaWV3U2V0dGluZz8uQWxsb3dHcmlkQ29sdW1uU29ydCxcclxuICAgICAgICAgICAgaGFzSW5saW5lRWRpdEJ1dHRvbjogdmlld1NldHRpbmcuSGFzSW5saW5lRWRpdEJ1dHRvbixcclxuICAgICAgICAgICAgaGFzSW5saW5lRGVsZXRlQnV0dG9uOiB2aWV3U2V0dGluZy5IYXNJbmxpbmVEZWxldGVCdXR0b24sXHJcbiAgICAgICAgICAgIHBhZ2luZ1NldHRpbmc6IHBhZ2luZ1NldHRpbmckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNob3J0Y3V0TGlzdDogdmlld1NldHRpbmcuU2hvcnRjdXRMaXN0Py5Nb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICBzaW1wbGVJbmxpbmVFZGl0OiBzaW1wbGVJbmxpbmVFZGl0XHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG48IS0tcmVuZGVyIGNvbnRhaW5lciAtLT5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjcmVuZGVyQ29udGFpbmVyXHJcbiAgICBsZXQtbW9EYXRhTGlzdFxyXG4gICAgbGV0LXNob3J0Y3V0TGlzdD1cInNob3J0Y3V0TGlzdFwiXHJcbiAgICBsZXQtaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb249XCJpbmxpbmVFZGl0V2l0aG91dFNlbGVjdGlvblwiXHJcbiAgICBsZXQtYWxsQ2hlY2tlZD1cImFsbENoZWNrZWRcIlxyXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxyXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcclxuICAgIGxldC1jb2x1bW5zQ291bnQ9XCJjb2x1bW5zQ291bnRcIlxyXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcclxuICAgIGxldC1zZWNvbmRhcnlDb2x1bW5zPVwic2Vjb25kYXJ5Q29sdW1uc1wiXHJcbiAgICBsZXQtY29udGV4dE1lbnVJdGVtcz1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcclxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxyXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgbGV0LXBvcGluPVwicG9waW5cIlxyXG4gICAgbGV0LW1vYmlsZU9yVGFibGV0PVwibW9iaWxlT3JUYWJsZXRcIlxyXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxyXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgbGV0LW9ubHlJbmxpbmVFZGl0PVwib25seUlubGluZUVkaXRcIlxyXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICBsZXQtcnRsPVwicnRsXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtc2VsZWN0ZWRWaWV3PVwic2VsZWN0ZWRWaWV3XCJcclxuICAgIGxldC12aWV3Q29sbGVjdGlvbj1cInZpZXdDb2xsZWN0aW9uXCJcclxuICAgIGxldC1oaWRlVG9vbGJhcj1cImhpZGVUb29sYmFyXCJcclxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcclxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgIGxldC1mb3JtTGF5b3V0PVwiZm9ybUxheW91dFwiXHJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgIGxldC1jb250YWluZXJXaWR0aD1cImNvbnRhaW5lcldpZHRoXCJcclxuICAgIGxldC1oYXNTdW1tYXJ5PVwiaGFzU3VtbWFyeVwiXHJcbiAgICBsZXQtdHlwZURlZklkPVwidHlwZURlZklkXCJcclxuICAgIGxldC1mb3JtU2V0dGluZz1cImZvcm1TZXR0aW5nXCJcclxuICAgIGxldC1leHRyYVJlbGF0aW9uPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICBsZXQtY29udGV4dFZpZXc9XCJjb250ZXh0Vmlld1wiXHJcbiAgICBsZXQtc2hvd0NyZWF0ZUZvcm09XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICBsZXQtaGlkZU9wZW5JY29uPVwiaGlkZU9wZW5JY29uXCJcclxuICAgIGxldC1jYXJ0YWJsZVRlbXBsYXRlcz1cImNhcnRhYmxlVGVtcGxhdGVzXCJcclxuICAgIGxldC1jYXJ0YWJsZUNoaWxkc01vPVwiY2FydGFibGVDaGlsZHNNb1wiXHJcbiAgICBsZXQtb3Blbk9uQ2xpY2s9XCJvcGVuT25DbGlja1wiXHJcbiAgICBsZXQtZGlzYWJsZVJlc3BvbnNpdmU9XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXHJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXHJcbiAgICBsZXQtaXNNdWx0aVNlbGVjdD1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgbGV0LWN1c3RvbUZpZWxkSW5mbz1cImN1c3RvbUZpZWxkSW5mb1wiXHJcbiAgICBsZXQtc2VsZWN0ZWRNbz1cInNlbGVjdGVkTW9cIlxyXG4gICAgbGV0LXNlbGVjdGVkQ291bnQ9XCJzZWxlY3RlZENvdW50XCJcclxuICAgIGxldC1oaWRlU2VhcmNocGFuZWw9XCJoaWRlU2VhcmNocGFuZWxcIlxyXG4gICAgbGV0LWdyaWRGcmVlQ29sdW1uU2l6aW5nPVwiZ3JpZEZyZWVDb2x1bW5TaXppbmdcIlxyXG4gICAgbGV0LXJlcG9ydElkPVwicmVwb3J0SWRcIlxyXG4gICAgbGV0LWxpc3RFZGl0Vmlld0lkPVwibGlzdEVkaXRWaWV3SWRcIlxyXG4gICAgbGV0LXR5cGVWaWV3SWQ9XCJ0eXBlVmlld0lkXCJcclxuICAgIGxldC1VbHZNYWluQ3RybHI9XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgbGV0LWFsbG93R3JpZENvbHVtblNvcnQ9XCJhbGxvd0dyaWRDb2x1bW5Tb3J0XCJcclxuICAgIGxldC1wYWdpbmdTZXR0aW5nPVwicGFnaW5nU2V0dGluZ1wiXHJcbiAgICBsZXQtaGFzSW5saW5lRGVsZXRlQnV0dG9uPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcclxuICAgIGxldC1oYXNJbmxpbmVFZGl0QnV0dG9uPVwiaGFzSW5saW5lRWRpdEJ1dHRvblwiXHJcbiAgICBsZXQtY29udGV4dFNldHRpbmc9XCJjb250ZXh0U2V0dGluZ1wiXHJcbiAgICBsZXQtaWNvbj1cImljb25cIlxyXG4gICAgbGV0LXNpbXBsZUlubGluZUVkaXQ9XCJzaW1wbGVJbmxpbmVFZGl0XCJcclxuICAgIGxldC1oaWRlVGl0bGVNb2RlPVwiaGlkZVRpdGxlTW9kZVwiXHJcbj5cclxuICAgIEBpZiAoc2hvd0NyZWF0ZUZvcm0pIHtcclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGJzdS1yZXBvcnQtbmV3LXRvcC1mb3JtXHJcbiAgICAgICAgICAgIFtleHRyYVJlbGF0aW9uXT1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3QubGVuZ3RoXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkTW9dPVwic2VsZWN0ZWRNb1wiXHJcbiAgICAgICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcclxuICAgICAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAoYWRkKT1cIm9uTmV3VG9wRm9ybUFkZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHNhdmUpPVwib25TYXZlVG9wRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9ic3UtcmVwb3J0LW5ldy10b3AtZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGJzdS11bHYtdG9vbGJhclxyXG4gICAgICAgIFthbGxvd0dyaWRDb2x1bW5Tb3J0XT1cImFsbG93R3JpZENvbHVtblNvcnRcIlxyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW3Rvb2xiYXJCdXR0b25zXT1cInRvb2xiYXJCdXR0b25zXCJcclxuICAgICAgICBbZ3JpZFNldHRpbmddPVwiZ3JpZFNldHRpbmdcIlxyXG4gICAgICAgIFtVbHZNYWluQ3RybHJdPVwiVWx2TWFpbkN0cmxyXCJcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFtoaWRlVGl0bGVdPVwiaGlkZVRpdGxlTW9kZSA9PT0gJzEnIHx8IGhpZGVUaXRsZU1vZGUgPT09ICczJ1wiXHJcbiAgICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFt2aWV3Q29sbGVjdGlvbl09XCJ2aWV3Q29sbGVjdGlvblwiXHJcbiAgICAgICAgW3JlcG9ydFZpZXddPVwic2VsZWN0ZWRWaWV3XCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiYWxsb3dJbmxpbmVFZGl0ICYmIGlubGluZUVkaXRNb2RlICYmIGZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdCAmJiBmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKCRldmVudClcIlxyXG4gICAgICAgIChncm91cGJ5Q2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbHVtbkNsaWNrKT1cIm9uQ29sdW1uU2V0dGluZ3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgICAgICAodmlld0NsaWNrKT1cIm9uQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAoY3JlYXRlTmV3SW5saW5lTW8pPVwib25Ub29sYmFyQ3JlYXRlTmV3SW5saW5lTW8oKVwiXHJcbiAgICA+PC9ic3UtdWx2LXRvb2xiYXI+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlcG9ydFZpZXdSZW5kZXJlclxyXG4gICAgICAgIFtzaW1wbGVJbmxpbmVFZGl0XT1cInNpbXBsZUlubGluZUVkaXRcIlxyXG4gICAgICAgIGNsYXNzPVwicmVwb3J0LXZpZXdcIlxyXG4gICAgICAgIFthdHRyLnJlcG9ydENhcHRpb25dPVwiY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5DYXB0aW9uXCJcclxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXHJcbiAgICAgICAgW2hpZGVUaXRsZV09XCJoaWRlVGl0bGVNb2RlID09PSAnMicgfHwgaGlkZVRpdGxlTW9kZSA9PT0gJzMnXCJcclxuICAgICAgICBbZ3JvdXBTdW1tYXJ5XT1cImdyb3VwU3VtbWFyeVwiXHJcbiAgICAgICAgW2hhc0lubGluZURlbGV0ZUJ1dHRvbl09XCJoYXNJbmxpbmVEZWxldGVCdXR0b25cIlxyXG4gICAgICAgIFtoYXNJbmxpbmVFZGl0QnV0dG9uXT1cImhhc0lubGluZUVkaXRCdXR0b25cIlxyXG4gICAgICAgIFtjb250ZXh0U2V0dGluZ109XCJjb250ZXh0U2V0dGluZ1wiXHJcbiAgICAgICAgW2xpc3RFZGl0Vmlld0lkXT1cImxpc3RFZGl0Vmlld0lkXCJcclxuICAgICAgICBbaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb25dPVwiaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb25cIlxyXG4gICAgICAgIFt0eXBlVmlld0lkXT1cInR5cGVWaWV3SWRcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW3BhZ2luZ1NldHRpbmddPVwicGFnaW5nU2V0dGluZ1wiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIFtyZXBvcnRJZF09XCJyZXBvcnRJZFwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICBbaGlkZVNlYXJjaHBhbmVsXT1cImhpZGVTZWFyY2hwYW5lbFwiXHJcbiAgICAgICAgW3NlbGVjdGVkTW9dPVwic2VsZWN0ZWRNb1wiXHJcbiAgICAgICAgW3NlbGVjdGVkQ291bnRdPVwic2VsZWN0ZWRDb3VudFwiXHJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcclxuICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXHJcbiAgICAgICAgW2N1c3RvbUZpZWxkSW5mb109XCJjdXN0b21GaWVsZEluZm9cIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW29wZW5PbkNsaWNrXT1cIm9wZW5PbkNsaWNrXCJcclxuICAgICAgICBbY29udGV4dFZpZXddPVwiY29udGV4dFZpZXdcIlxyXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJjb250YWluZXJXaWR0aFwiXHJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICAgICAgW3R5cGVEZWZJZF09XCJ0eXBlRGVmSWRcIlxyXG4gICAgICAgIFtjYXJ0YWJsZVRlbXBsYXRlc109XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXHJcbiAgICAgICAgW2NhcnRhYmxlQ2hpbGRzTW9dPVwiY2FydGFibGVDaGlsZHNNb1wiXHJcbiAgICAgICAgW3ZpZXddPVwic2VsZWN0ZWRWaWV3XCJcclxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgIFthbGxDaGVja2VkXT1cImFsbENoZWNrZWRcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0XT1cIm1vRGF0YUxpc3RcIlxyXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgICAgW21vYmlsZU9yVGFibGV0XT1cIm1vYmlsZU9yVGFibGV0XCJcclxuICAgICAgICBbcG9waW5dPVwicG9waW5cIlxyXG4gICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnNcIlxyXG4gICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2hhc1N1bW1hcnldPVwiaGFzU3VtbWFyeVwiXHJcbiAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnRcIlxyXG4gICAgICAgIFtmb3JtTGF5b3V0XT1cImZvcm1MYXlvdXRcIlxyXG4gICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXHJcbiAgICAgICAgKGVzY2FwZUtleSk9XCJvbkVzY2FwZUtleSgkZXZlbnQpXCJcclxuICAgICAgICAocmVzZXRXb3JrZmxvd1N0YXRlKT1cIm9uUmVzZXRXb3JrZmxvd1N0YXRlKCRldmVudClcIlxyXG4gICAgICAgIChoYXNEZXRhaWxzSW5Sb3cpPVwib25IYXNEZXRhaWxzSW5Sb3coJGV2ZW50LCBkZXZpY2VTaXplKVwiXHJcbiAgICAgICAgKGV4ZWN1dGVUb29sYmFyQnV0dG9uKT1cIm9uRXhlY3V0ZVRvb2xiYXJCdXR0b24oJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdE5leHRJbmxpbmVSZWNvcmQpPVwib25TZWxlY3ROZXh0SW5saW5lUmVjb3JkKCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3ROZXh0SW5saW5lUmVjb3JkKT1cIm9uU2VsZWN0TmV4dElubGluZVJlY29yZCgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSk9XCJvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAodWx2Q29tbWFuZENsaWNrKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcclxuICAgICAgICAoc29ydEFzY2VuZGluZyk9XCJvblNvcnRBc2NlbmRpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNvcnREZXNjZW5kaW5nKT1cIm9uU29ydERlc2NlbmRpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAoZGVzZWxlY3RBbGwpPVwib25EZXNlbGVjdEFsbCgpXCJcclxuICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2spPVwib25FeHBhbmRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoY29sdW1uUmVzaXplZCk9XCJvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNhcnRhYmxlRm9ybUNsb3NlZCk9XCJvbkNhcnRhYmxlRm9ybUNsb3NlZCgkZXZlbnQpXCJcclxuICAgICAgICAoY3JlYXRlTmV3TW8pPVwib25DcmVhdGVOZXdNbygpXCJcclxuICAgICAgICAodXBkYXRlTW8pPVwib25VcGRhdGVNbygkZXZlbnQpXCJcclxuICAgICAgICAobWFuZGF0b3J5KT1cIm9uTWFuZGF0b3J5KCRldmVudClcIlxyXG4gICAgICAgIChzb3J0U2V0dGluZ3NDaGFuZ2UpPVwib25Tb3J0U2V0dGluZ3NDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHdvcmtmbG93U2hhcmVCdXR0b25zKT1cIm9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlc2V0R3JpZFNldHRpbmdzKT1cIm9uUmVzZXRHcmlkU2V0dGluZ3MoKVwiXHJcbiAgICAgICAgcGFyYW1ldGVycy5TaG9ydGN1dExpc3QuTW9EYXRhTGlzdFxyXG4gICAgPjwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1yZXBvcnQtY29udGFpbmVyL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmVwb3J0LWNvbnRhaW5lci91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXVCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUFpRDtJQVBqRzs7UUFZSSxtQkFBYyxHQUF1QixFQUFFLENBQUM7S0EyQjNDO0lBekJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQTZCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNPLFNBQVM7UUFDYixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDdkcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUMvQyxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNPLFdBQVcsQ0FBQyxXQUE2QjtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBQ08sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvQlEsMEJBQTBCO21HQUExQiwwQkFBMEIsb2FDWHZDLHltWkFtUkE7OzRGRHhRYSwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBRzJCLFNBQVM7c0JBQXBELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxZQUFZO3NCQUExRCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2UsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1yZXBvcnQtY29udGFpbmVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdyZW5kZXJUYWJsZScsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlVmlldzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlckNhcmRMaXN0JywgeyBzdGF0aWM6IHRydWUgfSkgY2FyZExpc3RWaWV3OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgncmVuZGVyTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RWaWV3OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgc2VsZWN0ZWRWaWV3OiBVaVJlcG9ydFZpZXdCYXNlO1xyXG4gICAgdmlld0NvbGxlY3Rpb246IFVpUmVwb3J0Vmlld0Jhc2VbXSA9IFtdO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5faW5pdFZpZXcoKTtcclxuICAgICAgICB0aGlzLmhpZGVQYWdpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZpZXcodmlld1NldHRpbmc6IFVpUmVwb3J0Vmlld0Jhc2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3KHZpZXdTZXR0aW5nKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2luaXRWaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHZpZXdDb2xsZWN0aW9uID0gdGhpcy5jb250ZXh0LlNldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlZpZXdDb2xsZWN0aW9uLk1vRGF0YUxpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgICAodmlldykgPT4gIXZpZXcuVWlDb21wb25lbnQuU2V0dGluZ3M/LkhpZGRlblxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFZpZXcgPSB2aWV3Q29sbGVjdGlvbi5maW5kKCh2aWV3KSA9PiB2aWV3LlVpQ29tcG9uZW50LlNldHRpbmdzPy5Jc0RlZmF1bHQpID8/IHZpZXdDb2xsZWN0aW9uWzBdO1xyXG4gICAgICAgIHRoaXMudmlld0NvbGxlY3Rpb24gPSB2aWV3Q29sbGVjdGlvbjtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3KGRlZmF1bHRWaWV3KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NoYW5nZVZpZXcodWlDb21wb25lbnQ6IFVpUmVwb3J0Vmlld0Jhc2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmlldyA9IHVpQ29tcG9uZW50O1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBoaWRlUGFnaW5nKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5IaWRlUGFnaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVQYWdpbmcodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS1yZW5kZXIgY29udGFpbmVyLS0+XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgcmVuZGVyQ29udGFpbmVyO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBncmlkRGF0YVNvdXJjZS5kYXRhJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxDaGVja2VkOiBhbGxDaGVja2VkJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpc0NoZWNrTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBjb2x1bW5zQ291bnQ6IGNvbHVtbnNDb3VudCQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgb25seUlubGluZUVkaXQ6IG9ubHlJbmxpbmVFZGl0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBzZWNvbmRhcnlDb2x1bW5zOiBzZWNvbmRhcnlDb2x1bW5zJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICB0b29sYmFyQnV0dG9uczogKHRvb2xiYXJCdXR0b25zJCB8IGFzeW5jKSEhIHwgc2VwZXJhdG9yRml4LFxyXG4gICAgICAgICAgICBwb3BpbjogKHNlY29uZGFyeUNvbHVtbnNDb3VudCQgfCBhc3luYykhISA+IDAgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXHJcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VOYW1lOiBkZXZpY2VOYW1lJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBtb2JpbGVPclRhYmxldDogbW9iaWxlT3JUYWJsZXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFjY2VzczogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5EZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXHJcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgaWNvbjogdmlld1NldHRpbmc/Lkljb24sXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogKGhpZGVUb29sYmFyJCB8IGFzeW5jKSA9PT0gdHJ1ZSB8fCB2aWV3U2V0dGluZy5IaWRlVG9vbGJhcixcclxuICAgICAgICAgICAgc2VsZWN0ZWRWaWV3OiBzZWxlY3RlZFZpZXcsXHJcbiAgICAgICAgICAgIHZpZXdDb2xsZWN0aW9uOiB2aWV3Q29sbGVjdGlvbixcclxuICAgICAgICAgICAgYWxsQ29sdW1uczogYWxsQ29sdW1ucyxcclxuICAgICAgICAgICAgZ3JpZFNldHRpbmc6IGdyaWRTZXR0aW5nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoYXNTdW1tYXJ5OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSGFzU3VtbWFyeVJvdyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBmb3JtTGF5b3V0OiBsYXlvdXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IHZpZXdTZXR0aW5nLkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxyXG4gICAgICAgICAgICBpbmxpbmVFZGl0V2l0aG91dFNlbGVjdGlvbjogdmlld1NldHRpbmcuSW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb24sXHJcbiAgICAgICAgICAgIHNob3dDcmVhdGVGb3JtOiB2aWV3U2V0dGluZy5TaG93Q3JlYXRlRm9ybSxcclxuICAgICAgICAgICAgaGlkZU9wZW5JY29uOiB2aWV3U2V0dGluZy5IaWRlT3Blbkljb24sXHJcbiAgICAgICAgICAgIGhpZGVUaXRsZU1vZGU6IHZpZXdTZXR0aW5nLkhpZGVUaXRsZU1vZGUsXHJcbiAgICAgICAgICAgIG9wZW5PbkNsaWNrOiB2aWV3U2V0dGluZy5PcGVuT25DbGljayxcclxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBjb250YWluZXJXaWR0aCQgfCBhc3luYyxcclxuICAgICAgICAgICAgdHlwZURlZklkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgcmVwb3J0SWQ6IGNvbnRleHQuU2V0dGluZy5FeHRyYS5SZXBvcnQuSWQsXHJcbiAgICAgICAgICAgIGxpc3RFZGl0Vmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0Lkxpc3RFZGl0Vmlld0lkLFxyXG4gICAgICAgICAgICB0eXBlVmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVWaWV3SWQsXHJcbiAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLFxyXG4gICAgICAgICAgICBleHRyYVJlbGF0aW9uOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LlJlbGF0aW9uLFxyXG4gICAgICAgICAgICBjb250ZXh0VmlldzogY29udGV4dC5TZXR0aW5nLlZpZXcsXHJcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGVzOiBjYXJ0YWJsZVRlbXBsYXRlcyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY2FydGFibGVDaGlsZHNNbzogY2FydGFibGVDaGlsZHNNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGlzYWJsZVJlc3BvbnNpdmU6IHZpZXdTZXR0aW5nLkRpc2FibGVSZXNwb25zaXZlLFxyXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRleHRTZXR0aW5nOiBjb250ZXh0LlNldHRpbmcsXHJcbiAgICAgICAgICAgIGN1c3RvbUZpZWxkSW5mbzogY29udGV4dC5TZXR0aW5nLkN1c3RvbUZpZWxkSW5mbyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRNbzogc2VsZWN0ZWRNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgaGlkZVNlYXJjaHBhbmVsOiBoaWRlU2VhcmNocGFuZWwkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkQ291bnQ6IHNlbGVjdGVkQ291bnQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBncmlkRnJlZUNvbHVtblNpemluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgVWx2TWFpbkN0cmxyOiBjb250ZXh0LkFkYXB0ZXI/LlVsdk1haW5DdHJscixcclxuICAgICAgICAgICAgYWxsb3dHcmlkQ29sdW1uU29ydDogY29udGV4dC5WaWV3U2V0dGluZz8uQWxsb3dHcmlkQ29sdW1uU29ydCxcclxuICAgICAgICAgICAgaGFzSW5saW5lRWRpdEJ1dHRvbjogdmlld1NldHRpbmcuSGFzSW5saW5lRWRpdEJ1dHRvbixcclxuICAgICAgICAgICAgaGFzSW5saW5lRGVsZXRlQnV0dG9uOiB2aWV3U2V0dGluZy5IYXNJbmxpbmVEZWxldGVCdXR0b24sXHJcbiAgICAgICAgICAgIHBhZ2luZ1NldHRpbmc6IHBhZ2luZ1NldHRpbmckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNob3J0Y3V0TGlzdDogdmlld1NldHRpbmcuU2hvcnRjdXRMaXN0Py5Nb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICBzaW1wbGVJbmxpbmVFZGl0OiBzaW1wbGVJbmxpbmVFZGl0LFxyXG4gICAgICAgICAgICB0b29sYmFyU2V0dGluZ3M6IHZpZXdTZXR0aW5nLlRvb2xiYXJTZXR0aW5nc1xyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLXJlbmRlciBjb250YWluZXIgLS0+XHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3JlbmRlckNvbnRhaW5lclxyXG4gICAgbGV0LW1vRGF0YUxpc3RcclxuICAgIGxldC1zaG9ydGN1dExpc3Q9XCJzaG9ydGN1dExpc3RcIlxyXG4gICAgbGV0LWlubGluZUVkaXRXaXRob3V0U2VsZWN0aW9uPVwiaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb25cIlxyXG4gICAgbGV0LWFsbENoZWNrZWQ9XCJhbGxDaGVja2VkXCJcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXHJcbiAgICBsZXQtY29sdW1uc0NvdW50PVwiY29sdW1uc0NvdW50XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtc2Vjb25kYXJ5Q29sdW1ucz1cInNlY29uZGFyeUNvbHVtbnNcIlxyXG4gICAgbGV0LWNvbnRleHRNZW51SXRlbXM9XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcclxuICAgIGxldC1kZXZpY2VTaXplPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC10b29sYmFyQnV0dG9ucz1cInRvb2xiYXJCdXR0b25zXCJcclxuICAgIGxldC1wb3Bpbj1cInBvcGluXCJcclxuICAgIGxldC1tb2JpbGVPclRhYmxldD1cIm1vYmlsZU9yVGFibGV0XCJcclxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcclxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgIGxldC1vbmx5SW5saW5lRWRpdD1cIm9ubHlJbmxpbmVFZGl0XCJcclxuICAgIGxldC1hbGxvd0lubGluZUVkaXQ9XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgbGV0LXJ0bD1cInJ0bFwiXHJcbiAgICBsZXQtYWxsQ29sdW1ucz1cImFsbENvbHVtbnNcIlxyXG4gICAgbGV0LXNlbGVjdGVkVmlldz1cInNlbGVjdGVkVmlld1wiXHJcbiAgICBsZXQtdmlld0NvbGxlY3Rpb249XCJ2aWV3Q29sbGVjdGlvblwiXHJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXHJcbiAgICBsZXQtZ3JpZFNldHRpbmc9XCJncmlkU2V0dGluZ1wiXHJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtZm9ybUxheW91dD1cImZvcm1MYXlvdXRcIlxyXG4gICAgbGV0LWhhc1NlbGVjdGVkPVwiaGFzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LWRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgbGV0LW5hdmlnYXRpb25BcnJvdz1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICBsZXQtY29udGFpbmVyV2lkdGg9XCJjb250YWluZXJXaWR0aFwiXHJcbiAgICBsZXQtaGFzU3VtbWFyeT1cImhhc1N1bW1hcnlcIlxyXG4gICAgbGV0LXR5cGVEZWZJZD1cInR5cGVEZWZJZFwiXHJcbiAgICBsZXQtZm9ybVNldHRpbmc9XCJmb3JtU2V0dGluZ1wiXHJcbiAgICBsZXQtZXh0cmFSZWxhdGlvbj1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgbGV0LWNvbnRleHRWaWV3PVwiY29udGV4dFZpZXdcIlxyXG4gICAgbGV0LXNob3dDcmVhdGVGb3JtPVwic2hvd0NyZWF0ZUZvcm1cIlxyXG4gICAgbGV0LWhpZGVPcGVuSWNvbj1cImhpZGVPcGVuSWNvblwiXHJcbiAgICBsZXQtY2FydGFibGVUZW1wbGF0ZXM9XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXHJcbiAgICBsZXQtY2FydGFibGVDaGlsZHNNbz1cImNhcnRhYmxlQ2hpbGRzTW9cIlxyXG4gICAgbGV0LW9wZW5PbkNsaWNrPVwib3Blbk9uQ2xpY2tcIlxyXG4gICAgbGV0LWRpc2FibGVSZXNwb25zaXZlPVwiZGlzYWJsZVJlc3BvbnNpdmVcIlxyXG4gICAgbGV0LWluRGlhbG9nPVwiaW5EaWFsb2dcIlxyXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcclxuICAgIGxldC1jdXN0b21GaWVsZEluZm89XCJjdXN0b21GaWVsZEluZm9cIlxyXG4gICAgbGV0LXNlbGVjdGVkTW89XCJzZWxlY3RlZE1vXCJcclxuICAgIGxldC1zZWxlY3RlZENvdW50PVwic2VsZWN0ZWRDb3VudFwiXHJcbiAgICBsZXQtaGlkZVNlYXJjaHBhbmVsPVwiaGlkZVNlYXJjaHBhbmVsXCJcclxuICAgIGxldC1ncmlkRnJlZUNvbHVtblNpemluZz1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgIGxldC1yZXBvcnRJZD1cInJlcG9ydElkXCJcclxuICAgIGxldC1saXN0RWRpdFZpZXdJZD1cImxpc3RFZGl0Vmlld0lkXCJcclxuICAgIGxldC10eXBlVmlld0lkPVwidHlwZVZpZXdJZFwiXHJcbiAgICBsZXQtVWx2TWFpbkN0cmxyPVwiVWx2TWFpbkN0cmxyXCJcclxuICAgIGxldC1hbGxvd0dyaWRDb2x1bW5Tb3J0PVwiYWxsb3dHcmlkQ29sdW1uU29ydFwiXHJcbiAgICBsZXQtcGFnaW5nU2V0dGluZz1cInBhZ2luZ1NldHRpbmdcIlxyXG4gICAgbGV0LWhhc0lubGluZURlbGV0ZUJ1dHRvbj1cImhhc0lubGluZURlbGV0ZUJ1dHRvblwiXHJcbiAgICBsZXQtaGFzSW5saW5lRWRpdEJ1dHRvbj1cImhhc0lubGluZUVkaXRCdXR0b25cIlxyXG4gICAgbGV0LWNvbnRleHRTZXR0aW5nPVwiY29udGV4dFNldHRpbmdcIlxyXG4gICAgbGV0LWljb249XCJpY29uXCJcclxuICAgIGxldC1zaW1wbGVJbmxpbmVFZGl0PVwic2ltcGxlSW5saW5lRWRpdFwiXHJcbiAgICBsZXQtaGlkZVRpdGxlTW9kZT1cImhpZGVUaXRsZU1vZGVcIlxyXG4gICAgbGV0LXRvb2xiYXJTZXR0aW5ncz1cInRvb2xiYXJTZXR0aW5nc1wiXHJcbj5cclxuICAgIEBpZiAoc2hvd0NyZWF0ZUZvcm0pIHtcclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGJzdS1yZXBvcnQtbmV3LXRvcC1mb3JtXHJcbiAgICAgICAgICAgIFtleHRyYVJlbGF0aW9uXT1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3QubGVuZ3RoXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkTW9dPVwic2VsZWN0ZWRNb1wiXHJcbiAgICAgICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcclxuICAgICAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAoYWRkKT1cIm9uTmV3VG9wRm9ybUFkZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHNhdmUpPVwib25TYXZlVG9wRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9ic3UtcmVwb3J0LW5ldy10b3AtZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGJzdS11bHYtdG9vbGJhclxyXG4gICAgICAgIFthbGxvd0dyaWRDb2x1bW5Tb3J0XT1cImFsbG93R3JpZENvbHVtblNvcnRcIlxyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW3Rvb2xiYXJCdXR0b25zXT1cInRvb2xiYXJCdXR0b25zIHwgdWx2VG9vbGJhclNldHRpbmdzOnRvb2xiYXJTZXR0aW5nc1wiXHJcbiAgICAgICAgW2dyaWRTZXR0aW5nXT1cImdyaWRTZXR0aW5nXCJcclxuICAgICAgICBbVWx2TWFpbkN0cmxyXT1cIlVsdk1haW5DdHJsclwiICAgICAgICBcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFtoaWRlVGl0bGVdPVwiaGlkZVRpdGxlTW9kZSA9PT0gJzEnIHx8IGhpZGVUaXRsZU1vZGUgPT09ICczJ1wiXHJcbiAgICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFt2aWV3Q29sbGVjdGlvbl09XCJ2aWV3Q29sbGVjdGlvblwiXHJcbiAgICAgICAgW3JlcG9ydFZpZXddPVwic2VsZWN0ZWRWaWV3XCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiYWxsb3dJbmxpbmVFZGl0ICYmIGlubGluZUVkaXRNb2RlICYmIGZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdCAmJiBmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKCRldmVudClcIlxyXG4gICAgICAgIChncm91cGJ5Q2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbHVtbkNsaWNrKT1cIm9uQ29sdW1uU2V0dGluZ3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgICAgICAodmlld0NsaWNrKT1cIm9uQ2hhbmdlVmlldygkZXZlbnQpXCJcclxuICAgICAgICAoY3JlYXRlTmV3SW5saW5lTW8pPVwib25Ub29sYmFyQ3JlYXRlTmV3SW5saW5lTW8oKVwiXHJcbiAgICA+PC9ic3UtdWx2LXRvb2xiYXI+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlcG9ydFZpZXdSZW5kZXJlclxyXG4gICAgICAgIFtzaW1wbGVJbmxpbmVFZGl0XT1cInNpbXBsZUlubGluZUVkaXRcIlxyXG4gICAgICAgIGNsYXNzPVwicmVwb3J0LXZpZXdcIlxyXG4gICAgICAgIFthdHRyLnJlcG9ydENhcHRpb25dPVwiY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5DYXB0aW9uXCJcclxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXHJcbiAgICAgICAgW2hpZGVUaXRsZV09XCJoaWRlVGl0bGVNb2RlID09PSAnMicgfHwgaGlkZVRpdGxlTW9kZSA9PT0gJzMnXCJcclxuICAgICAgICBbZ3JvdXBTdW1tYXJ5XT1cImdyb3VwU3VtbWFyeVwiXHJcbiAgICAgICAgW2hhc0lubGluZURlbGV0ZUJ1dHRvbl09XCJoYXNJbmxpbmVEZWxldGVCdXR0b25cIlxyXG4gICAgICAgIFtoYXNJbmxpbmVFZGl0QnV0dG9uXT1cImhhc0lubGluZUVkaXRCdXR0b25cIlxyXG4gICAgICAgIFtjb250ZXh0U2V0dGluZ109XCJjb250ZXh0U2V0dGluZ1wiXHJcbiAgICAgICAgW2xpc3RFZGl0Vmlld0lkXT1cImxpc3RFZGl0Vmlld0lkXCJcclxuICAgICAgICBbaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb25dPVwiaW5saW5lRWRpdFdpdGhvdXRTZWxlY3Rpb25cIlxyXG4gICAgICAgIFt0eXBlVmlld0lkXT1cInR5cGVWaWV3SWRcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW3BhZ2luZ1NldHRpbmddPVwicGFnaW5nU2V0dGluZ1wiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIFtyZXBvcnRJZF09XCJyZXBvcnRJZFwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICBbaGlkZVNlYXJjaHBhbmVsXT1cImhpZGVTZWFyY2hwYW5lbFwiXHJcbiAgICAgICAgW3NlbGVjdGVkTW9dPVwic2VsZWN0ZWRNb1wiXHJcbiAgICAgICAgW3NlbGVjdGVkQ291bnRdPVwic2VsZWN0ZWRDb3VudFwiXHJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcclxuICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXHJcbiAgICAgICAgW2N1c3RvbUZpZWxkSW5mb109XCJjdXN0b21GaWVsZEluZm9cIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW29wZW5PbkNsaWNrXT1cIm9wZW5PbkNsaWNrXCJcclxuICAgICAgICBbY29udGV4dFZpZXddPVwiY29udGV4dFZpZXdcIlxyXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJjb250YWluZXJXaWR0aFwiXHJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICAgICAgW3R5cGVEZWZJZF09XCJ0eXBlRGVmSWRcIlxyXG4gICAgICAgIFtjYXJ0YWJsZVRlbXBsYXRlc109XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXHJcbiAgICAgICAgW2NhcnRhYmxlQ2hpbGRzTW9dPVwiY2FydGFibGVDaGlsZHNNb1wiXHJcbiAgICAgICAgW3ZpZXddPVwic2VsZWN0ZWRWaWV3XCJcclxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgIFthbGxDaGVja2VkXT1cImFsbENoZWNrZWRcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0XT1cIm1vRGF0YUxpc3RcIlxyXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgICAgW21vYmlsZU9yVGFibGV0XT1cIm1vYmlsZU9yVGFibGV0XCJcclxuICAgICAgICBbcG9waW5dPVwicG9waW5cIlxyXG4gICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnNcIlxyXG4gICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2hhc1N1bW1hcnldPVwiaGFzU3VtbWFyeVwiXHJcbiAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnRcIlxyXG4gICAgICAgIFtmb3JtTGF5b3V0XT1cImZvcm1MYXlvdXRcIlxyXG4gICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXHJcbiAgICAgICAgKGVzY2FwZUtleSk9XCJvbkVzY2FwZUtleSgkZXZlbnQpXCJcclxuICAgICAgICAocmVzZXRXb3JrZmxvd1N0YXRlKT1cIm9uUmVzZXRXb3JrZmxvd1N0YXRlKCRldmVudClcIlxyXG4gICAgICAgIChoYXNEZXRhaWxzSW5Sb3cpPVwib25IYXNEZXRhaWxzSW5Sb3coJGV2ZW50LCBkZXZpY2VTaXplKVwiXHJcbiAgICAgICAgKGV4ZWN1dGVUb29sYmFyQnV0dG9uKT1cIm9uRXhlY3V0ZVRvb2xiYXJCdXR0b24oJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdE5leHRJbmxpbmVSZWNvcmQpPVwib25TZWxlY3ROZXh0SW5saW5lUmVjb3JkKCRldmVudClcIlxyXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsQ2FuY2VsKT1cIm9uRWRpdEZvcm1QYW5lbENhbmNlbCgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlKT1cIm9uRWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICh1bHZDb21tYW5kQ2xpY2spPVwib25VbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgIChzb3J0QXNjZW5kaW5nKT1cIm9uU29ydEFzY2VuZGluZygkZXZlbnQpXCJcclxuICAgICAgICAoc29ydERlc2NlbmRpbmcpPVwib25Tb3J0RGVzY2VuZGluZygkZXZlbnQpXCJcclxuICAgICAgICAoZmlsdGVyKT1cIm9uRmlsdGVyKCRldmVudClcIlxyXG4gICAgICAgIChkZXNlbGVjdEFsbCk9XCJvbkRlc2VsZWN0QWxsKClcIlxyXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChhbGxDaGVja2JveCk9XCJvbkFsbENoZWNrYm94KCRldmVudClcIlxyXG4gICAgICAgIChleHBhbmRDbGljayk9XCJvbkV4cGFuZENsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChjb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQpXCJcclxuICAgICAgICAoY2FydGFibGVGb3JtQ2xvc2VkKT1cIm9uQ2FydGFibGVGb3JtQ2xvc2VkKCRldmVudClcIlxyXG4gICAgICAgIChjcmVhdGVOZXdNbyk9XCJvbkNyZWF0ZU5ld01vKClcIlxyXG4gICAgICAgICh1cGRhdGVNbyk9XCJvblVwZGF0ZU1vKCRldmVudClcIlxyXG4gICAgICAgIChtYW5kYXRvcnkpPVwib25NYW5kYXRvcnkoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNvcnRTZXR0aW5nc0NoYW5nZSk9XCJvblNvcnRTZXR0aW5nc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAod29ya2Zsb3dTaGFyZUJ1dHRvbnMpPVwib25Xb3JrZmxvd1NoYXJlQnV0dG9ucygkZXZlbnQpXCJcclxuICAgICAgICAocmVzZXRHcmlkU2V0dGluZ3MpPVwib25SZXNldEdyaWRTZXR0aW5ncygpXCJcclxuICAgICAgICBwYXJhbWV0ZXJzLlNob3J0Y3V0TGlzdC5Nb0RhdGFMaXN0XHJcbiAgICA+PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -35,11 +35,11 @@ export class UiTinymceComponent extends FieldBaseComponent {
|
|
|
35
35
|
this.context.fireEvent('change', this, newValue, this.value, {});
|
|
36
36
|
}
|
|
37
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTinymceComponent, selector: "bsu-ui-tinymce", host: { properties: { "style.min-height": "this.tinyHeight", "style.min-width": "this._minWidth" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiTinymceComponent, selector: "bsu-ui-tinymce", host: { properties: { "style.min-height": "this.tinyHeight", "style.min-width": "this._minWidth" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important;text-wrap: auto;\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #editMode>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.html-readonly ::ng-deep>p{overflow:auto}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"], dependencies: [{ 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.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i3.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i4.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i5.BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: ["Setting", "isReadonly", "value", "IsInline", "defaultVerbs"], outputs: ["valueChange", "tinyInit"] }, { kind: "directive", type: i6.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SanitizeTextPipe, name: "sanitizeText" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
39
|
}
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiTinymceComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
|
-
args: [{ selector: 'bsu-ui-tinymce', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important
|
|
42
|
+
args: [{ selector: 'bsu-ui-tinymce', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *untilInView=\"el\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n (Setting.IsHtmlViewer || (disableOrReadonly$ | async)) === true ? readonlyMode : editMode;\r\n context: { disable: (disable$ | async) === true }\r\n \"\r\n ></ng-container>\r\n <ng-template #readonlyMode let-disable=\"disable\">\r\n <input fd-form-control class=\"hide\" />\r\n <div\r\n class=\"html-readonly fd-input\"\r\n contentDensity\r\n [attr.readonly]=\"true\"\r\n [class.readonly]=\"true\"\r\n [class.anonymous]=\"isAnonymous\"\r\n [class.disable]=\"disable\"\r\n [innerHtml]=\"value | sanitizeText\"\r\n [style.pointer-event]=\"disable ? 'none' : null\"\r\n style=\"height: auto !important;text-wrap: auto;\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #editMode>\r\n <bsu-mask *ngIf=\"!tinyInit\"></bsu-mask>\r\n <bsu-barsa-tinyemce\r\n [attr.ismobile]=\"isMobile\"\r\n [attr.ismobile]=\"isTablet\"\r\n [Setting]=\"Setting\"\r\n [IsInline]=\"parameters?.IsInline === true\"\r\n [value]=\"value\"\r\n [defaultVerbs]=\"context.defaultVerbs\"\r\n (tinyInit)=\"onTinyInit()\"\r\n (valueChange)=\"onTinyChanged($event)\"\r\n [readonly]=\"isReadonly\"\r\n ></bsu-barsa-tinyemce>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;height:100%;width:100%;align-self:flex-start}:host ::ng-deep .tox.tox-tinymce{border-radius:0%;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor)}.html-readonly,bsu-barsa-tinyemce{flex-grow:1}.html-readonly ::ng-deep>p{overflow:auto}.readonly{background:var(--sapBackgroundColor);height:100%}.disable{background:var(--sapBackgroundColor);height:100%;opacity:.5}.readonly.anonymous{background-color:transparent;border:none}\n"] }]
|
|
43
43
|
}], propDecorators: { tinyHeight: [{
|
|
44
44
|
type: HostBinding,
|
|
45
45
|
args: ['style.min-height']
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
47
47
|
type: HostBinding,
|
|
48
48
|
args: ['style.min-width']
|
|
49
49
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdGlueW1jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10aW55bWNlL3VpLXRpbnltY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVM1RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBUDFEOztRQVFxQyxlQUFVLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUVuRixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBdUJwQjtJQXBCRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUM1RSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQTRCLENBQUM7UUFDakQsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFDMUQsMERBQTBEO0lBQzlELENBQUM7SUFDRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUNELGFBQWEsQ0FBQyxRQUFRO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBMUJRLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1MQ1gvQixzK0NBcUNBOzs0RkQxQmEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR2dCLFVBQVU7c0JBQTFDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNDLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYUFwaSwgRmllbGRCYXNlQ29tcG9uZW50LCBnZXREZXZpY2VJc01vYmlsZSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdGlueW1jZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdGlueW1jZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS10aW55bWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRpbnltY2VDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi1oZWlnaHQnKSB0aW55SGVpZ2h0ID0gJzEwMHB4JztcclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgX21pbldpZHRoID0gZ2V0RGV2aWNlSXNNb2JpbGUoKSA/ICcxMDAlJyA6ICczMjBweCc7XHJcbiAgICBpc1JlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgdGlueUluaXQgPSBmYWxzZTtcclxuICAgIGlzQW5vbnltb3VzOiBib29sZWFuO1xyXG4gICAgcGFyYW1ldGVyczogVWlUaW55bWNlU2V0dGluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc1JlYWRvbmx5ID0gdGhpcy5TZXR0aW5nLklzUmVhZE9ubHkgfHwgdGhpcy5TZXR0aW5nLkNvbnRyb2xJc1JlYWRPbmx5O1xyXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAoZWwucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgICAgICBlbC5wYXJlbnRFbGVtZW50LnN0eWxlLmFsaWduU2VsZiA9ICdzdHJldGNoJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuU2V0dGluZy5Jc0h0bWxWaWV3ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aW55SGVpZ2h0ID0gJ2F1dG8nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzID0gIUJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW47XHJcbiAgICAgICAgLy8gdGhpcy50aW55SGVpZ2h0ID0gdGhpcy5sYXlvdXRJbmZvLkNvbnRyb2xCb3VuZHMuaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgb25UaW55SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRpbnlJbml0ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIG9uVGlueUNoYW5nZWQobmV3VmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdjaGFuZ2UnLCB0aGlzLCBuZXdWYWx1ZSwgdGhpcy52YWx1ZSwge30pO1xyXG4gICAgfVxyXG59XHJcbmludGVyZmFjZSBVaVRpbnltY2VTZXR0aW5nIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBJc0lubGluZTogYm9vbGVhbjtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICp1bnRpbEluVmlldz1cImVsXCI+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgKFNldHRpbmcuSXNIdG1sVmlld2VyIHx8IChkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykpID09PSB0cnVlID8gcmVhZG9ubHlNb2RlIDogZWRpdE1vZGU7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgZGlzYWJsZTogKGRpc2FibGUkIHwgYXN5bmMpID09PSB0cnVlIH1cclxuICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZWFkb25seU1vZGUgbGV0LWRpc2FibGU9XCJkaXNhYmxlXCI+XHJcbiAgICAgICAgPGlucHV0IGZkLWZvcm0tY29udHJvbCBjbGFzcz1cImhpZGVcIiAvPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJodG1sLXJlYWRvbmx5IGZkLWlucHV0XCJcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHlcclxuICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5yZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFub255bW91c109XCJpc0Fub255bW91c1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlXT1cImRpc2FibGVcIlxyXG4gICAgICAgICAgICBbaW5uZXJIdG1sXT1cInZhbHVlIHwgc2FuaXRpemVUZXh0XCJcclxuICAgICAgICAgICAgW3N0eWxlLnBvaW50ZXItZXZlbnRdPVwiZGlzYWJsZSA/ICdub25lJyA6IG51bGxcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogYXV0byAhaW1wb3J0YW50O3RleHQtd3JhcDogYXV0bztcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlZGl0TW9kZT5cclxuICAgICAgICA8YnN1LW1hc2sgKm5nSWY9XCIhdGlueUluaXRcIj48L2JzdS1tYXNrPlxyXG4gICAgICAgIDxic3UtYmFyc2EtdGlueWVtY2VcclxuICAgICAgICAgICAgW2F0dHIuaXNtb2JpbGVdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgICAgICBbYXR0ci5pc21vYmlsZV09XCJpc1RhYmxldFwiXHJcbiAgICAgICAgICAgIFtTZXR0aW5nXT1cIlNldHRpbmdcIlxyXG4gICAgICAgICAgICBbSXNJbmxpbmVdPVwicGFyYW1ldGVycz8uSXNJbmxpbmUgPT09IHRydWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbZGVmYXVsdFZlcmJzXT1cImNvbnRleHQuZGVmYXVsdFZlcmJzXCJcclxuICAgICAgICAgICAgKHRpbnlJbml0KT1cIm9uVGlueUluaXQoKVwiXHJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblRpbnlDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwiaXNSZWFkb25seVwiXHJcbiAgICAgICAgPjwvYnN1LWJhcnNhLXRpbnllbWNlPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
@@ -73,11 +73,11 @@ export class UlvContextMenuComponent extends BaseComponent {
|
|
|
73
73
|
this._popoverCmp.close();
|
|
74
74
|
}
|
|
75
75
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvContextMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: { onlyOverflow: "onlyOverflow", rightClickEnable: "rightClickEnable", deviceName: "deviceName", menuItems: "menuItems", allColumns: "allColumns", index: "index", mo: "mo", styleIndex: "styleIndex", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", footerMode: "footerMode", contextMenuOverflowText: "contextMenuOverflowText", appendTo: "appendTo" }, outputs: { commandClick: "commandClick" }, host: { properties: { "class.disableOverflow": "this._disableOverflow" } }, viewQueries: [{ propertyName: "_popoverCmp", first: true, predicate: PopoverComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "directive", type: i2.UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: ["ulvCommandHandler", "disable"], outputs: ["commandClick"] }, { kind: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i5.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "component", type: i6.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i6.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i6.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i6.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i8.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "component", type: i9.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i9.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i10.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: { onlyOverflow: "onlyOverflow", rightClickEnable: "rightClickEnable", deviceName: "deviceName", menuItems: "menuItems", allColumns: "allColumns", index: "index", mo: "mo", styleIndex: "styleIndex", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", footerMode: "footerMode", contextMenuOverflowText: "contextMenuOverflowText", appendTo: "appendTo" }, outputs: { commandClick: "commandClick" }, host: { properties: { "class.disableOverflow": "this._disableOverflow" } }, viewQueries: [{ propertyName: "_popoverCmp", first: true, predicate: PopoverComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "directive", type: i2.UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: ["ulvCommandHandler", "disable"], outputs: ["commandClick"] }, { kind: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i5.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "component", type: i6.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i6.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i6.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i6.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i8.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "component", type: i9.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i9.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i10.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
77
|
}
|
|
78
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvContextMenuComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
|
-
args: [{ selector: 'bsu-ulv-context-menu,[ulvContextMenu]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"] }]
|
|
80
|
+
args: [{ selector: 'bsu-ulv-context-menu,[ulvContextMenu]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"] }]
|
|
81
81
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { _popoverCmp: [{
|
|
82
82
|
type: ViewChild,
|
|
83
83
|
args: [PopoverComponent]
|
|
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
113
113
|
type: HostBinding,
|
|
114
114
|
args: ['class.disableOverflow']
|
|
115
115
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBcUQsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBbUJ0RDs7T0FFRztJQUNILFlBQXNCLElBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFQbkMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ1gscUJBQWdCLEdBQUcsS0FBSyxDQUFDO0lBUS9ELENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM5QixJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsR0FBRztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ0QsYUFBYSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDOUI7Z0JBQ0ksT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxDQUFDO2FBQ2I7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTFFUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5b0JBQ3JCLGdCQUFnQiw0RkN4Qi9CLHd6TUE2SkE7OzRGRHRJYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7c0ZBR1ksV0FBVztzQkFBdkMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ2xCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDK0IsZ0JBQWdCO3NCQUFyRCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEZXZpY2VTaXplLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3Q29sdW1uIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11bHYtY29udGV4dC1tZW51LFt1bHZDb250ZXh0TWVudV0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudCkgX3BvcG92ZXJDbXA6IFBvcG92ZXJDb21wb25lbnQ7XHJcbiAgICBASW5wdXQoKSBvbmx5T3ZlcmZsb3c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByaWdodENsaWNrRW5hYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIG1lbnVJdGVtczogYW55W107XHJcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XHJcbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBzdHlsZUluZGV4OiBudW1iZXJbXTtcclxuICAgIEBJbnB1dCgpIGNvbmRpdGlvbmFsRm9ybWF0czogYW55W107XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGZvb3Rlck1vZGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudU92ZXJmbG93VGV4dDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYXBwZW5kVG86IEhUTUxFbGVtZW50O1xyXG4gICAgQE91dHB1dCgpIGNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlT3ZlcmZsb3cnKSBfZGlzYWJsZU92ZXJmbG93ID0gZmFsc2U7XHJcbiAgICBpc09wZW5PdmVyZmxvdzogYm9vbGVhbjtcclxuICAgIG92ZXJmbG93TW9kZTogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5vdmVyZmxvd01vZGUgPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggPiAxO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUgJiY9IHRoaXMuZGV2aWNlTmFtZSA9PT0gJ21vYmlsZScgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZU92ZXJmbG93ID0gdGhpcy5kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG1lbnVJdGVtcyB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAobWVudUl0ZW1zICYmICFtZW51SXRlbXMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkNvbW1hbmRDbGljayhlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc09wZW5PdmVyZmxvdyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29tbWFuZENsaWNrLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBvbk9wZW5PdmVyZmxvdyhlKTogdm9pZCB7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5PdmVyZmxvdyA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBvbkNvbW1hbmRTcGxpdEJ1dHRvbkNsaWNrKGUsIGJ0bik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Db21tYW5kQ2xpY2soZSk7XHJcbiAgICAgICAgaWYgKGJ0bi5Db21tYW5kICYmIGJ0bi5Db21tYW5kLkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgYnRuLkNvbW1hbmQuSGFuZGxlcihidG4pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYnRuLmhhbmRsZXIpIHtcclxuICAgICAgICAgICAgYnRuLmhhbmRsZXIuYmluZChidG4uc2NvcGUpKGJ0bik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIE9wZW5Qb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BvcG92ZXJDbXAub3BlbigpO1xyXG4gICAgfVxyXG4gICAgT3BlblBvcG92ZXJBdCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BvcG92ZXJDbXAuYXBwbHlOZXdQb3NpdGlvbihbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgIG9mZnNldFg6IHgsXHJcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiB5XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgICB0aGlzLl9wb3BvdmVyQ21wLm9wZW4oKTtcclxuICAgIH1cclxuICAgIENsb3NlUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3BvdmVyQ21wLmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChmb290ZXJNb2RlKSB7XHJcbjxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImZvb3RlclwiIFtjb3p5XT1cImZhbHNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRvb2xiYXJUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXJUb29sYmFyVHBsPlxyXG4gICAgICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIiBbc2hvdWxkT3ZlcmZsb3ddPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICBAZm9yIChjbWQgb2YgbWVudUl0ZW1zOyB0cmFjayBjbWQpIHtcclxuICAgICAgICAgICAgPHNwYW4gZmQtdG9vbGJhci1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY21kIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbn0gQGVsc2UgaWYocmlnaHRDbGlja0VuYWJsZSl7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgb3ZlcmZsb3dDb21tYW5kcztcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVudUl0ZW1zLCBpbmRleDogaW5kZXgsIGhpZGVCdG46IHRydWUsIGFwcGVuZFRvOiBhcHBlbmRUbywgc2hvd1RleHQ6IHRydWUgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59QGVsc2V7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgb3ZlcmZsb3dNb2RlICYmICFkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSA/IG92ZXJmbG93Q29tbWFuZHMgOiBzaW1wbGVDb21tYW5kcztcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVudUl0ZW1zLCBpbmRleDogaW5kZXggfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI3NpbXBsZUNvbW1hbmRzIGxldC1jb21tYW5kcyBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgQGZvciAoY21kIG9mIGNvbW1hbmRzOyB0cmFjayBjbWQpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51QnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjbWQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjb3ZlcmZsb3dDb21tYW5kc1xyXG4gICAgbGV0LWNvbW1hbmRzXHJcbiAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgICBsZXQtaGlkZUJ0bj1cImhpZGVCdG5cIlxyXG4gICAgbGV0LWFwcGVuZFRvPVwiYXBwZW5kVG9cIlxyXG4gICAgbGV0LXNob3dUZXh0PVwic2hvd1RleHRcIlxyXG4+XHJcbiAgICA8ZmQtcG9wb3ZlclxyXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgWyhpc09wZW4pXT1cImlzT3Blbk92ZXJmbG93XCJcclxuICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcclxuICAgICAgICBbbm9BcnJvd109XCJ0cnVlXCJcclxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgPlxyXG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2wgI3BvcG92ZXI+XHJcbiAgICAgICAgICAgIEBpZighaGlkZUJ0bil7XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3Blbk92ZXJmbG93KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCIhY29udGV4dE1lbnVPdmVyZmxvd1RleHQgPyAnb3ZlcmZsb3cnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY29udGV4dE1lbnVPdmVyZmxvd1RleHRcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHRNZW51T3ZlcmZsb3dUZXh0XCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICAgICAgPHVsIGZkLWxpc3QgY2xhc3M9XCJ1bHYtb3ZlcmZsb3ctYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAoY21kIG9mIGNvbW1hbmRzOyB0cmFjayBjbWQpIHtcclxuICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVCdXR0b25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNtZCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgPC9mZC1wb3BvdmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51QnV0dG9uVGVtcGxhdGUgbGV0LWNtZD5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNtZC5tZW51ID8gbWVudVRlbXBsYXRlIDogYnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjbWQsIHNob3dMYWJlbDogdHJ1ZSB9XCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNtZW51VGVtcGxhdGUgbGV0LWNtZD5cclxuICAgIDxmZC1zcGxpdC1idXR0b24gZmQtdG9vbGJhci1pdGVtIFttYWluQWN0aW9uXT1cInsgbWFpbkFjdGlvblRpdGxlOiBjbWQudGV4dCwga2VlcE1haW5BY3Rpb246IHRydWUgfVwiPlxyXG4gICAgICAgIDxmZC1tZW51PlxyXG4gICAgICAgICAgICBAZm9yIChidG5Db21tYW5kIG9mIGNtZC5tZW51Lml0ZW1zOyB0cmFjayBidG5Db21tYW5kKSB7XHJcbiAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgZmQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICAgICAjbGlFbFxyXG4gICAgICAgICAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGVJbmRleF09XCJzdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtkYk5hbWVdPVwiY21kLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgW2hvc3RFbF09XCJsaUVsXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbW1hbmRTcGxpdEJ1dHRvbkNsaWNrKCRldmVudCwgYnRuQ29tbWFuZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyBidG5Db21tYW5kLnRleHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZmQtbWVudT5cclxuICAgIDwvZmQtc3BsaXQtYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlIGxldC1jbWQgbGV0LXNob3dMYWJlbD1cInNob3dMYWJlbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGNtZD8uQ29tbWFuZD8uQ3VzdG9tVWkgPyBjdXN0b21CdXR0b25UZW1wbGF0ZSA6IGRlZmF1bHRCdXR0b25UZW1wbGF0ZTtcclxuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGNtZCwgc2hvd0xhYmVsOiBzaG93TGFiZWwgfVxyXG4gICAgICAgIFwiXHJcbiAgICA+PC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJ1dHRvblRlbXBsYXRlIGxldC1jbWQgbGV0LXNob3dMYWJlbD1cInNob3dMYWJlbFwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICNidG5FbFxyXG4gICAgICAgIFtmZFR5cGVdPVwiY21kLkNvbW1hbmQ/Lkpzb25FeHRyYVByb3A/LkRlc2lnbiA/IGNtZC5Db21tYW5kPy5Kc29uRXh0cmFQcm9wLkRlc2lnbiA6ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgIFtnbHlwaF09XCJjbWQuQ29tbWFuZD8uTmV3SWNvbiB8fCBjbWQuQ29tbWFuZD8uSnNvbkV4dHJhUHJvcD8uSWNvbiB8fCAnJ1wiXHJcbiAgICAgICAgW3VsdkNvbW1hbmRIYW5kbGVyXT1cImNtZFwiXHJcbiAgICAgICAgW2xhYmVsXT1cImNtZC5Db21tYW5kPy5OZXdJY29uICYmIGNtZC5Db21tYW5kPy5Kc29uRXh0cmFQcm9wPy5JY29uID8gKGNtZC50ZXh0IHwgYmJiVHJhbnNsYXRlKSA6ICcnXCJcclxuICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbc3R5bGVJbmRleF09XCJzdHlsZUluZGV4XCJcclxuICAgICAgICBbZGJOYW1lXT1cImNtZC50ZXh0XCJcclxuICAgICAgICBbaG9zdEVsXT1cImJ0bkVsXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY21kLkNvbW1hbmQ/Ll9pc0VuYWJsZSA9PT0gZmFsc2VcIlxyXG4gICAgICAgIChjb21tYW5kQ2xpY2spPVwib25Db21tYW5kQ2xpY2soJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgICAgPCEtLSDahtmI2YYg2LnaqdizINiv2LEg2LPZhdiqINix2KfYs9iqINmC2LHYp9ixINio2q/bjNix2K8g2KfYsiDZhNuM2KjZhCDYr9qp2YXZhyDYp9iz2KrZgdin2K/ZhyDZhtqp2LHYr9mFIC0tPlxyXG4gICAgICAgIEBpZiAoIWNtZC5Db21tYW5kPy5OZXdJY29uICYmICFjbWQuQ29tbWFuZD8uSnNvbkV4dHJhUHJvcD8uSWNvbikge1xyXG4gICAgICAgIDxpbWcgW3NyY109XCJjbWQuaWNvblwiIC8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidHJ1ZSB8fCAhKGNtZC5Db21tYW5kPy5OZXdJY29uIHx8IGNtZC5Db21tYW5kPy5Kc29uRXh0cmFQcm9wPy5JY29uKVwiPnt7XHJcbiAgICAgICAgICAgIGNtZC50ZXh0IHwgYmJiVHJhbnNsYXRlXHJcbiAgICAgICAgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNjdXN0b21CdXR0b25UZW1wbGF0ZSBsZXQtY21kIGxldC1zaG93TGFiZWw9XCJzaG93TGFiZWxcIj5cclxuICAgIDxkaXZcclxuICAgICAgICAjaG9zdEVsXHJcbiAgICAgICAgW2RiTmFtZV09XCJjbWQudGV4dFwiXHJcbiAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgW2hvc3RFbF09XCJob3N0RWxcIlxyXG4gICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICAgIDxibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbVxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW3VsdkNvbW1hbmRIYW5kbGVyXT1cImNtZFwiXHJcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwiY21kLkNvbW1hbmQ/LkN1c3RvbVVpXCJcclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgW2NvbnRleHRdPVwiY21kXCJcclxuICAgICAgICAgICAgW3Nob3dUZXh0XT1cInNob3dMYWJlbCB8fCBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgW2lzRW5hYmxlXT1cImNtZC5Db21tYW5kPy5faXNFbmFibGUgfHwgY21kLkNvbW1hbmQ/LlVzZUZvclNpbmdsZVwiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICAoYnRuQ2xpY2spPVwib25Db21tYW5kQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYm5yYy1keW5hbWljLWZvcm0tdG9vbGJhcml0ZW0+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBcUQsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBU3hHLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBbUJ0RDs7T0FFRztJQUNILFlBQXNCLElBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFQbkMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ1gscUJBQWdCLEdBQUcsS0FBSyxDQUFDO0lBUS9ELENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM5QixJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsR0FBRztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ0QsYUFBYSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDOUI7Z0JBQ0ksT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxDQUFDO2FBQ2I7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTFFUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5b0JBQ3JCLGdCQUFnQiw0RkN4Qi9CLGs0TUErSkE7OzRGRHhJYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7c0ZBR1ksV0FBVztzQkFBdkMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ2xCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDK0IsZ0JBQWdCO3NCQUFyRCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEZXZpY2VTaXplLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3Q29sdW1uIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11bHYtY29udGV4dC1tZW51LFt1bHZDb250ZXh0TWVudV0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudCkgX3BvcG92ZXJDbXA6IFBvcG92ZXJDb21wb25lbnQ7XHJcbiAgICBASW5wdXQoKSBvbmx5T3ZlcmZsb3c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByaWdodENsaWNrRW5hYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIG1lbnVJdGVtczogYW55W107XHJcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XHJcbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBzdHlsZUluZGV4OiBudW1iZXJbXTtcclxuICAgIEBJbnB1dCgpIGNvbmRpdGlvbmFsRm9ybWF0czogYW55W107XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGZvb3Rlck1vZGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudU92ZXJmbG93VGV4dDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYXBwZW5kVG86IEhUTUxFbGVtZW50O1xyXG4gICAgQE91dHB1dCgpIGNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlT3ZlcmZsb3cnKSBfZGlzYWJsZU92ZXJmbG93ID0gZmFsc2U7XHJcbiAgICBpc09wZW5PdmVyZmxvdzogYm9vbGVhbjtcclxuICAgIG92ZXJmbG93TW9kZTogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5vdmVyZmxvd01vZGUgPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggPiAxO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUgJiY9IHRoaXMuZGV2aWNlTmFtZSA9PT0gJ21vYmlsZScgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZU92ZXJmbG93ID0gdGhpcy5kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG1lbnVJdGVtcyB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAobWVudUl0ZW1zICYmICFtZW51SXRlbXMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkNvbW1hbmRDbGljayhlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc09wZW5PdmVyZmxvdyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29tbWFuZENsaWNrLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBvbk9wZW5PdmVyZmxvdyhlKTogdm9pZCB7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5PdmVyZmxvdyA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBvbkNvbW1hbmRTcGxpdEJ1dHRvbkNsaWNrKGUsIGJ0bik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Db21tYW5kQ2xpY2soZSk7XHJcbiAgICAgICAgaWYgKGJ0bi5Db21tYW5kICYmIGJ0bi5Db21tYW5kLkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgYnRuLkNvbW1hbmQuSGFuZGxlcihidG4pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYnRuLmhhbmRsZXIpIHtcclxuICAgICAgICAgICAgYnRuLmhhbmRsZXIuYmluZChidG4uc2NvcGUpKGJ0bik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIE9wZW5Qb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BvcG92ZXJDbXAub3BlbigpO1xyXG4gICAgfVxyXG4gICAgT3BlblBvcG92ZXJBdCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BvcG92ZXJDbXAuYXBwbHlOZXdQb3NpdGlvbihbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgIG9mZnNldFg6IHgsXHJcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiB5XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgICB0aGlzLl9wb3BvdmVyQ21wLm9wZW4oKTtcclxuICAgIH1cclxuICAgIENsb3NlUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3BvdmVyQ21wLmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChmb290ZXJNb2RlKSB7XHJcbjxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImZvb3RlclwiIFtjb3p5XT1cImZhbHNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRvb2xiYXJUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXJUb29sYmFyVHBsPlxyXG4gICAgICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIiBbc2hvdWxkT3ZlcmZsb3ddPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICBAZm9yIChjbWQgb2YgbWVudUl0ZW1zOyB0cmFjayBjbWQpIHtcclxuICAgICAgICAgICAgPHNwYW4gZmQtdG9vbGJhci1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY21kIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbn0gQGVsc2UgaWYocmlnaHRDbGlja0VuYWJsZSl7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgb3ZlcmZsb3dDb21tYW5kcztcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVudUl0ZW1zLCBpbmRleDogaW5kZXgsIGhpZGVCdG46IHRydWUsIGFwcGVuZFRvOiBhcHBlbmRUbywgc2hvd1RleHQ6IHRydWUgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59QGVsc2V7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgb3ZlcmZsb3dNb2RlICYmICFkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSA/IG92ZXJmbG93Q29tbWFuZHMgOiBzaW1wbGVDb21tYW5kcztcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVudUl0ZW1zLCBpbmRleDogaW5kZXggfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI3NpbXBsZUNvbW1hbmRzIGxldC1jb21tYW5kcyBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgQGZvciAoY21kIG9mIGNvbW1hbmRzOyB0cmFjayBjbWQpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51QnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjbWQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjb3ZlcmZsb3dDb21tYW5kc1xyXG4gICAgbGV0LWNvbW1hbmRzXHJcbiAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgICBsZXQtaGlkZUJ0bj1cImhpZGVCdG5cIlxyXG4gICAgbGV0LWFwcGVuZFRvPVwiYXBwZW5kVG9cIlxyXG4gICAgbGV0LXNob3dUZXh0PVwic2hvd1RleHRcIlxyXG4+XHJcbiAgICA8ZmQtcG9wb3ZlclxyXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgWyhpc09wZW4pXT1cImlzT3Blbk92ZXJmbG93XCJcclxuICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcclxuICAgICAgICBbbm9BcnJvd109XCJ0cnVlXCJcclxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxyXG4gICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbCAjcG9wb3Zlcj5cclxuICAgICAgICAgICAgQGlmKCFoaWRlQnRuKXtcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25PcGVuT3ZlcmZsb3coJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cIiFjb250ZXh0TWVudU92ZXJmbG93VGV4dCA/ICdvdmVyZmxvdycgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb250ZXh0TWVudU92ZXJmbG93VGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dE1lbnVPdmVyZmxvd1RleHRcIlxyXG4gICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cclxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgICAgICA8dWwgZmQtbGlzdCBjbGFzcz1cInVsdi1vdmVyZmxvdy1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChjbWQgb2YgY29tbWFuZHM7IHRyYWNrIGNtZCkge1xyXG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUJ1dHRvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY21kIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICA8L2ZkLXBvcG92ZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVCdXR0b25UZW1wbGF0ZSBsZXQtY21kPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY21kLm1lbnUgPyBtZW51VGVtcGxhdGUgOiBidXR0b25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNtZCwgc2hvd0xhYmVsOiB0cnVlIH1cIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZSBsZXQtY21kPlxyXG4gICAgPGZkLXNwbGl0LWJ1dHRvbiBmZC10b29sYmFyLWl0ZW0gW21haW5BY3Rpb25dPVwieyBtYWluQWN0aW9uVGl0bGU6IGNtZC50ZXh0LCBrZWVwTWFpbkFjdGlvbjogdHJ1ZSB9XCI+XHJcbiAgICAgICAgPGZkLW1lbnU+XHJcbiAgICAgICAgICAgIEBmb3IgKGJ0bkNvbW1hbmQgb2YgY21kLm1lbnUuaXRlbXM7IHRyYWNrIGJ0bkNvbW1hbmQpIHtcclxuICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICBmZC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICNsaUVsXHJcbiAgICAgICAgICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW2RiTmFtZV09XCJjbWQudGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbaG9zdEVsXT1cImxpRWxcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29tbWFuZFNwbGl0QnV0dG9uQ2xpY2soJGV2ZW50LCBidG5Db21tYW5kKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7IGJ0bkNvbW1hbmQudGV4dCB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC1tZW51PlxyXG4gICAgPC9mZC1zcGxpdC1idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGUgbGV0LWNtZCBsZXQtc2hvd0xhYmVsPVwic2hvd0xhYmVsXCI+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgY21kPy5Db21tYW5kPy5DdXN0b21VaSA/IGN1c3RvbUJ1dHRvblRlbXBsYXRlIDogZGVmYXVsdEJ1dHRvblRlbXBsYXRlO1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogY21kLCBzaG93TGFiZWw6IHNob3dMYWJlbCB9XHJcbiAgICAgICAgXCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uVGVtcGxhdGUgbGV0LWNtZCBsZXQtc2hvd0xhYmVsPVwic2hvd0xhYmVsXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgI2J0bkVsXHJcbiAgICAgICAgW2ZkVHlwZV09XCJjbWQuQ29tbWFuZD8uSnNvbkV4dHJhUHJvcD8uRGVzaWduID8gY21kLkNvbW1hbmQ/Lkpzb25FeHRyYVByb3AuRGVzaWduIDogJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgW2dseXBoXT1cImNtZC5Db21tYW5kPy5OZXdJY29uIHx8IGNtZC5Db21tYW5kPy5Kc29uRXh0cmFQcm9wPy5JY29uIHx8ICcnXCJcclxuICAgICAgICBbdWx2Q29tbWFuZEhhbmRsZXJdPVwiY21kXCJcclxuICAgICAgICBbbGFiZWxdPVwiY21kLkNvbW1hbmQ/Lk5ld0ljb24gJiYgY21kLkNvbW1hbmQ/Lkpzb25FeHRyYVByb3A/Lkljb24gPyAoY21kLnRleHQgfCBiYmJUcmFuc2xhdGUpIDogJydcIlxyXG4gICAgICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgIFtkYk5hbWVdPVwiY21kLnRleHRcIlxyXG4gICAgICAgIFtob3N0RWxdPVwiYnRuRWxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjbWQuQ29tbWFuZD8uX2lzRW5hYmxlID09PSBmYWxzZVwiXHJcbiAgICAgICAgKGNvbW1hbmRDbGljayk9XCJvbkNvbW1hbmRDbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgICA8IS0tINqG2YjZhiDYudqp2LMg2K/YsSDYs9mF2Kog2LHYp9iz2Kog2YLYsdin2LEg2Kjar9uM2LHYryDYp9iyINmE24zYqNmEINiv2qnZhdmHINin2LPYqtmB2KfYr9mHINmG2qnYsdiv2YUgLS0+XHJcbiAgICAgICAgQGlmICghY21kLkNvbW1hbmQ/Lk5ld0ljb24gJiYgIWNtZC5Db21tYW5kPy5Kc29uRXh0cmFQcm9wPy5JY29uKSB7XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImNtZC5pY29uXCIgLz5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0cnVlIHx8ICEoY21kLkNvbW1hbmQ/Lk5ld0ljb24gfHwgY21kLkNvbW1hbmQ/Lkpzb25FeHRyYVByb3A/Lkljb24pXCI+e3tcclxuICAgICAgICAgICAgY21kLnRleHQgfCBiYmJUcmFuc2xhdGVcclxuICAgICAgICB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2N1c3RvbUJ1dHRvblRlbXBsYXRlIGxldC1jbWQgbGV0LXNob3dMYWJlbD1cInNob3dMYWJlbFwiPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICNob3N0RWxcclxuICAgICAgICBbZGJOYW1lXT1cImNtZC50ZXh0XCJcclxuICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbaG9zdEVsXT1cImhvc3RFbFwiXHJcbiAgICAgICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBbdWx2Q29tbWFuZEhhbmRsZXJdPVwiY21kXCJcclxuICAgICAgICAgICAgW2NvbXBvbmVudF09XCJjbWQuQ29tbWFuZD8uQ3VzdG9tVWlcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbY29udGV4dF09XCJjbWRcIlxyXG4gICAgICAgICAgICBbc2hvd1RleHRdPVwic2hvd0xhYmVsIHx8IGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51ID09PSBmYWxzZVwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbaXNFbmFibGVdPVwiY21kLkNvbW1hbmQ/Ll9pc0VuYWJsZSB8fCBjbWQuQ29tbWFuZD8uVXNlRm9yU2luZ2xlXCJcclxuICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIChidG5DbGljayk9XCJvbkNvbW1hbmRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICA+PC9ibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbT5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|