@esfaenza/admin-module 15.2.32 → 15.2.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/profiler/adm_profiler.component.mjs +6 -3
- package/esm2020/lib/services/admin-module.base.service.mjs +6 -6
- package/fesm2015/esfaenza-admin-module.mjs +10 -7
- package/fesm2015/esfaenza-admin-module.mjs.map +1 -1
- package/fesm2020/esfaenza-admin-module.mjs +10 -7
- package/fesm2020/esfaenza-admin-module.mjs.map +1 -1
- package/lib/components/profiler/adm_profiler.component.d.ts +1 -0
- package/lib/services/admin-module.base.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -73,6 +73,9 @@ export class AdmProfilerComponent {
|
|
|
73
73
|
this.searchView.page = 1;
|
|
74
74
|
this.POSTGetItems(this.searchView);
|
|
75
75
|
}
|
|
76
|
+
downloadWorkloadReport() {
|
|
77
|
+
this.adms.downloadWorkloadReport(this.searchView.filterfrom, this.searchView.filterto);
|
|
78
|
+
}
|
|
76
79
|
async POSTGetItems(data) {
|
|
77
80
|
this.searchView = await this.adms.getProfilerDataNodes(data);
|
|
78
81
|
this.searchView.searchinprogress = false;
|
|
@@ -93,12 +96,12 @@ export class AdmProfilerComponent {
|
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
AdmProfilerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdmProfilerComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PreferencesService }, { token: i3.Location }, { token: i4.InterComService }, { token: i5.ActivatedRoute }, { token: i6.AdminModuleBaseService }, { token: ADM_MODULE_PATH }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
AdmProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdmProfilerComponent, selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { kind: "directive", type: i9.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdForProperty", "tdIf", "tdClass", "tdPropertyAccessor", "tdAlignment", "tdFormat", "tdIconClass", "tdConditionField", "tdConditionValue", "tdTitle", "tdContent"] }, { kind: "directive", type: i9.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thShrink", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation", "thProperty", "thType", "thSource", "thMulti", "thStaticContent", "thBackgroundColor", "thAlignment", "thFormat", "thEditorName", "thEditorOptions", "thRendererName", "thRoutePath", "thRouteParameterProperties"] }, { kind: "component", type: i9.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "component", type: i10.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { kind: "component", type: i11.NodeDetailComponent, selector: "node-detail", inputs: ["NodeDetails"], outputs: ["onClose"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }] });
|
|
99
|
+
AdmProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdmProfilerComponent, selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"downloadWorkloadReport()\" type=\"submit\"><i class=\"fa fa-download\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { kind: "directive", type: i9.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdForProperty", "tdIf", "tdClass", "tdPropertyAccessor", "tdAlignment", "tdFormat", "tdIconClass", "tdConditionField", "tdConditionValue", "tdTitle", "tdContent"] }, { kind: "directive", type: i9.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thShrink", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation", "thProperty", "thType", "thSource", "thMulti", "thStaticContent", "thBackgroundColor", "thAlignment", "thFormat", "thEditorName", "thEditorOptions", "thRendererName", "thRoutePath", "thRouteParameterProperties"] }, { kind: "component", type: i9.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "component", type: i10.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { kind: "component", type: i11.NodeDetailComponent, selector: "node-detail", inputs: ["NodeDetails"], outputs: ["onClose"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }] });
|
|
97
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdmProfilerComponent, decorators: [{
|
|
98
101
|
type: Component,
|
|
99
|
-
args: [{ selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>" }]
|
|
102
|
+
args: [{ selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"downloadWorkloadReport()\" type=\"submit\"><i class=\"fa fa-download\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>" }]
|
|
100
103
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PreferencesService }, { type: i3.Location }, { type: i4.InterComService }, { type: i5.ActivatedRoute }, { type: i6.AdminModuleBaseService }, { type: undefined, decorators: [{
|
|
101
104
|
type: Inject,
|
|
102
105
|
args: [ADM_MODULE_PATH]
|
|
103
106
|
}] }]; } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLHNCQUFzQixDQUFDO0FBRzVFLGVBQWU7QUFDZixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUd0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVF2RSxNQUFNLE9BQU8sb0JBQW9CO0lBTTdCLFlBQ1csRUFBdUIsRUFDdEIsWUFBZ0MsRUFDaEMsUUFBa0IsRUFDbEIsUUFBeUIsRUFDekIsS0FBcUIsRUFDckIsSUFBNEIsRUFDSCxHQUFXO1FBTnJDLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQ0gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQVp6QyxlQUFVLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQWNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkksQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksQ0FBQyxXQUFXO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhO1FBQ3RCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQXdCLG9CQUFvQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDcEcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3hFO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFnQztRQUNqQyxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3RDO2FBQ0k7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBcUIsSUFBSTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QyxJQUFJLFNBQVM7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBMkI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVk7UUFDNUIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztRQUNwQyxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIscUJBQXFCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBbkZRLG9CQUFvQixrTkFhakIsZUFBZTtzR0FibEIsb0JBQW9CLHVDQUhsQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLDBCQ3hCcEYsa2tNQTRFTTs0RkRqRE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGNBQWMsYUFDYixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxDQUFDOzswQkFnQjNFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSW5ib3VuZE1lc3NhZ2VUeXBlcywgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9odHRwc2VydmljZVwiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFByb2ZpbGVyRGF0YU5vZGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvZmlsZXJEYXRhTm9kZVwiO1xyXG5pbXBvcnQgeyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvZmlsZXJEYXRhTm9kZXNWaWV3XCI7XHJcbmltcG9ydCB7IE5vZGVTdGF0cyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ob2RlU3RhdHNcIjtcclxuXHJcbmltcG9ydCB7IEFETV9NT0RVTEVfUEFUSCB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbVByb2ZpbGVyQ29tcG9uZW50TG9jIH0gZnJvbSBcIi4vYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgQWRtaW5Nb2R1bGVCYXNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hZG1pbi1tb2R1bGUuYmFzZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9wcm9maWxlclwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtUHJvZmlsZXJDb21wb25lbnRMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV9wcm9maWxlci5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1Qcm9maWxlckNvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgc2VhcmNoVmlldzogUHJvZmlsZXJEYXRhTm9kZXNWaWV3ID0gbmV3IFByb2ZpbGVyRGF0YU5vZGVzVmlldygpO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuXHJcbiAgICBwdWJsaWMgTm9kZURldGFpbHM6IE5vZGVTdGF0cztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgICAgICBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBhZG1zOiBBZG1pbk1vZHVsZUJhc2VTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBJbml0KGlnbm9yZVN0b3JlKSB7XHJcbiAgICAgICAgdGhpcy5kb0luaXQoaWdub3JlU3RvcmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFByb2ZpbGVyRGF0YU5vZGVzVmlldz4oXCJIb3RTZWFyY2hQcm9maWxhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS9wcm9maWxlcmApO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zID0gW107XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJIb3RTZWFyY2hQcm9maWxhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoSG90UG90YXRvOiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcpIHtcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0SXRlbXModGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgUE9TVEdldEl0ZW1zKGRhdGE6IFByb2ZpbGVyRGF0YU5vZGVzVmlldykge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IGF3YWl0IHRoaXMuYWRtcy5nZXRQcm9maWxlckRhdGFOb2RlcyhkYXRhKTtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJIb3RTZWFyY2hQcm9maWxhdG9cIiwgdGhpcy5zZWFyY2hWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwcmVwYXJlRXhwb3J0KGRhdGFDYWxsQmFjaykge1xyXG4gICAgICAgIHZhciB2aWV3ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlYXJjaFZpZXcpKTtcclxuICAgICAgICB2aWV3LnBhZ2UgPSAxO1xyXG4gICAgICAgIHZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgPSA5OTk5OTk5O1xyXG4gICAgICAgIGxldCByZXMgPSBhd2FpdCB0aGlzLmFkbXMuZ2V0UHJvZmlsZXJEYXRhTm9kZXModmlldyk7XHJcbiAgICAgICAgZGF0YUNhbGxCYWNrKHJlcy5pdGVtcywgUHJvZmlsZXJEYXRhTm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZE5vZGVEZXRhaWxzKG5vZGVJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5Ob2RlRGV0YWlscyA9IG51bGw7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Ob2RlRGV0YWlscyA9IGF3YWl0IHRoaXMuYWRtcy5nZXROb2RlU3RhdHMobm9kZUlkKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+e3snUHJvZmlsZXIgZGVsIFNlcnZlcicgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYm90dG9tLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhcHAtZmlyc3QtZmlsdGVyLWxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZSBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmZyb21cIiBuYW1lPVwiZmlsdGVyZnJvbVwiIFtQbGFjZWhvbGRlcl09XCInRGEnIHwgbG9jYWxpemU6IGxjXCI+PC9mb3JtLWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZSBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRvXCIgbmFtZT1cImZpbHRlcnRvXCIgW1BsYWNlaG9sZGVyXT1cIidBJyB8IGxvY2FsaXplOiBsY1wiPjwvZm9ybS1kYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJzZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3NcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uIGJ0biBhcHAtYnRuLXNlYXJjaCBhcHAtbWFyZ2luLXRvcC0yMFwiIChjbGljayk9XCJzZW5kU2VhcmNoKClcIiB0eXBlPVwic3VibWl0XCI+PGkgY2xhc3M9XCJmYSBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoVmlld1wiPjxlbT57eydDYXJpY28gaSBEYXRpJyB8IGxvY2FsaXplOiBsY319PC9lbT48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hWaWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3XCIgW0hpZXJhcmNoeV09XCJ0cnVlXCIgW09yZGVyQnlDb2x1bW5dPVwiZmFsc2VcIiBbUGFyZW50S2V5XT1cIidwYXJlbnRpZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtPd25LZXldPVwiJ2lkJ1wiIFtTdGFydHNFeHBhbmRlZF09XCJmYWxzZVwiIFtFeHBvcnRGdW5jdGlvbl09XCJwcmVwYXJlRXhwb3J0LmJpbmQodGhpcylcIiBbRXhwb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtFeHBvcnRGaWxlTmFtZV09XCInUHJvZmlsZXIgRXhwb3J0LmNzdidcIiBbSGlkZVBhZ2luZ109XCJ0cnVlXCIgKG9uU2VhcmNoUmVxdWVzdCk9XCJzZW5kU2VhcmNoKCRldmVudCk7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzEnXCI+e3snSUQnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicyJ1wiPnt7J0Rlc2NyaXppb25lJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIiczJ1wiPnt7J0NoaWFtYXRlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic0J1wiPnt7J1RlbXBvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic1J1wiPnt7J1RlbXBvIE1heCcgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInNidcIj57eydUZW1wbyBNaW4nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzcnXCI+e3snVGVtcG8gTWVkaW8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzgnXCI+e3snVGVtcG8gU3BlY2lmaWNvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic5J1wiPnt7J1BlcmNlbnR1YWxlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMCdcIj57eydDaGlhbWF0ZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMSdcIj57eydUZW1wbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMidcIj57eydUZW1wbyBNYXggUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTMnXCI+e3snVGVtcG8gTWluIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE0J1wiPnt7J1RlbXBvIE1lZGlvIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE1J1wiPnt7J1RlbXBvIFNwZWNpZmljbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNidcIj57eydQZXJjZW50dWFsZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNydcIj57eydOb21lIFRpcG9sb2dpYSBFdmVudG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE4J1wiPnt7J05vbWUgQ2xhc3NlIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzEnOyBsZXQgaXRlbVwiPjxzcGFuIGNsYXNzPVwiYXBwLWxpbmsgYXBwLWlubGluZVwiIChjbGljayk9XCJsb2FkTm9kZURldGFpbHMoaXRlbS5pZCk7IGRsZ05vZGVEZXRhaWxzLnNob3coKTtcIj57e2l0ZW0uaWR9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzInOyBsZXQgaXRlbVwiIHRpdGxlPVwie3tpdGVtLmRlc2NyaXB0aW9ufX1cIj57e2l0ZW0uZGVzY3JpcHRpb24ubGVuZ3RoIDw9IDUwID8gaXRlbS5kZXNjcmlwdGlvbiA6IGl0ZW0uZGVzY3JpcHRpb24uc3Vic3RyKDAsNTApICsgXCJbLi4uXVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIiczJzsgbGV0IGl0ZW1cIj57e2l0ZW0uY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNCc7IGxldCBpdGVtXCI+e3tpdGVtLnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNSc7IGxldCBpdGVtXCI+e3tpdGVtLnBlYWt0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzYnOyBsZXQgaXRlbVwiPnt7aXRlbS5taW50aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzcnOyBsZXQgaXRlbVwiPnt7aXRlbS5hdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzgnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1ld2l0aG91dGNoaWxkcmVuIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic5JzsgbGV0IGl0ZW1cIj57e2l0ZW0ucGVyY2VudGFnZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMCcgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcGRlbHRhY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTEnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBkZWx0YXRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTInIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBwZWFrdGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMycgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcG1pbnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTQnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBhdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE1JyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwdGltZXdpdGhvdXRjaGlsZHJlbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxNicgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcHBlcmNlbnRhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTcnIGxldCBpdGVtXCI+e3tpdGVtLmV2ZW50dHlwZW5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTgnIGxldCBpdGVtXCI+e3tpdGVtLndhaXRjbGFzc25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBic01vZGFsICNkbGdOb2RlRGV0YWlscz1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPG5vZGUtZGV0YWlsICpuZ0lmPVwiTm9kZURldGFpbHNcIiBbTm9kZURldGFpbHNdPVwiTm9kZURldGFpbHNcIiAob25DbG9zZSk9XCJkbGdOb2RlRGV0YWlscy5oaWRlKClcIj48L25vZGUtZGV0YWlsPlxyXG48L2Rpdj4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLHNCQUFzQixDQUFDO0FBRzVFLGVBQWU7QUFDZixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUd0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVF2RSxNQUFNLE9BQU8sb0JBQW9CO0lBTTdCLFlBQ1csRUFBdUIsRUFDdEIsWUFBZ0MsRUFDaEMsUUFBa0IsRUFDbEIsUUFBeUIsRUFDekIsS0FBcUIsRUFDckIsSUFBNEIsRUFDSCxHQUFXO1FBTnJDLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLFVBQUssR0FB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ZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSW5ib3VuZE1lc3NhZ2VUeXBlcywgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9odHRwc2VydmljZVwiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFByb2ZpbGVyRGF0YU5vZGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvZmlsZXJEYXRhTm9kZVwiO1xyXG5pbXBvcnQgeyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvZmlsZXJEYXRhTm9kZXNWaWV3XCI7XHJcbmltcG9ydCB7IE5vZGVTdGF0cyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ob2RlU3RhdHNcIjtcclxuXHJcbmltcG9ydCB7IEFETV9NT0RVTEVfUEFUSCB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbVByb2ZpbGVyQ29tcG9uZW50TG9jIH0gZnJvbSBcIi4vYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgQWRtaW5Nb2R1bGVCYXNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hZG1pbi1tb2R1bGUuYmFzZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV9wcm9maWxlclwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtUHJvZmlsZXJDb21wb25lbnRMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV9wcm9maWxlci5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1Qcm9maWxlckNvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgc2VhcmNoVmlldzogUHJvZmlsZXJEYXRhTm9kZXNWaWV3ID0gbmV3IFByb2ZpbGVyRGF0YU5vZGVzVmlldygpO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuXHJcbiAgICBwdWJsaWMgTm9kZURldGFpbHM6IE5vZGVTdGF0cztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgICAgICBwcml2YXRlIGludGVyY29tOiBJbnRlckNvbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBhZG1zOiBBZG1pbk1vZHVsZUJhc2VTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBJbml0KGlnbm9yZVN0b3JlKSB7XHJcbiAgICAgICAgdGhpcy5kb0luaXQoaWdub3JlU3RvcmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFByb2ZpbGVyRGF0YU5vZGVzVmlldz4oXCJIb3RTZWFyY2hQcm9maWxhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS9wcm9maWxlcmApO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zID0gW107XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJIb3RTZWFyY2hQcm9maWxhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoSG90UG90YXRvOiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcpIHtcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0SXRlbXModGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgZG93bmxvYWRXb3JrbG9hZFJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLmFkbXMuZG93bmxvYWRXb3JrbG9hZFJlcG9ydCh0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZnJvbSwgdGhpcy5zZWFyY2hWaWV3LmZpbHRlcnRvKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBQT1NUR2V0SXRlbXMoZGF0YTogUHJvZmlsZXJEYXRhTm9kZXNWaWV3KSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gYXdhaXQgdGhpcy5hZG1zLmdldFByb2ZpbGVyRGF0YU5vZGVzKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdFNlYXJjaFByb2ZpbGF0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHByZXBhcmVFeHBvcnQoZGF0YUNhbGxCYWNrKSB7XHJcbiAgICAgICAgdmFyIHZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoVmlldykpO1xyXG4gICAgICAgIHZpZXcucGFnZSA9IDE7XHJcbiAgICAgICAgdmlldy5pdGVtc3BlcnBhZ2VvdmVycmlkZSA9IDk5OTk5OTk7XHJcbiAgICAgICAgbGV0IHJlcyA9IGF3YWl0IHRoaXMuYWRtcy5nZXRQcm9maWxlckRhdGFOb2Rlcyh2aWV3KTtcclxuICAgICAgICBkYXRhQ2FsbEJhY2socmVzLml0ZW1zLCBQcm9maWxlckRhdGFOb2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTm9kZURldGFpbHMobm9kZUlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gbnVsbDtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gYXdhaXQgdGhpcy5hZG1zLmdldE5vZGVTdGF0cyhub2RlSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydQcm9maWxlciBkZWwgU2VydmVyJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBib3R0b20tMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybSByb2xlPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFwcC1maXJzdC1maWx0ZXItbGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyZnJvbVwiIG5hbWU9XCJmaWx0ZXJmcm9tXCIgW1BsYWNlaG9sZGVyXT1cIidEYScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0tZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVydG9cIiBuYW1lPVwiZmlsdGVydG9cIiBbUGxhY2Vob2xkZXJdPVwiJ0EnIHwgbG9jYWxpemU6IGxjXCI+PC9mb3JtLWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb24gYnRuIGFwcC1idG4tc2VhcmNoIGFwcC1tYXJnaW4tdG9wLTIwXCIgKGNsaWNrKT1cInNlbmRTZWFyY2goKVwiIHR5cGU9XCJzdWJtaXRcIj48aSBjbGFzcz1cImZhIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwiZG93bmxvYWRXb3JrbG9hZFJlcG9ydCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtZG93bmxvYWRcIj48L2k+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoVmlld1wiPjxlbT57eydDYXJpY28gaSBEYXRpJyB8IGxvY2FsaXplOiBsY319PC9lbT48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hWaWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3XCIgW0hpZXJhcmNoeV09XCJ0cnVlXCIgW09yZGVyQnlDb2x1bW5dPVwiZmFsc2VcIiBbUGFyZW50S2V5XT1cIidwYXJlbnRpZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtPd25LZXldPVwiJ2lkJ1wiIFtTdGFydHNFeHBhbmRlZF09XCJmYWxzZVwiIFtFeHBvcnRGdW5jdGlvbl09XCJwcmVwYXJlRXhwb3J0LmJpbmQodGhpcylcIiBbRXhwb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtFeHBvcnRGaWxlTmFtZV09XCInUHJvZmlsZXIgRXhwb3J0LmNzdidcIiBbSGlkZVBhZ2luZ109XCJ0cnVlXCIgKG9uU2VhcmNoUmVxdWVzdCk9XCJzZW5kU2VhcmNoKCRldmVudCk7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzEnXCI+e3snSUQnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicyJ1wiPnt7J0Rlc2NyaXppb25lJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIiczJ1wiPnt7J0NoaWFtYXRlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic0J1wiPnt7J1RlbXBvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic1J1wiPnt7J1RlbXBvIE1heCcgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInNidcIj57eydUZW1wbyBNaW4nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzcnXCI+e3snVGVtcG8gTWVkaW8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzgnXCI+e3snVGVtcG8gU3BlY2lmaWNvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic5J1wiPnt7J1BlcmNlbnR1YWxlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMCdcIj57eydDaGlhbWF0ZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMSdcIj57eydUZW1wbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMidcIj57eydUZW1wbyBNYXggUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTMnXCI+e3snVGVtcG8gTWluIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE0J1wiPnt7J1RlbXBvIE1lZGlvIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE1J1wiPnt7J1RlbXBvIFNwZWNpZmljbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNidcIj57eydQZXJjZW50dWFsZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNydcIj57eydOb21lIFRpcG9sb2dpYSBFdmVudG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE4J1wiPnt7J05vbWUgQ2xhc3NlIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzEnOyBsZXQgaXRlbVwiPjxzcGFuIGNsYXNzPVwiYXBwLWxpbmsgYXBwLWlubGluZVwiIChjbGljayk9XCJsb2FkTm9kZURldGFpbHMoaXRlbS5pZCk7IGRsZ05vZGVEZXRhaWxzLnNob3coKTtcIj57e2l0ZW0uaWR9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzInOyBsZXQgaXRlbVwiIHRpdGxlPVwie3tpdGVtLmRlc2NyaXB0aW9ufX1cIj57e2l0ZW0uZGVzY3JpcHRpb24ubGVuZ3RoIDw9IDUwID8gaXRlbS5kZXNjcmlwdGlvbiA6IGl0ZW0uZGVzY3JpcHRpb24uc3Vic3RyKDAsNTApICsgXCJbLi4uXVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIiczJzsgbGV0IGl0ZW1cIj57e2l0ZW0uY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNCc7IGxldCBpdGVtXCI+e3tpdGVtLnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNSc7IGxldCBpdGVtXCI+e3tpdGVtLnBlYWt0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzYnOyBsZXQgaXRlbVwiPnt7aXRlbS5taW50aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzcnOyBsZXQgaXRlbVwiPnt7aXRlbS5hdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzgnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1ld2l0aG91dGNoaWxkcmVuIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic5JzsgbGV0IGl0ZW1cIj57e2l0ZW0ucGVyY2VudGFnZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMCcgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcGRlbHRhY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTEnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBkZWx0YXRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTInIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBwZWFrdGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMycgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcG1pbnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTQnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBhdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE1JyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwdGltZXdpdGhvdXRjaGlsZHJlbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxNicgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcHBlcmNlbnRhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTcnIGxldCBpdGVtXCI+e3tpdGVtLmV2ZW50dHlwZW5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTgnIGxldCBpdGVtXCI+e3tpdGVtLndhaXRjbGFzc25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBic01vZGFsICNkbGdOb2RlRGV0YWlscz1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPG5vZGUtZGV0YWlsICpuZ0lmPVwiTm9kZURldGFpbHNcIiBbTm9kZURldGFpbHNdPVwiTm9kZURldGFpbHNcIiAob25DbG9zZSk9XCJkbGdOb2RlRGV0YWlscy5oaWRlKClcIj48L25vZGUtZGV0YWlsPlxyXG48L2Rpdj4iXX0=
|
|
@@ -8,12 +8,12 @@ import { firstValueFrom, catchError, of } from "rxjs";
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
// Chiamate ai Repository
|
|
10
10
|
const GET_Director_ChangeProcessConsumerGroup = "/api/Director/ChangeProcessConsumerGroup";
|
|
11
|
-
const GET_Director_ClearAllCaches = "/api/Director/ClearAllCaches";
|
|
12
11
|
const GET_Director_GetConsumerGroups = "/api/Director/GetConsumerGroups#cache";
|
|
13
12
|
const GET_Director_GetInfos = "/api/Director/GetInfos";
|
|
14
13
|
const GET_Director_GetMetrics = "/api/Director/GetMetrics";
|
|
15
14
|
const POST_Director_GetMetrics = "/api/Director/GetMetrics";
|
|
16
15
|
const POST_Director_GetProfilerDataNodes = "/api/Director/GetProfilerDataNodes";
|
|
16
|
+
const GET_Director_GetWorkloadReport = "/api/Director/GetWorkloadReport";
|
|
17
17
|
const POST_Director_GetServerAudits = "/api/Director/GetServerAudits";
|
|
18
18
|
const POST_Director_GetDynamicViewData = "/api/Director/GetDynamicViewData";
|
|
19
19
|
const POST_Director_GetServerLocks = "/api/Director/GetServerLocks";
|
|
@@ -21,12 +21,8 @@ const GET_Director_GetServerLogs = "/api/Director/GetServerLogs";
|
|
|
21
21
|
const GET_Director_GetDynamicViews = "/api/Director/GetDynamicViews";
|
|
22
22
|
const POST_Director_GetServerWorkers = "/api/Director/GetServerWorkers";
|
|
23
23
|
const POST_Director_GetTopActivities = "/api/Director/GetTopActivities";
|
|
24
|
-
const GET_Director_GetWorkerStatus = "/api/Director/GetWorkerStatus";
|
|
25
|
-
const GET_Director_InvalidateServerSideCache = "/api/Director/InvalidateServerSideCache";
|
|
26
24
|
const GET_Director_KillProcess = "/api/Director/KillProcess";
|
|
27
25
|
const GET_Director_SetProcessTracing = "/api/Director/SetProcessTracing";
|
|
28
|
-
const GET_Director_StartWorker = "/api/Director/StartWorker";
|
|
29
|
-
const GET_Director_StopWorker = "/api/Director/StopWorker";
|
|
30
26
|
const GET_Director_GetNodeStats = "/api/Director/GetNodeStats";
|
|
31
27
|
const GET_Director_GetSessionStats = "/api/Director/GetSessionStats";
|
|
32
28
|
export class AdminModuleBaseService {
|
|
@@ -95,6 +91,10 @@ export class AdminModuleBaseService {
|
|
|
95
91
|
let ret = await firstValueFrom(this.http.post(POST_Director_GetProfilerDataNodes, sv));
|
|
96
92
|
return ret;
|
|
97
93
|
}
|
|
94
|
+
downloadWorkloadReport(from, to) {
|
|
95
|
+
let pars = new HttpParams().set("from", from || "").set("to", to || "");
|
|
96
|
+
this.http.getFileNative(GET_Director_GetWorkloadReport, pars);
|
|
97
|
+
}
|
|
98
98
|
async getMetrics(sv) {
|
|
99
99
|
let ret = await firstValueFrom(this.http.post(POST_Director_GetMetrics, sv));
|
|
100
100
|
return ret;
|
|
@@ -128,4 +128,4 @@ AdminModuleBaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
|
|
|
128
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdminModuleBaseService, decorators: [{
|
|
129
129
|
type: Injectable
|
|
130
130
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbW9kdWxlLmJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NlcnZpY2VzL2FkbWluLW1vZHVsZS5iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELEtBQUs7QUFDTCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFhdEQseUJBQXlCO0FBQ3pCLE1BQU0sdUNBQXVDLEdBQVcsMENBQTBDLENBQUM7QUFDbkcsTUFBTSwyQkFBMkIsR0FBVyw4QkFBOEIsQ0FBQztBQUMzRSxNQUFNLDhCQUE4QixHQUFXLHVDQUF1QyxDQUFDO0FBQ3ZGLE1BQU0scUJBQXFCLEdBQVcsd0JBQXdCLENBQUM7QUFDL0QsTUFBTSx1QkFBdUIsR0FBVywwQkFBMEIsQ0FBQztBQUNuRSxNQUFNLHdCQUF3QixHQUFXLDBCQUEwQixDQUFDO0FBQ3BFLE1BQU0sa0NBQWtDLEdBQVcsb0NBQW9DLENBQUM7QUFDeEYsTUFBTSw2QkFBNkIsR0FBVywrQkFBK0IsQ0FBQztBQUM5RSxNQUFNLGdDQUFnQyxHQUFXLGtDQUFrQyxDQUFDO0FBQ3BGLE1BQU0sNEJBQTRCLEdBQVcsOEJBQThCLENBQUM7QUFDNUUsTUFBTSwwQkFBMEIsR0FBVyw2QkFBNkIsQ0FBQztBQUN6RSxNQUFNLDRCQUE0QixHQUFXLCtCQUErQixDQUFDO0FBQzdFLE1BQU0sOEJBQThCLEdBQVcsZ0NBQWdDLENBQUM7QUFDaEYsTUFBTSw4QkFBOEIsR0FBVyxnQ0FBZ0MsQ0FBQztBQUNoRixNQUFNLDRCQUE0QixHQUFXLCtCQUErQixDQUFDO0FBQzdFLE1BQU0sc0NBQXNDLEdBQVcseUNBQXlDLENBQUM7QUFDakcsTUFBTSx3QkFBd0IsR0FBVywyQkFBMkIsQ0FBQztBQUNyRSxNQUFNLDhCQUE4QixHQUFXLGlDQUFpQyxDQUFDO0FBQ2pGLE1BQU0sd0JBQXdCLEdBQVcsMkJBQTJCLENBQUM7QUFDckUsTUFBTSx1QkFBdUIsR0FBVywwQkFBMEIsQ0FBQztBQUNuRSxNQUFNLHlCQUF5QixHQUFXLDRCQUE0QixDQUFDO0FBQ3ZFLE1BQU0sNEJBQTRCLEdBQVcsK0JBQStCLENBQUM7QUFHN0UsTUFBTSxPQUFPLHNCQUFzQjtJQUkvQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQWlCO1FBQzNDLElBQUksR0FBRyxHQUFrQixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0IsOEJBQThCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBa0IsRUFBRSxHQUFXLEVBQUUsTUFBYyxFQUFFLE1BQWM7UUFDNUYsSUFBSSxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDdEIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDN0IsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7YUFDZixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUNyQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNCLElBQUksR0FBRyxHQUFXLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLDhCQUE4QixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFrQixFQUFFLEdBQVcsRUFBRSxNQUFjO1FBQ3RFLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFO2FBQ3RCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO2FBQzdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2FBQ2YsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLEdBQUcsR0FBVyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxVQUFrQixFQUFFLEdBQVcsRUFBRSxNQUFjLEVBQUUsYUFBcUI7UUFDNUcsSUFBSSxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDdEIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDN0IsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7YUFDZixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUNyQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFMUMsSUFBSSxHQUFHLEdBQVcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsdUNBQXVDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCO1FBQzFCLElBQUksR0FBRyxHQUFlLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN0RyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYTtRQUN0QixJQUFJLEdBQUcsR0FBVyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQXlCO1FBQ25ELElBQUksR0FBRyxHQUEwQixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsOEJBQThCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUTtRQUNqQixJQUFJLEdBQUcsR0FBa0IsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdCLHFCQUFxQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkssT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLEdBQUcsR0FBYyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBVyxFQUFFLE1BQWM7UUFDcEQsSUFBSSxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEUsSUFBSSxHQUFHLEdBQWlCLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLDRCQUE0QixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQXlCO1FBQ3ZELElBQUksR0FBRyxHQUEwQixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0Isa0NBQWtDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNySSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQWU7UUFDbkMsSUFBSSxHQUFHLEdBQWdCLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFjLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUNoRCxJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRTthQUN0QixHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7YUFDdkIsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFekIsSUFBSSxHQUFHLEdBQWEsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFhO1FBQ3JDLElBQUksR0FBRyxHQUFjLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFZLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQW9CO1FBQ2hELElBQUksR0FBRyxHQUFxQixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUIsZ0NBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6SCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZTtRQUN4QixJQUFJLEdBQUcsR0FBZSxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7UUFDcEcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFjO1FBQ3ZDLElBQUksR0FBRyxHQUFlLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFhLDZCQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUcsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOztvSEFuSFEsc0JBQXNCO3dIQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vLyBFU1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IFByb2Nlc3Nlc1ZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvY2Vzc2VzVmlld1wiO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgY2F0Y2hFcnJvciwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgVG9wQWN0aXZpdGllc0RhdGFWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL1RvcEFjdGl2aXRpZXNEYXRhVmlld1wiO1xyXG5pbXBvcnQgeyBEaXJlY3RvckluZm9zIH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL0RpcmVjdG9ySW5mb3NcIjtcclxuaW1wb3J0IHsgTm9kZVN0YXRzIH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL05vZGVTdGF0c1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RhdHMgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvU2Vzc2lvblN0YXRzXCI7XHJcbmltcG9ydCB7IFByb2ZpbGVyRGF0YU5vZGVzVmlldyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9Qcm9maWxlckRhdGFOb2Rlc1ZpZXdcIjtcclxuaW1wb3J0IHsgTWV0cmljc1ZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvTWV0cmljc1ZpZXdcIjtcclxuaW1wb3J0IHsgTWV0cmljIH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL01ldHJpY1wiO1xyXG5pbXBvcnQgeyBMb2Nrc1ZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvTG9ja3NWaWV3XCI7XHJcbmltcG9ydCB7IER5bmFtaWNWaWV3c1ZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvRHluYW1pY1ZpZXdzVmlld1wiO1xyXG5pbXBvcnQgeyBBdWRpdHNWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL0F1ZGl0c1ZpZXdcIjtcclxuXHJcbi8vIENoaWFtYXRlIGFpIFJlcG9zaXRvcnlcclxuY29uc3QgR0VUX0RpcmVjdG9yX0NoYW5nZVByb2Nlc3NDb25zdW1lckdyb3VwOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvQ2hhbmdlUHJvY2Vzc0NvbnN1bWVyR3JvdXBcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0NsZWFyQWxsQ2FjaGVzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvQ2xlYXJBbGxDYWNoZXNcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldENvbnN1bWVyR3JvdXBzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0Q29uc3VtZXJHcm91cHMjY2FjaGVcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldEluZm9zOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0SW5mb3NcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldE1ldHJpY3M6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRNZXRyaWNzXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0TWV0cmljczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldE1ldHJpY3NcIjtcclxuY29uc3QgUE9TVF9EaXJlY3Rvcl9HZXRQcm9maWxlckRhdGFOb2Rlczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFByb2ZpbGVyRGF0YU5vZGVzXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyQXVkaXRzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0U2VydmVyQXVkaXRzXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0RHluYW1pY1ZpZXdEYXRhOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0RHluYW1pY1ZpZXdEYXRhXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyTG9ja3M6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRTZXJ2ZXJMb2Nrc1wiO1xyXG5jb25zdCBHRVRfRGlyZWN0b3JfR2V0U2VydmVyTG9nczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFNlcnZlckxvZ3NcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldER5bmFtaWNWaWV3czogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldER5bmFtaWNWaWV3c1wiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldFNlcnZlcldvcmtlcnM6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRTZXJ2ZXJXb3JrZXJzXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0VG9wQWN0aXZpdGllczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFRvcEFjdGl2aXRpZXNcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldFdvcmtlclN0YXR1czogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFdvcmtlclN0YXR1c1wiO1xyXG5jb25zdCBHRVRfRGlyZWN0b3JfSW52YWxpZGF0ZVNlcnZlclNpZGVDYWNoZTogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0ludmFsaWRhdGVTZXJ2ZXJTaWRlQ2FjaGVcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0tpbGxQcm9jZXNzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvS2lsbFByb2Nlc3NcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX1NldFByb2Nlc3NUcmFjaW5nOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvU2V0UHJvY2Vzc1RyYWNpbmdcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX1N0YXJ0V29ya2VyOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvU3RhcnRXb3JrZXJcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX1N0b3BXb3JrZXI6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9TdG9wV29ya2VyXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHM6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXROb2RlU3RhdHNcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldFNlc3Npb25TdGF0czogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFNlc3Npb25TdGF0c1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRtaW5Nb2R1bGVCYXNlU2VydmljZSB7XHJcbiAgICBwdWJsaWMgaHR0cDogSFRUUFNlcnZpY2U7XHJcbiAgICBwdWJsaWMgbXNnRXh0czogTWVzc2FnZVNlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICB0aGlzLmh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIVFRQU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzID0gdGhpcy5pbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXJ2ZXJXb3JrZXJzKHN2OiBQcm9jZXNzZXNWaWV3KTogUHJvbWlzZTxQcm9jZXNzZXNWaWV3PiB7XHJcbiAgICAgICAgbGV0IHJldDogUHJvY2Vzc2VzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFByb2Nlc3Nlc1ZpZXc+KFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyV29ya2Vycywgc3YpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1NldFByb2Nlc3NUcmFjaW5nKGluc3RhbmNlaWQ6IHN0cmluZywgc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nLCBlbmFibGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIGluc3RhbmNlaWQpXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgc2lkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHNlcmlhbClcclxuICAgICAgICAgICAgLnNldChcImVuYWJsZVwiLCBlbmFibGUpO1xyXG5cclxuICAgICAgICBsZXQgcmV0OiBzdHJpbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PHN0cmluZz4oR0VUX0RpcmVjdG9yX1NldFByb2Nlc3NUcmFjaW5nLCBwYXJzKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9LaWxsUHJvY2VzcyhpbnN0YW5jZWlkOiBzdHJpbmcsIHNpZDogc3RyaW5nLCBzZXJpYWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIGluc3RhbmNlaWQpXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgc2lkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHNlcmlhbCk7XHJcblxyXG4gICAgICAgIGxldCByZXQ6IHN0cmluZyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8c3RyaW5nPihHRVRfRGlyZWN0b3JfS2lsbFByb2Nlc3MsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb0NoYW5nZVByb2Nlc3NDb25zdW1lckdyb3VwKGluc3RhbmNlaWQ6IHN0cmluZywgc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nLCBjb25zdW1lckdyb3VwOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHZhciBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAuc2V0KFwiaW5zdGFuY2VpZFwiLCBpbnN0YW5jZWlkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2lkXCIsIHNpZClcclxuICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCBzZXJpYWwpXHJcbiAgICAgICAgICAgIC5zZXQoXCJjb25zdW1lcl9ncm91cFwiLCBjb25zdW1lckdyb3VwKTtcclxuXHJcbiAgICAgICAgbGV0IHJldDogc3RyaW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxzdHJpbmc+KEdFVF9EaXJlY3Rvcl9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cCwgcGFycykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldENvbnN1bWVyR3JvdXBzKCk6IFByb21pc2U8S2V5VmFsdWVbXT4ge1xyXG4gICAgICAgIGxldCByZXQ6IEtleVZhbHVlW10gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PEtleVZhbHVlW10+KEdFVF9EaXJlY3Rvcl9HZXRDb25zdW1lckdyb3VwcykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFNlcnZlckxvZ3MoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBsZXQgcmV0OiBzdHJpbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PHN0cmluZz4oR0VUX0RpcmVjdG9yX0dldFNlcnZlckxvZ3MpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRUb3BBY3Rpdml0aWVzKHN2OiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcpOiBQcm9taXNlPFRvcEFjdGl2aXRpZXNEYXRhVmlldz4ge1xyXG4gICAgICAgIGxldCByZXQ6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFRvcEFjdGl2aXRpZXNEYXRhVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRUb3BBY3Rpdml0aWVzLCBzdikpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEluZm9zKCk6IFByb21pc2U8RGlyZWN0b3JJbmZvcz4ge1xyXG4gICAgICAgIGxldCByZXQ6IERpcmVjdG9ySW5mb3MgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PERpcmVjdG9ySW5mb3M+KEdFVF9EaXJlY3Rvcl9HZXRJbmZvcywgbnVsbCwgbnVsbCwgZmFsc2UpLnBpcGUoY2F0Y2hFcnJvcihfID0+IG9mKG51bGwgYXMgRGlyZWN0b3JJbmZvcykpKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Tm9kZVN0YXRzKG5vZGVJZDogc3RyaW5nKTogUHJvbWlzZTxOb2RlU3RhdHM+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwibm9kZUlkXCIsIG5vZGVJZCk7XHJcbiAgICAgICAgbGV0IHJldDogTm9kZVN0YXRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxOb2RlU3RhdHM+KEdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHMsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXNzaW9uU3RhdHMoc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nKTogUHJvbWlzZTxTZXNzaW9uU3RhdHM+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzaWQnLCBzaWQpLnNldCgnc2VyaWFsJywgc2VyaWFsKTtcclxuICAgICAgICBsZXQgcmV0OiBTZXNzaW9uU3RhdHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PFNlc3Npb25TdGF0cz4oR0VUX0RpcmVjdG9yX0dldFNlc3Npb25TdGF0cywgcGFycykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFByb2ZpbGVyRGF0YU5vZGVzKHN2OiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcpOiBQcm9taXNlPFByb2ZpbGVyRGF0YU5vZGVzVmlldz4ge1xyXG4gICAgICAgIGxldCByZXQ6IFByb2ZpbGVyRGF0YU5vZGVzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFByb2ZpbGVyRGF0YU5vZGVzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRQcm9maWxlckRhdGFOb2Rlcywgc3YpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRNZXRyaWNzKHN2OiBNZXRyaWNzVmlldyk6IFByb21pc2U8TWV0cmljc1ZpZXc+IHtcclxuICAgICAgICBsZXQgcmV0OiBNZXRyaWNzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PE1ldHJpY3NWaWV3PihQT1NUX0RpcmVjdG9yX0dldE1ldHJpY3MsIHN2KSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TWV0cmljc0xpc3QoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKTogUHJvbWlzZTxNZXRyaWNbXT4ge1xyXG4gICAgICAgIGxldCBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAuc2V0KFwiZnJvbVwiLCBmcm9tIHx8IFwiXCIpXHJcbiAgICAgICAgICAgIC5zZXQoXCJ0b1wiLCB0byB8fCBcIlwiKTtcclxuXHJcbiAgICAgICAgbGV0IHJldDogTWV0cmljW10gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PE1ldHJpY1tdPihHRVRfRGlyZWN0b3JfR2V0TWV0cmljcywgcGFycykpO1xyXG4gICAgICAgIHJldHVybiByZXQuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFNlcnZlckxvY2tzKHN2OiBMb2Nrc1ZpZXcpOiBQcm9taXNlPExvY2tzVmlldz4ge1xyXG4gICAgICAgIGxldCByZXQ6IExvY2tzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PExvY2tzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRTZXJ2ZXJMb2Nrcywgc3YpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREeW5hbWljVmlld0RhdGEoc3Y6IER5bmFtaWNWaWV3c1ZpZXcpOiBQcm9taXNlPER5bmFtaWNWaWV3c1ZpZXc+IHtcclxuICAgICAgICBsZXQgcmV0OiBEeW5hbWljVmlld3NWaWV3ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8RHluYW1pY1ZpZXdzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXREeW5hbWljVmlld0RhdGEsIHN2KSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RHluYW1pY1ZpZXdzKCk6IFByb21pc2U8S2V5VmFsdWVbXT4ge1xyXG4gICAgICAgIGxldCByZXQ6IEtleVZhbHVlW10gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PEtleVZhbHVlW10+KEdFVF9EaXJlY3Rvcl9HZXREeW5hbWljVmlld3MpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXJ2ZXJBdWRpdHMoc3Y6IEF1ZGl0c1ZpZXcpOiBQcm9taXNlPEF1ZGl0c1ZpZXc+IHtcclxuICAgICAgICBsZXQgcmV0OiBBdWRpdHNWaWV3ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8QXVkaXRzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRTZXJ2ZXJBdWRpdHMsIHN2KSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxufSJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbW9kdWxlLmJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NlcnZpY2VzL2FkbWluLW1vZHVsZS5iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELEtBQUs7QUFDTCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFhdEQseUJBQXlCO0FBQ3pCLE1BQU0sdUNBQXVDLEdBQVcsMENBQTBDLENBQUM7QUFDbkcsTUFBTSw4QkFBOEIsR0FBVyx1Q0FBdUMsQ0FBQztBQUN2RixNQUFNLHFCQUFxQixHQUFXLHdCQUF3QixDQUFDO0FBQy9ELE1BQU0sdUJBQXVCLEdBQVcsMEJBQTBCLENBQUM7QUFDbkUsTUFBTSx3QkFBd0IsR0FBVywwQkFBMEIsQ0FBQztBQUNwRSxNQUFNLGtDQUFrQyxHQUFXLG9DQUFvQyxDQUFDO0FBQ3hGLE1BQU0sOEJBQThCLEdBQVcsaUNBQWlDLENBQUM7QUFDakYsTUFBTSw2QkFBNkIsR0FBVywrQkFBK0IsQ0FBQztBQUM5RSxNQUFNLGdDQUFnQyxHQUFXLGtDQUFrQyxDQUFDO0FBQ3BGLE1BQU0sNEJBQTRCLEdBQVcsOEJBQThCLENBQUM7QUFDNUUsTUFBTSwwQkFBMEIsR0FBVyw2QkFBNkIsQ0FBQztBQUN6RSxNQUFNLDRCQUE0QixHQUFXLCtCQUErQixDQUFDO0FBQzdFLE1BQU0sOEJBQThCLEdBQVcsZ0NBQWdD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LCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuLy8gRVNcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBQcm9jZXNzZXNWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL1Byb2Nlc3Nlc1ZpZXdcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcbmltcG9ydCB7IFRvcEFjdGl2aXRpZXNEYXRhVmlldyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9Ub3BBY3Rpdml0aWVzRGF0YVZpZXdcIjtcclxuaW1wb3J0IHsgRGlyZWN0b3JJbmZvcyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9EaXJlY3RvckluZm9zXCI7XHJcbmltcG9ydCB7IE5vZGVTdGF0cyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9Ob2RlU3RhdHNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblN0YXRzIH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL1Nlc3Npb25TdGF0c1wiO1xyXG5pbXBvcnQgeyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvZmlsZXJEYXRhTm9kZXNWaWV3XCI7XHJcbmltcG9ydCB7IE1ldHJpY3NWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL01ldHJpY3NWaWV3XCI7XHJcbmltcG9ydCB7IE1ldHJpYyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9NZXRyaWNcIjtcclxuaW1wb3J0IHsgTG9ja3NWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL0xvY2tzVmlld1wiO1xyXG5pbXBvcnQgeyBEeW5hbWljVmlld3NWaWV3IH0gZnJvbSBcIi4uL21vZGVscy9jb21wb25lbnRzL0R5bmFtaWNWaWV3c1ZpZXdcIjtcclxuaW1wb3J0IHsgQXVkaXRzVmlldyB9IGZyb20gXCIuLi9tb2RlbHMvY29tcG9uZW50cy9BdWRpdHNWaWV3XCI7XHJcblxyXG4vLyBDaGlhbWF0ZSBhaSBSZXBvc2l0b3J5XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cDogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0NoYW5nZVByb2Nlc3NDb25zdW1lckdyb3VwXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXRDb25zdW1lckdyb3Vwczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldENvbnN1bWVyR3JvdXBzI2NhY2hlXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXRJbmZvczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldEluZm9zXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXRNZXRyaWNzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0TWV0cmljc1wiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldE1ldHJpY3M6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRNZXRyaWNzXCI7XHJcbmNvbnN0IFBPU1RfRGlyZWN0b3JfR2V0UHJvZmlsZXJEYXRhTm9kZXM6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRQcm9maWxlckRhdGFOb2Rlc1wiO1xyXG5jb25zdCBHRVRfRGlyZWN0b3JfR2V0V29ya2xvYWRSZXBvcnQ6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRXb3JrbG9hZFJlcG9ydFwiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldFNlcnZlckF1ZGl0czogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFNlcnZlckF1ZGl0c1wiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldER5bmFtaWNWaWV3RGF0YTogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldER5bmFtaWNWaWV3RGF0YVwiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldFNlcnZlckxvY2tzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0U2VydmVyTG9ja3NcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldFNlcnZlckxvZ3M6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRTZXJ2ZXJMb2dzXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXREeW5hbWljVmlld3M6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXREeW5hbWljVmlld3NcIjtcclxuY29uc3QgUE9TVF9EaXJlY3Rvcl9HZXRTZXJ2ZXJXb3JrZXJzOiBzdHJpbmcgPSBcIi9hcGkvRGlyZWN0b3IvR2V0U2VydmVyV29ya2Vyc1wiO1xyXG5jb25zdCBQT1NUX0RpcmVjdG9yX0dldFRvcEFjdGl2aXRpZXM6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXRUb3BBY3Rpdml0aWVzXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9LaWxsUHJvY2Vzczogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0tpbGxQcm9jZXNzXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9TZXRQcm9jZXNzVHJhY2luZzogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL1NldFByb2Nlc3NUcmFjaW5nXCI7XHJcbmNvbnN0IEdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHM6IHN0cmluZyA9IFwiL2FwaS9EaXJlY3Rvci9HZXROb2RlU3RhdHNcIjtcclxuY29uc3QgR0VUX0RpcmVjdG9yX0dldFNlc3Npb25TdGF0czogc3RyaW5nID0gXCIvYXBpL0RpcmVjdG9yL0dldFNlc3Npb25TdGF0c1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRtaW5Nb2R1bGVCYXNlU2VydmljZSB7XHJcbiAgICBwdWJsaWMgaHR0cDogSFRUUFNlcnZpY2U7XHJcbiAgICBwdWJsaWMgbXNnRXh0czogTWVzc2FnZVNlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICB0aGlzLmh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIVFRQU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzID0gdGhpcy5pbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXJ2ZXJXb3JrZXJzKHN2OiBQcm9jZXNzZXNWaWV3KTogUHJvbWlzZTxQcm9jZXNzZXNWaWV3PiB7XHJcbiAgICAgICAgbGV0IHJldDogUHJvY2Vzc2VzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFByb2Nlc3Nlc1ZpZXc+KFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyV29ya2Vycywgc3YpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1NldFByb2Nlc3NUcmFjaW5nKGluc3RhbmNlaWQ6IHN0cmluZywgc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nLCBlbmFibGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIGluc3RhbmNlaWQpXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgc2lkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHNlcmlhbClcclxuICAgICAgICAgICAgLnNldChcImVuYWJsZVwiLCBlbmFibGUpO1xyXG5cclxuICAgICAgICBsZXQgcmV0OiBzdHJpbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PHN0cmluZz4oR0VUX0RpcmVjdG9yX1NldFByb2Nlc3NUcmFjaW5nLCBwYXJzKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9LaWxsUHJvY2VzcyhpbnN0YW5jZWlkOiBzdHJpbmcsIHNpZDogc3RyaW5nLCBzZXJpYWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIGluc3RhbmNlaWQpXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgc2lkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHNlcmlhbCk7XHJcblxyXG4gICAgICAgIGxldCByZXQ6IHN0cmluZyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8c3RyaW5nPihHRVRfRGlyZWN0b3JfS2lsbFByb2Nlc3MsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb0NoYW5nZVByb2Nlc3NDb25zdW1lckdyb3VwKGluc3RhbmNlaWQ6IHN0cmluZywgc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nLCBjb25zdW1lckdyb3VwOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHZhciBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAuc2V0KFwiaW5zdGFuY2VpZFwiLCBpbnN0YW5jZWlkKVxyXG4gICAgICAgICAgICAuc2V0KFwic2lkXCIsIHNpZClcclxuICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCBzZXJpYWwpXHJcbiAgICAgICAgICAgIC5zZXQoXCJjb25zdW1lcl9ncm91cFwiLCBjb25zdW1lckdyb3VwKTtcclxuXHJcbiAgICAgICAgbGV0IHJldDogc3RyaW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxzdHJpbmc+KEdFVF9EaXJlY3Rvcl9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cCwgcGFycykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldENvbnN1bWVyR3JvdXBzKCk6IFByb21pc2U8S2V5VmFsdWVbXT4ge1xyXG4gICAgICAgIGxldCByZXQ6IEtleVZhbHVlW10gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PEtleVZhbHVlW10+KEdFVF9EaXJlY3Rvcl9HZXRDb25zdW1lckdyb3VwcykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFNlcnZlckxvZ3MoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBsZXQgcmV0OiBzdHJpbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PHN0cmluZz4oR0VUX0RpcmVjdG9yX0dldFNlcnZlckxvZ3MpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRUb3BBY3Rpdml0aWVzKHN2OiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcpOiBQcm9taXNlPFRvcEFjdGl2aXRpZXNEYXRhVmlldz4ge1xyXG4gICAgICAgIGxldCByZXQ6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFRvcEFjdGl2aXRpZXNEYXRhVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRUb3BBY3Rpdml0aWVzLCBzdikpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEluZm9zKCk6IFByb21pc2U8RGlyZWN0b3JJbmZvcz4ge1xyXG4gICAgICAgIGxldCByZXQ6IERpcmVjdG9ySW5mb3MgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PERpcmVjdG9ySW5mb3M+KEdFVF9EaXJlY3Rvcl9HZXRJbmZvcywgbnVsbCwgbnVsbCwgZmFsc2UpLnBpcGUoY2F0Y2hFcnJvcihfID0+IG9mKG51bGwgYXMgRGlyZWN0b3JJbmZvcykpKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Tm9kZVN0YXRzKG5vZGVJZDogc3RyaW5nKTogUHJvbWlzZTxOb2RlU3RhdHM+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwibm9kZUlkXCIsIG5vZGVJZCk7XHJcbiAgICAgICAgbGV0IHJldDogTm9kZVN0YXRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxOb2RlU3RhdHM+KEdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHMsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXNzaW9uU3RhdHMoc2lkOiBzdHJpbmcsIHNlcmlhbDogc3RyaW5nKTogUHJvbWlzZTxTZXNzaW9uU3RhdHM+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzaWQnLCBzaWQpLnNldCgnc2VyaWFsJywgc2VyaWFsKTtcclxuICAgICAgICBsZXQgcmV0OiBTZXNzaW9uU3RhdHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PFNlc3Npb25TdGF0cz4oR0VUX0RpcmVjdG9yX0dldFNlc3Npb25TdGF0cywgcGFycykpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFByb2ZpbGVyRGF0YU5vZGVzKHN2OiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcpOiBQcm9taXNlPFByb2ZpbGVyRGF0YU5vZGVzVmlldz4ge1xyXG4gICAgICAgIGxldCByZXQ6IFByb2ZpbGVyRGF0YU5vZGVzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PFByb2ZpbGVyRGF0YU5vZGVzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRQcm9maWxlckRhdGFOb2Rlcywgc3YpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkb3dubG9hZFdvcmtsb2FkUmVwb3J0KGZyb206IHN0cmluZywgdG86IHN0cmluZykge1xyXG4gICAgICAgIGxldCBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJmcm9tXCIsIGZyb20gfHwgXCJcIikuc2V0KFwidG9cIiwgdG8gfHwgXCJcIik7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldEZpbGVOYXRpdmUoR0VUX0RpcmVjdG9yX0dldFdvcmtsb2FkUmVwb3J0LCBwYXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TWV0cmljcyhzdjogTWV0cmljc1ZpZXcpOiBQcm9taXNlPE1ldHJpY3NWaWV3PiB7XHJcbiAgICAgICAgbGV0IHJldDogTWV0cmljc1ZpZXcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAucG9zdDxNZXRyaWNzVmlldz4oUE9TVF9EaXJlY3Rvcl9HZXRNZXRyaWNzLCBzdikpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldE1ldHJpY3NMaXN0KGZyb206IHN0cmluZywgdG86IHN0cmluZyk6IFByb21pc2U8TWV0cmljW10+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgICAgICAgLnNldChcImZyb21cIiwgZnJvbSB8fCBcIlwiKVxyXG4gICAgICAgICAgICAuc2V0KFwidG9cIiwgdG8gfHwgXCJcIik7XHJcblxyXG4gICAgICAgIGxldCByZXQ6IE1ldHJpY1tdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxNZXRyaWNbXT4oR0VUX0RpcmVjdG9yX0dldE1ldHJpY3MsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0LnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZXJ2ZXJMb2NrcyhzdjogTG9ja3NWaWV3KTogUHJvbWlzZTxMb2Nrc1ZpZXc+IHtcclxuICAgICAgICBsZXQgcmV0OiBMb2Nrc1ZpZXcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAucG9zdDxMb2Nrc1ZpZXc+KFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyTG9ja3MsIHN2KSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RHluYW1pY1ZpZXdEYXRhKHN2OiBEeW5hbWljVmlld3NWaWV3KTogUHJvbWlzZTxEeW5hbWljVmlld3NWaWV3PiB7XHJcbiAgICAgICAgbGV0IHJldDogRHluYW1pY1ZpZXdzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PER5bmFtaWNWaWV3c1ZpZXc+KFBPU1RfRGlyZWN0b3JfR2V0RHluYW1pY1ZpZXdEYXRhLCBzdikpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldER5bmFtaWNWaWV3cygpOiBQcm9taXNlPEtleVZhbHVlW10+IHtcclxuICAgICAgICBsZXQgcmV0OiBLZXlWYWx1ZVtdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxLZXlWYWx1ZVtdPihHRVRfRGlyZWN0b3JfR2V0RHluYW1pY1ZpZXdzKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2VydmVyQXVkaXRzKHN2OiBBdWRpdHNWaWV3KTogUHJvbWlzZTxBdWRpdHNWaWV3PiB7XHJcbiAgICAgICAgbGV0IHJldDogQXVkaXRzVmlldyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PEF1ZGl0c1ZpZXc+KFBPU1RfRGlyZWN0b3JfR2V0U2VydmVyQXVkaXRzLCBzdikpO1xyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -76,12 +76,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
76
76
|
|
|
77
77
|
// Chiamate ai Repository
|
|
78
78
|
const GET_Director_ChangeProcessConsumerGroup = "/api/Director/ChangeProcessConsumerGroup";
|
|
79
|
-
const GET_Director_ClearAllCaches = "/api/Director/ClearAllCaches";
|
|
80
79
|
const GET_Director_GetConsumerGroups = "/api/Director/GetConsumerGroups#cache";
|
|
81
80
|
const GET_Director_GetInfos = "/api/Director/GetInfos";
|
|
82
81
|
const GET_Director_GetMetrics = "/api/Director/GetMetrics";
|
|
83
82
|
const POST_Director_GetMetrics = "/api/Director/GetMetrics";
|
|
84
83
|
const POST_Director_GetProfilerDataNodes = "/api/Director/GetProfilerDataNodes";
|
|
84
|
+
const GET_Director_GetWorkloadReport = "/api/Director/GetWorkloadReport";
|
|
85
85
|
const POST_Director_GetServerAudits = "/api/Director/GetServerAudits";
|
|
86
86
|
const POST_Director_GetDynamicViewData = "/api/Director/GetDynamicViewData";
|
|
87
87
|
const POST_Director_GetServerLocks = "/api/Director/GetServerLocks";
|
|
@@ -89,12 +89,8 @@ const GET_Director_GetServerLogs = "/api/Director/GetServerLogs";
|
|
|
89
89
|
const GET_Director_GetDynamicViews = "/api/Director/GetDynamicViews";
|
|
90
90
|
const POST_Director_GetServerWorkers = "/api/Director/GetServerWorkers";
|
|
91
91
|
const POST_Director_GetTopActivities = "/api/Director/GetTopActivities";
|
|
92
|
-
const GET_Director_GetWorkerStatus = "/api/Director/GetWorkerStatus";
|
|
93
|
-
const GET_Director_InvalidateServerSideCache = "/api/Director/InvalidateServerSideCache";
|
|
94
92
|
const GET_Director_KillProcess = "/api/Director/KillProcess";
|
|
95
93
|
const GET_Director_SetProcessTracing = "/api/Director/SetProcessTracing";
|
|
96
|
-
const GET_Director_StartWorker = "/api/Director/StartWorker";
|
|
97
|
-
const GET_Director_StopWorker = "/api/Director/StopWorker";
|
|
98
94
|
const GET_Director_GetNodeStats = "/api/Director/GetNodeStats";
|
|
99
95
|
const GET_Director_GetSessionStats = "/api/Director/GetSessionStats";
|
|
100
96
|
class AdminModuleBaseService {
|
|
@@ -185,6 +181,10 @@ class AdminModuleBaseService {
|
|
|
185
181
|
return ret;
|
|
186
182
|
});
|
|
187
183
|
}
|
|
184
|
+
downloadWorkloadReport(from, to) {
|
|
185
|
+
let pars = new HttpParams().set("from", from || "").set("to", to || "");
|
|
186
|
+
this.http.getFileNative(GET_Director_GetWorkloadReport, pars);
|
|
187
|
+
}
|
|
188
188
|
getMetrics(sv) {
|
|
189
189
|
return __awaiter(this, void 0, void 0, function* () {
|
|
190
190
|
let ret = yield firstValueFrom(this.http.post(POST_Director_GetMetrics, sv));
|
|
@@ -764,6 +764,9 @@ class AdmProfilerComponent {
|
|
|
764
764
|
this.searchView.page = 1;
|
|
765
765
|
this.POSTGetItems(this.searchView);
|
|
766
766
|
}
|
|
767
|
+
downloadWorkloadReport() {
|
|
768
|
+
this.adms.downloadWorkloadReport(this.searchView.filterfrom, this.searchView.filterto);
|
|
769
|
+
}
|
|
767
770
|
POSTGetItems(data) {
|
|
768
771
|
return __awaiter(this, void 0, void 0, function* () {
|
|
769
772
|
this.searchView = yield this.adms.getProfilerDataNodes(data);
|
|
@@ -788,10 +791,10 @@ class AdmProfilerComponent {
|
|
|
788
791
|
}
|
|
789
792
|
}
|
|
790
793
|
AdmProfilerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdmProfilerComponent, deps: [{ token: i1.LocalizationService }, { token: i3.PreferencesService }, { token: i5$1.Location }, { token: i1$1.InterComService }, { token: i5.ActivatedRoute }, { token: AdminModuleBaseService }, { token: ADM_MODULE_PATH }], target: i0.ɵɵFactoryTarget.Component });
|
|
791
|
-
AdmProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdmProfilerComponent, selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>", dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8$1.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { kind: "directive", type: i8.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdForProperty", "tdIf", "tdClass", "tdPropertyAccessor", "tdAlignment", "tdFormat", "tdIconClass", "tdConditionField", "tdConditionValue", "tdTitle", "tdContent"] }, { kind: "directive", type: i8.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thShrink", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation", "thProperty", "thType", "thSource", "thMulti", "thStaticContent", "thBackgroundColor", "thAlignment", "thFormat", "thEditorName", "thEditorOptions", "thRendererName", "thRoutePath", "thRouteParameterProperties"] }, { kind: "component", type: i8.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "component", type: i9.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { kind: "component", type: NodeDetailComponent, selector: "node-detail", inputs: ["NodeDetails"], outputs: ["onClose"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }] });
|
|
794
|
+
AdmProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdmProfilerComponent, selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"downloadWorkloadReport()\" type=\"submit\"><i class=\"fa fa-download\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>", dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8$1.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { kind: "directive", type: i8.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdForProperty", "tdIf", "tdClass", "tdPropertyAccessor", "tdAlignment", "tdFormat", "tdIconClass", "tdConditionField", "tdConditionValue", "tdTitle", "tdContent"] }, { kind: "directive", type: i8.EsThDirective, selector: "[th]", inputs: ["th", "thPinned", "thPinnable", "thPinnedWidth", "thVisible", "thFixed", "thParent", "thOrder", "thOrderable", "thWrap", "thResizable", "thClass", "thShrink", "thGroupClass", "thIf", "thEmpty", "thGroup", "thAggregation", "thProperty", "thType", "thSource", "thMulti", "thStaticContent", "thBackgroundColor", "thAlignment", "thFormat", "thEditorName", "thEditorOptions", "thRendererName", "thRoutePath", "thRouteParameterProperties"] }, { kind: "component", type: i8.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "component", type: i9.FormDateComponent, selector: "form-date", inputs: ["JsDates"] }, { kind: "component", type: NodeDetailComponent, selector: "node-detail", inputs: ["NodeDetails"], outputs: ["onClose"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }] });
|
|
792
795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdmProfilerComponent, decorators: [{
|
|
793
796
|
type: Component,
|
|
794
|
-
args: [{ selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>" }]
|
|
797
|
+
args: [{ selector: "adm_profiler", providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Profiler del Server' | localize: lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'Da' | localize: lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'A' | localize: lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n <button class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"downloadWorkloadReport()\" type=\"submit\"><i class=\"fa fa-download\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Carico i Dati' | localize: lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Descrizione' | localize: lc}}</span>\r\n <span *th=\"'3'\">{{'Chiamate' | localize: lc}}</span>\r\n <span *th=\"'4'\">{{'Tempo' | localize: lc}}</span>\r\n <span *th=\"'5'\">{{'Tempo Max' | localize: lc}}</span>\r\n <span *th=\"'6'\">{{'Tempo Min' | localize: lc}}</span>\r\n <span *th=\"'7'\">{{'Tempo Medio' | localize: lc}}</span>\r\n <span *th=\"'8'\">{{'Tempo Specifico' | localize: lc}}</span>\r\n <span *th=\"'9'\">{{'Percentuale' | localize: lc}}</span>\r\n <span *th=\"'10'\">{{'Chiamate Periodo' | localize: lc}}</span>\r\n <span *th=\"'11'\">{{'Tempo Periodo' | localize: lc}}</span>\r\n <span *th=\"'12'\">{{'Tempo Max Periodo' | localize: lc}}</span>\r\n <span *th=\"'13'\">{{'Tempo Min Periodo' | localize: lc}}</span>\r\n <span *th=\"'14'\">{{'Tempo Medio Periodo' | localize: lc}}</span>\r\n <span *th=\"'15'\">{{'Tempo Specifico Periodo' | localize: lc}}</span>\r\n <span *th=\"'16'\">{{'Percentuale Periodo' | localize: lc}}</span>\r\n <span *th=\"'17'\">{{'Nome Tipologia Evento' | localize: lc}}</span>\r\n <span *th=\"'18'\">{{'Nome Classe Attesa' | localize: lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link app-inline\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\">{{item.id}}</span></span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren }}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>" }]
|
|
795
798
|
}], ctorParameters: function () {
|
|
796
799
|
return [{ type: i1.LocalizationService }, { type: i3.PreferencesService }, { type: i5$1.Location }, { type: i1$1.InterComService }, { type: i5.ActivatedRoute }, { type: AdminModuleBaseService }, { type: undefined, decorators: [{
|
|
797
800
|
type: Inject,
|