@sunbird-cb/collection 1.0.42 → 1.0.44

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.
@@ -15,6 +15,7 @@ export class OrgUserTableComponent {
15
15
  this.pageSize = 20;
16
16
  this.pageSizeOptions = [20, 30, 40];
17
17
  this.selection = new SelectionModel(true, []);
18
+ this.isSearchText = false;
18
19
  this.dataSource = new MatTableDataSource();
19
20
  this.actionsClick = new EventEmitter();
20
21
  this.clicked = new EventEmitter();
@@ -45,11 +46,13 @@ export class OrgUserTableComponent {
45
46
  }
46
47
  applyFilter(filterValue) {
47
48
  if (filterValue) {
49
+ this.isSearchText = true;
48
50
  let fValue = filterValue.trim();
49
51
  fValue = filterValue.toLowerCase();
50
52
  this.dataSource.filter = fValue;
51
53
  }
52
54
  else {
55
+ this.isSearchText = false;
53
56
  this.dataSource.filter = '';
54
57
  }
55
58
  }
@@ -133,8 +136,8 @@ export class OrgUserTableComponent {
133
136
  OrgUserTableComponent.decorators = [
134
137
  { type: Component, args: [{
135
138
  selector: 'ws-widget-org-user-table',
136
- template: "<div class=\"example-container margin-top-m\">\r\n <div class=\"example-loading-shade\"></div>\r\n\r\n <div class=\"example-table-container\">\r\n <div class=\"container\">\r\n <div class=\"flex flex-1 custom\">\r\n <div class=\"flex-1\">\r\n <div class=\"search\" *ngIf=\"isSearchBar\">\r\n <div class=rsearch>\r\n <mat-icon class=\"color-60 search-icon\">search</mat-icon>\r\n <input class=\"sinput color-60\" type=\"Standard\" label=\"\"\r\n (input)=\"applyFilter($event.target.value)\" (keydown.enter)=\"onSearchEnter($event)\"\r\n placeholder=\"Search\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-2 margin-left-l position-rel\" *ngIf=\"isTrainingPlan && trainingTagList?.length > 0\">\r\n <a class=\"training-tag mat-button margin-right-s\" [ngClass]=\"{'selectTab': item.selected}\"\r\n *ngFor=\"let item of trainingTagList\" (click)=\"tagSelectedItem(item.value)\">{{item.name}}</a>\r\n <!-- <button mat-icon-button class=\"training-filter-btn\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button> -->\r\n </div>\r\n <div class=\"flex-2 right-align\" *ngIf=\"isDownload || isConsumptionReport || isCreate\">\r\n <!-- <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isUpload\"\r\n (click)=\"onButtonClick('upload', $event)\">\r\n <mat-icon>vertical_align_top</mat-icon> File upload\r\n </button> -->\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isDownload\"\r\n (click)=\"onButtonClick('download', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Users Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isConsumptionReport\"\r\n (click)=\"onButtonClick('consumptionReport', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Consumption Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"create-btn\" *ngIf=\"isCreate\"\r\n (click)=\"onButtonClick('createUser', $event)\">\r\n Create new\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- </mat-form-field> -->\r\n <mat-table #table matSort [ngStyle]=\"{'height': bodyHeight}\" [matSortActive]=\"tableData!.sortColumn\"\r\n [matSortDirection]=\"tableData!.sortState\" [dataSource]=\"dataSource\"\r\n class=\"example-table table1 responsiveTable\" *ngIf=\"dataSource.filteredData.length > 0\">\r\n\r\n <ng-container matColumnDef=\"{{col.key}}\" *ngFor=\"let col of tableData!.columns\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header class=\".h-400-r-14-l color-60\"> {{col.displayName}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\">\r\n <img *ngIf=\"col?.imageUrl\" src=\"{{element.posterImage}}\" class=\"pb-image\">\r\n <span *ngIf=\"col?.isList\" class=\"textclass h-400-r-14-l color-87 \">\r\n <div innerHTML=\"{{element[col.key]}}\"></div>\r\n </span>\r\n <span *ngIf=\"!col?.isList\" class=\"h-400-r-14-l textclass color-87 \"\r\n [ngClass]=\"{'cursor-default': isTrainingPlan}\">\r\n {{(col.key === 'dateCreatedOn' || col.key === 'dateUpdatedOn' || col.key === 'requestedon') ?\r\n (element[col.key] | date:'dd MMM yyy h:mm a') : element[col.key]}} {{col?.isList}}\r\n </span>\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Actions\" *ngIf=\"tableData!.actions && tableData!.actions.length > 0\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\"> {{\r\n tableData!.actionColumnName || \"Actions\"}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <div *ngFor=\"let ac of tableData!.actions\">\r\n <div *ngIf=\"ac.optional\">\r\n <ws-widget-app-button *ngIf=\"row[ac.optional_key] === ac.optional_Value\" [type]=\"ac.type\"\r\n [icon]=\"ac.icon\" [disabled]=\"ac.disabled || false\" [label]=\"ac.label\"\r\n (click)=\"buttonClick(ac.name,row)\"></ws-widget-app-button>\r\n </div>\r\n <div *ngIf=\"!ac.optional\">\r\n <ws-widget-app-button [type]=\"ac.type\" [icon]=\"ac.icon\" [label]=\"ac.label\"\r\n [disabled]=\"ac.disabled || false\" (click)=\"buttonClick(ac.name,row)\">\r\n </ws-widget-app-button>\r\n </div>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"CBP Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cbpPlanCardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"getFinalColumns()\"></mat-header-row>\r\n\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\" (click)=\"selection.toggle(row);\">\r\n </mat-row>\r\n\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\">\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\"\r\n (click)=\"selection.toggle(row); onRowClick(row)\">\r\n ssss\r\n </mat-row>\r\n </div> -->\r\n </mat-table>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan\">\r\n <div><img src=\"/assets/images/no-content-data.svg\"></div>\r\n <div class=\"mat-subheading-1 margin-remove\">No CBP plan created yet</div>\r\n <div>Create a CBP plan to assign users.</div>\r\n <div class=\"margin-top-m\">\r\n <button mat-button type=\"button\" class=\"create-btn\"\r\n (click)=\"onButtonClick('createCbpPlan', $event)\">Create CBP</button>\r\n </div>\r\n </div>\r\n <mat-card class=\"flex-1\" role=\"none\" *ngIf=\"dataSource.filteredData.length === 0 && !isTrainingPlan\">\r\n <span class=\"mat-subtitle\">No data found</span>\r\n </mat-card>\r\n </div>\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\" class=\"h-600-s-20-m color-60 text-center\">No result found\r\n </div> -->\r\n <mat-paginator *ngIf=\"dataSource.filteredData.length > 0 && isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n <mat-paginator *ngIf=\"!isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<mat-menu #cardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <!-- <div > -->\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\"\r\n *ngIf=\"rowData.allowEditUser && showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\" *ngIf=\"!showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('showOnKarma',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>input</mat-icon> <span>Show on Karmayogi</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"rowData && rowData.blocked ? buttonClick('unblock',rowData): buttonClick('block',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>block</mat-icon><span>{{rowData && rowData.blocked ? 'Unblock user':'Block user' }}</span>\r\n </button> -->\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <button *ngIf=\"userId != rowData.userId\"\r\n (click)=\"rowData && rowData.active ? buttonClick('deactive',rowData): buttonClick('active',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>toggle_off_sharp</mat-icon>\r\n <span>{{rowData && rowData.active? 'Deactivate user':'Activate user'}}</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"buttonClick('delete',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>delete</mat-icon><span>Delete User</span>\r\n </button> -->\r\n <!-- </div> -->\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<mat-menu #cbpPlanCardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <div *ngFor=\"let item of actionMenuItem\">\r\n <button (click)=\"buttonClick(item.key,rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" *ngIf=\"checkIfEnabled(rowData, item)\">\r\n <mat-icon>{{item.icon}}</mat-icon> <span>{{item.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</mat-menu>",
137
- styles: [".card-minimal-container{position:relative}.card-minimal-container .card-link{width:265px;height:150px;display:block}.card-minimal-container .card-link .card-thumbnail{object-fit:contain;width:100%;height:100%}.card-minimal-container .card-overlay{position:absolute;bottom:4px;background-color:rgba(0,0,0,.55);color:#fff;padding:4px 12px;box-sizing:border-box;width:100%}.card-minimal-container .card-overlay .card-title{margin-bottom:-6px}.status-danger{width:16px;height:16px;position:absolute;border-radius:50%;top:16px;left:16px;pointer-events:auto;cursor:pointer;background:#ce3939}.card-space-saving-container{position:relative;width:265px;height:100%;box-sizing:border-box}.card-space-saving-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-space-saving-container mat-card-content{margin:0 -4px;min-height:120px}.card-space-saving-container .card-img{height:150px;display:block}.card-space-saving-container .card-header-meta{margin-top:8px}.card-space-saving-container .title-text{display:block;margin:12px 0}.card-space-saving-container .flip-desc-text{position:relative;overflow:hidden;line-height:1.4em;height:5.6em;margin-bottom:36px}.card-space-saving-container .flip-actions{position:absolute;bottom:0;left:0;width:100%;padding:12px;box-sizing:border-box}.card-space-saving-container .flip-actions .source-name{margin-bottom:0;font-weight:400}.card-ford-container{padding:16px 16px 0;position:relative;width:220px;height:243px;overflow:hidden;box-sizing:border-box}.card-ford-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-ford-container mat-card-content{margin:160px}.card-ford-container .card-img{height:125px;display:block;object-fit:contain}@media only screen and (max-width:599px){.card-ford-container{width:200px;height:240px}.card-ford-container .card-img{height:115px}}.card-ford-container .complexity{display:flex;font-size:14px}.card-ford-container .duration{height:1.6em;display:flex}.card-ford-container .duration .resource-type{order:3;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .duration .duration-time{order:2;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:1.3em;line-height:1.3em;text-overflow:ellipsis;white-space:nowrap}.card-ford-container .mode-tag{border-radius:5px;color:#fff}.card-ford-container .description-text{position:relative;overflow:hidden;height:4.2em;line-height:1.4em}.card-ford-container .mat-chip-list-wrapper{padding:8px 0 16px!important}.card-ford-container .text-description-trim{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:9;display:-webkit-box;-webkit-box-orient:vertical;text-align:justify}.card-standard-container{position:relative;width:268px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-standard-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{margin:0 -4px}.card-standard-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-standard-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-standard-container .complexity .time-text{margin:0 5px 0 6px}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:3.78em;line-height:1.89em}.card-standard-container .description-text{position:relative;overflow:hidden;height:5.7em;line-height:1.9em}.card-discussions-container{flex:1;display:flex;position:relative;height:100%;min-height:140px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-discussions-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-discussions-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-discussions-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-discussions-container mat-card-content{margin:0 -4px;flex:1}.card-discussions-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-discussions-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-discussions-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-discussions-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-discussions-container .complexity .time-text{margin:0 5px 0 6px}.card-discussions-container .basic{margin:auto 0}.card-discussions-container .title-text{overflow:hidden}.card-discussions-container .description-text{position:relative;overflow:hidden;height:auto;line-height:1.9em}.card-basic-infomartion-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:300px}.card-basic-infomartion-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-basic-infomartion-container .source-name{margin-bottom:0;font-weight:400;line-height:1.25rem!important}.card-basic-infomartion-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-basic-infomartion-container .source-image{object-fit:contain;height:35px;width:55px;overflow:auto}.card-with-user-details-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:270px}.card-with-user-details-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-with-user-details-container .source-name{margin-bottom:0;font-weight:400}.card-with-user-details-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-with-user-details-container .author-image{margin-right:12px;height:44px;width:44px}.card-with-user-details-container .back-color{background-color:#7e0a80}.card-with-user-details-container .space-0{margin-top:0!important;padding-top:0!important;margin-bottom:0!important}.detail-button{position:absolute;top:12px;right:12px;z-index:1}.greyOut{filter:grayscale(1);opacity:.7;cursor:auto!important}.disableClick{pointer-events:none}.display-contents{display:contents}.title-truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.typeofc{width:101px;height:30px;border:1px solid;border-radius:8px;opacity:.4;align-items:center;justify-content:center;display:flex}.flex-9{flex:9}.center-right{align-items:center;justify-content:flex-end}.no-box{box-shadow:none!important}.table1{width:100%;display:flex;flex-direction:column}.textclass{word-break:break-word;margin:5px;cursor:pointer}.search{display:flex;flex:1}.lsearch{display:flex;flex:3}.rsearch{display:flex;position:relative;flex:1 1 auto}.sinput{width:315px;border-radius:4px;border:1px solid #d5d0d0;padding:9px 9px 9px 35px;margin-bottom:20px;margin-top:0;font:400 14px Lato}.searchText{display:flex;flex-direction:row-reverse;margin:23px 0 0 auto}.action-btn{border:none;background:0 0}mat-header-row{min-height:40px}.mat-header-cell{background-color:#f5f5f5}.container-balanced{max-width:99%;margin-left:auto!important;margin-right:auto!important}.flex-3{flex:3}.flex-1{flex:1}.flex-2{flex:2}.flex-4{flex:4}.flex-update{flex-direction:row}@media only screen and (max-width:599px){.card-ford-container .text-description-trim{-webkit-line-clamp:8}.flex-update{flex-direction:row}}.flex-custom{display:flex;flex-direction:column}@media only screen and (max-width:599px){.flex-custom-m{flex-direction:column}}.right-align{text-align:right}.create-btn{width:107px;background:#1b4ca1!important;color:#fff!important;font-family:Lato;font-weight:700;font-size:14px}.upload-btn{border:1px solid #dedede;border-radius:4px;margin:0 12px;color:#848484!important;font-family:Lato;font-weight:700;font-size:14px}.search-icon{position:absolute;top:9px;font-size:20px;left:10px}.example-container{display:flex;flex-direction:column;flex:1}.linkTextColor{color:#0074b6!important}.training-tag{background:#f5f5f5!important;border-radius:18px;border:1px solid rgba(0,0,0,.08);color:#000!important;font-weight:400;font-size:14px;min-width:101px}.position-rel{position:relative}.training-filter-btn{position:absolute;right:0;color:rgba(0,0,0,.6)}.pb-image{height:40px;width:64px;margin:10px 8px 10px 0}.no-cbp-data{width:250px;margin:0 auto;text-align:center}.no-cbp-data img{width:auto}.no-cbp-data .small-text{font-size:14px;color:rgba(0,0,0,.6)}.selectTab{border:1px solid #1b4ca1;background:rgba(0,116,182,.05)!important;color:#1b4ca1!important}.cursor-default{cursor:default!important}"]
139
+ template: "<div class=\"example-container margin-top-m\">\r\n <div class=\"example-loading-shade\"></div>\r\n\r\n <div class=\"example-table-container\">\r\n <div class=\"container\">\r\n <div class=\"flex flex-1 custom\">\r\n <div class=\"flex-1\">\r\n <div class=\"search\" *ngIf=\"isSearchBar\">\r\n <div class=rsearch>\r\n <mat-icon class=\"color-60 search-icon\">search</mat-icon>\r\n <input class=\"sinput color-60\" type=\"Standard\" label=\"\"\r\n (input)=\"applyFilter($event.target.value)\" (keydown.enter)=\"onSearchEnter($event)\"\r\n placeholder=\"Search\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-2 margin-left-l position-rel\" *ngIf=\"isTrainingPlan && trainingTagList?.length > 0\">\r\n <a class=\"training-tag mat-button margin-right-s\" [ngClass]=\"{'selectTab': item.selected}\"\r\n *ngFor=\"let item of trainingTagList\" (click)=\"tagSelectedItem(item.value)\">{{item.name}}</a>\r\n <!-- <button mat-icon-button class=\"training-filter-btn\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button> -->\r\n </div>\r\n <div class=\"flex-2 right-align\" *ngIf=\"isDownload || isConsumptionReport || isCreate\">\r\n <!-- <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isUpload\"\r\n (click)=\"onButtonClick('upload', $event)\">\r\n <mat-icon>vertical_align_top</mat-icon> File upload\r\n </button> -->\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isDownload\"\r\n (click)=\"onButtonClick('download', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Users Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isConsumptionReport\"\r\n (click)=\"onButtonClick('consumptionReport', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Consumption Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"create-btn\" *ngIf=\"isCreate\"\r\n (click)=\"onButtonClick('createUser', $event)\">\r\n Create new\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- </mat-form-field> -->\r\n <mat-table #table matSort [ngStyle]=\"{'height': bodyHeight}\" [matSortActive]=\"tableData!.sortColumn\"\r\n [matSortDirection]=\"tableData!.sortState\" [dataSource]=\"dataSource\"\r\n class=\"example-table table1 responsiveTable\" *ngIf=\"dataSource.filteredData.length > 0\">\r\n\r\n <ng-container matColumnDef=\"{{col.key}}\" *ngFor=\"let col of tableData!.columns\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header class=\".h-400-r-14-l color-60\"> {{col.displayName}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\">\r\n <img *ngIf=\"col?.imageUrl\" src=\"{{element.posterImage}}\" class=\"pb-image\">\r\n <span *ngIf=\"col?.isList\" class=\"textclass h-400-r-14-l color-87 \">\r\n <div innerHTML=\"{{element[col.key]}}\"></div>\r\n </span>\r\n <span *ngIf=\"!col?.isList\" class=\"h-400-r-14-l textclass color-87 \"\r\n [ngClass]=\"{'cursor-default': isTrainingPlan}\">\r\n {{(col.key === 'dateCreatedOn' || col.key === 'dateUpdatedOn' || col.key === 'requestedon') ?\r\n (element[col.key] | date:'dd MMM yyy h:mm a') : element[col.key]}} {{col?.isList}}\r\n </span>\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Actions\" *ngIf=\"tableData!.actions && tableData!.actions.length > 0\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\"> {{\r\n tableData!.actionColumnName || \"Actions\"}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <div *ngFor=\"let ac of tableData!.actions\">\r\n <div *ngIf=\"ac.optional\">\r\n <ws-widget-app-button *ngIf=\"row[ac.optional_key] === ac.optional_Value\" [type]=\"ac.type\"\r\n [icon]=\"ac.icon\" [disabled]=\"ac.disabled || false\" [label]=\"ac.label\"\r\n (click)=\"buttonClick(ac.name,row)\"></ws-widget-app-button>\r\n </div>\r\n <div *ngIf=\"!ac.optional\">\r\n <ws-widget-app-button [type]=\"ac.type\" [icon]=\"ac.icon\" [label]=\"ac.label\"\r\n [disabled]=\"ac.disabled || false\" (click)=\"buttonClick(ac.name,row)\">\r\n </ws-widget-app-button>\r\n </div>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"CBP Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cbpPlanCardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"getFinalColumns()\"></mat-header-row>\r\n\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\" (click)=\"selection.toggle(row);\">\r\n </mat-row>\r\n\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\">\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\"\r\n (click)=\"selection.toggle(row); onRowClick(row)\">\r\n ssss\r\n </mat-row>\r\n </div> -->\r\n </mat-table>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan && !isSearchText\">\r\n <div><img src=\"/assets/images/no-content-data.svg\"></div>\r\n <!-- <div class=\"mat-subheading-1 margin-remove\">No CBP plan created yet</div> -->\r\n <div>Start creating a Capacity Building Plan (CBP).</div>\r\n <div class=\"margin-top-m\">\r\n <button mat-button type=\"button\" class=\"create-btn\"\r\n (click)=\"onButtonClick('createCbpPlan', $event)\">Create CBP</button>\r\n </div>\r\n </div>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan && isSearchText\">\r\n <div><img src=\"/assets/images/no-content-data-search.svg\"></div>\r\n <div class=\"mat-subheading-1 margin-remove\">No results found</div>\r\n <div>Try adjusting your search to find what you are looking for.</div>\r\n </div>\r\n <mat-card class=\"flex-1\" role=\"none\" *ngIf=\"dataSource.filteredData.length === 0 && !isTrainingPlan\">\r\n <span class=\"mat-subtitle\">No data found</span>\r\n </mat-card>\r\n </div>\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\" class=\"h-600-s-20-m color-60 text-center\">No result found\r\n </div> -->\r\n <mat-paginator *ngIf=\"dataSource.filteredData.length > 0 && isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n <mat-paginator *ngIf=\"!isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<mat-menu #cardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <!-- <div > -->\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\"\r\n *ngIf=\"rowData.allowEditUser && showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\" *ngIf=\"!showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('showOnKarma',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>input</mat-icon> <span>Show on Karmayogi</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"rowData && rowData.blocked ? buttonClick('unblock',rowData): buttonClick('block',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>block</mat-icon><span>{{rowData && rowData.blocked ? 'Unblock user':'Block user' }}</span>\r\n </button> -->\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <button *ngIf=\"userId != rowData.userId\"\r\n (click)=\"rowData && rowData.active ? buttonClick('deactive',rowData): buttonClick('active',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>toggle_off_sharp</mat-icon>\r\n <span>{{rowData && rowData.active? 'Deactivate user':'Activate user'}}</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"buttonClick('delete',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>delete</mat-icon><span>Delete User</span>\r\n </button> -->\r\n <!-- </div> -->\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<mat-menu #cbpPlanCardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <div *ngFor=\"let item of actionMenuItem\">\r\n <button (click)=\"buttonClick(item.key,rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" *ngIf=\"checkIfEnabled(rowData, item)\">\r\n <mat-icon>{{item.icon}}</mat-icon> <span>{{item.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</mat-menu>",
140
+ styles: [".card-minimal-container{position:relative}.card-minimal-container .card-link{width:265px;height:150px;display:block}.card-minimal-container .card-link .card-thumbnail{object-fit:contain;width:100%;height:100%}.card-minimal-container .card-overlay{position:absolute;bottom:4px;background-color:rgba(0,0,0,.55);color:#fff;padding:4px 12px;box-sizing:border-box;width:100%}.card-minimal-container .card-overlay .card-title{margin-bottom:-6px}.status-danger{width:16px;height:16px;position:absolute;border-radius:50%;top:16px;left:16px;pointer-events:auto;cursor:pointer;background:#ce3939}.card-space-saving-container{position:relative;width:265px;height:100%;box-sizing:border-box}.card-space-saving-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-space-saving-container mat-card-content{margin:0 -4px;min-height:120px}.card-space-saving-container .card-img{height:150px;display:block}.card-space-saving-container .card-header-meta{margin-top:8px}.card-space-saving-container .title-text{display:block;margin:12px 0}.card-space-saving-container .flip-desc-text{position:relative;overflow:hidden;line-height:1.4em;height:5.6em;margin-bottom:36px}.card-space-saving-container .flip-actions{position:absolute;bottom:0;left:0;width:100%;padding:12px;box-sizing:border-box}.card-space-saving-container .flip-actions .source-name{margin-bottom:0;font-weight:400}.card-ford-container{padding:16px 16px 0;position:relative;width:220px;height:243px;overflow:hidden;box-sizing:border-box}.card-ford-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-ford-container mat-card-content{margin:160px}.card-ford-container .card-img{height:125px;display:block;object-fit:contain}@media only screen and (max-width:599px){.card-ford-container{width:200px;height:240px}.card-ford-container .card-img{height:115px}}.card-ford-container .complexity{display:flex;font-size:14px}.card-ford-container .duration{height:1.6em;display:flex}.card-ford-container .duration .resource-type{order:3;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .duration .duration-time{order:2;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:1.3em;line-height:1.3em;text-overflow:ellipsis;white-space:nowrap}.card-ford-container .mode-tag{border-radius:5px;color:#fff}.card-ford-container .description-text{position:relative;overflow:hidden;height:4.2em;line-height:1.4em}.card-ford-container .mat-chip-list-wrapper{padding:8px 0 16px!important}.card-ford-container .text-description-trim{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:9;display:-webkit-box;-webkit-box-orient:vertical;text-align:justify}.card-standard-container{position:relative;width:268px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-standard-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{margin:0 -4px}.card-standard-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-standard-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-standard-container .complexity .time-text{margin:0 5px 0 6px}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:3.78em;line-height:1.89em}.card-standard-container .description-text{position:relative;overflow:hidden;height:5.7em;line-height:1.9em}.card-discussions-container{flex:1;display:flex;position:relative;height:100%;min-height:140px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-discussions-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-discussions-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-discussions-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-discussions-container mat-card-content{margin:0 -4px;flex:1}.card-discussions-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-discussions-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-discussions-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-discussions-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-discussions-container .complexity .time-text{margin:0 5px 0 6px}.card-discussions-container .basic{margin:auto 0}.card-discussions-container .title-text{overflow:hidden}.card-discussions-container .description-text{position:relative;overflow:hidden;height:auto;line-height:1.9em}.card-basic-infomartion-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:300px}.card-basic-infomartion-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-basic-infomartion-container .source-name{margin-bottom:0;font-weight:400;line-height:1.25rem!important}.card-basic-infomartion-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-basic-infomartion-container .source-image{object-fit:contain;height:35px;width:55px;overflow:auto}.card-with-user-details-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:270px}.card-with-user-details-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-with-user-details-container .source-name{margin-bottom:0;font-weight:400}.card-with-user-details-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-with-user-details-container .author-image{margin-right:12px;height:44px;width:44px}.card-with-user-details-container .back-color{background-color:#7e0a80}.card-with-user-details-container .space-0{margin-top:0!important;padding-top:0!important;margin-bottom:0!important}.detail-button{position:absolute;top:12px;right:12px;z-index:1}.greyOut{filter:grayscale(1);opacity:.7;cursor:auto!important}.disableClick{pointer-events:none}.display-contents{display:contents}.title-truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.typeofc{width:101px;height:30px;border:1px solid;border-radius:8px;opacity:.4;align-items:center;justify-content:center;display:flex}.flex-9{flex:9}.center-right{align-items:center;justify-content:flex-end}.no-box{box-shadow:none!important}.table1{width:100%;display:flex;flex-direction:column}.textclass{word-break:break-word;margin:5px;cursor:pointer}.search{display:flex;flex:1}.lsearch{display:flex;flex:3}.rsearch{display:flex;position:relative;flex:1 1 auto}.sinput{width:315px;border-radius:4px;border:1px solid #d5d0d0;padding:9px 9px 9px 35px;margin-bottom:20px;margin-top:0;font:400 14px Lato}.searchText{display:flex;flex-direction:row-reverse;margin:23px 0 0 auto}.action-btn{border:none;background:0 0}mat-header-row{min-height:40px}.mat-header-cell{background-color:#f5f5f5}.container-balanced{max-width:99%;margin-left:auto!important;margin-right:auto!important}.flex-3{flex:3}.flex-1{flex:1}.flex-2{flex:2}.flex-4{flex:4}.flex-update{flex-direction:row}@media only screen and (max-width:599px){.card-ford-container .text-description-trim{-webkit-line-clamp:8}.flex-update{flex-direction:row}}.flex-custom{display:flex;flex-direction:column}@media only screen and (max-width:599px){.flex-custom-m{flex-direction:column}}.right-align{text-align:right}.create-btn{width:107px;background:#1b4ca1!important;color:#fff!important;font-family:Lato;font-weight:700;font-size:14px}.upload-btn{border:1px solid #dedede;border-radius:4px;margin:0 12px;color:#848484!important;font-family:Lato;font-weight:700;font-size:14px}.search-icon{position:absolute;top:9px;font-size:20px;left:10px}.example-container{display:flex;flex-direction:column;flex:1}.linkTextColor{color:#0074b6!important}.training-tag{background:#f5f5f5!important;border-radius:18px;border:1px solid rgba(0,0,0,.08);color:#000!important;font-weight:400;font-size:14px;min-width:101px}.position-rel{position:relative}.training-filter-btn{position:absolute;right:0;color:rgba(0,0,0,.6)}.pb-image{height:40px;width:64px;margin:10px 8px 10px 0}.no-cbp-data{width:auto;margin:50px auto;text-align:center}.no-cbp-data img{width:320px}.no-cbp-data .small-text{font-size:14px;color:rgba(0,0,0,.6)}.selectTab{border:1px solid #1b4ca1;background:rgba(0,116,182,.05)!important;color:#1b4ca1!important}.cursor-default{cursor:default!important}"]
138
141
  }] }
139
142
  ];
140
143
  OrgUserTableComponent.ctorParameters = () => [];
@@ -188,5 +191,6 @@ if (false) {
188
191
  OrgUserTableComponent.prototype.pageSizeOptions;
189
192
  OrgUserTableComponent.prototype.paginator;
190
193
  OrgUserTableComponent.prototype.selection;
194
+ OrgUserTableComponent.prototype.isSearchText;
191
195
  }
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLXVzZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29sbGVjdGlvbi8iLCJzb3VyY2VzIjpbImxpYi91aS1vcmctdGFibGUvdXNlci1saXN0L29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUE7QUFDbEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7QUFTM0IsTUFBTSxPQUFPLHFCQUFxQjtJQW1DaEM7UUF4QlMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUVuRCxlQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFBO1FBSzdDLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQU85QixjQUFTLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQkFBa0IsRUFBTyxDQUFBO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUM1QyxDQUFDO0lBWkQsSUFBMkMsT0FBTyxDQUFDLElBQWE7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtTQUM1QjtJQUNILENBQUM7SUFVRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQTtTQUMvQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsSUFBbUI7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUN6QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtTQUMzQjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFBO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFnQjtRQUMxQixJQUFJLFdBQVcsRUFBRTtnQkFDWCxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRTtZQUMvQixNQUFNLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsR0FBUTtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7a0JBQ1osVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksS0FBSztZQUN2RyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7YUFDeEM7U0FDRjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtrQkFDMUIsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTthQUMvQjtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUMzQjtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTthQUN4QjtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7YUFDckI7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO2FBQ3pCO1lBQ0QsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUNELE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUdELGFBQWE7Y0FDTCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTTtjQUM1QyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTTtRQUMzQyxPQUFPLFdBQVcsS0FBSyxPQUFPLENBQUE7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBR0QsWUFBWTtRQUNWLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUE7SUFDMUUsQ0FBQztJQUdELGFBQWEsQ0FBQyxHQUFTO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFBO1NBQzdEO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsUUFBUSxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFBO0lBQzVGLENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQWEsRUFBRSxLQUFVO1FBQ3RDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRTtZQUM5RSxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzFELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssZ0JBQWdCLEVBQUU7WUFDNUYsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs7O1lBdEtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyx1clhBQThDOzthQUUvQzs7Ozt3QkFFRSxLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7a0NBQ0wsS0FBSztxQkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSztrQ0FDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSztzQkFDTCxNQUFNOzJCQUNOLE1BQU07MEJBQ04sTUFBTTs2QkFDTixNQUFNOytCQUNOLE1BQU07OEJBQ04sTUFBTTt3QkFTTixTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtzQkFDeEMsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7OztJQTNCckMsMENBQTJDO0lBQzNDLHFDQUFrQjtJQUNsQix5Q0FBMkI7SUFDM0IseUNBQTJCO0lBQzNCLDJDQUE2QjtJQUM3QixvREFBc0M7SUFDdEMsdUNBQXFCO0lBQ3JCLCtDQUFpQztJQUNqQyxnREFBZ0M7SUFDaEMsb0RBQXNDO0lBQ3RDLDRDQUEyQjtJQUMzQiwrQ0FBNkI7SUFDN0Isd0NBQXFDO0lBQ3JDLDZDQUEwQztJQUMxQyw0Q0FBK0M7SUFDL0MsK0NBQWtEO0lBQ2xELGlEQUFvRDtJQUNwRCxnREFBbUQ7SUFFbkQsMkNBQTZDO0lBQzdDLGlEQUF1QztJQUN2QywyQ0FBZ0I7SUFDaEIsMkNBQWU7SUFDZix1Q0FBZTtJQUNmLHlDQUFhO0lBQ2IsZ0RBQThCO0lBQzlCLDBDQUFtRTtJQU1uRSwwQ0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJ1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSdcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnXHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0J1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCdcclxuXHJcbmltcG9ydCB7IElUYWJsZURhdGEsIElDb2x1bXMgfSBmcm9tICcuLi9pbnRlcmZhY2UvaW50ZXJmYWNlcydcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LW9yZy11c2VyLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3JnLXVzZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmdVc2VyVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdGFibGVEYXRhITogSVRhYmxlRGF0YSB8IHVuZGVmaW5lZFxyXG4gIEBJbnB1dCgpIGRhdGE/OiBbXVxyXG4gIEBJbnB1dCgpIGlzVXBsb2FkPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzQ3JlYXRlPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzRG93bmxvYWQ/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNDb25zdW1wdGlvblJlcG9ydD86IGJvb2xlYW5cclxuICBASW5wdXQoKSB1c2VySWQ/OiBhbnlcclxuICBASW5wdXQoKSBpc1RyYWluaW5nUGxhbj86IGJvb2xlYW5cclxuICBASW5wdXQoKSB0cmFpbmluZ1RhZ0xpc3Q/OiBhbnlbXVxyXG4gIEBJbnB1dCgpIHNob3dFZGl0T25Db25kaXRpb24/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNTZWFyY2hCYXIgPSB0cnVlXHJcbiAgQElucHV0KCkgYWN0aW9uTWVudUl0ZW0/OiBhbnlcclxuICBAT3V0cHV0KCkgY2xpY2tlZD86IEV2ZW50RW1pdHRlcjxhbnk+XHJcbiAgQE91dHB1dCgpIGFjdGlvbnNDbGljaz86IEV2ZW50RW1pdHRlcjxhbnk+XHJcbiAgQE91dHB1dCgpIGVPblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgZU9uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSBzZWFyY2hCeUVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgdGFnU2VsZWN0ZWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuXHJcbiAgYm9keUhlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0IC0gMTI1XHJcbiAgZGlzcGxheWVkQ29sdW1uczogSUNvbHVtc1tdIHwgdW5kZWZpbmVkXHJcbiAgZGF0YVNvdXJjZSE6IGFueVxyXG4gIHdpZGdldERhdGE6IGFueVxyXG4gIGxlbmd0aCE6IG51bWJlclxyXG4gIHBhZ2VTaXplID0gMjBcclxuICBwYWdlU2l6ZU9wdGlvbnMgPSBbMjAsIDMwLCA0MF1cclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IG1hdFNvcnQoc29ydDogTWF0U29ydCkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFTb3VyY2Uuc29ydCkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHNvcnRcclxuICAgIH1cclxuICB9XHJcbiAgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KClcclxuICAgIHRoaXMuYWN0aW9uc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgICB0aGlzLmNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvclxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZURhdGEpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy50YWJsZURhdGEuY29sdW1uc1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoZGF0YTogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBfLmdldChkYXRhLCAnZGF0YS5jdXJyZW50VmFsdWUnKVxyXG4gICAgdGhpcy5sZW5ndGggPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGhcclxuICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xyXG4gICAgICB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZGF0YVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3JcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChmaWx0ZXJWYWx1ZSkge1xyXG4gICAgICBsZXQgZlZhbHVlID0gZmlsdGVyVmFsdWUudHJpbSgpXHJcbiAgICAgIGZWYWx1ZSA9IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKClcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZWYWx1ZVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b25DbGljayhhY3Rpb246IHN0cmluZywgcm93OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSkge1xyXG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gXy5nZXQoXy5maW5kKHRoaXMudGFibGVEYXRhLmFjdGlvbnMsIGFjID0+IGFjLm5hbWUgPT09IGFjdGlvbiksICdkaXNhYmxlZCcpIHx8IGZhbHNlXHJcbiAgICAgIGlmICghaXNEaXNhYmxlZCAmJiB0aGlzLmFjdGlvbnNDbGljaykge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uc0NsaWNrLmVtaXQoeyBhY3Rpb24sIHJvdyB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGaW5hbENvbHVtbnMoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZURhdGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBjb2x1bW5zID0gXy5tYXAodGhpcy50YWJsZURhdGEuY29sdW1ucywgYyA9PiBjLmtleSlcclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLm5lZWRDaGVja0JveCkge1xyXG4gICAgICAgIGNvbHVtbnMuc3BsaWNlKDAsIDAsICdzZWxlY3QnKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlRGF0YS5uZWVkSGFzaCkge1xyXG4gICAgICAgIGNvbHVtbnMuc3BsaWNlKDAsIDAsICdTUicpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLmFjdGlvbnMgJiYgdGhpcy50YWJsZURhdGEuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdBY3Rpb25zJylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEubmVlZFVzZXJNZW51cykge1xyXG4gICAgICAgIGNvbHVtbnMucHVzaCgnTWVudScpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLmNicFBsYW5NZW51KSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdDQlAgTWVudScpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbHVtbnNcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIG51bWJlciBvZiBzZWxlY3RlZCBlbGVtZW50cyBtYXRjaGVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cy4gKi9cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGhcclxuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGhcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93c1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyTGlzdChsaXN0OiBhbnlbXSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcChsc3QgPT4gbHN0W2tleV0pXHJcbiAgfVxyXG5cclxuICAvKiogU2VsZWN0cyBhbGwgcm93cyBpZiB0aGV5IGFyZSBub3QgYWxsIHNlbGVjdGVkOyBvdGhlcndpc2UgY2xlYXIgc2VsZWN0aW9uLiAqL1xyXG4gIG1hc3RlclRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpID9cclxuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKSA6XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZvckVhY2goKHJvdzogYW55KSA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSlcclxuICB9XHJcblxyXG4gIC8qKiBUaGUgbGFiZWwgZm9yIHRoZSBjaGVja2JveCBvbiB0aGUgcGFzc2VkIHJvdyAqL1xyXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICghcm93KSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/ICdzZWxlY3QnIDogJ2Rlc2VsZWN0J30gYWxsYFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSA/ICdkZXNlbGVjdCcgOiAnc2VsZWN0J30gcm93ICR7cm93LnBvc2l0aW9uICsgMX1gXHJcbiAgfVxyXG5cclxuICBvblJvd0NsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy5lT25Sb3dDbGljay5lbWl0KGUpXHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKHR5cGU6IHN0cmluZywgZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lT25CdXR0b25DbGljay5lbWl0KHsgdHlwZSwgZXZlbnQgfSlcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoRW50ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWFyY2hCeUVudGVyS2V5LmVtaXQoZXZlbnQudGFyZ2V0LnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgdGFnU2VsZWN0ZWRJdGVtKF9pdGVtOiBhbnkpIHtcclxuICAgIHRoaXMudGFnU2VsZWN0ZWREYXRhLmVtaXQoX2l0ZW0pXHJcbiAgfVxyXG5cclxuICBjaGVja0lmRW5hYmxlZChfcm93RGF0YTogYW55LCBfaXRlbTogYW55KSB7XHJcbiAgICBpZiAoX3Jvd0RhdGEuc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdsaXZlJyAmJiBfaXRlbS5rZXkgPT09ICdwdWJsaXNoQ29udGVudCcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICBpZiAoX2l0ZW0uaXNNZG9MZWFkZXIpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0FkbWluICYmIF9yb3dEYXRhLmNyZWF0ZWRCeSA9PT0gdGhpcy51c2VySWQpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0FkbWluICYmIF9yb3dEYXRhLmNyZWF0ZWRCeSAhPT0gdGhpcy51c2VySWQgJiYgX2l0ZW0ua2V5ID09PSAncHJlaXZld0NvbnRlbnQnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcbn1cclxuIl19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLXVzZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29sbGVjdGlvbi8iLCJzb3VyY2VzIjpbImxpYi91aS1vcmctdGFibGUvdXNlci1saXN0L29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUE7QUFDbEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7QUFTM0IsTUFBTSxPQUFPLHFCQUFxQjtJQW9DaEM7UUF6QlMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUVuRCxlQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFBO1FBSzdDLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQU85QixjQUFTLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzdDLGlCQUFZLEdBQUcsS0FBSyxD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RDtJQUNwRCxnREFBbUQ7SUFFbkQsMkNBQTZDO0lBQzdDLGlEQUF1QztJQUN2QywyQ0FBZ0I7SUFDaEIsMkNBQWU7SUFDZix1Q0FBZTtJQUNmLHlDQUFhO0lBQ2IsZ0RBQThCO0lBQzlCLDBDQUFtRTtJQU1uRSwwQ0FBNkM7SUFDN0MsNkNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucydcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnXHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJ1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCdcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXHJcblxyXG5pbXBvcnQgeyBJVGFibGVEYXRhLCBJQ29sdW1zIH0gZnJvbSAnLi4vaW50ZXJmYWNlL2ludGVyZmFjZXMnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dzLXdpZGdldC1vcmctdXNlci10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vcmctdXNlci10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JnVXNlclRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHRhYmxlRGF0YSE6IElUYWJsZURhdGEgfCB1bmRlZmluZWRcclxuICBASW5wdXQoKSBkYXRhPzogW11cclxuICBASW5wdXQoKSBpc1VwbG9hZD86IGJvb2xlYW5cclxuICBASW5wdXQoKSBpc0NyZWF0ZT86IGJvb2xlYW5cclxuICBASW5wdXQoKSBpc0Rvd25sb2FkPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzQ29uc3VtcHRpb25SZXBvcnQ/OiBib29sZWFuXHJcbiAgQElucHV0KCkgdXNlcklkPzogYW55XHJcbiAgQElucHV0KCkgaXNUcmFpbmluZ1BsYW4/OiBib29sZWFuXHJcbiAgQElucHV0KCkgdHJhaW5pbmdUYWdMaXN0PzogYW55W11cclxuICBASW5wdXQoKSBzaG93RWRpdE9uQ29uZGl0aW9uPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzU2VhcmNoQmFyID0gdHJ1ZVxyXG4gIEBJbnB1dCgpIGFjdGlvbk1lbnVJdGVtPzogYW55XHJcbiAgQE91dHB1dCgpIGNsaWNrZWQ/OiBFdmVudEVtaXR0ZXI8YW55PlxyXG4gIEBPdXRwdXQoKSBhY3Rpb25zQ2xpY2s/OiBFdmVudEVtaXR0ZXI8YW55PlxyXG4gIEBPdXRwdXQoKSBlT25Sb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgQE91dHB1dCgpIGVPbkJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgc2VhcmNoQnlFbnRlcktleSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgQE91dHB1dCgpIHRhZ1NlbGVjdGVkRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcblxyXG4gIGJvZHlIZWlnaHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCAtIDEyNVxyXG4gIGRpc3BsYXllZENvbHVtbnM6IElDb2x1bXNbXSB8IHVuZGVmaW5lZFxyXG4gIGRhdGFTb3VyY2UhOiBhbnlcclxuICB3aWRnZXREYXRhOiBhbnlcclxuICBsZW5ndGghOiBudW1iZXJcclxuICBwYWdlU2l6ZSA9IDIwXHJcbiAgcGFnZVNpemVPcHRpb25zID0gWzIwLCAzMCwgNDBdXHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvclxyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IGZhbHNlIH0pIHNldCBtYXRTb3J0KHNvcnQ6IE1hdFNvcnQpIHtcclxuICAgIGlmICghdGhpcy5kYXRhU291cmNlLnNvcnQpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSBzb3J0XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKVxyXG4gIGlzU2VhcmNoVGV4dCA9IGZhbHNlXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KClcclxuICAgIHRoaXMuYWN0aW9uc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgICB0aGlzLmNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvclxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZURhdGEpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy50YWJsZURhdGEuY29sdW1uc1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoZGF0YTogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBfLmdldChkYXRhLCAnZGF0YS5jdXJyZW50VmFsdWUnKVxyXG4gICAgdGhpcy5sZW5ndGggPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGhcclxuICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xyXG4gICAgICB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZGF0YVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3JcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChmaWx0ZXJWYWx1ZSkge1xyXG4gICAgICB0aGlzLmlzU2VhcmNoVGV4dCA9IHRydWVcclxuICAgICAgbGV0IGZWYWx1ZSA9IGZpbHRlclZhbHVlLnRyaW0oKVxyXG4gICAgICBmVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSBmVmFsdWVcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hUZXh0ID0gZmFsc2VcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b25DbGljayhhY3Rpb246IHN0cmluZywgcm93OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSkge1xyXG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gXy5nZXQoXy5maW5kKHRoaXMudGFibGVEYXRhLmFjdGlvbnMsIGFjID0+IGFjLm5hbWUgPT09IGFjdGlvbiksICdkaXNhYmxlZCcpIHx8IGZhbHNlXHJcbiAgICAgIGlmICghaXNEaXNhYmxlZCAmJiB0aGlzLmFjdGlvbnNDbGljaykge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uc0NsaWNrLmVtaXQoeyBhY3Rpb24sIHJvdyB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGaW5hbENvbHVtbnMoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZURhdGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBjb2x1bW5zID0gXy5tYXAodGhpcy50YWJsZURhdGEuY29sdW1ucywgYyA9PiBjLmtleSlcclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLm5lZWRDaGVja0JveCkge1xyXG4gICAgICAgIGNvbHVtbnMuc3BsaWNlKDAsIDAsICdzZWxlY3QnKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlRGF0YS5uZWVkSGFzaCkge1xyXG4gICAgICAgIGNvbHVtbnMuc3BsaWNlKDAsIDAsICdTUicpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLmFjdGlvbnMgJiYgdGhpcy50YWJsZURhdGEuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdBY3Rpb25zJylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEubmVlZFVzZXJNZW51cykge1xyXG4gICAgICAgIGNvbHVtbnMucHVzaCgnTWVudScpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLmNicFBsYW5NZW51KSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdDQlAgTWVudScpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbHVtbnNcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIG51bWJlciBvZiBzZWxlY3RlZCBlbGVtZW50cyBtYXRjaGVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cy4gKi9cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGhcclxuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGhcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93c1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyTGlzdChsaXN0OiBhbnlbXSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcChsc3QgPT4gbHN0W2tleV0pXHJcbiAgfVxyXG5cclxuICAvKiogU2VsZWN0cyBhbGwgcm93cyBpZiB0aGV5IGFyZSBub3QgYWxsIHNlbGVjdGVkOyBvdGhlcndpc2UgY2xlYXIgc2VsZWN0aW9uLiAqL1xyXG4gIG1hc3RlclRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpID9cclxuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKSA6XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZvckVhY2goKHJvdzogYW55KSA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSlcclxuICB9XHJcblxyXG4gIC8qKiBUaGUgbGFiZWwgZm9yIHRoZSBjaGVja2JveCBvbiB0aGUgcGFzc2VkIHJvdyAqL1xyXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICghcm93KSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/ICdzZWxlY3QnIDogJ2Rlc2VsZWN0J30gYWxsYFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSA/ICdkZXNlbGVjdCcgOiAnc2VsZWN0J30gcm93ICR7cm93LnBvc2l0aW9uICsgMX1gXHJcbiAgfVxyXG5cclxuICBvblJvd0NsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy5lT25Sb3dDbGljay5lbWl0KGUpXHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKHR5cGU6IHN0cmluZywgZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lT25CdXR0b25DbGljay5lbWl0KHsgdHlwZSwgZXZlbnQgfSlcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoRW50ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWFyY2hCeUVudGVyS2V5LmVtaXQoZXZlbnQudGFyZ2V0LnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgdGFnU2VsZWN0ZWRJdGVtKF9pdGVtOiBhbnkpIHtcclxuICAgIHRoaXMudGFnU2VsZWN0ZWREYXRhLmVtaXQoX2l0ZW0pXHJcbiAgfVxyXG5cclxuICBjaGVja0lmRW5hYmxlZChfcm93RGF0YTogYW55LCBfaXRlbTogYW55KSB7XHJcbiAgICBpZiAoX3Jvd0RhdGEuc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdsaXZlJyAmJiBfaXRlbS5rZXkgPT09ICdwdWJsaXNoQ29udGVudCcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICBpZiAoX2l0ZW0uaXNNZG9MZWFkZXIpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0FkbWluICYmIF9yb3dEYXRhLmNyZWF0ZWRCeSA9PT0gdGhpcy51c2VySWQpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0FkbWluICYmIF9yb3dEYXRhLmNyZWF0ZWRCeSAhPT0gdGhpcy51c2VySWQgJiYgX2l0ZW0ua2V5ID09PSAncHJlaXZld0NvbnRlbnQnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcbn1cclxuIl19
@@ -15,6 +15,7 @@ var OrgUserTableComponent = (function () {
15
15
  this.pageSize = 20;
16
16
  this.pageSizeOptions = [20, 30, 40];
17
17
  this.selection = new SelectionModel(true, []);
18
+ this.isSearchText = false;
18
19
  this.dataSource = new MatTableDataSource();
19
20
  this.actionsClick = new EventEmitter();
20
21
  this.clicked = new EventEmitter();
@@ -49,11 +50,13 @@ var OrgUserTableComponent = (function () {
49
50
  };
50
51
  OrgUserTableComponent.prototype.applyFilter = function (filterValue) {
51
52
  if (filterValue) {
53
+ this.isSearchText = true;
52
54
  var fValue = filterValue.trim();
53
55
  fValue = filterValue.toLowerCase();
54
56
  this.dataSource.filter = fValue;
55
57
  }
56
58
  else {
59
+ this.isSearchText = false;
57
60
  this.dataSource.filter = '';
58
61
  }
59
62
  };
@@ -137,8 +140,8 @@ var OrgUserTableComponent = (function () {
137
140
  OrgUserTableComponent.decorators = [
138
141
  { type: Component, args: [{
139
142
  selector: 'ws-widget-org-user-table',
140
- template: "<div class=\"example-container margin-top-m\">\r\n <div class=\"example-loading-shade\"></div>\r\n\r\n <div class=\"example-table-container\">\r\n <div class=\"container\">\r\n <div class=\"flex flex-1 custom\">\r\n <div class=\"flex-1\">\r\n <div class=\"search\" *ngIf=\"isSearchBar\">\r\n <div class=rsearch>\r\n <mat-icon class=\"color-60 search-icon\">search</mat-icon>\r\n <input class=\"sinput color-60\" type=\"Standard\" label=\"\"\r\n (input)=\"applyFilter($event.target.value)\" (keydown.enter)=\"onSearchEnter($event)\"\r\n placeholder=\"Search\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-2 margin-left-l position-rel\" *ngIf=\"isTrainingPlan && trainingTagList?.length > 0\">\r\n <a class=\"training-tag mat-button margin-right-s\" [ngClass]=\"{'selectTab': item.selected}\"\r\n *ngFor=\"let item of trainingTagList\" (click)=\"tagSelectedItem(item.value)\">{{item.name}}</a>\r\n <!-- <button mat-icon-button class=\"training-filter-btn\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button> -->\r\n </div>\r\n <div class=\"flex-2 right-align\" *ngIf=\"isDownload || isConsumptionReport || isCreate\">\r\n <!-- <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isUpload\"\r\n (click)=\"onButtonClick('upload', $event)\">\r\n <mat-icon>vertical_align_top</mat-icon> File upload\r\n </button> -->\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isDownload\"\r\n (click)=\"onButtonClick('download', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Users Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isConsumptionReport\"\r\n (click)=\"onButtonClick('consumptionReport', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Consumption Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"create-btn\" *ngIf=\"isCreate\"\r\n (click)=\"onButtonClick('createUser', $event)\">\r\n Create new\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- </mat-form-field> -->\r\n <mat-table #table matSort [ngStyle]=\"{'height': bodyHeight}\" [matSortActive]=\"tableData!.sortColumn\"\r\n [matSortDirection]=\"tableData!.sortState\" [dataSource]=\"dataSource\"\r\n class=\"example-table table1 responsiveTable\" *ngIf=\"dataSource.filteredData.length > 0\">\r\n\r\n <ng-container matColumnDef=\"{{col.key}}\" *ngFor=\"let col of tableData!.columns\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header class=\".h-400-r-14-l color-60\"> {{col.displayName}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\">\r\n <img *ngIf=\"col?.imageUrl\" src=\"{{element.posterImage}}\" class=\"pb-image\">\r\n <span *ngIf=\"col?.isList\" class=\"textclass h-400-r-14-l color-87 \">\r\n <div innerHTML=\"{{element[col.key]}}\"></div>\r\n </span>\r\n <span *ngIf=\"!col?.isList\" class=\"h-400-r-14-l textclass color-87 \"\r\n [ngClass]=\"{'cursor-default': isTrainingPlan}\">\r\n {{(col.key === 'dateCreatedOn' || col.key === 'dateUpdatedOn' || col.key === 'requestedon') ?\r\n (element[col.key] | date:'dd MMM yyy h:mm a') : element[col.key]}} {{col?.isList}}\r\n </span>\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Actions\" *ngIf=\"tableData!.actions && tableData!.actions.length > 0\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\"> {{\r\n tableData!.actionColumnName || \"Actions\"}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <div *ngFor=\"let ac of tableData!.actions\">\r\n <div *ngIf=\"ac.optional\">\r\n <ws-widget-app-button *ngIf=\"row[ac.optional_key] === ac.optional_Value\" [type]=\"ac.type\"\r\n [icon]=\"ac.icon\" [disabled]=\"ac.disabled || false\" [label]=\"ac.label\"\r\n (click)=\"buttonClick(ac.name,row)\"></ws-widget-app-button>\r\n </div>\r\n <div *ngIf=\"!ac.optional\">\r\n <ws-widget-app-button [type]=\"ac.type\" [icon]=\"ac.icon\" [label]=\"ac.label\"\r\n [disabled]=\"ac.disabled || false\" (click)=\"buttonClick(ac.name,row)\">\r\n </ws-widget-app-button>\r\n </div>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"CBP Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cbpPlanCardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"getFinalColumns()\"></mat-header-row>\r\n\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\" (click)=\"selection.toggle(row);\">\r\n </mat-row>\r\n\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\">\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\"\r\n (click)=\"selection.toggle(row); onRowClick(row)\">\r\n ssss\r\n </mat-row>\r\n </div> -->\r\n </mat-table>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan\">\r\n <div><img src=\"/assets/images/no-content-data.svg\"></div>\r\n <div class=\"mat-subheading-1 margin-remove\">No CBP plan created yet</div>\r\n <div>Create a CBP plan to assign users.</div>\r\n <div class=\"margin-top-m\">\r\n <button mat-button type=\"button\" class=\"create-btn\"\r\n (click)=\"onButtonClick('createCbpPlan', $event)\">Create CBP</button>\r\n </div>\r\n </div>\r\n <mat-card class=\"flex-1\" role=\"none\" *ngIf=\"dataSource.filteredData.length === 0 && !isTrainingPlan\">\r\n <span class=\"mat-subtitle\">No data found</span>\r\n </mat-card>\r\n </div>\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\" class=\"h-600-s-20-m color-60 text-center\">No result found\r\n </div> -->\r\n <mat-paginator *ngIf=\"dataSource.filteredData.length > 0 && isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n <mat-paginator *ngIf=\"!isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<mat-menu #cardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <!-- <div > -->\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\"\r\n *ngIf=\"rowData.allowEditUser && showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\" *ngIf=\"!showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('showOnKarma',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>input</mat-icon> <span>Show on Karmayogi</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"rowData && rowData.blocked ? buttonClick('unblock',rowData): buttonClick('block',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>block</mat-icon><span>{{rowData && rowData.blocked ? 'Unblock user':'Block user' }}</span>\r\n </button> -->\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <button *ngIf=\"userId != rowData.userId\"\r\n (click)=\"rowData && rowData.active ? buttonClick('deactive',rowData): buttonClick('active',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>toggle_off_sharp</mat-icon>\r\n <span>{{rowData && rowData.active? 'Deactivate user':'Activate user'}}</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"buttonClick('delete',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>delete</mat-icon><span>Delete User</span>\r\n </button> -->\r\n <!-- </div> -->\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<mat-menu #cbpPlanCardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <div *ngFor=\"let item of actionMenuItem\">\r\n <button (click)=\"buttonClick(item.key,rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" *ngIf=\"checkIfEnabled(rowData, item)\">\r\n <mat-icon>{{item.icon}}</mat-icon> <span>{{item.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</mat-menu>",
141
- styles: [".card-minimal-container{position:relative}.card-minimal-container .card-link{width:265px;height:150px;display:block}.card-minimal-container .card-link .card-thumbnail{object-fit:contain;width:100%;height:100%}.card-minimal-container .card-overlay{position:absolute;bottom:4px;background-color:rgba(0,0,0,.55);color:#fff;padding:4px 12px;box-sizing:border-box;width:100%}.card-minimal-container .card-overlay .card-title{margin-bottom:-6px}.status-danger{width:16px;height:16px;position:absolute;border-radius:50%;top:16px;left:16px;pointer-events:auto;cursor:pointer;background:#ce3939}.card-space-saving-container{position:relative;width:265px;height:100%;box-sizing:border-box}.card-space-saving-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-space-saving-container mat-card-content{margin:0 -4px;min-height:120px}.card-space-saving-container .card-img{height:150px;display:block}.card-space-saving-container .card-header-meta{margin-top:8px}.card-space-saving-container .title-text{display:block;margin:12px 0}.card-space-saving-container .flip-desc-text{position:relative;overflow:hidden;line-height:1.4em;height:5.6em;margin-bottom:36px}.card-space-saving-container .flip-actions{position:absolute;bottom:0;left:0;width:100%;padding:12px;box-sizing:border-box}.card-space-saving-container .flip-actions .source-name{margin-bottom:0;font-weight:400}.card-ford-container{padding:16px 16px 0;position:relative;width:220px;height:243px;overflow:hidden;box-sizing:border-box}.card-ford-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-ford-container mat-card-content{margin:160px}.card-ford-container .card-img{height:125px;display:block;object-fit:contain}@media only screen and (max-width:599px){.card-ford-container{width:200px;height:240px}.card-ford-container .card-img{height:115px}}.card-ford-container .complexity{display:flex;font-size:14px}.card-ford-container .duration{height:1.6em;display:flex}.card-ford-container .duration .resource-type{order:3;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .duration .duration-time{order:2;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:1.3em;line-height:1.3em;text-overflow:ellipsis;white-space:nowrap}.card-ford-container .mode-tag{border-radius:5px;color:#fff}.card-ford-container .description-text{position:relative;overflow:hidden;height:4.2em;line-height:1.4em}.card-ford-container .mat-chip-list-wrapper{padding:8px 0 16px!important}.card-ford-container .text-description-trim{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:9;display:-webkit-box;-webkit-box-orient:vertical;text-align:justify}.card-standard-container{position:relative;width:268px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-standard-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{margin:0 -4px}.card-standard-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-standard-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-standard-container .complexity .time-text{margin:0 5px 0 6px}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:3.78em;line-height:1.89em}.card-standard-container .description-text{position:relative;overflow:hidden;height:5.7em;line-height:1.9em}.card-discussions-container{flex:1;display:flex;position:relative;height:100%;min-height:140px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-discussions-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-discussions-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-discussions-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-discussions-container mat-card-content{margin:0 -4px;flex:1}.card-discussions-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-discussions-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-discussions-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-discussions-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-discussions-container .complexity .time-text{margin:0 5px 0 6px}.card-discussions-container .basic{margin:auto 0}.card-discussions-container .title-text{overflow:hidden}.card-discussions-container .description-text{position:relative;overflow:hidden;height:auto;line-height:1.9em}.card-basic-infomartion-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:300px}.card-basic-infomartion-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-basic-infomartion-container .source-name{margin-bottom:0;font-weight:400;line-height:1.25rem!important}.card-basic-infomartion-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-basic-infomartion-container .source-image{object-fit:contain;height:35px;width:55px;overflow:auto}.card-with-user-details-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:270px}.card-with-user-details-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-with-user-details-container .source-name{margin-bottom:0;font-weight:400}.card-with-user-details-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-with-user-details-container .author-image{margin-right:12px;height:44px;width:44px}.card-with-user-details-container .back-color{background-color:#7e0a80}.card-with-user-details-container .space-0{margin-top:0!important;padding-top:0!important;margin-bottom:0!important}.detail-button{position:absolute;top:12px;right:12px;z-index:1}.greyOut{filter:grayscale(1);opacity:.7;cursor:auto!important}.disableClick{pointer-events:none}.display-contents{display:contents}.title-truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.typeofc{width:101px;height:30px;border:1px solid;border-radius:8px;opacity:.4;align-items:center;justify-content:center;display:flex}.flex-9{flex:9}.center-right{align-items:center;justify-content:flex-end}.no-box{box-shadow:none!important}.table1{width:100%;display:flex;flex-direction:column}.textclass{word-break:break-word;margin:5px;cursor:pointer}.search{display:flex;flex:1}.lsearch{display:flex;flex:3}.rsearch{display:flex;position:relative;flex:1 1 auto}.sinput{width:315px;border-radius:4px;border:1px solid #d5d0d0;padding:9px 9px 9px 35px;margin-bottom:20px;margin-top:0;font:400 14px Lato}.searchText{display:flex;flex-direction:row-reverse;margin:23px 0 0 auto}.action-btn{border:none;background:0 0}mat-header-row{min-height:40px}.mat-header-cell{background-color:#f5f5f5}.container-balanced{max-width:99%;margin-left:auto!important;margin-right:auto!important}.flex-3{flex:3}.flex-1{flex:1}.flex-2{flex:2}.flex-4{flex:4}.flex-update{flex-direction:row}@media only screen and (max-width:599px){.card-ford-container .text-description-trim{-webkit-line-clamp:8}.flex-update{flex-direction:row}}.flex-custom{display:flex;flex-direction:column}@media only screen and (max-width:599px){.flex-custom-m{flex-direction:column}}.right-align{text-align:right}.create-btn{width:107px;background:#1b4ca1!important;color:#fff!important;font-family:Lato;font-weight:700;font-size:14px}.upload-btn{border:1px solid #dedede;border-radius:4px;margin:0 12px;color:#848484!important;font-family:Lato;font-weight:700;font-size:14px}.search-icon{position:absolute;top:9px;font-size:20px;left:10px}.example-container{display:flex;flex-direction:column;flex:1}.linkTextColor{color:#0074b6!important}.training-tag{background:#f5f5f5!important;border-radius:18px;border:1px solid rgba(0,0,0,.08);color:#000!important;font-weight:400;font-size:14px;min-width:101px}.position-rel{position:relative}.training-filter-btn{position:absolute;right:0;color:rgba(0,0,0,.6)}.pb-image{height:40px;width:64px;margin:10px 8px 10px 0}.no-cbp-data{width:250px;margin:0 auto;text-align:center}.no-cbp-data img{width:auto}.no-cbp-data .small-text{font-size:14px;color:rgba(0,0,0,.6)}.selectTab{border:1px solid #1b4ca1;background:rgba(0,116,182,.05)!important;color:#1b4ca1!important}.cursor-default{cursor:default!important}"]
143
+ template: "<div class=\"example-container margin-top-m\">\r\n <div class=\"example-loading-shade\"></div>\r\n\r\n <div class=\"example-table-container\">\r\n <div class=\"container\">\r\n <div class=\"flex flex-1 custom\">\r\n <div class=\"flex-1\">\r\n <div class=\"search\" *ngIf=\"isSearchBar\">\r\n <div class=rsearch>\r\n <mat-icon class=\"color-60 search-icon\">search</mat-icon>\r\n <input class=\"sinput color-60\" type=\"Standard\" label=\"\"\r\n (input)=\"applyFilter($event.target.value)\" (keydown.enter)=\"onSearchEnter($event)\"\r\n placeholder=\"Search\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-2 margin-left-l position-rel\" *ngIf=\"isTrainingPlan && trainingTagList?.length > 0\">\r\n <a class=\"training-tag mat-button margin-right-s\" [ngClass]=\"{'selectTab': item.selected}\"\r\n *ngFor=\"let item of trainingTagList\" (click)=\"tagSelectedItem(item.value)\">{{item.name}}</a>\r\n <!-- <button mat-icon-button class=\"training-filter-btn\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button> -->\r\n </div>\r\n <div class=\"flex-2 right-align\" *ngIf=\"isDownload || isConsumptionReport || isCreate\">\r\n <!-- <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isUpload\"\r\n (click)=\"onButtonClick('upload', $event)\">\r\n <mat-icon>vertical_align_top</mat-icon> File upload\r\n </button> -->\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isDownload\"\r\n (click)=\"onButtonClick('download', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Users Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"upload-btn\" *ngIf=\"isConsumptionReport\"\r\n (click)=\"onButtonClick('consumptionReport', $event)\">\r\n <mat-icon>vertical_align_bottom</mat-icon> Consumption Report\r\n </button>\r\n <button type=\"button\" mat-button class=\"create-btn\" *ngIf=\"isCreate\"\r\n (click)=\"onButtonClick('createUser', $event)\">\r\n Create new\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- </mat-form-field> -->\r\n <mat-table #table matSort [ngStyle]=\"{'height': bodyHeight}\" [matSortActive]=\"tableData!.sortColumn\"\r\n [matSortDirection]=\"tableData!.sortState\" [dataSource]=\"dataSource\"\r\n class=\"example-table table1 responsiveTable\" *ngIf=\"dataSource.filteredData.length > 0\">\r\n\r\n <ng-container matColumnDef=\"{{col.key}}\" *ngFor=\"let col of tableData!.columns\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header class=\".h-400-r-14-l color-60\"> {{col.displayName}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\">\r\n <img *ngIf=\"col?.imageUrl\" src=\"{{element.posterImage}}\" class=\"pb-image\">\r\n <span *ngIf=\"col?.isList\" class=\"textclass h-400-r-14-l color-87 \">\r\n <div innerHTML=\"{{element[col.key]}}\"></div>\r\n </span>\r\n <span *ngIf=\"!col?.isList\" class=\"h-400-r-14-l textclass color-87 \"\r\n [ngClass]=\"{'cursor-default': isTrainingPlan}\">\r\n {{(col.key === 'dateCreatedOn' || col.key === 'dateUpdatedOn' || col.key === 'requestedon') ?\r\n (element[col.key] | date:'dd MMM yyy h:mm a') : element[col.key]}} {{col?.isList}}\r\n </span>\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Actions\" *ngIf=\"tableData!.actions && tableData!.actions.length > 0\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\"> {{\r\n tableData!.actionColumnName || \"Actions\"}}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <div *ngFor=\"let ac of tableData!.actions\">\r\n <div *ngIf=\"ac.optional\">\r\n <ws-widget-app-button *ngIf=\"row[ac.optional_key] === ac.optional_Value\" [type]=\"ac.type\"\r\n [icon]=\"ac.icon\" [disabled]=\"ac.disabled || false\" [label]=\"ac.label\"\r\n (click)=\"buttonClick(ac.name,row)\"></ws-widget-app-button>\r\n </div>\r\n <div *ngIf=\"!ac.optional\">\r\n <ws-widget-app-button [type]=\"ac.type\" [icon]=\"ac.icon\" [label]=\"ac.label\"\r\n [disabled]=\"ac.disabled || false\" (click)=\"buttonClick(ac.name,row)\">\r\n </ws-widget-app-button>\r\n </div>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"CBP Menu\">\r\n <mat-header-cell *matHeaderCellDef class=\"clr-darkish-blue action-header\">\r\n <!-- {{'Actions'}} -->\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"action-cell\">\r\n <button type=\"button\" mat-icon-button i18n-aria-label aria-label=\"action items\"\r\n [matMenuTriggerFor]=\"cbpPlanCardMenu\" [matMenuTriggerData]=\"{'data':row}\" class=\"action-btn\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"getFinalColumns()\"></mat-header-row>\r\n\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\" (click)=\"selection.toggle(row);\">\r\n </mat-row>\r\n\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\">\r\n <mat-row *matRowDef=\"let row; columns: getFinalColumns();\"\r\n (click)=\"selection.toggle(row); onRowClick(row)\">\r\n ssss\r\n </mat-row>\r\n </div> -->\r\n </mat-table>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan && !isSearchText\">\r\n <div><img src=\"/assets/images/no-content-data.svg\"></div>\r\n <!-- <div class=\"mat-subheading-1 margin-remove\">No CBP plan created yet</div> -->\r\n <div>Start creating a Capacity Building Plan (CBP).</div>\r\n <div class=\"margin-top-m\">\r\n <button mat-button type=\"button\" class=\"create-btn\"\r\n (click)=\"onButtonClick('createCbpPlan', $event)\">Create CBP</button>\r\n </div>\r\n </div>\r\n <div class=\"no-cbp-data\" *ngIf=\"dataSource.filteredData.length === 0 && isTrainingPlan && isSearchText\">\r\n <div><img src=\"/assets/images/no-content-data-search.svg\"></div>\r\n <div class=\"mat-subheading-1 margin-remove\">No results found</div>\r\n <div>Try adjusting your search to find what you are looking for.</div>\r\n </div>\r\n <mat-card class=\"flex-1\" role=\"none\" *ngIf=\"dataSource.filteredData.length === 0 && !isTrainingPlan\">\r\n <span class=\"mat-subtitle\">No data found</span>\r\n </mat-card>\r\n </div>\r\n <!-- <div *ngIf=\"dataSource.filteredData.length <= 0\" class=\"h-600-s-20-m color-60 text-center\">No result found\r\n </div> -->\r\n <mat-paginator *ngIf=\"dataSource.filteredData.length > 0 && isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n <mat-paginator *ngIf=\"!isTrainingPlan\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<mat-menu #cardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <!-- <div > -->\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\"\r\n *ngIf=\"rowData.allowEditUser && showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('editInfo',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\" *ngIf=\"!showEditOnCondition\">\r\n <mat-icon>edit</mat-icon> <span>Edit Info</span>\r\n </button>\r\n <button (click)=\"buttonClick('showOnKarma',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>input</mat-icon> <span>Show on Karmayogi</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"rowData && rowData.blocked ? buttonClick('unblock',rowData): buttonClick('block',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>block</mat-icon><span>{{rowData && rowData.blocked ? 'Unblock user':'Block user' }}</span>\r\n </button> -->\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <button *ngIf=\"userId != rowData.userId\"\r\n (click)=\"rowData && rowData.active ? buttonClick('deactive',rowData): buttonClick('active',rowData)\"\r\n mat-menu-item name=\"channel-analytics-button\" class=\"ws-mat-primary-text\" i18n-aria-label\r\n aria-label=\"Analytics\">\r\n <mat-icon>toggle_off_sharp</mat-icon>\r\n <span>{{rowData && rowData.active? 'Deactivate user':'Activate user'}}</span>\r\n </button>\r\n <!-- </div> -->\r\n <!-- <div mat-menu-item> -->\r\n <!-- <button (click)=\"buttonClick('delete',rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" i18n-aria-label aria-label=\"Analytics\">\r\n <mat-icon>delete</mat-icon><span>Delete User</span>\r\n </button> -->\r\n <!-- </div> -->\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<mat-menu #cbpPlanCardMenu=\"matMenu\">\r\n <ng-template matMenuContent let-rowData=\"data\">\r\n <div *ngFor=\"let item of actionMenuItem\">\r\n <button (click)=\"buttonClick(item.key,rowData)\" mat-menu-item name=\"channel-analytics-button\"\r\n class=\"ws-mat-primary-text\" *ngIf=\"checkIfEnabled(rowData, item)\">\r\n <mat-icon>{{item.icon}}</mat-icon> <span>{{item.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</mat-menu>",
144
+ styles: [".card-minimal-container{position:relative}.card-minimal-container .card-link{width:265px;height:150px;display:block}.card-minimal-container .card-link .card-thumbnail{object-fit:contain;width:100%;height:100%}.card-minimal-container .card-overlay{position:absolute;bottom:4px;background-color:rgba(0,0,0,.55);color:#fff;padding:4px 12px;box-sizing:border-box;width:100%}.card-minimal-container .card-overlay .card-title{margin-bottom:-6px}.status-danger{width:16px;height:16px;position:absolute;border-radius:50%;top:16px;left:16px;pointer-events:auto;cursor:pointer;background:#ce3939}.card-space-saving-container{position:relative;width:265px;height:100%;box-sizing:border-box}.card-space-saving-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-space-saving-container mat-card-content{margin:0 -4px;min-height:120px}.card-space-saving-container .card-img{height:150px;display:block}.card-space-saving-container .card-header-meta{margin-top:8px}.card-space-saving-container .title-text{display:block;margin:12px 0}.card-space-saving-container .flip-desc-text{position:relative;overflow:hidden;line-height:1.4em;height:5.6em;margin-bottom:36px}.card-space-saving-container .flip-actions{position:absolute;bottom:0;left:0;width:100%;padding:12px;box-sizing:border-box}.card-space-saving-container .flip-actions .source-name{margin-bottom:0;font-weight:400}.card-ford-container{padding:16px 16px 0;position:relative;width:220px;height:243px;overflow:hidden;box-sizing:border-box}.card-ford-container .progress-bar{display:block;width:calc(100% + 32px);margin-left:-16px;margin-top:-16px}.card-ford-container mat-card-content{margin:160px}.card-ford-container .card-img{height:125px;display:block;object-fit:contain}@media only screen and (max-width:599px){.card-ford-container{width:200px;height:240px}.card-ford-container .card-img{height:115px}}.card-ford-container .complexity{display:flex;font-size:14px}.card-ford-container .duration{height:1.6em;display:flex}.card-ford-container .duration .resource-type{order:3;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .duration .duration-time{order:2;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-ford-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:1.3em;line-height:1.3em;text-overflow:ellipsis;white-space:nowrap}.card-ford-container .mode-tag{border-radius:5px;color:#fff}.card-ford-container .description-text{position:relative;overflow:hidden;height:4.2em;line-height:1.4em}.card-ford-container .mat-chip-list-wrapper{padding:8px 0 16px!important}.card-ford-container .text-description-trim{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:9;display:-webkit-box;-webkit-box-orient:vertical;text-align:justify}.card-standard-container{position:relative;width:268px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-standard-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-standard-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{margin:0 -4px}.card-standard-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-standard-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-standard-container .complexity .time-text{margin:0 5px 0 6px}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden;height:3.78em;line-height:1.89em}.card-standard-container .description-text{position:relative;overflow:hidden;height:5.7em;line-height:1.9em}.card-discussions-container{flex:1;display:flex;position:relative;height:100%;min-height:140px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #99999933}.card-discussions-container .progress-bar{display:block;width:calc(100% + 30px);margin-left:-15px;display:flex;margin-top:62px;background:bisque}.card-discussions-container .source-div{position:relative;top:100px;background:#fff;z-index:3;border:1px solid #dedfe0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-discussions-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-discussions-container mat-card-content{margin:0 -4px;flex:1}.card-discussions-container .card-img{min-width:269px;max-width:269px;display:block;object-fit:contain;border-top-left-radius:8px;border-top-right-radius:8px}.card-discussions-container .complexity{padding-top:7px;display:flex;font-size:14px;line-height:27px;padding-bottom:10px}.card-discussions-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-discussions-container .complexity .duration{display:flex;margin-left:auto;order:3}.card-discussions-container .complexity .time-text{margin:0 5px 0 6px}.card-discussions-container .basic{margin:auto 0}.card-discussions-container .title-text{overflow:hidden}.card-discussions-container .description-text{position:relative;overflow:hidden;height:auto;line-height:1.9em}.card-basic-infomartion-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:300px}.card-basic-infomartion-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-basic-infomartion-container .source-name{margin-bottom:0;font-weight:400;line-height:1.25rem!important}.card-basic-infomartion-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-basic-infomartion-container .source-image{object-fit:contain;height:35px;width:55px;overflow:auto}.card-with-user-details-container{position:relative;width:265px;height:100%;box-sizing:border-box;min-height:270px}.card-with-user-details-container .card-img{height:150px;display:block;margin-bottom:0!important;object-fit:contain}.card-with-user-details-container .source-name{margin-bottom:0;font-weight:400}.card-with-user-details-container .title-text{margin:12px 0 0;position:relative;overflow:hidden;height:2.6em;line-height:1.3em}.card-with-user-details-container .author-image{margin-right:12px;height:44px;width:44px}.card-with-user-details-container .back-color{background-color:#7e0a80}.card-with-user-details-container .space-0{margin-top:0!important;padding-top:0!important;margin-bottom:0!important}.detail-button{position:absolute;top:12px;right:12px;z-index:1}.greyOut{filter:grayscale(1);opacity:.7;cursor:auto!important}.disableClick{pointer-events:none}.display-contents{display:contents}.title-truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.typeofc{width:101px;height:30px;border:1px solid;border-radius:8px;opacity:.4;align-items:center;justify-content:center;display:flex}.flex-9{flex:9}.center-right{align-items:center;justify-content:flex-end}.no-box{box-shadow:none!important}.table1{width:100%;display:flex;flex-direction:column}.textclass{word-break:break-word;margin:5px;cursor:pointer}.search{display:flex;flex:1}.lsearch{display:flex;flex:3}.rsearch{display:flex;position:relative;flex:1 1 auto}.sinput{width:315px;border-radius:4px;border:1px solid #d5d0d0;padding:9px 9px 9px 35px;margin-bottom:20px;margin-top:0;font:400 14px Lato}.searchText{display:flex;flex-direction:row-reverse;margin:23px 0 0 auto}.action-btn{border:none;background:0 0}mat-header-row{min-height:40px}.mat-header-cell{background-color:#f5f5f5}.container-balanced{max-width:99%;margin-left:auto!important;margin-right:auto!important}.flex-3{flex:3}.flex-1{flex:1}.flex-2{flex:2}.flex-4{flex:4}.flex-update{flex-direction:row}@media only screen and (max-width:599px){.card-ford-container .text-description-trim{-webkit-line-clamp:8}.flex-update{flex-direction:row}}.flex-custom{display:flex;flex-direction:column}@media only screen and (max-width:599px){.flex-custom-m{flex-direction:column}}.right-align{text-align:right}.create-btn{width:107px;background:#1b4ca1!important;color:#fff!important;font-family:Lato;font-weight:700;font-size:14px}.upload-btn{border:1px solid #dedede;border-radius:4px;margin:0 12px;color:#848484!important;font-family:Lato;font-weight:700;font-size:14px}.search-icon{position:absolute;top:9px;font-size:20px;left:10px}.example-container{display:flex;flex-direction:column;flex:1}.linkTextColor{color:#0074b6!important}.training-tag{background:#f5f5f5!important;border-radius:18px;border:1px solid rgba(0,0,0,.08);color:#000!important;font-weight:400;font-size:14px;min-width:101px}.position-rel{position:relative}.training-filter-btn{position:absolute;right:0;color:rgba(0,0,0,.6)}.pb-image{height:40px;width:64px;margin:10px 8px 10px 0}.no-cbp-data{width:auto;margin:50px auto;text-align:center}.no-cbp-data img{width:320px}.no-cbp-data .small-text{font-size:14px;color:rgba(0,0,0,.6)}.selectTab{border:1px solid #1b4ca1;background:rgba(0,116,182,.05)!important;color:#1b4ca1!important}.cursor-default{cursor:default!important}"]
142
145
  }] }
143
146
  ];
144
147
  OrgUserTableComponent.ctorParameters = function () { return []; };
@@ -195,5 +198,6 @@ if (false) {
195
198
  OrgUserTableComponent.prototype.pageSizeOptions;
196
199
  OrgUserTableComponent.prototype.paginator;
197
200
  OrgUserTableComponent.prototype.selection;
201
+ OrgUserTableComponent.prototype.isSearchText;
198
202
  }
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLXVzZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29sbGVjdGlvbi8iLCJzb3VyY2VzIjpbImxpYi91aS1vcmctdGFibGUvdXNlci1saXN0L29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUE7QUFDbEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7QUFJM0I7SUF3Q0U7UUF4QlMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUVuRCxlQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFBO1FBSzdDLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQU85QixjQUFTLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQkFBa0IsRUFB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QztJQUNoQyxvREFBc0M7SUFDdEMsNENBQTJCO0lBQzNCLCtDQUE2QjtJQUM3Qix3Q0FBcUM7SUFDckMsNkNBQTBDO0lBQzFDLDRDQUErQztJQUMvQywrQ0FBa0Q7SUFDbEQsaURBQW9EO0lBQ3BELGdEQUFtRDtJQUVuRCwyQ0FBNkM7SUFDN0MsaURBQXVDO0lBQ3ZDLDJDQUFnQjtJQUNoQiwyQ0FBZTtJQUNmLHVDQUFlO0lBQ2YseUNBQWE7SUFDYixnREFBOEI7SUFDOUIsMENBQW1FO0lBTW5FLDBDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnXHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJ1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCdcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnXHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJ1xyXG5cclxuaW1wb3J0IHsgSVRhYmxlRGF0YSwgSUNvbHVtcyB9IGZyb20gJy4uL2ludGVyZmFjZS9pbnRlcmZhY2VzJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3cy13aWRnZXQtb3JnLXVzZXItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmctdXNlci10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3JnLXVzZXItdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZ1VzZXJUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB0YWJsZURhdGEhOiBJVGFibGVEYXRhIHwgdW5kZWZpbmVkXHJcbiAgQElucHV0KCkgZGF0YT86IFtdXHJcbiAgQElucHV0KCkgaXNVcGxvYWQ/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNDcmVhdGU/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNEb3dubG9hZD86IGJvb2xlYW5cclxuICBASW5wdXQoKSBpc0NvbnN1bXB0aW9uUmVwb3J0PzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHVzZXJJZD86IGFueVxyXG4gIEBJbnB1dCgpIGlzVHJhaW5pbmdQbGFuPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHRyYWluaW5nVGFnTGlzdD86IGFueVtdXHJcbiAgQElucHV0KCkgc2hvd0VkaXRPbkNvbmRpdGlvbj86IGJvb2xlYW5cclxuICBASW5wdXQoKSBpc1NlYXJjaEJhciA9IHRydWVcclxuICBASW5wdXQoKSBhY3Rpb25NZW51SXRlbT86IGFueVxyXG4gIEBPdXRwdXQoKSBjbGlja2VkPzogRXZlbnRFbWl0dGVyPGFueT5cclxuICBAT3V0cHV0KCkgYWN0aW9uc0NsaWNrPzogRXZlbnRFbWl0dGVyPGFueT5cclxuICBAT3V0cHV0KCkgZU9uUm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSBlT25CdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgQE91dHB1dCgpIHNlYXJjaEJ5RW50ZXJLZXkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSB0YWdTZWxlY3RlZERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG5cclxuICBib2R5SGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgLSAxMjVcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBJQ29sdW1zW10gfCB1bmRlZmluZWRcclxuICBkYXRhU291cmNlITogYW55XHJcbiAgd2lkZ2V0RGF0YTogYW55XHJcbiAgbGVuZ3RoITogbnVtYmVyXHJcbiAgcGFnZVNpemUgPSAyMFxyXG4gIHBhZ2VTaXplT3B0aW9ucyA9IFsyMCwgMzAsIDQwXVxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3IhOiBNYXRQYWdpbmF0b3JcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiBmYWxzZSB9KSBzZXQgbWF0U29ydChzb3J0OiBNYXRTb3J0KSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZS5zb3J0KSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gc29ydFxyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlLCBbXSlcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPGFueT4oKVxyXG4gICAgdGhpcy5hY3Rpb25zQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIHRoaXMuY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlRGF0YS5jb2x1bW5zXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhkYXRhOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IF8uZ2V0KGRhdGEsICdkYXRhLmN1cnJlbnRWYWx1ZScpXHJcbiAgICB0aGlzLmxlbmd0aCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aFxyXG4gICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdG9yLmZpcnN0UGFnZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5kYXRhXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IGFueSkge1xyXG4gICAgaWYgKGZpbHRlclZhbHVlKSB7XHJcbiAgICAgIGxldCBmVmFsdWUgPSBmaWx0ZXJWYWx1ZS50cmltKClcclxuICAgICAgZlZhbHVlID0gZmlsdGVyVmFsdWUudG9Mb3dlckNhc2UoKVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gZlZhbHVlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJydcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1dHRvbkNsaWNrKGFjdGlvbjogc3RyaW5nLCByb3c6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudGFibGVEYXRhKSB7XHJcbiAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBfLmdldChfLmZpbmQodGhpcy50YWJsZURhdGEuYWN0aW9ucywgYWMgPT4gYWMubmFtZSA9PT0gYWN0aW9uKSwgJ2Rpc2FibGVkJykgfHwgZmFsc2VcclxuICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIHRoaXMuYWN0aW9uc0NsaWNrKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25zQ2xpY2suZW1pdCh7IGFjdGlvbiwgcm93IH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbmFsQ29sdW1ucygpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBfLm1hcCh0aGlzLnRhYmxlRGF0YS5jb2x1bW5zLCBjID0+IGMua2V5KVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEubmVlZENoZWNrQm94KSB7XHJcbiAgICAgICAgY29sdW1ucy5zcGxpY2UoMCwgMCwgJ3NlbGVjdCcpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLm5lZWRIYXNoKSB7XHJcbiAgICAgICAgY29sdW1ucy5zcGxpY2UoMCwgMCwgJ1NSJylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEuYWN0aW9ucyAmJiB0aGlzLnRhYmxlRGF0YS5hY3Rpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb2x1bW5zLnB1c2goJ0FjdGlvbnMnKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlRGF0YS5uZWVkVXNlck1lbnVzKSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdNZW51JylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEuY2JwUGxhbk1lbnUpIHtcclxuICAgICAgICBjb2x1bW5zLnB1c2goJ0NCUCBNZW51JylcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sdW1uc1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnXHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzLiAqL1xyXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aFxyXG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aFxyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJMaXN0KGxpc3Q6IGFueVtdLCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKGxzdCA9PiBsc3Rba2V5XSlcclxuICB9XHJcblxyXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkKCkgP1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaCgocm93OiBhbnkpID0+IHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpKVxyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBsYWJlbCBmb3IgdGhlIGNoZWNrYm94IG9uIHRoZSBwYXNzZWQgcm93ICovXHJcbiAgY2hlY2tib3hMYWJlbChyb3c/OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFyb3cpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gJ3NlbGVjdCcgOiAnZGVzZWxlY3QnfSBhbGxgXHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSByb3cgJHtyb3cucG9zaXRpb24gKyAxfWBcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KSB7XHJcbiAgICB0aGlzLmVPblJvd0NsaWNrLmVtaXQoZSlcclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2sodHlwZTogc3RyaW5nLCBldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmVPbkJ1dHRvbkNsaWNrLmVtaXQoeyB0eXBlLCBldmVudCB9KVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hFbnRlcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlYXJjaEJ5RW50ZXJLZXkuZW1pdChldmVudC50YXJnZXQudmFsdWUpXHJcbiAgfVxyXG5cclxuICB0YWdTZWxlY3RlZEl0ZW0oX2l0ZW06IGFueSkge1xyXG4gICAgdGhpcy50YWdTZWxlY3RlZERhdGEuZW1pdChfaXRlbSlcclxuICB9XHJcblxyXG4gIGNoZWNrSWZFbmFibGVkKF9yb3dEYXRhOiBhbnksIF9pdGVtOiBhbnkpIHtcclxuICAgIGlmIChfcm93RGF0YS5zdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2xpdmUnICYmIF9pdGVtLmtleSA9PT0gJ3B1Ymxpc2hDb250ZW50Jykge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0xlYWRlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKF9pdGVtLmlzTWRvQWRtaW4gJiYgX3Jvd0RhdGEuY3JlYXRlZEJ5ID09PSB0aGlzLnVzZXJJZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKF9pdGVtLmlzTWRvQWRtaW4gJiYgX3Jvd0RhdGEuY3JlYXRlZEJ5ICE9PSB0aGlzLnVzZXJJZCAmJiBfaXRlbS5rZXkgPT09ICdwcmVpdmV3Q29udGVudCcpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxufVxyXG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLXVzZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29sbGVjdGlvbi8iLCJzb3VyY2VzIjpbImxpYi91aS1vcmctdGFibGUvdXNlci1saXN0L29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUE7QUFDbEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7QUFJM0I7SUF5Q0U7UUF6QlMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ3JDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUVuRCxlQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFBO1FBSzdDLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQU85QixjQUFTLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzdDLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBR2xCLElBQUksQ0FB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M0MscUNBQWtCO0lBQ2xCLHlDQUEyQjtJQUMzQix5Q0FBMkI7SUFDM0IsMkNBQTZCO0lBQzdCLG9EQUFzQztJQUN0Qyx1Q0FBcUI7SUFDckIsK0NBQWlDO0lBQ2pDLGdEQUFnQztJQUNoQyxvREFBc0M7SUFDdEMsNENBQTJCO0lBQzNCLCtDQUE2QjtJQUM3Qix3Q0FBcUM7SUFDckMsNkNBQTBDO0lBQzFDLDRDQUErQztJQUMvQywrQ0FBa0Q7SUFDbEQsaURBQW9EO0lBQ3BELGdEQUFtRDtJQUVuRCwyQ0FBNkM7SUFDN0MsaURBQXVDO0lBQ3ZDLDJDQUFnQjtJQUNoQiwyQ0FBZTtJQUNmLHVDQUFlO0lBQ2YseUNBQWE7SUFDYixnREFBOEI7SUFDOUIsMENBQW1FO0lBTW5FLDBDQUE2QztJQUM3Qyw2Q0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJ1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSdcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnXHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0J1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCdcclxuXHJcbmltcG9ydCB7IElUYWJsZURhdGEsIElDb2x1bXMgfSBmcm9tICcuLi9pbnRlcmZhY2UvaW50ZXJmYWNlcydcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LW9yZy11c2VyLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3JnLXVzZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29yZy11c2VyLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmdVc2VyVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdGFibGVEYXRhITogSVRhYmxlRGF0YSB8IHVuZGVmaW5lZFxyXG4gIEBJbnB1dCgpIGRhdGE/OiBbXVxyXG4gIEBJbnB1dCgpIGlzVXBsb2FkPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzQ3JlYXRlPzogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlzRG93bmxvYWQ/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNDb25zdW1wdGlvblJlcG9ydD86IGJvb2xlYW5cclxuICBASW5wdXQoKSB1c2VySWQ/OiBhbnlcclxuICBASW5wdXQoKSBpc1RyYWluaW5nUGxhbj86IGJvb2xlYW5cclxuICBASW5wdXQoKSB0cmFpbmluZ1RhZ0xpc3Q/OiBhbnlbXVxyXG4gIEBJbnB1dCgpIHNob3dFZGl0T25Db25kaXRpb24/OiBib29sZWFuXHJcbiAgQElucHV0KCkgaXNTZWFyY2hCYXIgPSB0cnVlXHJcbiAgQElucHV0KCkgYWN0aW9uTWVudUl0ZW0/OiBhbnlcclxuICBAT3V0cHV0KCkgY2xpY2tlZD86IEV2ZW50RW1pdHRlcjxhbnk+XHJcbiAgQE91dHB1dCgpIGFjdGlvbnNDbGljaz86IEV2ZW50RW1pdHRlcjxhbnk+XHJcbiAgQE91dHB1dCgpIGVPblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgZU9uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSBzZWFyY2hCeUVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgdGFnU2VsZWN0ZWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuXHJcbiAgYm9keUhlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0IC0gMTI1XHJcbiAgZGlzcGxheWVkQ29sdW1uczogSUNvbHVtc1tdIHwgdW5kZWZpbmVkXHJcbiAgZGF0YVNvdXJjZSE6IGFueVxyXG4gIHdpZGdldERhdGE6IGFueVxyXG4gIGxlbmd0aCE6IG51bWJlclxyXG4gIHBhZ2VTaXplID0gMjBcclxuICBwYWdlU2l6ZU9wdGlvbnMgPSBbMjAsIDMwLCA0MF1cclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IG1hdFNvcnQoc29ydDogTWF0U29ydCkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFTb3VyY2Uuc29ydCkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHNvcnRcclxuICAgIH1cclxuICB9XHJcbiAgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pXHJcbiAgaXNTZWFyY2hUZXh0ID0gZmFsc2VcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPGFueT4oKVxyXG4gICAgdGhpcy5hY3Rpb25zQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIHRoaXMuY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlRGF0YS5jb2x1bW5zXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhkYXRhOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IF8uZ2V0KGRhdGEsICdkYXRhLmN1cnJlbnRWYWx1ZScpXHJcbiAgICB0aGlzLmxlbmd0aCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aFxyXG4gICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdG9yLmZpcnN0UGFnZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5kYXRhXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IGFueSkge1xyXG4gICAgaWYgKGZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2hUZXh0ID0gdHJ1ZVxyXG4gICAgICBsZXQgZlZhbHVlID0gZmlsdGVyVmFsdWUudHJpbSgpXHJcbiAgICAgIGZWYWx1ZSA9IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKClcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZWYWx1ZVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc1NlYXJjaFRleHQgPSBmYWxzZVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJydcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1dHRvbkNsaWNrKGFjdGlvbjogc3RyaW5nLCByb3c6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudGFibGVEYXRhKSB7XHJcbiAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBfLmdldChfLmZpbmQodGhpcy50YWJsZURhdGEuYWN0aW9ucywgYWMgPT4gYWMubmFtZSA9PT0gYWN0aW9uKSwgJ2Rpc2FibGVkJykgfHwgZmFsc2VcclxuICAgICAgaWYgKCFpc0Rpc2FibGVkICYmIHRoaXMuYWN0aW9uc0NsaWNrKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25zQ2xpY2suZW1pdCh7IGFjdGlvbiwgcm93IH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbmFsQ29sdW1ucygpIHtcclxuICAgIGlmICh0aGlzLnRhYmxlRGF0YSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBfLm1hcCh0aGlzLnRhYmxlRGF0YS5jb2x1bW5zLCBjID0+IGMua2V5KVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEubmVlZENoZWNrQm94KSB7XHJcbiAgICAgICAgY29sdW1ucy5zcGxpY2UoMCwgMCwgJ3NlbGVjdCcpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFibGVEYXRhLm5lZWRIYXNoKSB7XHJcbiAgICAgICAgY29sdW1ucy5zcGxpY2UoMCwgMCwgJ1NSJylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEuYWN0aW9ucyAmJiB0aGlzLnRhYmxlRGF0YS5hY3Rpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb2x1bW5zLnB1c2goJ0FjdGlvbnMnKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlRGF0YS5uZWVkVXNlck1lbnVzKSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdNZW51JylcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy50YWJsZURhdGEuY2JwUGxhbk1lbnUpIHtcclxuICAgICAgICBjb2x1bW5zLnB1c2goJ0NCUCBNZW51JylcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sdW1uc1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnXHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzLiAqL1xyXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aFxyXG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aFxyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJMaXN0KGxpc3Q6IGFueVtdLCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKGxzdCA9PiBsc3Rba2V5XSlcclxuICB9XHJcblxyXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkKCkgP1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaCgocm93OiBhbnkpID0+IHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpKVxyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBsYWJlbCBmb3IgdGhlIGNoZWNrYm94IG9uIHRoZSBwYXNzZWQgcm93ICovXHJcbiAgY2hlY2tib3hMYWJlbChyb3c/OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFyb3cpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gJ3NlbGVjdCcgOiAnZGVzZWxlY3QnfSBhbGxgXHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSByb3cgJHtyb3cucG9zaXRpb24gKyAxfWBcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KSB7XHJcbiAgICB0aGlzLmVPblJvd0NsaWNrLmVtaXQoZSlcclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2sodHlwZTogc3RyaW5nLCBldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmVPbkJ1dHRvbkNsaWNrLmVtaXQoeyB0eXBlLCBldmVudCB9KVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hFbnRlcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlYXJjaEJ5RW50ZXJLZXkuZW1pdChldmVudC50YXJnZXQudmFsdWUpXHJcbiAgfVxyXG5cclxuICB0YWdTZWxlY3RlZEl0ZW0oX2l0ZW06IGFueSkge1xyXG4gICAgdGhpcy50YWdTZWxlY3RlZERhdGEuZW1pdChfaXRlbSlcclxuICB9XHJcblxyXG4gIGNoZWNrSWZFbmFibGVkKF9yb3dEYXRhOiBhbnksIF9pdGVtOiBhbnkpIHtcclxuICAgIGlmIChfcm93RGF0YS5zdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2xpdmUnICYmIF9pdGVtLmtleSA9PT0gJ3B1Ymxpc2hDb250ZW50Jykge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIGlmIChfaXRlbS5pc01kb0xlYWRlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKF9pdGVtLmlzTWRvQWRtaW4gJiYgX3Jvd0RhdGEuY3JlYXRlZEJ5ID09PSB0aGlzLnVzZXJJZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKF9pdGVtLmlzTWRvQWRtaW4gJiYgX3Jvd0RhdGEuY3JlYXRlZEJ5ICE9PSB0aGlzLnVzZXJJZCAmJiBfaXRlbS5rZXkgPT09ICdwcmVpdmV3Q29udGVudCcpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxufVxyXG4iXX0=