@sunbird-cb/consumption 0.1.23-cbrelease-4.8.27-multilingual → 0.1.25-cbrelease-4.8.27-multilingual

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.
@@ -91,11 +91,11 @@ export class CardPortraitComponent {
91
91
  this.contSvc.setReleventNotReleventData({ isRelevent: false, widgetData: this.widgetData });
92
92
  }
93
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardPortraitComponent, deps: [{ token: i1.MatLegacySnackBar }, { token: i2.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: i4.ConfigurationsService }, { token: i5.WidgetContentLibService }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardPortraitComponent, selector: "sb-uic-card-portrait", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage && !widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"widgetData.content.posterImage && widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.isApar\">\n <div class=\"cbp-mark right-0 rounded-bottom\">\n <p class=\"cbp-success apar-flag\">APAR</p>\n </div>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0 && !(widgetData?.content?.programDuration > 0)\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs nodtranslate\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.courseCategory ? widgetData.content?.courseCategory: widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient nodtranslate\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <!-- <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div> -->\n <div class=\"course_logo_box\">\n <img \n [src]=\"widgetData?.sakshamAIGenerated ? widgetData.content.creatorLogo : (widgetData.content.creatorLogo | pipePublicURL)\" \n class=\"source-icon\" \n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text nodtranslate\">By&nbsp; {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\" *ngIf=\"!widgetData?.sakshamAIGenerated\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n\n <div class=\"flex flex-middle margin-top-m\" *ngIf=\"widgetData?.sakshamAIGenerated\">\n \n <div class=\"flex flex-middle relevant-container\" *ngIf=\"widgetData?.sakshamAIGenerated\" [@toggleRelevance]=\"isRelevent ? 'center' : 'normal'\">\n <div class=\"flex flex-middle relevent-btn py-2 px-4 relevant-box\"\n [ngClass]=\"isRelevent ? 'relevent-success' : 'relevent-normal'\" (mouseenter)=\"isHovered = true\"\n (mouseleave)=\"isHovered = false\" (click)=\"handleAcceptRelevent($event)\">\n\n <img\n [src]=\"isHovered && !isRelevent ? SAKSHAMAI_ICON_LOADER : (isRelevent ? SAKSHAMAI_ICON_SUCCESS : SAKSHAMAI_ICON_NORMAL)\"\n alt=\"loader\" width=\"16\" height=\"16\" class=\"mr-2\">\n <span class=\"text-relevent ff-lato text-sm font-bold\">{{ 'home.relevent' | translate }}</span>\n </div>\n\n <div class=\"flex flex-middle no-button ml-8\" *ngIf=\"!isRelevent\" (click)=\"handleDeclineRelevent($event)\">\n <mat-icon class=\"mat-icon text-no mr-1\">thumb_down</mat-icon>\n <span class=\"text-no ff-lato text-sm font-bold\">{{ 'home.no' | translate }}</span>\n </div>\n </div>\n \n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger nodtranslate\">{{'OverDue' }}</p>\n </div>\n</ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:346px;margin:20px 8px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.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{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;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;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,#0009,#0000);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}.relevent-normal .text-relevent{color:#1b2133}.relevent-success .text-relevent,.relevent-success mat-icon{color:#1d8923}.text-no{color:#1b4ca1}.ff-lato{font-family:Lato}.relevent-normal.relevent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#276de5;background-color:#fff;border-radius:21px;text-decoration:none;overflow:hidden;transition:all .3s ease-in-out}.relevent-normal.relevent-btn:hover{box-shadow:0 1px 10px #276de599}.relevent-normal.relevent-btn:before{content:\"\";position:absolute;inset:0;padding:2.5px;border-radius:21px;background:linear-gradient(89.96deg,#f3962f .04%,#276de5 99.96%);-webkit-mask:linear-gradient(white,white) content-box,linear-gradient(white,white);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease-in-out}.relevent-normal.relevent-btn:hover:before{opacity:1}.relevant-container{display:flex;align-items:center;width:100%}.no-button{opacity:1;transform:scale(1);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.relevant-container[ng-reflect-toggle-relevance=center] .no-button{opacity:0;transform:scale(.8);pointer-events:none}.apar-flag{font-family:Lato!important;font-weight:700!important;font-size:12px!important;color:#fffffff2!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7.MatLegacyCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.DisplayContentTypeLibComponent, selector: "sb-uic-display-content-type", inputs: ["useTranslation", "displayContentType"] }, { kind: "directive", type: i12.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { kind: "component", type: i13.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "component", type: i14.AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: ["content"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i4.PipePublicURL, name: "pipePublicURL" }, { kind: "pipe", type: i15.PipeDurationTransformPipe, name: "pipeDurationTransform" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], animations: [relevanceAnimation] }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardPortraitComponent, selector: "sb-uic-card-portrait", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent,\n 'card-standard-container-with-saksham-ai': widgetData?.sakshamAIGenerated\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage && !widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"widgetData.content.posterImage && widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.isApar\">\n <div class=\"cbp-mark right-0 rounded-bottom\">\n <p class=\"cbp-success apar-flag\">APAR</p>\n </div>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0 && !(widgetData?.content?.programDuration > 0)\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs nodtranslate\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.courseCategory ? widgetData.content?.courseCategory: widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient nodtranslate\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <!-- <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div> -->\n <div class=\"course_logo_box\">\n <img \n [src]=\"widgetData?.sakshamAIGenerated ? widgetData.content.creatorLogo : (widgetData.content.creatorLogo | pipePublicURL)\" \n class=\"source-icon\" \n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text nodtranslate\">By&nbsp; {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2\" *ngIf=\"widgetData?.content\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\" *ngIf=\"!widgetData?.sakshamAIGenerated\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n\n <div class=\"flex flex-middle margin-top-m\" *ngIf=\"widgetData?.sakshamAIGenerated\">\n \n <div class=\"flex flex-middle relevant-container\" *ngIf=\"widgetData?.sakshamAIGenerated\" [@toggleRelevance]=\"isRelevent ? 'center' : 'normal'\">\n <div class=\"flex flex-middle relevent-btn py-2 px-4 relevant-box\"\n [ngClass]=\"isRelevent ? 'relevent-success' : 'relevent-normal'\" (mouseenter)=\"isHovered = true\"\n (mouseleave)=\"isHovered = false\" (click)=\"handleAcceptRelevent($event)\">\n\n <img\n [src]=\"isHovered && !isRelevent ? SAKSHAMAI_ICON_LOADER : (isRelevent ? SAKSHAMAI_ICON_SUCCESS : SAKSHAMAI_ICON_NORMAL)\"\n alt=\"loader\" width=\"16\" height=\"16\" class=\"mr-2\">\n <span class=\"text-relevent ff-lato text-sm font-bold\">{{ 'home.relevent' | translate }}</span>\n </div>\n\n <div class=\"flex flex-middle no-button ml-8\" *ngIf=\"!isRelevent\" (click)=\"handleDeclineRelevent($event)\">\n <mat-icon class=\"mat-icon text-no mr-1\">thumb_down</mat-icon>\n <span class=\"text-no ff-lato text-sm font-bold\">{{ 'home.no' | translate }}</span>\n </div>\n </div>\n \n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger nodtranslate\">{{'OverDue' }}</p>\n </div>\n</ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:360px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:360px;margin:20px 8px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.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{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;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;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.card-standard-container-with-saksham-ai{position:relative;width:245px;height:100%;min-height:385px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:385px;margin:20px 8px 8px}.card-standard-container-with-saksham-ai .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container-with-saksham-ai ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container-with-saksham-ai .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container-with-saksham-ai .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container-with-saksham-ai .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container-with-saksham-ai .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container-with-saksham-ai .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container-with-saksham-ai .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container-with-saksham-ai .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container-with-saksham-ai .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-with-saksham-ai .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container-with-saksham-ai mat-card-content{background:#fff}.card-standard-container-with-saksham-ai .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container-with-saksham-ai .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container-with-saksham-ai .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container-with-saksham-ai .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container-with-saksham-ai .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container-with-saksham-ai .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container-with-saksham-ai .basic{margin:auto 0}.card-standard-container-with-saksham-ai .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container-with-saksham-ai .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,#0009,#0000);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}.relevent-normal .text-relevent{color:#1b2133}.relevent-success .text-relevent,.relevent-success mat-icon{color:#1d8923}.text-no{color:#1b4ca1}.ff-lato{font-family:Lato}.relevent-normal.relevent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#276de5;background-color:#fff;border-radius:21px;text-decoration:none;overflow:hidden;transition:all .3s ease-in-out}.relevent-normal.relevent-btn:hover{box-shadow:0 1px 10px #276de599}.relevent-normal.relevent-btn:before{content:\"\";position:absolute;inset:0;padding:2.5px;border-radius:21px;background:linear-gradient(89.96deg,#f3962f .04%,#276de5 99.96%);-webkit-mask:linear-gradient(white,white) content-box,linear-gradient(white,white);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease-in-out}.relevent-normal.relevent-btn:hover:before{opacity:1}.relevant-container{display:flex;align-items:center;width:100%}.no-button{opacity:1;transform:scale(1);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.relevant-container[ng-reflect-toggle-relevance=center] .no-button{opacity:0;transform:scale(.8);pointer-events:none}.apar-flag{font-family:Lato!important;font-weight:700!important;font-size:12px!important;color:#fffffff2!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7.MatLegacyCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.DisplayContentTypeLibComponent, selector: "sb-uic-display-content-type", inputs: ["useTranslation", "displayContentType"] }, { kind: "directive", type: i12.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { kind: "component", type: i13.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }, { kind: "component", type: i14.AvailableLanguagesComponent, selector: "sb-uic-available-languages", inputs: ["content"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i4.PipePublicURL, name: "pipePublicURL" }, { kind: "pipe", type: i15.PipeDurationTransformPipe, name: "pipeDurationTransform" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], animations: [relevanceAnimation] }); }
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardPortraitComponent, decorators: [{
97
97
  type: Component,
98
- args: [{ selector: 'sb-uic-card-portrait', animations: [relevanceAnimation], template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage && !widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"widgetData.content.posterImage && widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.isApar\">\n <div class=\"cbp-mark right-0 rounded-bottom\">\n <p class=\"cbp-success apar-flag\">APAR</p>\n </div>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0 && !(widgetData?.content?.programDuration > 0)\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs nodtranslate\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.courseCategory ? widgetData.content?.courseCategory: widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient nodtranslate\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <!-- <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div> -->\n <div class=\"course_logo_box\">\n <img \n [src]=\"widgetData?.sakshamAIGenerated ? widgetData.content.creatorLogo : (widgetData.content.creatorLogo | pipePublicURL)\" \n class=\"source-icon\" \n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text nodtranslate\">By&nbsp; {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\" *ngIf=\"!widgetData?.sakshamAIGenerated\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n\n <div class=\"flex flex-middle margin-top-m\" *ngIf=\"widgetData?.sakshamAIGenerated\">\n \n <div class=\"flex flex-middle relevant-container\" *ngIf=\"widgetData?.sakshamAIGenerated\" [@toggleRelevance]=\"isRelevent ? 'center' : 'normal'\">\n <div class=\"flex flex-middle relevent-btn py-2 px-4 relevant-box\"\n [ngClass]=\"isRelevent ? 'relevent-success' : 'relevent-normal'\" (mouseenter)=\"isHovered = true\"\n (mouseleave)=\"isHovered = false\" (click)=\"handleAcceptRelevent($event)\">\n\n <img\n [src]=\"isHovered && !isRelevent ? SAKSHAMAI_ICON_LOADER : (isRelevent ? SAKSHAMAI_ICON_SUCCESS : SAKSHAMAI_ICON_NORMAL)\"\n alt=\"loader\" width=\"16\" height=\"16\" class=\"mr-2\">\n <span class=\"text-relevent ff-lato text-sm font-bold\">{{ 'home.relevent' | translate }}</span>\n </div>\n\n <div class=\"flex flex-middle no-button ml-8\" *ngIf=\"!isRelevent\" (click)=\"handleDeclineRelevent($event)\">\n <mat-icon class=\"mat-icon text-no mr-1\">thumb_down</mat-icon>\n <span class=\"text-no ff-lato text-sm font-bold\">{{ 'home.no' | translate }}</span>\n </div>\n </div>\n \n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger nodtranslate\">{{'OverDue' }}</p>\n </div>\n</ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:346px;margin:20px 8px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.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{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;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;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,#0009,#0000);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}.relevent-normal .text-relevent{color:#1b2133}.relevent-success .text-relevent,.relevent-success mat-icon{color:#1d8923}.text-no{color:#1b4ca1}.ff-lato{font-family:Lato}.relevent-normal.relevent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#276de5;background-color:#fff;border-radius:21px;text-decoration:none;overflow:hidden;transition:all .3s ease-in-out}.relevent-normal.relevent-btn:hover{box-shadow:0 1px 10px #276de599}.relevent-normal.relevent-btn:before{content:\"\";position:absolute;inset:0;padding:2.5px;border-radius:21px;background:linear-gradient(89.96deg,#f3962f .04%,#276de5 99.96%);-webkit-mask:linear-gradient(white,white) content-box,linear-gradient(white,white);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease-in-out}.relevent-normal.relevent-btn:hover:before{opacity:1}.relevant-container{display:flex;align-items:center;width:100%}.no-button{opacity:1;transform:scale(1);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.relevant-container[ng-reflect-toggle-relevance=center] .no-button{opacity:0;transform:scale(.8);pointer-events:none}.apar-flag{font-family:Lato!important;font-weight:700!important;font-size:12px!important;color:#fffffff2!important}\n"] }]
98
+ args: [{ selector: 'sb-uic-card-portrait', animations: [relevanceAnimation], template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent,\n 'card-standard-container-with-saksham-ai': widgetData?.sakshamAIGenerated\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage && !widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"widgetData.content.posterImage && widgetData?.sakshamAIGenerated\">\n <img mat-card-image [src]=\"widgetData.content.posterImage\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.isApar\">\n <div class=\"cbp-mark right-0 rounded-bottom\">\n <p class=\"cbp-success apar-flag\">APAR</p>\n </div>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0 && !(widgetData?.content?.programDuration > 0)\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1 nodtranslate\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration nodtranslate\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs nodtranslate\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.courseCategory ? widgetData.content?.courseCategory: widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient nodtranslate\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <!-- <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div> -->\n <div class=\"course_logo_box\">\n <img \n [src]=\"widgetData?.sakshamAIGenerated ? widgetData.content.creatorLogo : (widgetData.content.creatorLogo | pipePublicURL)\" \n class=\"source-icon\" \n [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text nodtranslate\">By&nbsp; {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"mt-2\" *ngIf=\"widgetData?.content\">\n <sb-uic-available-languages [content]=\"widgetData?.content\"></sb-uic-available-languages>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\" *ngIf=\"!widgetData?.sakshamAIGenerated\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n\n <div class=\"flex flex-middle margin-top-m\" *ngIf=\"widgetData?.sakshamAIGenerated\">\n \n <div class=\"flex flex-middle relevant-container\" *ngIf=\"widgetData?.sakshamAIGenerated\" [@toggleRelevance]=\"isRelevent ? 'center' : 'normal'\">\n <div class=\"flex flex-middle relevent-btn py-2 px-4 relevant-box\"\n [ngClass]=\"isRelevent ? 'relevent-success' : 'relevent-normal'\" (mouseenter)=\"isHovered = true\"\n (mouseleave)=\"isHovered = false\" (click)=\"handleAcceptRelevent($event)\">\n\n <img\n [src]=\"isHovered && !isRelevent ? SAKSHAMAI_ICON_LOADER : (isRelevent ? SAKSHAMAI_ICON_SUCCESS : SAKSHAMAI_ICON_NORMAL)\"\n alt=\"loader\" width=\"16\" height=\"16\" class=\"mr-2\">\n <span class=\"text-relevent ff-lato text-sm font-bold\">{{ 'home.relevent' | translate }}</span>\n </div>\n\n <div class=\"flex flex-middle no-button ml-8\" *ngIf=\"!isRelevent\" (click)=\"handleDeclineRelevent($event)\">\n <mat-icon class=\"mat-icon text-no mr-1\">thumb_down</mat-icon>\n <span class=\"text-no ff-lato text-sm font-bold\">{{ 'home.no' | translate }}</span>\n </div>\n </div>\n \n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success nodtranslate\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger nodtranslate\">{{'OverDue' }}</p>\n </div>\n</ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:360px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:360px;margin:20px 8px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.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{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;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;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.card-standard-container-with-saksham-ai{position:relative;width:245px;height:100%;min-height:385px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:385px;margin:20px 8px 8px}.card-standard-container-with-saksham-ai .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container-with-saksham-ai ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container-with-saksham-ai .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container-with-saksham-ai .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container-with-saksham-ai .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container-with-saksham-ai .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container-with-saksham-ai .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container-with-saksham-ai .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container-with-saksham-ai .org-text{font-size:12px;font-weight:400;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container-with-saksham-ai .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-with-saksham-ai .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container-with-saksham-ai mat-card-content{background:#fff}.card-standard-container-with-saksham-ai .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container-with-saksham-ai .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container-with-saksham-ai .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container-with-saksham-ai .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container-with-saksham-ai .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container-with-saksham-ai .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container-with-saksham-ai .basic{margin:auto 0}.card-standard-container-with-saksham-ai .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container-with-saksham-ai .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,#0009,#0000);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:Lato-Bold;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:Lato-Regular;font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}.relevent-normal .text-relevent{color:#1b2133}.relevent-success .text-relevent,.relevent-success mat-icon{color:#1d8923}.text-no{color:#1b4ca1}.ff-lato{font-family:Lato}.relevent-normal.relevent-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#276de5;background-color:#fff;border-radius:21px;text-decoration:none;overflow:hidden;transition:all .3s ease-in-out}.relevent-normal.relevent-btn:hover{box-shadow:0 1px 10px #276de599}.relevent-normal.relevent-btn:before{content:\"\";position:absolute;inset:0;padding:2.5px;border-radius:21px;background:linear-gradient(89.96deg,#f3962f .04%,#276de5 99.96%);-webkit-mask:linear-gradient(white,white) content-box,linear-gradient(white,white);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease-in-out}.relevent-normal.relevent-btn:hover:before{opacity:1}.relevant-container{display:flex;align-items:center;width:100%}.no-button{opacity:1;transform:scale(1);transition:opacity .3s ease-in-out,transform .3s ease-in-out}.relevant-container[ng-reflect-toggle-relevance=center] .no-button{opacity:0;transform:scale(.8);pointer-events:none}.apar-flag{font-family:Lato!important;font-weight:700!important;font-size:12px!important;color:#fffffff2!important}\n"] }]
99
99
  }], ctorParameters: function () { return [{ type: i1.MatLegacySnackBar }, { type: i2.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: i4.ConfigurationsService }, { type: i5.WidgetContentLibService }]; }, propDecorators: { widgetData: [{
100
100
  type: Input
101
101
  }], isLiveOrMarkForDeletion: [{
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
111
111
  }], cbPlanMapData: [{
112
112
  type: Input
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU9wRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLHFCQUFxQjtJQXFCaEMsWUFDVSxRQUFxQixFQUNyQixTQUEyQixFQUMzQixnQkFBaUQsRUFDakQsU0FBZ0MsRUFDaEMsT0FBZ0M7UUFKaEMsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBQ2pELGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBckJqQyxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFFL0Msa0JBQWEsR0FBVyxLQUFLLENBQUE7UUFDN0Isa0JBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFBO1FBSXZDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFRLElBQUksQ0FBQTtRQUN0QixrQkFBYSxHQUFPLEtBQUssQ0FBQTtRQUN6QixlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLDBCQUFxQixHQUFHLHNDQUFzQyxDQUFBO1FBQzlELDJCQUFzQixHQUFHLDhDQUE4QyxDQUFBO1FBQ3ZFLDBCQUFxQixHQUFHLGdEQUFnRCxDQUFBO1FBQ3hFLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFPYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUUsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFSCxRQUFRO1FBQ04sTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUE7UUFDcEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtZQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUE7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQTtTQUNqRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLCtDQUErQyxDQUFBO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUksNERBQTRELENBQUE7U0FDbEY7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUE7U0FDOUY7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1NBQ3JGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNqRjtJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNyRixXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7U0FDckU7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUN6RCxXQUFXLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFBO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM3QyxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVk7UUFDL0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQTtTQUN6RjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFZO1FBQ2hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDM0YsQ0FBQzsrR0FsRlUscUJBQXFCO21HQUFyQixxQkFBcUIsbVdDaEJsQyxteGJBaU9jLHlrUURuTkEsQ0FBQyxrQkFBa0IsQ0FBQzs7NEZBRXJCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsQ0FBQyxrQkFBa0IsQ0FBQzsrUEFHdkIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5zQ2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2NhcmQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lTbmFja0JhciBhcyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zbmFjay1iYXInO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IHJlbGV2YW5jZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL19hbmltYXRpb25zL3JlbGV2YW5jZS1hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY2FyZC1wb3J0cmFpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLXBvcnRyYWl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbcmVsZXZhbmNlQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkUG9ydHJhaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB3aWRnZXREYXRhITogTnNDYXJkQ29udGVudC5JQ2FyZDtcbiAgQElucHV0KCkgaXNMaXZlT3JNYXJrRm9yRGVsZXRpb246IGFueVxuICBASW5wdXQoKSBzaG93SW50cmFuZXRDb250ZW50OiBhbnlcbiAgQElucHV0KCkgaXNJbnRyYW5ldEFsbG93ZWRTZXR0aW5nczogYW55XG4gIEBJbnB1dCgpIGlzQ2FyZExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBASW5wdXQoKSAgY2JQbGFuTWFwRGF0YTogYW55XG4gIGlzQ2FyZEZsaXBwZWQ6Ym9vbGVhbiA9IGZhbHNlXG4gIGFjYnBDb25zdGFudHMgPSBOc0NhcmRDb250ZW50LkFDQlBDb25zdFxuICBkZWZhdWx0VGh1bWJuYWlsOiBhbnlcbiAgc291cmNlTG9nb3M6IGFueVxuICBkZWZhdWx0U0xvZ286IGFueVxuICBzaG93RmxpcCA9IGZhbHNlXG4gIHdpZGdldFR5cGU6IGFueSA9ICdkZidcbiAgd2lkZ2V0U3ViVHlwZTogYW55ID0nc2RmJ1xuICBpc1JlbGV2ZW50ID0gZmFsc2VcbiAgU0FLU0hBTUFJX0lDT05fTk9STUFMID0gJy9hc3NldHMvaW1hZ2VzL3Nha3NoYW1BSS9haS1pY29uLnN2ZydcbiAgU0FLU0hBTUFJX0lDT05fU1VDQ0VTUyA9ICcvYXNzZXRzL2ltYWdlcy9zYWtzaGFtQUkvYWktaWNvbi1zdWNjZXNzLnN2ZydcbiAgU0FLU0hBTUFJX0lDT05fTE9BREVSID0gJy9hc3NldHMvaW1hZ2VzL3Nha3NoYW1BSS9zYWtzaGFtX2FpX2xvYWRlci5naWYnXG4gIGlzSG92ZXJlZCA9IGZhbHNlXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udFN2YzogV2lkZ2V0Q29udGVudExpYlNlcnZpY2UsKSB7IFxuICAgICAgdGhpcy5sYW5ndHJhbnNsYXRpb25zLmxhbmd1YWdlU2VsZWN0ZWRPYnNlcnZhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgIGNvbnN0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykhXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcbiAgICBpZiAoaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRodW1ibmFpbCA9IGluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRDb250ZW50IHx8ICcnXG4gICAgICB0aGlzLnNvdXJjZUxvZ29zID0gaW5zdGFuY2VDb25maWcuc291cmNlc1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0U291cmNlTG9nbyB8fCAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL2RlZmF1bHQucG5nJ1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSAgJy9hc3NldHMvaW5zdGFuY2VzL2VhZ2xlL2FwcF9sb2dvcy9LYXJtYXlvZ2lCaGFyYXRfTG9nby5zdmcnXG4gICAgfVxuICAgIGlmKHRoaXMud2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkKSB7XG4gICAgICB0aGlzLmlzUmVsZXZlbnQgPSB0aGlzLmNvbnRTdmMuZ2V0RmVlZGJhY2tEYXRhKHRoaXMud2lkZ2V0RGF0YT8uY29udGVudD8uaWRlbnRpZmllcikgfHwgZmFsc2VcbiAgICB9XG4gIH1cblxuICBzaG93U25hY2tiYXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0ludHJhbmV0Q29udGVudCkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIGludHJhbmV0JywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0xpdmVPck1hcmtGb3JEZWxldGlvbikge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWQnLCAnWCcsIHsgZHVyYXRpb246IDIwMDAgfSlcbiAgICB9XG4gIH1cbiAgZ2V0UmVkaXJlY3RVcmxEYXRhKGNvbnRlbnREYXRhOiBhbnkpe1xuICAgIC8vIGZvciB0ZWxlbWV0cnlcbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0ICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uKSB7XG4gICAgICBjb250ZW50RGF0YVsndHlwZU9mVGVsZW1ldHJ5J10gPSB0aGlzLndpZGdldERhdGEuY29udGV4dC5wYWdlU2VjdGlvblxuICAgIH1cbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5zYWtzaGFtQUlHZW5lcmF0ZWQpIHtcbiAgICAgIGNvbnRlbnREYXRhWydzYWtzaGFtQUlHZW5lcmF0ZWQnXSA9IHRoaXMud2lkZ2V0RGF0YS5zYWtzaGFtQUlHZW5lcmF0ZWRcbiAgICB9XG4gICAgdGhpcy5jb250U3ZjLmNoYW5nZVRlbGVtZXRyeURhdGEoY29udGVudERhdGEpXG4gICAgLy8gZm9yIHJlZGlyZWN0aW9uXG4gICAgdGhpcy5jb250ZW50RGF0YS5lbWl0KGNvbnRlbnREYXRhKVxuICB9XG5cbiAgaGFuZGxlQWNjZXB0UmVsZXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYoIXRoaXMuaXNSZWxldmVudCkge1xuICAgICAgdGhpcy5pc1JlbGV2ZW50ID0gdHJ1ZVxuICAgICAgdGhpcy5jb250U3ZjLnNldFJlbGV2ZW50Tm90UmVsZXZlbnREYXRhKHtpc1JlbGV2ZW50OiB0cnVlLCB3aWRnZXREYXRhOiB0aGlzLndpZGdldERhdGF9KVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURlY2xpbmVSZWxldmVudChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNvbnRTdmMuc2V0UmVsZXZlbnROb3RSZWxldmVudERhdGEoe2lzUmVsZXZlbnQ6IGZhbHNlLCB3aWRnZXREYXRhOiB0aGlzLndpZGdldERhdGF9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZExvYWRpbmdcIj5cbiAgPG1hdC1jYXJkIGNsYXNzPVwiY2FyZC1zdGFuZGFyZC1jb250YWluZXIgbXItNSBwYWRkaW5nLXJlbW92ZSBjdXJzb3ItcG9pbnRlciAge3t3aWRnZXREYXRhPy5jYXJkQ3VzdG9tZUNsYXNzfX1cIiBbbmdDbGFzc109XCJ7XG4gICAgZ3JleU91dDpcbiAgICAgIHdpZGdldERhdGEuZGVsZXRlZE1vZGUgPT09ICdncmV5T3V0JyAmJiAhaXNMaXZlT3JNYXJrRm9yRGVsZXRpb25cbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogd2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudFxuICB9XCIgKGNsaWNrKT1cIihzaG93SW50cmFuZXRDb250ZW50IHx8ICFpc0xpdmVPck1hcmtGb3JEZWxldGlvbikgJiYgc2hvd1NuYWNrYmFyKClcIj5cbiAgPGRpdiBjbGFzcz1cImRpc3BsYXktY29udGVudHNcIiBbbmdDbGFzc109XCJ7XG4gICAgICBkaXNhYmxlQ2xpY2s6XG4gICAgICAgIHdpZGdldERhdGEuZGVsZXRlZE1vZGUgPT09ICdncmV5T3V0JyAmJiAhaXNMaXZlT3JNYXJrRm9yRGVsZXRpb25cbiAgICAgICAgICA/IHRydWVcbiAgICAgICAgICA6IHdpZGdldERhdGE/LmludHJhbmV0TW9kZSA9PT0gJ2dyZXlPdXQnICYmIHNob3dJbnRyYW5ldENvbnRlbnRcbiAgICB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudFwiPlxuICAgICAgPGEgKGNsaWNrKT1cImdldFJlZGlyZWN0VXJsRGF0YSh3aWRnZXREYXRhPy5jb250ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICByb2xlPVwibGlua1wiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZEZsaXBwZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtZGFuZ2VyXCIgcm9sZT1cIm5vdGVcIiBpMThuLWFyaWEtbGFiZWwgYXJpYS1sYWJlbD1cIkNvbnRlbnQgZXhwaXJlZCBvciBkZWxldGVkXCIgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgIG1hdFRvb2x0aXA9XCJDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWRcIiAqbmdJZj1cIiFpc0xpdmVPck1hcmtGb3JEZWxldGlvblwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1kYW5nZXJcIiByb2xlPVwibm90ZVwiIGkxOG4tYXJpYS1sYWJlbCBhcmlhLWxhYmVsPVwiSW50cmFuZXQgY29udGVudFwiIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICBtYXRUb29sdGlwPVwiQXZhaWxhYmxlIG9ubHkgaW4gQ29tcGFueSdzIG5ldHdvcmtcIlxuICAgICAgICAqbmdJZj1cIndpZGdldERhdGE/LmludHJhbmV0TW9kZSA9PT0gJ2dyZXlPdXQnICYmIHNob3dJbnRyYW5ldENvbnRlbnRcIj48L2Rpdj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93RmxpcFwiIGNsYXNzPVwiZGV0YWlsLWJ1dHRvbiB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQtb3AzMFwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiaXNDYXJkRmxpcHBlZCA9IHRydWVcIiBhcmlhLWxhYmVsPVwiRGV0YWlsc1wiIGkxOG4tYXJpYS1sYWJlbD1cIkRldGFpbHMgfCBDbGljayB0byBzZWUgZGV0YWlsc1wiPlxuICAgICAgICA8bWF0LWljb24+ZmxpcF90b19iYWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJtaW4tdG9wXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZSAmJiAhd2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkXCI+XG4gICAgICAgICAgICA8aW1nIG1hdC1jYXJkLWltYWdlIFtzcmNdPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGEuY29udGVudC5uYW1lXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlICYmIHdpZGdldERhdGE/LnNha3NoYW1BSUdlbmVyYXRlZFwiPlxuICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGEuY29udGVudC5uYW1lXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uOyBlbHNlIGRlZmF1bHRJbWdcIj5cbiAgICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWltZyB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQgbWFyZ2luLXJlbW92ZVwiICBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICAgIFthbHRdPVwid2lkZ2V0RGF0YS5jb250ZW50Lm5hbWVcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbWc+XG4gICAgICAgICAgICAgIDxpbWcgbWF0LWNhcmQtaW1hZ2UgW3NyY109XCJkZWZhdWx0VGh1bWJuYWlsXCIgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtaW1nIHdzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZCBtYXJnaW4tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhLmNvbnRlbnQubmFtZVwiIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2UtZGl2XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5jcmVhdG9yTG9nbyB8IHBpcGVQdWJsaWNVUkxcIiBjbGFzcz1cInNvdXJjZS1pY29uXCIgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgIFthbHRdPVwiKHdpZGdldERhdGEuY29udGVudC5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YS5jb250ZW50LmlkZW50aWZpZXIpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNicC1tYXJrXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmVuZERhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFya1wiPlxuICAgICAgICAgICAgICA8cCAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uVVBDT01JTkdcIiAgY2xhc3M9XCJjYnAtd2FybmluZ1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/LlNVQ0NFU1NcIiAgY2xhc3M9XCJjYnAtc3VjY2Vzc1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/Lk9WRVJEVUVcIiBjbGFzcz1cImNicC1kYW5nZXJcIj5PdmVyIGR1ZTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2JQbGFuTWFwRGF0YSAmJiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdICAmJiAgY2JQbGFuTWFwRGF0YVt3aWRnZXREYXRhPy5jb250ZW50Py5pZGVudGlmaWVyXT8uY29udGVudFN0YXR1cyA8IDJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2JwUGxhblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YToge1xuICAgICAgICAgICAgICBjYnBEYXRhOiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdXG4gICAgICAgICAgICB9fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5pc0FwYXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFyayByaWdodC0wIHJvdW5kZWQtYm90dG9tXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiY2JwLXN1Y2Nlc3MgYXBhci1mbGFnXCI+QVBBUjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXJhdGlvbi1ib3ggcmlnaHQtY29ybmVyXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiA+IDAgJiYgISh3aWRnZXREYXRhPy5jb250ZW50Py5wcm9ncmFtRHVyYXRpb24gPiAwKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWFpbl9pY29uIG1yLTEgbm9kdHJhbnNsYXRlXCI+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIgd3MtbWF0LXdoaXRlLXRleHQgZHVyYXRpb24gbm9kdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIHt7ICh3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiB8fCAxMjApfCBwaXBlRHVyYXRpb25UcmFuc2Zvcm06ICdobXMnIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImR1cmF0aW9uLWJveCByaWdodC1jb3JuZXJcIiAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbiA+IDBcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiBtci0xIG5vZHRyYW5zbGF0ZVwiPmFjY2Vzc190aW1lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIHdzLW1hdC13aGl0ZS10ZXh0IGR1cmF0aW9uIG5vZHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICB7e3dpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbn19IHt7d2lkZ2V0RGF0YT8uY29udGVudD8ucHJvZ3JhbUR1cmF0aW9uID09PSAxID8gJ2RheScgOiAnZGF5cyd9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2Vfd2lkZ2V0IGZsZXggbWFyZ2luLXJlbW92ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmQgY291cnNlX3YyXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiB3cy1tYXQtZGVmYXVsdC10ZXh0IG1hcmdpbi1yaWdodC14cyBub2R0cmFuc2xhdGVcIj52aWRlb19saWJyYXJ5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPHNiLXVpYy1kaXNwbGF5LWNvbnRlbnQtdHlwZSBpMThuLXRpdGxlIHRpdGxlPVwiQ29udGVudCBUeXBlXCIgKm5nSWY9XCJ3aWRnZXREYXRhLmNvbnRlbnQ/LnByaW1hcnlDYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3cy1tYXQtYmxhY2s2MC10ZXh0IGZvbnQtbm9ybWFsIG1hdC1jYXB0aW9uIFwiIFtkaXNwbGF5Q29udGVudFR5cGVdPVwid2lkZ2V0RGF0YS5jb250ZW50Py5wcmltYXJ5Q2F0ZWdvcnk9PT0nQ291cnNlIFVuaXQnXG4gICAgICAgICAgICAgICAgPydNb2R1bGUnXG4gICAgICAgICAgICAgICAgOndpZGdldERhdGEuY29udGVudD8uY291cnNlQ2F0ZWdvcnkgPyB3aWRnZXREYXRhLmNvbnRlbnQ/LmNvdXJzZUNhdGVnb3J5OiB3aWRnZXREYXRhLmNvbnRlbnQ/LnByaW1hcnlDYXRlZ29yeVwiPlxuXG4gICAgICAgICAgICAgIDwvc2ItdWljLWRpc3BsYXktY29udGVudC10eXBlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBbaWRdPVwiJ20tYy0nKyB3aWRnZXREYXRhLmNvbnRlbnQ/LmlkZW50aWZpZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudCBub2R0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIHt7IHdpZGdldERhdGEuY29udGVudC5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtd3JhcCBmbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY291cnNlX2xvZ29fYm94XCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ3aWRnZXREYXRhLmNvbnRlbnQuY3JlYXRvckxvZ28gfCBwaXBlUHVibGljVVJMXCIgY2xhc3M9XCJzb3VyY2UtaWNvblwiIFt3c1V0aWxzRGVmYXVsdFRodW1ibmFpbF09XCJkZWZhdWx0U0xvZ29cIlxuICAgICAgICAgICAgICBbYWx0XT1cIih3aWRnZXREYXRhLmNvbnRlbnQuc291cmNlTmFtZSArICdfJyArIHdpZGdldERhdGEuY29udGVudC5pZGVudGlmaWVyKVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291cnNlX2xvZ29fYm94XCI+XG4gICAgICAgICAgICAgIDxpbWcgXG4gICAgICAgICAgICAgICAgW3NyY109XCJ3aWRnZXREYXRhPy5zYWtzaGFtQUlHZW5lcmF0ZWQgPyB3aWRnZXREYXRhLmNvbnRlbnQuY3JlYXRvckxvZ28gOiAod2lkZ2V0RGF0YS5jb250ZW50LmNyZWF0b3JMb2dvIHwgcGlwZVB1YmxpY1VSTClcIiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNvdXJjZS1pY29uXCIgXG4gICAgICAgICAgICAgICAgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhPy5jb250ZW50Py5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YT8uY29udGVudD8uaWRlbnRpZmllclwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJvcmctdGV4dFwiPnt7J2NhcmRjb250ZW50djIuYnknIHwgdHJhbnNsYXRlfX0gLS0+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JnLXRleHQgbm9kdHJhbnNsYXRlXCI+QnkmbmJzcDsge3sgKHdpZGdldERhdGE/LmNvbnRlbnQ/Lm9yZ2FuaXNhdGlvbiAmJiB3aWRnZXREYXRhPy5jb250ZW50Py5vcmdhbmlzYXRpb25bMF0pID8gd2lkZ2V0RGF0YT8uY29udGVudD8ub3JnYW5pc2F0aW9uWzBdIDogJ0thcm1heW9naSBCaGFyYXQnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yXCI+XG4gICAgICAgICAgICA8c2ItdWljLWF2YWlsYWJsZS1sYW5ndWFnZXMgW2NvbnRlbnRdPVwid2lkZ2V0RGF0YT8uY29udGVudFwiPjwvc2ItdWljLWF2YWlsYWJsZS1sYW5ndWFnZXM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgcmF0aW5nLXNlc3Npb24gbWFyZ2luLXRvcC1tXCIgKm5nSWY9XCIhd2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZVwiICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYXZnUmF0aW5nXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1yLTFcIj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3t3aWRnZXREYXRhLmNvbnRlbnQuYXZnUmF0aW5nfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJtb3N0LWVucm9sbGVkLXRleHQgbWFyZ2luLWxlZnQtbVwiPnt7ICdjYXJkY29udGVudHYyLm1vc3RFbnJvbGxlZCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+IC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzICYmIHdpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzLmluY2x1ZGVzKCdtb3N0RW5yb2xsZWQnKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC14c1wiPlxuICAgICAgICAgICAgICAgIDwhLS0ge3sgJ2NhcmRjb250ZW50djIubW9zdEVucm9sbGVkJyB8IHRyYW5zbGF0ZSB9fSAtLT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzICYmIHdpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzLmluY2x1ZGVzKCdtb3N0VHJlbmRpbmcnKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC14c1wiPlxuICAgICAgICAgICAgICAgIDwhLS0ge3sgJ2NhcmRjb250ZW50djIubW9zdFRyZW5kaW5nJyB8IHRyYW5zbGF0ZSB9fSAtLT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgbWFyZ2luLXRvcC1tXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5zYWtzaGFtQUlHZW5lcmF0ZWRcIj5cbiAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSByZWxldmFudC1jb250YWluZXJcIiAqbmdJZj1cIndpZGdldERhdGE/LnNha3NoYW1BSUdlbmVyYXRlZFwiIFtAdG9nZ2xlUmVsZXZhbmNlXT1cImlzUmVsZXZlbnQgPyAnY2VudGVyJyA6ICdub3JtYWwnXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIHJlbGV2ZW50LWJ0biBweS0yIHB4LTQgcmVsZXZhbnQtYm94XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpc1JlbGV2ZW50ID8gJ3JlbGV2ZW50LXN1Y2Nlc3MnIDogJ3JlbGV2ZW50LW5vcm1hbCdcIiAobW91c2VlbnRlcik9XCJpc0hvdmVyZWQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJpc0hvdmVyZWQgPSBmYWxzZVwiIChjbGljayk9XCJoYW5kbGVBY2NlcHRSZWxldmVudCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cImlzSG92ZXJlZCAmJiAhaXNSZWxldmVudCA/IFNBS1NIQU1BSV9JQ09OX0xPQURFUiA6IChpc1JlbGV2ZW50ID8gU0FLU0hBTUFJX0lDT05fU1VDQ0VTUyA6IFNBS1NIQU1BSV9JQ09OX05PUk1BTClcIlxuICAgICAgICAgICAgICAgICAgYWx0PVwibG9hZGVyXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgY2xhc3M9XCJtci0yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlbGV2ZW50IGZmLWxhdG8gdGV4dC1zbSBmb250LWJvbGRcIj57eyAnaG9tZS5yZWxldmVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIG5vLWJ1dHRvbiBtbC04XCIgKm5nSWY9XCIhaXNSZWxldmVudFwiIChjbGljayk9XCJoYW5kbGVEZWNsaW5lUmVsZXZlbnQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIHRleHQtbm8gbXItMVwiPnRodW1iX2Rvd248L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ubyBmZi1sYXRvIHRleHQtc20gZm9udC1ib2xkXCI+e3sgJ2hvbWUubm8nIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ2FyZEZsaXBwZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8IS0tIDxoMiBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTIgZmxleC0xIG1pbi13LTAgbWFyZ2luLXJlbW92ZS1ib3R0b21cIiBpMThuPnt7J2NhcmRjb250ZW50djIucmVhc29uJyB8IHRyYW5zbGF0ZX19PC9oMj4gLS0+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpc0NhcmRGbGlwcGVkID0gZmFsc2VcIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWp1c3RpZnkgbWF0LWJvZHktMVwiPlxuICAgICAgICB7eyB3aWRnZXREYXRhLmNvbnRlbnQucmVhc29uIH19XG4gICAgICA8L3A+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtY2FyZD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNDYXJkTG9hZGluZ1wiPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJjYXJkLXN0YW5kYXJkLWNvbnRhaW5lciBtci01IHBhZGRpbmctcmVtb3ZlXCIgPlxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWNvbnRlbnRzXCIgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NhcmRGbGlwcGVkXCI+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwibWluLXRvcFwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzEwMCUnXCIgW2hlaWdodF09XCInMTQwcHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2Vfd2lkZ2V0IGZsZXggbWFyZ2luLXJlbW92ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNjVweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBici04J1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudFwiPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzEwMCUnXCIgW2hlaWdodF09XCInMTZweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzExMXB4J1wiIFtoZWlnaHRdPVwiJzE2cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkIG1hcmdpbi10b3AtcydcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBmbGV4LXdyYXAgZmxleC1taWRkbGUgbWFyZ2luLXRvcC1tXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzI4cHgnXCIgW2hlaWdodF09XCInMjhweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcmctdGV4dFwiPiA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzExMXB4J1wiIFtoZWlnaHRdPVwiJzE2cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIHJhdGluZy1zZXNzaW9uIG1hcmdpbi10b3AtbVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNDVweCdcIiBbaGVpZ2h0XT1cIicxMnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBtYXJnaW4tdG9wLW0nXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NicFBsYW4gIGxldC1kYXRhPVwiZGF0YVwiPlxuICA8ZGl2IGNsYXNzPVwiY2JwLW1hcmsgbGVmdC0wIGJvcmRlci10b3AtcmFkaXVzXCI+XG4gICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5VUENPTUlOR1wiICBjbGFzcz1cImNicC13YXJuaW5nIG5vZHRyYW5zbGF0ZVwiPnt7ZGF0YS5jYnBEYXRhLmVuZERhdGUgfCBkYXRlOiAnZCBNTU0sIHknfX08L3A+XG4gICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5TVUNDRVNTXCIgIGNsYXNzPVwiY2JwLXN1Y2Nlc3Mgbm9kdHJhbnNsYXRlXCI+e3tkYXRhLmNicERhdGEuZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICA8cCAqbmdJZj1cImRhdGEuY2JwRGF0YS5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/Lk9WRVJEVUVcIiBjbGFzcz1cImNicC1kYW5nZXIgbm9kdHJhbnNsYXRlXCI+e3snT3ZlckR1ZScgfX08L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU9wRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLHFCQUFxQjtJQXFCaEMsWUFDVSxRQUFxQixFQUNyQixTQUEyQixFQUMzQixnQkFBaUQsRUFDakQsU0FBZ0MsRUFDaEMsT0FBZ0M7UUFKaEMsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBQ2pELGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBckJqQyxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFFL0Msa0JBQWEsR0FBVyxLQUFLLENBQUE7UUFDN0Isa0JBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFBO1FBSXZDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFRLElBQUksQ0FBQTtRQUN0QixrQkFBYSxHQUFPLEtBQUssQ0FBQTtRQUN6QixlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLDBCQUFxQixHQUFHLHNDQUFzQyxDQUFBO1FBQzlELDJCQUFzQixHQUFHLDhDQUE4QyxDQUFBO1FBQ3ZFLDBCQUFxQixHQUFHLGdEQUFnRCxDQUFBO1FBQ3hFLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFPYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUUsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFSCxRQUFRO1FBQ04sTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUE7UUFDcEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtZQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUE7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQTtTQUNqRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLCtDQUErQyxDQUFBO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUksNERBQTRELENBQUE7U0FDbEY7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUE7U0FDOUY7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1NBQ3JGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNqRjtJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNyRixXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7U0FDckU7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUN6RCxXQUFXLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFBO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM3QyxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVk7UUFDL0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQTtTQUN6RjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFZO1FBQ2hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDM0YsQ0FBQzsrR0FsRlUscUJBQXFCO21HQUFyQixxQkFBcUIsbVdDaEJsQyxxNGJBa09jLHVwV0RwTkEsQ0FBQyxrQkFBa0IsQ0FBQzs7NEZBRXJCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsQ0FBQyxrQkFBa0IsQ0FBQzsrUEFHdkIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5zQ2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2NhcmQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRMZWdhY3lTbmFja0JhciBhcyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zbmFjay1iYXInO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldENvbnRlbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL3dpZGdldC1jb250ZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IHJlbGV2YW5jZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL19hbmltYXRpb25zL3JlbGV2YW5jZS1hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY2FyZC1wb3J0cmFpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLXBvcnRyYWl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbcmVsZXZhbmNlQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkUG9ydHJhaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB3aWRnZXREYXRhITogTnNDYXJkQ29udGVudC5JQ2FyZDtcbiAgQElucHV0KCkgaXNMaXZlT3JNYXJrRm9yRGVsZXRpb246IGFueVxuICBASW5wdXQoKSBzaG93SW50cmFuZXRDb250ZW50OiBhbnlcbiAgQElucHV0KCkgaXNJbnRyYW5ldEFsbG93ZWRTZXR0aW5nczogYW55XG4gIEBJbnB1dCgpIGlzQ2FyZExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBASW5wdXQoKSAgY2JQbGFuTWFwRGF0YTogYW55XG4gIGlzQ2FyZEZsaXBwZWQ6Ym9vbGVhbiA9IGZhbHNlXG4gIGFjYnBDb25zdGFudHMgPSBOc0NhcmRDb250ZW50LkFDQlBDb25zdFxuICBkZWZhdWx0VGh1bWJuYWlsOiBhbnlcbiAgc291cmNlTG9nb3M6IGFueVxuICBkZWZhdWx0U0xvZ286IGFueVxuICBzaG93RmxpcCA9IGZhbHNlXG4gIHdpZGdldFR5cGU6IGFueSA9ICdkZidcbiAgd2lkZ2V0U3ViVHlwZTogYW55ID0nc2RmJ1xuICBpc1JlbGV2ZW50ID0gZmFsc2VcbiAgU0FLU0hBTUFJX0lDT05fTk9STUFMID0gJy9hc3NldHMvaW1hZ2VzL3Nha3NoYW1BSS9haS1pY29uLnN2ZydcbiAgU0FLU0hBTUFJX0lDT05fU1VDQ0VTUyA9ICcvYXNzZXRzL2ltYWdlcy9zYWtzaGFtQUkvYWktaWNvbi1zdWNjZXNzLnN2ZydcbiAgU0FLU0hBTUFJX0lDT05fTE9BREVSID0gJy9hc3NldHMvaW1hZ2VzL3Nha3NoYW1BSS9zYWtzaGFtX2FpX2xvYWRlci5naWYnXG4gIGlzSG92ZXJlZCA9IGZhbHNlXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udFN2YzogV2lkZ2V0Q29udGVudExpYlNlcnZpY2UsKSB7IFxuICAgICAgdGhpcy5sYW5ndHJhbnNsYXRpb25zLmxhbmd1YWdlU2VsZWN0ZWRPYnNlcnZhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgIGNvbnN0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykhXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcbiAgICBpZiAoaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRodW1ibmFpbCA9IGluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRDb250ZW50IHx8ICcnXG4gICAgICB0aGlzLnNvdXJjZUxvZ29zID0gaW5zdGFuY2VDb25maWcuc291cmNlc1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0U291cmNlTG9nbyB8fCAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL2RlZmF1bHQucG5nJ1xuICAgICAgdGhpcy5kZWZhdWx0U0xvZ28gPSAgJy9hc3NldHMvaW5zdGFuY2VzL2VhZ2xlL2FwcF9sb2dvcy9LYXJtYXlvZ2lCaGFyYXRfTG9nby5zdmcnXG4gICAgfVxuICAgIGlmKHRoaXMud2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkKSB7XG4gICAgICB0aGlzLmlzUmVsZXZlbnQgPSB0aGlzLmNvbnRTdmMuZ2V0RmVlZGJhY2tEYXRhKHRoaXMud2lkZ2V0RGF0YT8uY29udGVudD8uaWRlbnRpZmllcikgfHwgZmFsc2VcbiAgICB9XG4gIH1cblxuICBzaG93U25hY2tiYXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0ludHJhbmV0Q29udGVudCkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIGludHJhbmV0JywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0xpdmVPck1hcmtGb3JEZWxldGlvbikge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWQnLCAnWCcsIHsgZHVyYXRpb246IDIwMDAgfSlcbiAgICB9XG4gIH1cbiAgZ2V0UmVkaXJlY3RVcmxEYXRhKGNvbnRlbnREYXRhOiBhbnkpe1xuICAgIC8vIGZvciB0ZWxlbWV0cnlcbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0ICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uKSB7XG4gICAgICBjb250ZW50RGF0YVsndHlwZU9mVGVsZW1ldHJ5J10gPSB0aGlzLndpZGdldERhdGEuY29udGV4dC5wYWdlU2VjdGlvblxuICAgIH1cbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5zYWtzaGFtQUlHZW5lcmF0ZWQpIHtcbiAgICAgIGNvbnRlbnREYXRhWydzYWtzaGFtQUlHZW5lcmF0ZWQnXSA9IHRoaXMud2lkZ2V0RGF0YS5zYWtzaGFtQUlHZW5lcmF0ZWRcbiAgICB9XG4gICAgdGhpcy5jb250U3ZjLmNoYW5nZVRlbGVtZXRyeURhdGEoY29udGVudERhdGEpXG4gICAgLy8gZm9yIHJlZGlyZWN0aW9uXG4gICAgdGhpcy5jb250ZW50RGF0YS5lbWl0KGNvbnRlbnREYXRhKVxuICB9XG5cbiAgaGFuZGxlQWNjZXB0UmVsZXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYoIXRoaXMuaXNSZWxldmVudCkge1xuICAgICAgdGhpcy5pc1JlbGV2ZW50ID0gdHJ1ZVxuICAgICAgdGhpcy5jb250U3ZjLnNldFJlbGV2ZW50Tm90UmVsZXZlbnREYXRhKHtpc1JlbGV2ZW50OiB0cnVlLCB3aWRnZXREYXRhOiB0aGlzLndpZGdldERhdGF9KVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURlY2xpbmVSZWxldmVudChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNvbnRTdmMuc2V0UmVsZXZlbnROb3RSZWxldmVudERhdGEoe2lzUmVsZXZlbnQ6IGZhbHNlLCB3aWRnZXREYXRhOiB0aGlzLndpZGdldERhdGF9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZExvYWRpbmdcIj5cbiAgPG1hdC1jYXJkIGNsYXNzPVwiY2FyZC1zdGFuZGFyZC1jb250YWluZXIgbXItNSBwYWRkaW5nLXJlbW92ZSBjdXJzb3ItcG9pbnRlciAge3t3aWRnZXREYXRhPy5jYXJkQ3VzdG9tZUNsYXNzfX1cIiBbbmdDbGFzc109XCJ7XG4gICAgZ3JleU91dDpcbiAgICAgIHdpZGdldERhdGEuZGVsZXRlZE1vZGUgPT09ICdncmV5T3V0JyAmJiAhaXNMaXZlT3JNYXJrRm9yRGVsZXRpb25cbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogd2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudCxcbiAgICAgICAgJ2NhcmQtc3RhbmRhcmQtY29udGFpbmVyLXdpdGgtc2Frc2hhbS1haSc6IHdpZGdldERhdGE/LnNha3NoYW1BSUdlbmVyYXRlZFxuICB9XCIgKGNsaWNrKT1cIihzaG93SW50cmFuZXRDb250ZW50IHx8ICFpc0xpdmVPck1hcmtGb3JEZWxldGlvbikgJiYgc2hvd1NuYWNrYmFyKClcIj5cbiAgPGRpdiBjbGFzcz1cImRpc3BsYXktY29udGVudHNcIiBbbmdDbGFzc109XCJ7XG4gICAgICBkaXNhYmxlQ2xpY2s6XG4gICAgICAgIHdpZGdldERhdGEuZGVsZXRlZE1vZGUgPT09ICdncmV5T3V0JyAmJiAhaXNMaXZlT3JNYXJrRm9yRGVsZXRpb25cbiAgICAgICAgICA/IHRydWVcbiAgICAgICAgICA6IHdpZGdldERhdGE/LmludHJhbmV0TW9kZSA9PT0gJ2dyZXlPdXQnICYmIHNob3dJbnRyYW5ldENvbnRlbnRcbiAgICB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudFwiPlxuICAgICAgPGEgKGNsaWNrKT1cImdldFJlZGlyZWN0VXJsRGF0YSh3aWRnZXREYXRhPy5jb250ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICByb2xlPVwibGlua1wiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ2FyZEZsaXBwZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtZGFuZ2VyXCIgcm9sZT1cIm5vdGVcIiBpMThuLWFyaWEtbGFiZWwgYXJpYS1sYWJlbD1cIkNvbnRlbnQgZXhwaXJlZCBvciBkZWxldGVkXCIgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgIG1hdFRvb2x0aXA9XCJDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWRcIiAqbmdJZj1cIiFpc0xpdmVPck1hcmtGb3JEZWxldGlvblwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1kYW5nZXJcIiByb2xlPVwibm90ZVwiIGkxOG4tYXJpYS1sYWJlbCBhcmlhLWxhYmVsPVwiSW50cmFuZXQgY29udGVudFwiIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICBtYXRUb29sdGlwPVwiQXZhaWxhYmxlIG9ubHkgaW4gQ29tcGFueSdzIG5ldHdvcmtcIlxuICAgICAgICAqbmdJZj1cIndpZGdldERhdGE/LmludHJhbmV0TW9kZSA9PT0gJ2dyZXlPdXQnICYmIHNob3dJbnRyYW5ldENvbnRlbnRcIj48L2Rpdj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93RmxpcFwiIGNsYXNzPVwiZGV0YWlsLWJ1dHRvbiB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQtb3AzMFwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiaXNDYXJkRmxpcHBlZCA9IHRydWVcIiBhcmlhLWxhYmVsPVwiRGV0YWlsc1wiIGkxOG4tYXJpYS1sYWJlbD1cIkRldGFpbHMgfCBDbGljayB0byBzZWUgZGV0YWlsc1wiPlxuICAgICAgICA8bWF0LWljb24+ZmxpcF90b19iYWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJtaW4tdG9wXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZSAmJiAhd2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkXCI+XG4gICAgICAgICAgICA8aW1nIG1hdC1jYXJkLWltYWdlIFtzcmNdPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGEuY29udGVudC5uYW1lXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlICYmIHdpZGdldERhdGE/LnNha3NoYW1BSUdlbmVyYXRlZFwiPlxuICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGEuY29udGVudC5uYW1lXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uOyBlbHNlIGRlZmF1bHRJbWdcIj5cbiAgICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWltZyB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQgbWFyZ2luLXJlbW92ZVwiICBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICAgIFthbHRdPVwid2lkZ2V0RGF0YS5jb250ZW50Lm5hbWVcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbWc+XG4gICAgICAgICAgICAgIDxpbWcgbWF0LWNhcmQtaW1hZ2UgW3NyY109XCJkZWZhdWx0VGh1bWJuYWlsXCIgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtaW1nIHdzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZCBtYXJnaW4tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhLmNvbnRlbnQubmFtZVwiIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2UtZGl2XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5jcmVhdG9yTG9nbyB8IHBpcGVQdWJsaWNVUkxcIiBjbGFzcz1cInNvdXJjZS1pY29uXCIgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgIFthbHRdPVwiKHdpZGdldERhdGEuY29udGVudC5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YS5jb250ZW50LmlkZW50aWZpZXIpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNicC1tYXJrXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmVuZERhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFya1wiPlxuICAgICAgICAgICAgICA8cCAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uVVBDT01JTkdcIiAgY2xhc3M9XCJjYnAtd2FybmluZ1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/LlNVQ0NFU1NcIiAgY2xhc3M9XCJjYnAtc3VjY2Vzc1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/Lk9WRVJEVUVcIiBjbGFzcz1cImNicC1kYW5nZXJcIj5PdmVyIGR1ZTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2JQbGFuTWFwRGF0YSAmJiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdICAmJiAgY2JQbGFuTWFwRGF0YVt3aWRnZXREYXRhPy5jb250ZW50Py5pZGVudGlmaWVyXT8uY29udGVudFN0YXR1cyA8IDJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2JwUGxhblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YToge1xuICAgICAgICAgICAgICBjYnBEYXRhOiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdXG4gICAgICAgICAgICB9fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5pc0FwYXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFyayByaWdodC0wIHJvdW5kZWQtYm90dG9tXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiY2JwLXN1Y2Nlc3MgYXBhci1mbGFnXCI+QVBBUjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXJhdGlvbi1ib3ggcmlnaHQtY29ybmVyXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiA+IDAgJiYgISh3aWRnZXREYXRhPy5jb250ZW50Py5wcm9ncmFtRHVyYXRpb24gPiAwKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWFpbl9pY29uIG1yLTEgbm9kdHJhbnNsYXRlXCI+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIgd3MtbWF0LXdoaXRlLXRleHQgZHVyYXRpb24gbm9kdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIHt7ICh3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiB8fCAxMjApfCBwaXBlRHVyYXRpb25UcmFuc2Zvcm06ICdobXMnIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImR1cmF0aW9uLWJveCByaWdodC1jb3JuZXJcIiAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbiA+IDBcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiBtci0xIG5vZHRyYW5zbGF0ZVwiPmFjY2Vzc190aW1lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIHdzLW1hdC13aGl0ZS10ZXh0IGR1cmF0aW9uIG5vZHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICB7e3dpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbn19IHt7d2lkZ2V0RGF0YT8uY29udGVudD8ucHJvZ3JhbUR1cmF0aW9uID09PSAxID8gJ2RheScgOiAnZGF5cyd9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2Vfd2lkZ2V0IGZsZXggbWFyZ2luLXJlbW92ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmQgY291cnNlX3YyXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiB3cy1tYXQtZGVmYXVsdC10ZXh0IG1hcmdpbi1yaWdodC14cyBub2R0cmFuc2xhdGVcIj52aWRlb19saWJyYXJ5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPHNiLXVpYy1kaXNwbGF5LWNvbnRlbnQtdHlwZSBpMThuLXRpdGxlIHRpdGxlPVwiQ29udGVudCBUeXBlXCIgKm5nSWY9XCJ3aWRnZXREYXRhLmNvbnRlbnQ/LnByaW1hcnlDYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3cy1tYXQtYmxhY2s2MC10ZXh0IGZvbnQtbm9ybWFsIG1hdC1jYXB0aW9uIFwiIFtkaXNwbGF5Q29udGVudFR5cGVdPVwid2lkZ2V0RGF0YS5jb250ZW50Py5wcmltYXJ5Q2F0ZWdvcnk9PT0nQ291cnNlIFVuaXQnXG4gICAgICAgICAgICAgICAgPydNb2R1bGUnXG4gICAgICAgICAgICAgICAgOndpZGdldERhdGEuY29udGVudD8uY291cnNlQ2F0ZWdvcnkgPyB3aWRnZXREYXRhLmNvbnRlbnQ/LmNvdXJzZUNhdGVnb3J5OiB3aWRnZXREYXRhLmNvbnRlbnQ/LnByaW1hcnlDYXRlZ29yeVwiPlxuXG4gICAgICAgICAgICAgIDwvc2ItdWljLWRpc3BsYXktY29udGVudC10eXBlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBbaWRdPVwiJ20tYy0nKyB3aWRnZXREYXRhLmNvbnRlbnQ/LmlkZW50aWZpZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudCBub2R0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIHt7IHdpZGdldERhdGEuY29udGVudC5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtd3JhcCBmbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY291cnNlX2xvZ29fYm94XCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ3aWRnZXREYXRhLmNvbnRlbnQuY3JlYXRvckxvZ28gfCBwaXBlUHVibGljVVJMXCIgY2xhc3M9XCJzb3VyY2UtaWNvblwiIFt3c1V0aWxzRGVmYXVsdFRodW1ibmFpbF09XCJkZWZhdWx0U0xvZ29cIlxuICAgICAgICAgICAgICBbYWx0XT1cIih3aWRnZXREYXRhLmNvbnRlbnQuc291cmNlTmFtZSArICdfJyArIHdpZGdldERhdGEuY29udGVudC5pZGVudGlmaWVyKVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291cnNlX2xvZ29fYm94XCI+XG4gICAgICAgICAgICAgIDxpbWcgXG4gICAgICAgICAgICAgICAgW3NyY109XCJ3aWRnZXREYXRhPy5zYWtzaGFtQUlHZW5lcmF0ZWQgPyB3aWRnZXREYXRhLmNvbnRlbnQuY3JlYXRvckxvZ28gOiAod2lkZ2V0RGF0YS5jb250ZW50LmNyZWF0b3JMb2dvIHwgcGlwZVB1YmxpY1VSTClcIiBcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNvdXJjZS1pY29uXCIgXG4gICAgICAgICAgICAgICAgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhPy5jb250ZW50Py5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YT8uY29udGVudD8uaWRlbnRpZmllclwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJvcmctdGV4dFwiPnt7J2NhcmRjb250ZW50djIuYnknIHwgdHJhbnNsYXRlfX0gLS0+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JnLXRleHQgbm9kdHJhbnNsYXRlXCI+QnkmbmJzcDsge3sgKHdpZGdldERhdGE/LmNvbnRlbnQ/Lm9yZ2FuaXNhdGlvbiAmJiB3aWRnZXREYXRhPy5jb250ZW50Py5vcmdhbmlzYXRpb25bMF0pID8gd2lkZ2V0RGF0YT8uY29udGVudD8ub3JnYW5pc2F0aW9uWzBdIDogJ0thcm1heW9naSBCaGFyYXQnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50XCI+XG4gICAgICAgICAgICA8c2ItdWljLWF2YWlsYWJsZS1sYW5ndWFnZXMgW2NvbnRlbnRdPVwid2lkZ2V0RGF0YT8uY29udGVudFwiPjwvc2ItdWljLWF2YWlsYWJsZS1sYW5ndWFnZXM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgcmF0aW5nLXNlc3Npb24gbWFyZ2luLXRvcC1tXCIgKm5nSWY9XCIhd2lkZ2V0RGF0YT8uc2Frc2hhbUFJR2VuZXJhdGVkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZVwiICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYXZnUmF0aW5nXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1yLTFcIj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3t3aWRnZXREYXRhLmNvbnRlbnQuYXZnUmF0aW5nfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJtb3N0LWVucm9sbGVkLXRleHQgbWFyZ2luLWxlZnQtbVwiPnt7ICdjYXJkY29udGVudHYyLm1vc3RFbnJvbGxlZCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+IC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzICYmIHdpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzLmluY2x1ZGVzKCdtb3N0RW5yb2xsZWQnKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC14c1wiPlxuICAgICAgICAgICAgICAgIDwhLS0ge3sgJ2NhcmRjb250ZW50djIubW9zdEVucm9sbGVkJyB8IHRyYW5zbGF0ZSB9fSAtLT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzICYmIHdpZGdldERhdGE/LmNvbnRlbnQ/LmFkZGl0aW9uYWxUYWdzLmluY2x1ZGVzKCdtb3N0VHJlbmRpbmcnKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC14c1wiPlxuICAgICAgICAgICAgICAgIDwhLS0ge3sgJ2NhcmRjb250ZW50djIubW9zdFRyZW5kaW5nJyB8IHRyYW5zbGF0ZSB9fSAtLT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgbWFyZ2luLXRvcC1tXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5zYWtzaGFtQUlHZW5lcmF0ZWRcIj5cbiAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSByZWxldmFudC1jb250YWluZXJcIiAqbmdJZj1cIndpZGdldERhdGE/LnNha3NoYW1BSUdlbmVyYXRlZFwiIFtAdG9nZ2xlUmVsZXZhbmNlXT1cImlzUmVsZXZlbnQgPyAnY2VudGVyJyA6ICdub3JtYWwnXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIHJlbGV2ZW50LWJ0biBweS0yIHB4LTQgcmVsZXZhbnQtYm94XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpc1JlbGV2ZW50ID8gJ3JlbGV2ZW50LXN1Y2Nlc3MnIDogJ3JlbGV2ZW50LW5vcm1hbCdcIiAobW91c2VlbnRlcik9XCJpc0hvdmVyZWQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJpc0hvdmVyZWQgPSBmYWxzZVwiIChjbGljayk9XCJoYW5kbGVBY2NlcHRSZWxldmVudCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cImlzSG92ZXJlZCAmJiAhaXNSZWxldmVudCA/IFNBS1NIQU1BSV9JQ09OX0xPQURFUiA6IChpc1JlbGV2ZW50ID8gU0FLU0hBTUFJX0lDT05fU1VDQ0VTUyA6IFNBS1NIQU1BSV9JQ09OX05PUk1BTClcIlxuICAgICAgICAgICAgICAgICAgYWx0PVwibG9hZGVyXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgY2xhc3M9XCJtci0yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlbGV2ZW50IGZmLWxhdG8gdGV4dC1zbSBmb250LWJvbGRcIj57eyAnaG9tZS5yZWxldmVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIG5vLWJ1dHRvbiBtbC04XCIgKm5nSWY9XCIhaXNSZWxldmVudFwiIChjbGljayk9XCJoYW5kbGVEZWNsaW5lUmVsZXZlbnQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIHRleHQtbm8gbXItMVwiPnRodW1iX2Rvd248L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ubyBmZi1sYXRvIHRleHQtc20gZm9udC1ib2xkXCI+e3sgJ2hvbWUubm8nIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ2FyZEZsaXBwZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8IS0tIDxoMiBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTIgZmxleC0xIG1pbi13LTAgbWFyZ2luLXJlbW92ZS1ib3R0b21cIiBpMThuPnt7J2NhcmRjb250ZW50djIucmVhc29uJyB8IHRyYW5zbGF0ZX19PC9oMj4gLS0+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpc0NhcmRGbGlwcGVkID0gZmFsc2VcIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWp1c3RpZnkgbWF0LWJvZHktMVwiPlxuICAgICAgICB7eyB3aWRnZXREYXRhLmNvbnRlbnQucmVhc29uIH19XG4gICAgICA8L3A+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtY2FyZD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNDYXJkTG9hZGluZ1wiPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJjYXJkLXN0YW5kYXJkLWNvbnRhaW5lciBtci01IHBhZGRpbmctcmVtb3ZlXCIgPlxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWNvbnRlbnRzXCIgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NhcmRGbGlwcGVkXCI+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwibWluLXRvcFwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzEwMCUnXCIgW2hlaWdodF09XCInMTQwcHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2Vfd2lkZ2V0IGZsZXggbWFyZ2luLXJlbW92ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWVuZFwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNjVweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBici04J1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudFwiPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzEwMCUnXCIgW2hlaWdodF09XCInMTZweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzExMXB4J1wiIFtoZWlnaHRdPVwiJzE2cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkIG1hcmdpbi10b3AtcydcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBmbGV4LXdyYXAgZmxleC1taWRkbGUgbWFyZ2luLXRvcC1tXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzI4cHgnXCIgW2hlaWdodF09XCInMjhweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcmctdGV4dFwiPiA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzExMXB4J1wiIFtoZWlnaHRdPVwiJzE2cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIHJhdGluZy1zZXNzaW9uIG1hcmdpbi10b3AtbVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNDVweCdcIiBbaGVpZ2h0XT1cIicxMnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBtYXJnaW4tdG9wLW0nXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NicFBsYW4gIGxldC1kYXRhPVwiZGF0YVwiPlxuICA8ZGl2IGNsYXNzPVwiY2JwLW1hcmsgbGVmdC0wIGJvcmRlci10b3AtcmFkaXVzXCI+XG4gICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5VUENPTUlOR1wiICBjbGFzcz1cImNicC13YXJuaW5nIG5vZHRyYW5zbGF0ZVwiPnt7ZGF0YS5jYnBEYXRhLmVuZERhdGUgfCBkYXRlOiAnZCBNTU0sIHknfX08L3A+XG4gICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5TVUNDRVNTXCIgIGNsYXNzPVwiY2JwLXN1Y2Nlc3Mgbm9kdHJhbnNsYXRlXCI+e3tkYXRhLmNicERhdGEuZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICA8cCAqbmdJZj1cImRhdGEuY2JwRGF0YS5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/Lk9WRVJEVUVcIiBjbGFzcz1cImNicC1kYW5nZXIgbm9kdHJhbnNsYXRlXCI+e3snT3ZlckR1ZScgfX08L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -114,11 +114,11 @@ export class CertificateDialogComponent {
114
114
  });
115
115
  }
116
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CertificateDialogComponent, deps: [{ token: 'environment' }, { token: i1.EventService }, { token: i2.TranslateService }, { token: i1.MultilingualTranslationsService }, { token: i3.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CertificateDialogComponent, selector: "sb-uic-certificate-dialog", host: { classAttribute: "certificate-inner-dialog-panel" }, ngImport: i0, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex gap-4 flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:60%!important;min-width:0!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid rgb(27,76,161);color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button,.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-icon{position:absolute!important;top:4px!important;right:4px!important;color:#fff!important;vertical-align:middle}\n"], dependencies: [{ kind: "component", type: i4.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatLegacyMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i5.MatLegacyCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i7.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatLegacyAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1.PipeSafeSanitizerPipe, name: "pipeSafeSanitizer" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CertificateDialogComponent, selector: "sb-uic-certificate-dialog", host: { classAttribute: "certificate-inner-dialog-panel" }, ngImport: i0, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex gap-4 flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:50%!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid rgb(27,76,161);color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button,.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-icon{position:absolute!important;top:19px!important;right:18px!important}\n"], dependencies: [{ kind: "component", type: i4.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatLegacyMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i5.MatLegacyCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i7.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatLegacyAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1.PipeSafeSanitizerPipe, name: "pipeSafeSanitizer" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
118
118
  }
119
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CertificateDialogComponent, decorators: [{
120
120
  type: Component,
121
- args: [{ selector: 'sb-uic-certificate-dialog', host: { class: 'certificate-inner-dialog-panel' }, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex gap-4 flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:60%!important;min-width:0!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid rgb(27,76,161);color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button,.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-icon{position:absolute!important;top:4px!important;right:4px!important;color:#fff!important;vertical-align:middle}\n"] }]
121
+ args: [{ selector: 'sb-uic-certificate-dialog', host: { class: 'certificate-inner-dialog-panel' }, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex gap-4 flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:50%!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid rgb(27,76,161);color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button,.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-icon{position:absolute!important;top:19px!important;right:18px!important}\n"] }]
122
122
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
123
123
  type: Inject,
124
124
  args: ['environment']