KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64
User : ServerPC ( 0)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  C:/Program Files/NVIDIA Corporation/NVIDIA app/www/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : C:/Program Files/NVIDIA Corporation/NVIDIA app/www/909.baebfc264d8553b5.js
"use strict";(self.webpackChunknvapp=self.webpackChunknvapp||[]).push([[909],{75909:(mi,me,s)=>{s.r(me),s.d(me,{DriversModule:()=>hi});var g=s(61142),q=s(56106),h=s(92602),L=s(58108),Ee=s(37202),ve=s(14354),e=s(58527),ee=s(31315),x=s(65706),fe=s(75707),j=s(83915),te=s(91384),F=s(8619),we=s(72147),Ge=s(43615),I=s(45768),d=s(1242),P=s(2216),T=s(83128),Ae=s(31627),X=s(82102),be=s(62929),Ue=s(3960),qe=s(78812),Le=s(37898),je=s(81038),ne=s(48334),$=s(43848),ie=s(47847);let Ce=(()=>{class i{constructor(t,n,r){this.loggingService=t,this.hardwareService=n,this.appConfig=r,this.logger=this.loggingService.getLogger("ProvisUtilService")}isPersonasEnabled(){const t=this.appConfig?.featureEnablement?.workstation;return t?.enabled&&t?.personas?.enabled?this.hardwareService.getQuadroSystemFlag():(0,$.of)(!1)}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(h.J6),e.KVO(h.SQ),e.KVO(ie.Vk))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var $e=s(51008),re=s(44186),Ne=s(99204),ae=s(44224),Be=s(58590),k=s(47973),R=s(29370),m=s(3457),_=s(96542);let Ve=(()=>{class i{constructor(){this.disabled=!1,this.clicked=new e.bkB}onClick(t){this.clicked.emit(t)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-button-icon"]],inputs:{icon:"icon",disabled:"disabled",iconLabel:"iconLabel"},outputs:{clicked:"clicked"},decls:4,vars:5,consts:[["mat-icon-button","","fxLayout","row","fxLayoutAlign","center center",1,"button-icon-container",3,"click","disabled"],[1,"material-icons"]],template:function(n,r){1&n&&(e.j41(0,"button",0),e.nI1(1,"translate"),e.bIt("click",function(l){return r.onClick(l)}),e.j41(2,"mat-icon",1),e.EFF(3),e.k0s()()),2&n&&(e.Y8G("disabled",r.disabled),e.BMQ("aria-label",e.bMT(1,3,r.iconLabel)),e.R7$(3),e.JRh(r.icon))},dependencies:[k.iV,R.An,m.DJ,m.sA,_.D9],styles:[".button-icon-container[_ngcontent-%COMP%]{width:24px;height:24px}.button-icon-container[_ngcontent-%COMP%]   .mat-button-wrapper[_ngcontent-%COMP%]{height:100%;width:100%}.button-icon-container[_ngcontent-%COMP%]   .material-icons[_ngcontent-%COMP%]{vertical-align:top}"]})}}return i})();var oe=s(93964),_e=s(26772),se=s(54504),N=s(28139);const Ye=(i,o)=>({"font-header6":i,"font-sub1":o}),Xe=(i,o)=>({"font-body2":i,"font-body3":o});function He(i,o){if(1&i&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Lme(" ",e.bMT(2,2,t.isInstalled?"drivers.installed":t.isPreviouslyInstalledDriver?"drivers.previouslyInstalled":"drivers.newVersion"),""," - "," ")}}function Je(i,o){if(1&i&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"date"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Lme(" - ",e.bMT(2,2,"drivers.releaseDate"),": ",e.brH(3,4,t.releasedDate,t.releaseDateFormat,t.releaseDateTimezoneFormat),"")}}let H=(()=>{class i{constructor(t){this.loggingService=t,this.releaseDateFormat=_e.DQ,this.releaseDateTimezoneFormat=_e.cl,this.logger=this.loggingService.getLogger("DriverSummaryComponent")}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver-summary"]],inputs:{name:"name",version:"version",releasedDate:"releasedDate",isInstallerSummary:"isInstallerSummary",showStatus:"showStatus",isInstalled:"isInstalled",isPreviouslyInstalledDriver:"isPreviouslyInstalledDriver"},decls:9,vars:19,consts:[["fxLayout","column","fxLayoutAlign","start space-between","tabindex","0",1,"summary-container"],["role","heading","nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",1,"summary-header","font-color-primary",3,"lineClamp","isMultiLineEllipsis","ngClass"],[4,"ngIf"],[1,"summary-desc","font-body3","font-color-tertiary",3,"ngClass"]],template:function(n,r){1&n&&(e.j41(0,"div",0)(1,"h3",1),e.DNE(2,He,3,4,"span",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"p",3),e.EFF(6),e.nI1(7,"translate"),e.DNE(8,Je,4,8,"span",2),e.k0s()()),2&n&&(e.R7$(),e.Y8G("lineClamp",2)("isMultiLineEllipsis",!0)("ngClass",e.l_i(13,Ye,r.isInstallerSummary,!r.isInstallerSummary)),e.R7$(),e.Y8G("ngIf",r.showStatus),e.R7$(),e.SpI(" ",e.bMT(4,9,r.name)," "),e.R7$(2),e.Y8G("ngClass",e.l_i(16,Xe,r.isInstallerSummary,!r.isInstallerSummary)),e.R7$(),e.Lme(" ",e.bMT(7,11,"drivers.version"),": ",r.version," "),e.R7$(2),e.Y8G("ngIf",r.releasedDate))},dependencies:[g.YU,g.bT,se.a,m.DJ,m.sA,N.PW,g.vh,_.D9],styles:[".summary-container[_ngcontent-%COMP%], .summary-header[_ngcontent-%COMP%], .summary-desc[_ngcontent-%COMP%]{margin:0}"]})}}return i})();var le=s(70279),ce=s(98504),E=s(44296);function ze(i,o){if(1&i&&(e.j41(0,"p",14),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,t.title)," ")}}function We(i,o){if(1&i&&(e.j41(0,"p",15),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,t.subtitle)," ")}}function Qe(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",10),e.nI1(1,"translate"),e.nI1(2,"translate"),e.bIt("click",function(){const r=e.eBV(t).$implicit,a=e.XpG();return e.Njj(a.onPreferenceChange(r))}),e.j41(3,"div",11),e.DNE(4,ze,3,3,"p",12)(5,We,3,3,"p",13),e.k0s()()}if(2&i){const t=o.$implicit;e.qtP("aria-label","",e.bMT(1,5,t.title)," ",e.bMT(2,7,t.subtitle),""),e.R7$(4),e.Y8G("ngIf",t.title),e.R7$(),e.Y8G("ngIf",t.subtitle)}}let Ke=(()=>{class i{constructor(t,n,r,a,l){this.loggingService=t,this.driverUpdateService=n,this.telemetryUtilsService=r,this.redirectService=a,this.provisUtilService=l,this.logger=this.loggingService.getLogger("nvapp/DriverPreferenceComponent")}openLearnMoreLink(){this.telemetryUtilsService.sendClickEvent(d.EB.DriverSelectionLearnMore,"",!0),this.openLearnMoreLinkSub?.unsubscribe(),this.openLearnMoreLinkSub=this.provisUtilService.isPersonasEnabled().subscribe(t=>{this.redirectService.redirectTo(!0===t?le.r7.NvAppDriverUpdateStrategyLearnMore:le.r7.NvAppDriverPreferenceLearnMore)})}onPreferenceChange(t){this.logger.info("event triggered with value ",t),t.id!==this.driverTypePreference.id&&(this.driverTypePreference=t,this.driverUpdateService.updateDriverTypePreferenceDriverType(this.driverTypePreference))}ngOnDestroy(){this.openLearnMoreLinkSub?.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(X.f),e.rXU(d.AY),e.rXU(le.Q5),e.rXU(Ce))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver-preference"]],inputs:{driverTypePreference:"driverTypePreference",disabled:"disabled",driverTypes:"driverTypes"},decls:19,vars:14,consts:[["menu","matMenu"],["fxLayout","row","fxLayoutAlign","end center"],["mat-icon-button","","role","button",1,"driver-type-preference-menu-button","font-body2","font-color-secondary",3,"matMenuTriggerFor"],[1,"driver-type-preference-menu-drop-icon","material-icons"],["overlapTrigger","false","xPosition","before","flex","",1,"driver-type-preference-menu"],["mat-menu-item","","role","button",3,"click",4,"ngFor","ngForOf"],["mat-menu-item","","role","link",3,"click"],["fxLayout","row","fxLayoutAlign","space-between center"],[1,"driver-type-header","font-body2","font-color-secondary"],[1,"material-icons","driver-learn-more-icon"],["mat-menu-item","","role","button",3,"click"],[1,"driver-type-preference-menu-item"],["class","driver-type-header font-body2 font-color-primary",4,"ngIf"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3","class","driver-type-desc font-body3 font-color-tertiary",4,"ngIf"],[1,"driver-type-header","font-body2","font-color-primary"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",1,"driver-type-desc","font-body3","font-color-tertiary"]],template:function(n,r){if(1&n){const a=e.RV6();e.j41(0,"div",1)(1,"button",2),e.nI1(2,"translate"),e.EFF(3),e.nI1(4,"translate"),e.j41(5,"mat-icon",3),e.EFF(6,"arrow_drop_down"),e.k0s()(),e.j41(7,"mat-menu",4,0),e.DNE(9,Qe,6,9,"button",5),e.j41(10,"button",6),e.nI1(11,"translate"),e.bIt("click",function(){return e.eBV(a),e.Njj(r.openLearnMoreLink())}),e.j41(12,"div")(13,"div",7)(14,"p",8),e.EFF(15),e.nI1(16,"translate"),e.k0s(),e.j41(17,"mat-icon",9),e.EFF(18,"open_in_new"),e.k0s()()()()()()}if(2&n){const a=e.sdS(8);e.R7$(),e.Y8G("matMenuTriggerFor",a),e.BMQ("aria-label",e.bMT(2,6,null==r.driverTypePreference?null:r.driverTypePreference.title)),e.R7$(2),e.SpI(" ",e.bMT(4,8,null==r.driverTypePreference?null:r.driverTypePreference.title)," "),e.R7$(6),e.Y8G("ngForOf",r.driverTypes),e.R7$(),e.BMQ("aria-label",e.bMT(11,10,"common.learnMore")),e.R7$(5),e.SpI(" ",e.bMT(16,12,"common.learnMore")," ")}},dependencies:[g.Sq,g.bT,ce.tH,se.a,k.iV,R.An,E.pI,E.gy,E.fS,m.DJ,m.sA,_.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%], .driver-type-desc[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.driver-type-menu-item[_ngcontent-%COMP%]{height:100%;margin-bottom:15px}.driver-type-header[_ngcontent-%COMP%], .driver-type-desc[_ngcontent-%COMP%], .driver-learn-more-icon[_ngcontent-%COMP%]{margin:0}.driver-type-desc[_ngcontent-%COMP%]{white-space:nowrap;width:100%}.driver-type-preference-menu[_ngcontent-%COMP%]{transform-origin:bottom right}.driver-type-preference-menu-button[_ngcontent-%COMP%]{width:auto;padding:0 0 0 8px;text-transform:initial;height:32px;line-height:32px}.driver-type-preference-menu-drop-icon[_ngcontent-%COMP%]{font-size:20px}.driver-type-preference-menu-item[_ngcontent-%COMP%]{display:inline-block;padding-top:5px;color:var(--primary-700);width:100%}"]})}}return i})();var B=s(14714),C=s(26875),p=s(53698),G=s(94645),D=s(26537),De=s(31308),J=s(35965),u=s(58431),Ie=s(56302),ye=s(42578),V=s(59859),xe=s(71152),de=s(70521),Ze=s(5498),et=s(4208),tt=s(74150),z=s(60990),W=s(40514),Y=s(33328);const nt=(i,o)=>({"modal-loader-content":i,"modal-error-content":o});function it(i,o){if(1&i){const t=e.RV6();e.j41(0,"div",8)(1,"button",9),e.bIt("click",function(){e.eBV(t);const r=e.XpG();return e.Njj(r.close())}),e.j41(2,"mat-icon",10),e.EFF(3,"close"),e.k0s()()()}}function rt(i,o){if(1&i&&(e.j41(0,"span",14),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG(2);e.R7$(),e.JRh(e.bMT(2,1,t.articleData.subTitle))}}function at(i,o){if(1&i&&(e.j41(0,"div",11)(1,"span",12),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.DNE(4,rt,3,3,"span",13),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("lineClamp",2)("isMultiLineEllipsis",!0),e.R7$(),e.JRh(e.bMT(3,4,t.articleData.title)),e.R7$(2),e.Y8G("ngIf",t.articleData.subTitle)}}function ot(i,o){1&i&&e.nrm(0,"nv-app-page-load-spinner")}function st(i,o){1&i&&(e.j41(0,"div",15),e.nrm(1,"mat-icon",16)(2,"p",17),e.nI1(3,"translate"),e.nI1(4,"trustAsHtml"),e.k0s()),2&i&&(e.R7$(2),e.Y8G("innerHTML",e.bMT(4,3,e.bMT(3,1,"drivers.noInformationAvailable")),e.npT))}function lt(i,o){if(1&i&&(e.j41(0,"div",19),e.nrm(1,"iframe",20),e.k0s()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("src",t.url,e.f$h)}}function ct(i,o){if(1&i&&(e.j41(0,"video",21),e.nrm(1,"source",22),e.k0s()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("src",t.url,e.B4B)}}function dt(i,o){if(1&i&&(e.qex(0),e.DNE(1,lt,2,1,"div",18)(2,ct,2,1,"ng-template",null,0,e.C5r),e.bVm()),2&i){const t=e.sdS(3),n=e.XpG();e.R7$(),e.Y8G("ngIf",n.isVideoTypeYoutube)("ngIfElse",t)}}function gt(i,o){if(1&i){const t=e.RV6();e.j41(0,"span",23),e.nI1(1,"trustAsHtml"),e.bIt("dragstart",function(r){e.eBV(t);const a=e.XpG();return e.Njj(a.preventDrag(r))}),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("innerHTML",e.bMT(1,1,t.articleData.body),e.npT)}}function pt(i,o){if(1&i){const t=e.RV6();e.j41(0,"div",24)(1,"button",25),e.bIt("click",function(){e.eBV(t);const r=e.XpG();return e.Njj(r.close())}),e.EFF(2),e.nI1(3,"translate"),e.k0s()()}2&i&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"common.close")," "))}let Pe=(()=>{class i{constructor(t,n,r){this.loggingService=t,this.dialogRef=n,this.sanitizer=r,this.video=null,this.getArticleContent=null,this.autoCloseOnError=!0,this.showLoader=!1,this.isVideoTypeYoutube=!1,this.articleData=null,this.error=!1,this.logger=this.loggingService.getLogger("nvapp/ArticleContentModalComponent")}ngOnInit(){this.getArticleContent?(this.showLoader=!0,this.dialogRef.addPanelClass("info-modal-article-loading"),this.getArticleContent().pipe((0,et.Q)(this.dialogRef.afterClosed())).subscribe(t=>{if(this.showLoader=!1,this.dialogRef.removePanelClass(["info-modal-article-loading","info-modal-article-error"]),t&&t.body){let n=document?.createElement("div");n.innerHTML=t.body,n.querySelectorAll("img").forEach(r=>r.setAttribute("loading","lazy")),t.body=n.innerHTML,this.articleData=t,n=null}else this.error=!0,this.logger.error("get article returned null")},t=>{this.logger.error("failed to get article content with error",t),this.showLoader=!1,this.dialogRef.addPanelClass("info-modal-article-error"),this.error=!0})):this.formatVideoSource()}close(){this.dialogRef.close()}preventDrag(t){t.preventDefault(),t.stopImmediatePropagation()}getYoutubeId(t){return/youtu\.be\/(.*)/g.exec(t)?.[1]??""}formatVideoSource(){if(this.video){if(this.isVideoTypeYoutube=this.video?.type===u.Mr.Youtube,this.isVideoTypeYoutube){const t=this.getYoutubeId(this.video?.url),n=Ie.Qr.replace("VIDEO_ID",t);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(n)}}else this.logger.error("Video source is null")}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(D.CP),e.rXU(tt.up))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-article-content-modal"]],inputs:{video:"video",getArticleContent:"getArticleContent",autoCloseOnError:"autoCloseOnError"},decls:8,vars:11,consts:[["localVideo",""],["fxLayout","row","class","close-button-container",4,"ngIf"],["mat-dialog-title","","fxLayout","column","fxLayoutAlign","center start",4,"ngIf"],[3,"ngClass"],[4,"ngIf"],["class","error-info-container font-body2",4,"ngIf"],["draggable","false","class","mat-primary mat-hue-2",3,"innerHTML","dragstart",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","class","modal-actions","mat-dialog-actions","",4,"ngIf"],["fxLayout","row",1,"close-button-container"],["mat-icon-button","",1,"mat-icon-button",3,"click"],["matTooltip","Close",1,"material-icons"],["mat-dialog-title","","fxLayout","column","fxLayoutAlign","center start"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",1,"font-header6",3,"lineClamp","isMultiLineEllipsis"],["class","font-body2 font-color-tertiary",4,"ngIf"],[1,"font-body2","font-color-tertiary"],[1,"error-info-container","font-body2"],["svgIcon","info",1,"material-icons","error-info-icon"],[1,"error-info",3,"innerHTML"],["class","youtube-video-container",4,"ngIf","ngIfElse"],[1,"youtube-video-container"],["id","ytPlayer","frameborder","0","allowfullscreen","",3,"src"],["autoplay","","controls",""],["type","video/mp4",3,"src"],["draggable","false",1,"mat-primary","mat-hue-2",3,"dragstart","innerHTML"],["fxLayout","row","fxLayoutAlign","end center","mat-dialog-actions","",1,"modal-actions"],["mat-button","",1,"hig-button","font-button2","modal-close-action",3,"click"]],template:function(n,r){1&n&&(e.DNE(0,it,4,0,"div",1)(1,at,5,6,"div",2),e.j41(2,"mat-dialog-content",3),e.DNE(3,ot,1,0,"nv-app-page-load-spinner",4)(4,st,5,5,"div",5)(5,dt,4,2,"ng-container",4)(6,gt,2,3,"span",6),e.k0s(),e.DNE(7,pt,4,3,"div",7)),2&n&&(e.Y8G("ngIf",!r.error&&!r.showLoader&&r.video&&r.url),e.R7$(),e.Y8G("ngIf",r.articleData),e.R7$(),e.Y8G("ngClass",e.l_i(8,nt,r.showLoader,r.error)),e.R7$(),e.Y8G("ngIf",r.showLoader),e.R7$(),e.Y8G("ngIf",r.error),e.R7$(),e.Y8G("ngIf",r.video&&r.url&&!r.error&&!r.showLoader),e.R7$(),e.Y8G("ngIf",null==r.articleData?null:r.articleData.body),e.R7$(),e.Y8G("ngIf",!r.showLoader&&(r.articleData||r.error)))},dependencies:[g.YU,g.bT,z.r,W.e,se.a,k.iV,R.An,re.oV,D.BI,D.Yi,D.E7,m.DJ,m.sA,N.PW,oe.Q,_.D9,Y.O],styles:[".isRtl[_nghost-%COMP%]   .flip-rtl-element[_ngcontent-%COMP%], .isRtl   [_nghost-%COMP%]   .flip-rtl-element[_ngcontent-%COMP%]{transform:scaleX(-1)}html[dir=rtl][_ngcontent-%COMP%]   .flip-rtl-element[_ngcontent-%COMP%]{--dummy: 0;transform:scaleX(-1)}.hotkey-border[_ngcontent-%COMP%]{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}.youtube-video-container[_ngcontent-%COMP%]{position:relative;width:790px;height:600px;overflow:hidden}.modal-loader-content[_ngcontent-%COMP%]{width:790px;height:80vh;max-height:530px;min-height:480px}.modal-error-content[_ngcontent-%COMP%]{width:790px;height:calc(80vh - 52px);max-height:478px}iframe[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}video[_ngcontent-%COMP%]{display:block;height:100%;width:100%;max-height:100%;max-width:100%}.close-button-container[_ngcontent-%COMP%]{position:absolute;z-index:1;top:24px;right:16px}.error-info-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1 1 100%;justify-content:center;align-items:center;height:100%}.error-info-container[_ngcontent-%COMP%]   .error-info-icon[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%], .error-info-container[_ngcontent-%COMP%]   .error-info-icon[_ngcontent-%COMP%]   .mat-icon[_ngcontent-%COMP%]{font-size:24px;height:24px;width:24px}.error-info-container[_ngcontent-%COMP%]   .error-info[_ngcontent-%COMP%]{margin:10px 0 0;text-align:center}.close-button-container[_ngcontent-%COMP%]   .mat-icon-button[_ngcontent-%COMP%]   .mat-icon[_ngcontent-%COMP%]{vertical-align:initial}.modal-actions[_ngcontent-%COMP%]{padding:0 8px;margin-bottom:0;margin-top:16px}.modal-close-action[_ngcontent-%COMP%]{width:auto}"]})}}return i})();var ut=s(5798),ht=s(76449);let mt=(()=>{class i{constructor(t,n,r,a,l,c,b,w){this.gfwslService=t,this.gfwslParamsService=n,this.appConfig=r,this.endpointFactory=a,this.distributedTracingUtilService=l,this.serviceWorkerService=c,this.dialog=w,this.logger=b.getLogger("nvapp/DriverArticleService"),this.endpoint=this.endpointFactory.createEndpoint(),this.endpointRetryConfig={},({defaultRetries:this.endpointRetryConfig.maxRetries,defaultTimeBetweenRetries:this.endpointRetryConfig.timeBetweenRetries,defaultTimeout:this.endpointRetryConfig.timeout}=this.appConfig?.gfwsl??{}),this.articleContentEventStream=new Map,this.initServiceWorkerNotifications()}isArticleAvailable(t){return t&&t.gfeLoadUrl}showDetails(t,n,r,a){r?this.previewMedia(n):a?this.openArticleDialog(t,n):this.logger.info("Show details failed to load Modal")}getDriverArticleInformation(t,n,r){return this.logger.info("getDriverArticleInformation"),this.gfwslService.onGfwslParamsReady({hasGeoInfo:!0,hasLocaleInfo:!0,hasSystemInfo:!0}).pipe((0,fe.ZZ)(a=>{r={...r,GFPV:n};let l=(0,C.omitBy)(r,function(S,M){return"dIDa"===M});l=this.gfwslParamsService.getParams(l,Object.keys(l));const c={config:this.endpointRetryConfig,reportRequestData:{originalService:d.Uu.Gfwsl,serviceUseCase:d.OO.GetArticleInformation},includeRequestId:!0,withCredentials:!0},b=(0,xe.l2)([t,JSON.stringify(l)]),w=this.endpoint.makeRequestEx(J.Xt.Get,b,c);return this.distributedTracingUtilService.handleHttpEndpointSpan(w,c,Ze.I.GfwslDriverArticleInformation).pipe((0,te.M)(S=>this.logger.info("gfwsl returned successfully with response ",S)))}),(0,j.T)(a=>a.body))}getArticleInformation(t,n,r){return this.getDriverArticleInformation(t,r,n)}parseJson(t){try{return JSON.parse(t)}catch{return this.logger.error("Json parsing exception for ",t),null}}getArticleContent(t,n){const r=this.getArticleContentCacheKey(t,n),a=this.getWorkerFnForArticleContent(t,n);return this.ensureMapEntryExists(r,a),this.articleContentEventStream.get(r).get$()}getWorkerFnForArticleContent(t,n){return()=>this.fetchArticleContent(t,n)}fetchArticleContent(t,n){if(t){let r=t;r=r.replace(/\\/g,"");const a=r.split("{");if(2!==a.length)return this.logger.error("Cannot request for article as gfeLoadUrl is incorrect ",t),(0,V.$)("gfeLoadURl is incorrect");const c=this.parseJson("{"+a[1]);return c?this.getArticleInformation(a[0],c,n).pipe((0,j.T)(b=>{if(b?.gfcontent)return this.logger.info("get driver article returns content"),this.processArticleContent(b);throw new Error("get driver article returns null content")}),(0,B.W)(b=>(this.logger.error("Failed to get article",b),(0,V.$)(b)))):(this.logger.error("Cannot request for article as gfeLoadUrl has incorrect json ",t),(0,V.$)("gfeLoadUrl has incorrect json"))}return this.logger.error("article url empty for ",t),(0,V.$)("no article URL")}processArticleContent(t){const{title:n,body:r,author_date:a}=t.gfcontent;return{title:n,body:r,subTitle:a?.by_on_date??null,panelClass:"article-content"}}previewMedia(t){const n=this.getVideoType(t),r=n!==u.Mr.Youtube;this.logger.info("Video Type",n,"defaultVideoControl",r),this.showMediaDialog({url:t,type:n,defaultVideoControl:r})}showMediaDialog(t){const n=this.dialog.open(Pe,{hasBackdrop:!0,autoFocus:!1,restoreFocus:!1,backdropClass:"driver-content-backdrop",panelClass:["driver-content-media-dialog","common-dialog"],maxWidth:790});n.componentInstance.video=t,n.componentInstance.autoCloseOnError=!1,n.afterClosed().pipe((0,x.s)(1)).subscribe(r=>{this.logger.info("The media dialog was closed")})}getVideoType(t){return-1!==t.indexOf("youtu.be")?u.Mr.Youtube:-1!==t.indexOf(".mp4")?u.Mr.Local:""}openArticleDialog(t,n){const a=this.dialog.open(Pe,{hasBackdrop:!0,autoFocus:!1,restoreFocus:!0,backdropClass:"driver-article-backdrop",panelClass:["driver-release-highlight-article","common-dialog"],maxWidth:790});a.componentInstance.getArticleContent=function(){return this.getArticleContent(n,t)}.bind(this),a.componentInstance.autoCloseOnError=!1,a.afterClosed().pipe((0,x.s)(1)).subscribe(()=>{this.logger.info("The dialog was closed")},l=>{this.logger.error("Failed to close the article dialog",l)})}driverCacheKey(...t){return t.join(u.Ft)}getArticleContentCacheKey(t,n){const r=t.replace("CTP_GFPV",n),l=de.th.staleWhileRevalidate?.gfwslArticleContent;return this.getCacheKeyFromGfwslParams(r,l.routePattern,["GFPV","cnP"])}ensureMapEntryExists(t,n){this.articleContentEventStream.has(t)||this.articleContentEventStream.set(t,new xe.TE(n,!0,!0,!0,this.appConfig?.gfwsl?.cacheRefreshTime))}initServiceWorkerNotifications(){this.logger.info("Initializing Service Worker Update Notifications");const t=de.th.staleWhileRevalidate?.gfwslArticleContent;this.serviceWorkerSubscription=this.serviceWorkerService.swCacheUpdated.pipe((0,F.p)(n=>n.name===t.cacheName&&n.data)).subscribe(n=>{this.logger.info("Received SW notification",n),this.logger.info("Received updated data SW notification for Article Content",n.data);const a=this.getCacheKeyFromGfwslParams(n.url,t.routePattern,["GFPV","cnP"]);this.updateStreamData(n,this.articleContentEventStream,a)})}updateStreamData(t,n,r){const a=t.data,l=n.get(r)?.getData();if(!(0,C.isEqual)(a,l)&&a)if(a?.gfcontent){const c=this.processArticleContent(a);n.get(r)?.setData(c,!0)}else this.logger.error("get driver article returns null content");else this.logger.info("Received data is same as previously fetched data")}getCacheKeyFromGfwslParams(t,n,r){const a=decodeURI(t)?.split(n)?.join("");if(r.every(l=>a.includes(l))){const l=JSON.parse(a),c=Object.values((0,C.pick)(l,r));return this.driverCacheKey(...c)}return""}ngOnDestroy(){this.serviceWorkerSubscription?.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(J.XB),e.KVO(J.Tg),e.KVO(ie.Vk),e.KVO(ut.t),e.KVO(ht.Z1),e.KVO(de.lS),e.KVO(h.J6),e.KVO(D.bZ))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var vt=s(72004),ft=s(77970),wt=s(4356),bt=s(65726);function Ct(i,o){if(1&i){const t=e.RV6();e.j41(0,"img",5),e.bIt("error",function(){e.eBV(t);const r=e.XpG(2);return e.Njj(r.updateIconOnError())}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("src",null==t.highlight?null:t.highlight.boxartUrl,e.B4B)("alt",null==t.highlight?null:t.highlight.mouseOverDesc)}}function _t(i,o){if(1&i&&e.nrm(0,"mat-icon",6),2&i){const t=e.XpG(2);e.Y8G("svgIcon",null==t.highlight?null:t.highlight.svgIcon)}}function Dt(i,o){if(1&i&&(e.j41(0,"div",2),e.DNE(1,Ct,1,2,"img",3)(2,_t,1,1,"ng-template",null,0,e.C5r),e.nrm(4,"span",4),e.nI1(5,"trustAsHtml"),e.k0s()),2&i){const t=e.sdS(3),n=e.XpG();e.R7$(),e.Y8G("ngIf",!(null==n.highlight||!n.highlight.boxartUrl)&&!n.imageError&&n.isImageLoadPossible)("ngIfElse",t),e.R7$(3),e.Y8G("innerHTML",e.bMT(5,3,null==n.highlight?null:n.highlight.title),e.npT)}}let It=(()=>{class i{constructor(t,n,r){this.loggingService=t,this.telemetryUtilsService=n,this.networkStatusService=r,this.isImageLoadPossible=!0,this.logger=this.loggingService.getLogger("nvapp/ReleaseHighlightContentComponent")}ngOnInit(){this.highlight.svgIcon=this.getSvgIcon(this.highlight),this.networkStatusSubscription=this.networkStatusService.onlineStatusChanged.pipe((0,F.p)(t=>t),(0,bt.c)(100)).subscribe(t=>{this.logger.info("network status changed",t,"updating highlight svg icon"),this.isImageLoadPossible=t},t=>{this.logger.error("failed to subscribe online status changed",t)})}updateIconOnError(){this.imageError=!0,this.logger.error("failed to load the content image"),this.telemetryUtilsService.sendResourceLoadErrorEvent(d.vt.Icon,this.highlight.svgIcon,"failed to load icon",null,d.JZ.ReleaseHighlight,!0)}getSvgIcon(t){const n=t?.category?.toLowerCase();switch(n){case u.wj.Display:return u.w.Display;case u.wj.Laptop:return u.w.Laptop;case u.wj.Gpu:return u.w.Gpu;case u.wj.Ops:return u.w.Ops;case u.wj.Game:return u.w.Game;case u.wj.Hardware:return u.w.Hardware;case u.wj.App:return u.w.App;case u.wj.WhatsNew:return u.w.WhatsNew;case u.wj.WhatsFixed:return u.w.WhatsFixed;default:return this.logger.error(`icon with category ${n} for highlight with title ${t?.title} falling back to Game icon`),u.w.Game}}ngOnDestroy(){this.networkStatusSubscription?.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(d.AY),e.rXU(h.CF))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-release-highlight-content"]],inputs:{highlight:"highlight"},decls:1,vars:1,consts:[["fallback",""],["class","release-highlight",4,"ngIf"],[1,"release-highlight"],["class","image-icon geometry-rounded-md",3,"src","alt","error",4,"ngIf","ngIfElse"],[1,"font-body2",3,"innerHTML"],[1,"image-icon","geometry-rounded-md",3,"error","src","alt"],[1,"svg","svg-icon","material-icons",3,"svgIcon"]],template:function(n,r){1&n&&e.DNE(0,Dt,6,5,"div",1),2&n&&e.Y8G("ngIf",r.highlight)},dependencies:[g.bT,z.r,W.e,R.An,Y.O],styles:[".svg-icon[_ngcontent-%COMP%], .image-icon[_ngcontent-%COMP%]{margin-right:16px;width:32px;height:32px}.svg-icon[_ngcontent-%COMP%]{color:gray;flex:0 0 auto}.release-highlight[_ngcontent-%COMP%]{display:flex;align-items:center;box-sizing:border-box}"]})}}return i})();const yt=["driverContent"],xt=i=>({"driver-release-summary-not-available":i});function Pt(i,o){if(1&i&&(e.nrm(0,"span",8),e.nI1(1,"trustAsHtml")),2&i){const t=e.XpG(2);e.Y8G("innerHTML",e.bMT(1,1,null==t.content?null:t.content.releaseNotesAbstract),e.npT)}}function St(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",9),e.bIt("click",function(){e.eBV(t);const r=e.XpG(2);return e.Njj(r.contentLinkClick(null,!0))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG(2);e.qtP("aria-label","",null==t.content?null:t.content.releaseNotesAbstract," ",null==t.content||null==t.content.driverTypeArticle?null:t.content.driverTypeArticle.actionLabel,""),e.R7$(),e.SpI(" ",null==t.content||null==t.content.driverTypeArticle?null:t.content.driverTypeArticle.actionLabel," ")}}function Mt(i,o){if(1&i&&(e.j41(0,"div",5),e.DNE(1,Pt,2,3,"span",6)(2,St,2,4,"button",7),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngIf",!t.isEmptyReleaseNotesAbstract),e.R7$(),e.Y8G("ngIf",!t.isEmptyDriverArticle)}}function Tt(i,o){if(1&i&&(e.j41(0,"span",15),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,null==t?null:t.title),"")}}function kt(i,o){if(1&i&&(e.j41(0,"span",19),e.EFF(1),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.SpI(" ",t.title,"")}}function Rt(i,o){1&i&&e.nrm(0,"nv-app-release-highlight-content",20),2&i&&e.Y8G("highlight",o.$implicit)}function Ot(i,o){if(1&i&&(e.j41(0,"div",16),e.DNE(1,kt,2,1,"span",17)(2,Rt,1,1,"nv-app-release-highlight-content",18),e.k0s()),2&i){const t=o.$implicit,n=e.XpG(3);e.R7$(),e.Y8G("ngIf",null==t?null:t.title),e.R7$(),e.Y8G("ngForOf",null==t?null:t.elements)("ngForTrackBy",n.trackBoxArtImg)}}function Ft(i,o){if(1&i&&(e.j41(0,"div",12),e.DNE(1,Tt,3,3,"span",13)(2,Ot,3,3,"div",14),e.k0s()),2&i){const t=o.$implicit;e.R7$(),e.Y8G("ngIf",null==t?null:t.title),e.R7$(),e.Y8G("ngForOf",null==t?null:t.elements)}}function Et(i,o){if(1&i&&(e.j41(0,"div",10,1),e.DNE(2,Ft,3,2,"div",11),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.Y8G("ngForOf",null==t.content?null:t.content.releaseHighlight)}}let Se=(()=>{class i{set content(t){this._content=(0,C.cloneDeep)(t),this.updateContentDetails(),this.updateIsNsdDriverEmptyMarquee()}get content(){return this._content}set driverDetails(t){const n=this._driverDetails?.driverType!==t?.driverType;this._driverDetails=t,this.updateIsNsdDriverEmptyMarquee(),n&&this.setMarqueeFallbackImage()}get driverDetails(){return this._driverDetails}constructor(t,n,r,a,l){this.loggingService=t,this.driverArticleService=n,this.hardwareInfoService=r,this.telemetryUtilsService=a,this.marqueeAggregateService=l,this.isNsdDriverWithEmptyMarquee=!1,this.showReadMorePanel=!0,this.enableAnimation=!1,this.section="",this.logger=this.loggingService.getLogger("nvapp/DriverContentComponent"),this.marqueeTileData=[],this.marqueeGradientOverrides={leftEdge:!1,leftMerge:!0,bottomEdge:!1,background:!1,backgroundOverhang:!1},this.marqueeOverlayOverrides={contentOverlayType:L.t4.FullBleedImage},this.setMarqueeImageOverrides()}setMarqueeImageOverrides(t=G.K1,n=L.t4.FullBleedImage){this.marqueeImageOverrides={customBackground:!0,disableMask:!0,formatImages:!1,globalFallbackImageUrl:t,globalFallbackImageType:n}}ngOnInit(){this.updateContentDetails(),this.hardwareInfoService.getQuadroSystemFlag().pipe((0,x.s)(1)).subscribe(t=>{this.logger.info("is Quadro GPU",t),this.isQuadro=t,this.setMarqueeFallbackImage()},t=>{this.logger.error("failed to getGPUInfo with error",t)})}onMarqueeActionClicked(t){const n=t.action;this.logger.info("Marquee Action: ",n),n.uri.startsWith(ye.wY.NvApp)?this.contentLinkClick({position:t.position,uri:n.uri}):n.uri.startsWith(ye.wY.Http)?window.open(n.uri,"_blank"):this.logger.error("Not a valid URI",n.uri)}contentLinkClick(t,n){let r="";if(n)r=this.grdArticleLink,this.logger.info("GRD article link clicked with url",r),this.telemetryUtilsService.sendClickEvent(d.EB.DriverTypeArticleLink,this.section,!0,this.driverDetails.version);else{r=t?.uri?.replace(Ie.$7,"");const c=this.content?.marqueeBanner?.[t.position]?.action.label,b=t?.position||0;this.logger.info("marquee item link clicked with url",r),this.telemetryUtilsService.sendMarqueeElement(r,c,this.section,d.tV.Drivers,t.position,this.marqueeTileData[b].telemetryId,this.driverDetails.version,this.telemetryUtilsService.getDriverType(this.driverDetails.driverType))}const a=r.includes(J.GU.GfeContent);this.driverArticleService.showDetails(this.driverDetails.version,r,!a,a)}marqueeScrolled(t){if(t.autoScrolled){const n={url:"",action:d.Hb,section:this.section,feature:d.tV.Drivers,position:t.position,uniqueContent:this.marqueeTileData[t.position].telemetryId,driverVersion:this.driverDetails.version,driverType:this.telemetryUtilsService.getDriverType(this.driverDetails.driverType)};this.marqueeAggregateService.aggregateMarqueeElementEvent(n)}else this.telemetryUtilsService.sendClickEvent(d.EB.MarqueeScroll,this.section,!0,t?.position+"")}imageLoadFailure(t){const n=(this.section?this.section+"/":"")+d.mF.Marquee;this.telemetryUtilsService.sendResourceLoadErrorEvent(d.vt.Image,this.marqueeTileData?.[t]?.marqueeHeroImage??this.marqueeImageOverrides.globalFallbackImageUrl,"failed to load image",null,n,!0)}trackBoxArtImg(t,n){return n?.boxartUrl}beforeChangeSlide(t){this.enableAnimation=!0}updateContentDetails(){this.grdArticleLink=this.content?.driverTypeArticle?.gfeLoadUrl,this.isEmptyMarquee=(0,C.isEmpty)(this.content?.marqueeBanner),this.marqueeTileData=this.isEmptyMarquee?[]:this.content.marqueeBanner.map(t=>({action:t.action,body:t.body,fallbackImage:G.R$,marqueeHeroImage:t.image,id:t.id,title:t.title,type:L.t4.PaddedImage,telemetryId:t.linksTo})),this.isEmptyDriverArticle=(0,C.isEmpty)(this.content?.driverTypeArticle?.gfeLoadUrl),this.isEmptyReleaseHighlight=this.checkReleaseHighlightIsEmpty(),this.isEmptyReleaseNotesAbstract=(0,C.isEmpty)(this.content?.releaseNotesAbstract),this.section=this.isRecommendedDriver?d.JZ.RecommendedDriver:d.JZ.InstalledDriver}checkReleaseHighlightIsEmpty(){const t=(0,C.isEmpty)(this.content?.releaseHighlight),n=this.content?.releaseHighlight?.every(r=>(0,C.isEmpty)(r.elements));return t||n}setMarqueeFallbackImage(){this.isQuadro?this.setMarqueeImageOverrides(u.X5):this.setMarqueeImageOverrides(this.driverDetails?.driverType===P.uj.CreatorReadyDriver?u.rB:u.Nd,L.t4.PaddedImage)}updateIsNsdDriverEmptyMarquee(){this.isNsdDriverWithEmptyMarquee=this.isEmptyMarquee&&this.driverDetails?.driverType===P.uj.CreatorReadyDriver}marqueeAutoScrollCancelled(){this.marqueeAggregateService.sendMarqueeEvent()}ngOnDestroy(){this.marqueeAggregateService.sendMarqueeEvent()}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(mt),e.rXU(h.SQ),e.rXU(d.AY),e.rXU(vt.R))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver-content"]],viewQuery:function(n,r){if(1&n&&e.GBs(yt,5),2&n){let a;e.mGM(a=e.lsd())&&(r.contentElem=a.first)}},hostVars:2,hostBindings:function(n,r){2&n&&e.AVh("marquee-nsd-fallback",r.isNsdDriverWithEmptyMarquee)},inputs:{content:"content",driverDetails:"driverDetails",isRecommendedDriver:"isRecommendedDriver"},decls:4,vars:10,consts:[["marquee",""],["driverContent",""],["tabindex","0","nvAppMarqueeKeyboardNav","",1,"driver-content-marquee",3,"actionClicked","marqueeScrolled","marqueeAutoScrollCancelled","imageLoadFailure","beforeChangeSlide","tileData","imageOverrides","gradientOverrides","overlayOverrides","enableAnimation","ngClass"],["class","driver-release-summary-container",4,"ngIf"],["class","driver-content",4,"ngIf"],[1,"driver-release-summary-container"],["class","mat-primary mat-hue-2 font-body2 driver-release-notes",3,"innerHTML",4,"ngIf"],["mat-button","","class","driver-type-button font-button2",3,"click",4,"ngIf"],[1,"mat-primary","mat-hue-2","font-body2","driver-release-notes",3,"innerHTML"],["mat-button","",1,"driver-type-button","font-button2",3,"click"],[1,"driver-content"],["class","driver-content-section geometry-rounded-lg","tabindex","0",4,"ngFor","ngForOf"],["tabindex","0",1,"driver-content-section","geometry-rounded-lg"],["class","content-title font-sub1",4,"ngIf"],["class","driver-content-sub-section",4,"ngFor","ngForOf"],[1,"content-title","font-sub1"],[1,"driver-content-sub-section"],["class","content-title font-sub2",4,"ngIf"],["class","release-highlight-content",3,"highlight",4,"ngFor","ngForOf","ngForTrackBy"],[1,"content-title","font-sub2"],[1,"release-highlight-content",3,"highlight"]],template:function(n,r){if(1&n){const a=e.RV6();e.j41(0,"nv-hig-marquee",2,0),e.bIt("actionClicked",function(c){return e.eBV(a),e.Njj(r.onMarqueeActionClicked(c))})("marqueeScrolled",function(c){return e.eBV(a),e.Njj(r.marqueeScrolled(c))})("marqueeAutoScrollCancelled",function(){return e.eBV(a),e.Njj(r.marqueeAutoScrollCancelled())})("imageLoadFailure",function(c){return e.eBV(a),e.Njj(r.imageLoadFailure(c))})("beforeChangeSlide",function(c){return e.eBV(a),e.Njj(r.beforeChangeSlide(c))}),e.k0s(),e.DNE(2,Mt,3,2,"div",3)(3,Et,3,1,"div",4)}2&n&&(e.Y8G("tileData",r.marqueeTileData)("imageOverrides",r.marqueeImageOverrides)("gradientOverrides",r.marqueeGradientOverrides)("overlayOverrides",r.marqueeOverlayOverrides)("enableAnimation",r.enableAnimation)("ngClass",e.eq3(8,xt,r.isEmptyReleaseNotesAbstract&&r.isEmptyDriverArticle&&r.isEmptyReleaseHighlight)),e.R7$(2),e.Y8G("ngIf",!r.isEmptyReleaseNotesAbstract||!r.isEmptyDriverArticle),e.R7$(),e.Y8G("ngIf",!r.isEmptyReleaseHighlight))},dependencies:[g.YU,g.Sq,g.bT,ft.w,z.r,W.e,k.iV,N.PW,wt.V,It,_.D9,Y.O],styles:['[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column));--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width) - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-padding-bottom: 0px;--full-bleed-title-margin-bottom: 16px;--text-overlay-content-body-lines: 3;--hig-marquee-left-merge-gradient: linear-gradient(270deg, transparent 0%, var(--secondary-1000) 37.69%, var(--secondary-1000) 100%);--hig-marquee-custom-container-background: var(--secondary-1000);--full-bleed-overlay-content-width: calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + calc(var(--hig-marquee-third-column) / 2) - 24px - 24px);--hig-marquee-left-edge-gradient-width: calc( calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + calc(var(--hig-marquee-third-column) / 2) + var(--hig-marquee-corner-column) );--hig-marquee-container-height: var(--hig-marquee-padded-image-first-row);--hig-marquee-animation-duration: .5s;--hig-marquee-container-border-radius: var(--geometry-border-radius-lg);--hig-marquee-indicator-border-radius: var(--geometry-border-radius-md)}@media screen and (min-width: 304px) and (max-width: 1279px){nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-body-lines: 2;--full-bleed-title-margin-bottom: 8px;--hig-marquee-tile-action-button-margin-top: 16px}}@media (min-width: 1920px){nv-hig-marquee[_ngcontent-%COMP%]{--full-bleed-overlay-content-max-width: calc(750px - 2 * var(--rwd-container-side-spacing))}}@media (min-width: 3840px){[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column));--hig-marquee-padded-image-first-row: 818px;--assumed-parent-container-width: calc((var(--hig-marquee-padded-image-first-row) / calc(var(--hig-marquee-ratio))) + var(--hig-marquee-corner-column) + var(--hig-marquee-text-column));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * var(--assumed-parent-container-width));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}}.driver-content-details   [_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * var(--rwd-sidebar-width));--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.driver-content-details[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%], .driver-content-details   [_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-padding-bottom: 0px;--full-bleed-title-margin-bottom: 16px;--text-overlay-content-body-lines: 3;--hig-marquee-left-merge-gradient: linear-gradient(270deg, transparent 0%, var(--secondary-1000) 37.69%, var(--secondary-1000) 100%);--hig-marquee-custom-container-background: var(--secondary-1000);--full-bleed-overlay-content-width: calc(calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * var(--rwd-sidebar-width)) + calc(var(--hig-marquee-third-column) / 2) - 24px - 16px);--hig-marquee-left-edge-gradient-width: calc( calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * var(--rwd-sidebar-width)) + calc(var(--hig-marquee-third-column) / 2) + var(--hig-marquee-corner-column) );--hig-marquee-container-height: var(--hig-marquee-padded-image-first-row);--hig-marquee-animation-duration: .5s;--hig-marquee-container-border-radius: var(--geometry-border-radius-lg);--hig-marquee-indicator-border-radius: var(--geometry-border-radius-md)}@media screen and (min-width: 304px) and (max-width: 1279px){.driver-content-details[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%], .driver-content-details   [_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-body-lines: 2;--full-bleed-title-margin-bottom: 8px;--hig-marquee-tile-action-button-margin-top: 16px}}@media (min-width: 1920px){.driver-content-details[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%], .driver-content-details   [_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--full-bleed-overlay-content-max-width: calc(750px - 2 * var(--rwd-container-side-spacing))}}@media (min-width: 3840px){.driver-content-details   [_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * var(--rwd-sidebar-width));--hig-marquee-padded-image-first-row: 818px;--assumed-parent-container-width: calc((var(--hig-marquee-padded-image-first-row) / calc(var(--hig-marquee-ratio))) + var(--hig-marquee-corner-column) + var(--hig-marquee-text-column));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * var(--assumed-parent-container-width));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}}.marquee-nsd-fallback[_nghost-%COMP%]   -shadowcsshost{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column));--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width) - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.marquee-nsd-fallback[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-padding-bottom: 0px;--full-bleed-title-margin-bottom: 16px;--text-overlay-content-body-lines: 3;--hig-marquee-left-merge-gradient: linear-gradient(270deg, transparent 0%, #282828 37.69%, #282828 100%);--hig-marquee-custom-container-background: #282828;--full-bleed-overlay-content-width: calc(calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + calc(var(--hig-marquee-third-column) / 2) - 24px - 24px);--hig-marquee-left-edge-gradient-width: calc( calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + calc(var(--hig-marquee-third-column) / 2) + var(--hig-marquee-corner-column) );--hig-marquee-container-height: var(--hig-marquee-padded-image-first-row);--hig-marquee-animation-duration: .5s;--hig-marquee-container-border-radius: var(--geometry-border-radius-lg);--hig-marquee-indicator-border-radius: var(--geometry-border-radius-md)}@media screen and (min-width: 304px) and (max-width: 1279px){.marquee-nsd-fallback[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-body-lines: 2;--full-bleed-title-margin-bottom: 8px;--hig-marquee-tile-action-button-margin-top: 16px}}@media (min-width: 1920px){.marquee-nsd-fallback[_nghost-%COMP%]   nv-hig-marquee[_ngcontent-%COMP%]{--full-bleed-overlay-content-max-width: 750px}}@media (min-width: 3840px){.marquee-nsd-fallback[_nghost-%COMP%]   -shadowcsshost{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((var(--rwd-container-width) - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column));--hig-marquee-padded-image-first-row: 818px;--assumed-parent-container-width: calc((var(--hig-marquee-padded-image-first-row) / calc(var(--hig-marquee-ratio))) + var(--hig-marquee-corner-column) + var(--hig-marquee-text-column));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * var(--assumed-parent-container-width));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}}.content-title[_ngcontent-%COMP%]{margin-bottom:16px;text-transform:capitalize;display:inline-block}.mat-divider[_ngcontent-%COMP%]{margin:24px 0}.driver-content-sub-section[_ngcontent-%COMP%]:not(:last-of-type){margin-bottom:30px}.driver-content-sub-section[_ngcontent-%COMP%]   .release-highlight-content[_ngcontent-%COMP%]{margin-bottom:16px;display:block}.driver-content-sub-section[_ngcontent-%COMP%]   .release-highlight-content[_ngcontent-%COMP%]:last-of-type{margin-bottom:0}.driver-type-button[_ngcontent-%COMP%]{width:auto;text-align:start;margin:0 0 0 -16px;cursor:pointer}.driver-content[_ngcontent-%COMP%]{display:flex;flex:1;transition:height .1s ease-in-out;overflow:hidden;height:auto;margin:24px 0 16px}.driver-content-release-abstract[_ngcontent-%COMP%]{background:var(--primary-800);padding:16px;margin-bottom:24px}.driver-release-summary-not-available[_ngcontent-%COMP%]{margin-bottom:24px;display:block}.driver-release-notes[_ngcontent-%COMP%]{display:block;margin-bottom:16px}.driver-release-summary-container[_ngcontent-%COMP%]{margin-top:24px;padding-left:18px;position:relative}.driver-release-summary-container[_ngcontent-%COMP%]:before{border-radius:var(--geometry-border-radius-md) var(--geometry-border-radius-md) var(--geometry-border-radius-md) var(--geometry-border-radius-md);content:"";width:4px;height:100%;background:var(--accent-500);position:absolute;left:0;top:0}.driver-content-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-width:50%;background:var(--primary-850);padding:16px;width:50%}.driver-content-section[_ngcontent-%COMP%]:first-of-type{margin-right:var(--rwd-gutter-size)}.driver-content-section[_ngcontent-%COMP%]:focus{outline-offset:-2px}']})}}return i})();const Gt=["closeButton"];function At(i,o){if(1&i&&e.nrm(0,"nv-app-driver-summary",9),2&i){const t=e.XpG();e.Y8G("name",t.driverDetails.name)("version",t.driverDetails.version)("releasedDate",t.driverDetails.releaseDateTime)}}let Ut=(()=>{class i{constructor(t,n){this.dialogData=t,this.focusMonitor=n}ngOnInit(){this.content=this.dialogData?.content,this.driverDetails=this.dialogData?.driverDetails,this.isPreviouslyInstalledDriver=this.dialogData?.isPreviouslyInstalledDriver}ngAfterViewInit(){setTimeout(()=>{this.focusMonitor.focusVia(this.closeButton,"keyboard")},0)}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(D.Vh),e.rXU(De.FN))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver-content-modal"]],viewQuery:function(n,r){if(1&n&&e.GBs(Gt,5),2&n){let a;e.mGM(a=e.lsd())&&(r.closeButton=a.first)}},decls:16,vars:12,consts:[["closeButton",""],["mat-dialog-title","",1,"driver-details"],["fxLayout","row","fxLayoutAlign","space-between center"],[1,"driver-details-header","font-sub2","font-color-primary"],["mat-icon-button","","cdkFocusInitial","",1,"close-button",3,"mat-dialog-close"],[1,"close-icon","font-color-secondary"],["class","content-modal-driver-summary",3,"name","version","releasedDate",4,"ngIf"],[1,"driver-content-details"],[3,"content","driverDetails"],[1,"content-modal-driver-summary",3,"name","version","releasedDate"]],template:function(n,r){1&n&&(e.j41(0,"div",1)(1,"div",2)(2,"h4",3),e.EFF(3),e.nI1(4,"translate"),e.nI1(5,"translate"),e.k0s(),e.j41(6,"button",4,0),e.nI1(8,"translate"),e.j41(9,"mat-icon",5),e.EFF(10,"close"),e.k0s()()(),e.nrm(11,"mat-divider"),e.DNE(12,At,1,3,"nv-app-driver-summary",6),e.k0s(),e.j41(13,"mat-dialog-content")(14,"div",7),e.nrm(15,"nv-app-driver-content",8),e.k0s()()),2&n&&(e.R7$(3),e.SpI(" ",r.isPreviouslyInstalledDriver?e.bMT(4,6,"drivers.previouslyInstalled"):e.bMT(5,8,"drivers.currentlyDriverInstalled")," "),e.R7$(3),e.Y8G("mat-dialog-close",!0),e.BMQ("aria-label",e.bMT(8,10,"common.close")),e.R7$(6),e.Y8G("ngIf",!!r.driverDetails),e.R7$(3),e.Y8G("content",r.content)("driverDetails",r.driverDetails))},dependencies:[g.bT,k.iV,R.An,ae.q,D.tx,D.BI,D.Yi,m.DJ,m.sA,H,Se,_.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.driver-details-header[_ngcontent-%COMP%]{margin:14px 0 13px}.driver-content-details[_ngcontent-%COMP%]{margin-bottom:24px}"]})}}return i})();var qt=s(85735),Lt=s(26513),y=s(20924),f=y.Or.Nvapp.Driverinstall.FormEnum,ge=y.Or.Nvapp.Driverinstall.NextActionEnum,Me=y.Or.Nvapp.Driverinstall.MethodEnum,A=y.Or.Nvapp.Driverinstall.ErrorCodeEnum,pe=function(i){return i.Express="express",i.Custom="custom",i}(pe||{}),v=s(72053),Te=s(97888);const jt=["dynamicComponentRef"],$t=i=>({"no-bottom-padding":i}),Nt=i=>({"mat-accent":i});function Bt(i,o){if(1&i&&(e.j41(0,"mat-icon",12),e.EFF(1),e.k0s()),2&i){const t=e.XpG(3);e.Y8G("ngClass",e.eq3(2,Nt,"check"===t.componentDetails.icon)),e.R7$(),e.JRh(t.componentDetails.icon)}}function Vt(i,o){if(1&i&&(e.j41(0,"div",9),e.DNE(1,Bt,2,4,"mat-icon",10),e.j41(2,"p",11),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("ngIf",t.componentDetails.icon),e.R7$(2),e.JRh(e.bMT(4,2,t.componentDetails.details))}}function Yt(i,o){if(1&i&&(e.j41(0,"div",6),e.nrm(1,"nv-app-driver-summary",7),e.DNE(2,Vt,5,4,"div",8),e.k0s()),2&i){const t=e.XpG();e.Y8G("ngClass",e.eq3(6,$t,t.installerData.showLoader)),e.R7$(),e.Y8G("name",t.componentDetails.name)("version",t.componentDetails.version)("releasedDate",t.componentDetails.releaseDateTime)("isInstallerSummary",!0),e.R7$(),e.Y8G("ngIf",(null==t.componentDetails?null:t.componentDetails.icon)||(null==t.componentDetails?null:t.componentDetails.details))}}function Xt(i,o){}function Ht(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",16),e.bIt("click",function(){e.eBV(t);const r=e.XpG(2);return e.Njj(r.installerData.button1.action())}),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()}if(2&i){const t=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(3,3,e.bMT(2,1,t.installerData.button1.text))," ")}}function Jt(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",17),e.bIt("click",function(){e.eBV(t);const r=e.XpG(2);return e.Njj(r.installerData.button2.action())}),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()}if(2&i){const t=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(3,3,e.bMT(2,1,t.installerData.button2.text))," ")}}function zt(i,o){if(1&i&&(e.j41(0,"div",13),e.DNE(1,Ht,4,5,"button",14)(2,Jt,4,5,"button",15),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngIf",t.installerData.button1.action),e.R7$(),e.Y8G("ngIf",t.installerData.button2.action)}}let Wt=(()=>{class i{constructor(t,n){this.loggingService=t,this.driverInstallationService=n,this.canShowActions=!1,this.canShowTitle=!1,this.componentDetails=null,this.logger=t.getLogger("nvapp/InstallerDialogComponent")}ngOnInit(){this.installerDataSubscription=this.driverInstallationService.installerData$.subscribe(t=>{this.installerData={...t},this.updateActionAndTitle()})}updateActionAndTitle(){this.canShowActions=!!this.installerData?.button2||!!this.installerData?.button1,this.canShowTitle=!(0,C.isEmpty)(this.installerData?.componentDetails)&&!this.installerData?.isProgressComponent,this.componentDetails=this.installerData?.componentDetails}ngOnDestroy(){this.installerDataSubscription.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(Z))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installer-dialog"]],viewQuery:function(n,r){if(1&n&&e.GBs(jt,7,e.c1b),2&n){let a;e.mGM(a=e.lsd())&&(r.dynamicComponentRef=a.first)}},decls:7,vars:2,consts:[["dynamicComponentRef",""],["fxLayout","column",1,"installer-dialog"],["class","installer-dialog-header","fxLayout","column","fxLayoutAlign","space-between start",3,"ngClass",4,"ngIf"],["fxLayoutAlign","center center","fxLayout","column","fxFlex","100%",1,"installer-dialog-content"],["fxFlex","","fxFill",""],["mat-dialog-actions","","class","installer-actions","fxLayout","row","fxLayoutAlign","end center",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between start",1,"installer-dialog-header",3,"ngClass"],[1,"installer-driver-summary",3,"name","version","releasedDate","isInstallerSummary"],["fxLayout","row","class","installer-dialog-detail-container","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center",1,"installer-dialog-detail-container"],["mat-font-set","material-icons","class","material-icons detail-icon font-color-secondary",3,"ngClass",4,"ngIf"],[1,"font-sub2","font-color-primary","details"],["mat-font-set","material-icons",1,"material-icons","detail-icon","font-color-secondary",3,"ngClass"],["mat-dialog-actions","","fxLayout","row","fxLayoutAlign","end center",1,"installer-actions"],["class","hig-button font-button2 installer-secondary-action","mat-button","",3,"click",4,"ngIf"],["mat-raised-button","","class","mat-accent font-button2",3,"click",4,"ngIf"],["mat-button","",1,"hig-button","font-button2","installer-secondary-action",3,"click"],["mat-raised-button","",1,"mat-accent","font-button2",3,"click"]],template:function(n,r){1&n&&(e.j41(0,"div",1),e.DNE(1,Yt,3,8,"div",2),e.j41(2,"div",3)(3,"div",4),e.DNE(4,Xt,0,0,"ng-template",null,0,e.C5r),e.k0s()(),e.DNE(6,zt,3,2,"div",5),e.k0s()),2&n&&(e.R7$(),e.Y8G("ngIf",r.canShowTitle),e.R7$(5),e.Y8G("ngIf",r.canShowActions))},dependencies:[g.YU,g.bT,Te.Aq,k.iV,R.An,D.E7,m.DJ,m.sA,m.G2,m.UI,N.PW,H,g.Pc,_.D9],styles:[".installer-dialog[_ngcontent-%COMP%]{width:790px;height:min(530px,100vh - 8px);overflow-x:hidden}.installer-dialog[_ngcontent-%COMP%]   .installer-dialog-header[_ngcontent-%COMP%]{padding:18px 24px 24px}.installer-dialog[_ngcontent-%COMP%]   .installer-dialog-header.no-bottom-padding[_ngcontent-%COMP%]{padding-bottom:0}.installer-dialog[_ngcontent-%COMP%]   .installer-actions[_ngcontent-%COMP%]{padding:0 8px;min-height:52px;overflow:hidden;margin-bottom:0}.installer-dialog[_ngcontent-%COMP%]   .installer-secondary-action[_ngcontent-%COMP%]{width:auto}.installer-dialog[_ngcontent-%COMP%]   .installer-dialog-content[_ngcontent-%COMP%]{position:relative}.installer-actions[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]:first-child{height:36px;line-height:36px;padding:1px 16px!important}.installer-dialog-detail-container[_ngcontent-%COMP%]{padding:2px 0 2px 6px;margin-top:12px}.installer-dialog-detail-container[_ngcontent-%COMP%]   .detail-icon[_ngcontent-%COMP%]{margin:0 12px 0 0}.installer-dialog-detail-container[_ngcontent-%COMP%]   .details[_ngcontent-%COMP%]{margin:0}"]})}}return i})(),Qt=(()=>{class i{constructor(t){this.loggingService=t,this.logger=t.getLogger("nvapp/InstallationRebootComponent")}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-reboot"]],decls:3,vars:3,consts:[[1,"font-body2","font-color-secondary","reboot-message"]],template:function(n,r){1&n&&(e.j41(0,"label",0),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n&&(e.R7$(),e.JRh(e.bMT(2,1,"drivers.constraints.systemRestartIsRequired")))},dependencies:[_.D9],styles:[".reboot-message[_ngcontent-%COMP%]{display:block;padding:0 24px}"]})}}return i})();var ue=s(20288);function Kt(i,o){if(1&i&&(e.qex(0),e.nrm(1,"iframe",8),e.nI1(2,"trustAsHtml"),e.bVm()),2&i){const t=o.ngIf;e.R7$(),e.Y8G("src",e.i5U(2,1,t,"url"),e.f$h)}}function Zt(i,o){1&i&&e.nrm(0,"img",9)}let U=(()=>{class i{set installerData(t){this._installerData=t,this.updatedInstallationGuideText(),this.updateProgressMode()}get installerData(){return this._installerData}constructor(t,n){this.driverInfoService=n,this.installationGuideText="",this.installationProgressTranslationParams={},this.logger=t.getLogger("nvapp/InstallationProgressComponent")}ngOnInit(){this.logger.info("InstallerData:",this.installerData),this.billBoardUrl$=this.driverInfoService.getBillBoardUrl(),this.installerData=this.installerData??{isInstalling:!1,progressTitle:"",progressValue:0,isPreparingInstall:!0},this.updateInstallationProgressTranslationParams()}updatedInstallationGuideText(){this.updateInstallationProgressTranslationParams(),this.installationGuideText=this.installerData.isPreparingInstall?"drivers.preparingForInstallation":this.installerData.isInstalling?"drivers.installing":"drivers.unInstalling"}updateProgressMode(){this.progressMode=this.installerData.isPreparingInstall||!this.installerData.isInstalling?"indeterminate":"determinate"}updateInstallationProgressTranslationParams(){this.installationProgressTranslationParams={component:this.installerData?.progressTitle?" "+this.installerData.progressTitle:""}}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(Z))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-progress"]],inputs:{installerData:"installerData"},decls:15,vars:20,consts:[["showFallback",""],[1,"marketing-progress-container"],[4,"ngIf","ngIfElse"],[1,"installer-progress-bar",3,"mode","value"],["fxLayout","column","fxLayoutAlign","space-around start",1,"progress-status-container"],[1,"installer-driver-summary",3,"name","version","releasedDate","isInstallerSummary"],["fxFill","",1,"font-sub2","progress-status-details"],[1,"font-body2","font-color-tertiary"],[1,"installer-marketing-container","geometry-top-rounded-lg",3,"src"],["src","assets/img/installation-billboard-fallback.svg","alt","default-banner",1,"installation-progress-fallbackImage"]],template:function(n,r){if(1&n&&(e.j41(0,"div",1),e.DNE(1,Kt,3,4,"ng-container",2),e.nI1(2,"async"),e.DNE(3,Zt,1,0,"ng-template",null,0,e.C5r),e.nrm(5,"mat-progress-bar",3),e.k0s(),e.j41(6,"div",4),e.nrm(7,"nv-app-driver-summary",5),e.j41(8,"p",6),e.EFF(9),e.nI1(10,"translate"),e.k0s(),e.j41(11,"label",7),e.EFF(12),e.nI1(13,"translate"),e.nI1(14,"translate"),e.k0s()()),2&n){const a=e.sdS(4);e.R7$(),e.Y8G("ngIf",e.bMT(2,11,r.billBoardUrl$))("ngIfElse",a),e.R7$(4),e.FS9("value",r.installerData.progressValue),e.Y8G("mode",r.progressMode),e.R7$(2),e.Y8G("name",r.installerData.componentDetails.name)("version",r.installerData.componentDetails.version)("releasedDate",r.installerData.componentDetails.releaseDateTime)("isInstallerSummary",!0),e.R7$(2),e.SpI(" ",e.i5U(10,13,r.installationGuideText,r.installationProgressTranslationParams)," "),e.R7$(3),e.Lme("",e.bMT(13,16,"drivers.tips.tipText")," ",e.bMT(14,18,"drivers.tips.externallyConnectedMonitor"),"")}},dependencies:[g.bT,ue.HM,m.DJ,m.sA,m.G2,H,g.Jj,_.D9,Y.O],styles:[".marketing-progress-container[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center}.marketing-progress-container[_ngcontent-%COMP%]   .installer-progress-bar[_ngcontent-%COMP%]{width:calc(100% - 2px);position:absolute;bottom:-1px}.installation-progress-fallbackImage[_ngcontent-%COMP%]{width:788px;height:375px;display:block;margin-top:1px}.progress-status-container[_ngcontent-%COMP%]{padding:16px 24px}.progress-status-details[_ngcontent-%COMP%]{margin:16px 0 18px}.installer-marketing-container[_ngcontent-%COMP%]{width:788px;height:375px;border:0;display:block;padding:1px 1px 0}.driver-details[_ngcontent-%COMP%]{margin:0 0 15px}"]})}}return i})();var ke=s(54676),en=s(4418);const tn=(i,o)=>({"font-sub2":i,"font-sub1":o}),nn=i=>({"package-group-content-disabled":i});function rn(i,o){if(1&i){const t=e.RV6();e.j41(0,"div",14)(1,"mat-checkbox",15),e.mxI("ngModelChange",function(r){e.eBV(t);const a=e.XpG().$implicit;return e.DH7(a.selectedForInstall,r)||(a.selectedForInstall=r),e.Njj(r)}),e.j41(2,"span",16),e.EFF(3),e.k0s()()()}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("disabled",t.critical),e.R50("ngModel",t.selectedForInstall),e.R7$(2),e.JRh(t.title)}}function an(i,o){if(1&i&&(e.j41(0,"p",4),e.EFF(1),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.JRh(t.title)}}function on(i,o){if(1&i&&(e.qex(0),e.j41(1,"div",11),e.DNE(2,rn,4,3,"div",12)(3,an,2,1,"ng-template",null,0,e.C5r),e.j41(5,"p",5),e.EFF(6),e.k0s(),e.j41(7,"p",6),e.EFF(8),e.nI1(9,"translate"),e.k0s()(),e.nrm(10,"mat-divider",13),e.bVm()),2&i){const t=o.$implicit,n=e.sdS(4),r=e.XpG();e.R7$(),e.Y8G("ngClass",e.eq3(7,nn,t.critical)),e.R7$(),e.Y8G("ngIf",r.showPackageSelectionUI)("ngIfElse",n),e.R7$(4),e.JRh(t.version),e.R7$(2),e.SpI(" ",r.showPackageSelectionUI?t.currentVersion:e.bMT(9,5,t.statusText)," ")}}function sn(i,o){if(1&i){const t=e.RV6();e.j41(0,"div",17)(1,"mat-checkbox",18),e.mxI("ngModelChange",function(r){e.eBV(t);const a=e.XpG();return e.DH7(null==a.installerData?null:a.installerData.installablePackagesData.cleanInstall,r)||((null==a.installerData?null:a.installerData.installablePackagesData).cleanInstall=r),e.Njj(r)}),e.j41(2,"div",19)(3,"p",20),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.j41(6,"p",21),e.EFF(7),e.nI1(8,"translate"),e.k0s()()()()}if(2&i){const t=e.XpG();e.R7$(),e.R50("ngModel",null==t.installerData?null:t.installerData.installablePackagesData.cleanInstall),e.R7$(3),e.SpI(" ",e.bMT(5,3,"drivers.performCleanInstallation")," "),e.R7$(3),e.SpI(" ",e.bMT(8,5,"drivers.cleanInstallMessage")," ")}}let Q=(()=>{class i{constructor(t){this.loggingService=t,this.logger=this.loggingService.getLogger("InstallationCustomComponent")}ngOnInit(){this.showPackageSelectionUI=this.installerData?.installablePackagesData?.showPackageSelectionUI}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-custom"]],inputs:{installerData:"installerData"},decls:16,vars:15,consts:[["customTitle",""],["fxLayout","column",1,"installation-custom"],[1,"package-group-table"],["fxLayoutAlign","start center","fxLayout","row","fxLayoutGap","5px",1,"package-group-header","font-color-primary","geometry-top-rounded-lg",3,"ngClass"],[1,"package-group-column-start"],[1,"package-group-column-middle"],[1,"package-group-column-end"],[1,"package-group-table-divider"],[1,"package-group-content-container"],[4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start center","class","clean-installation-container geometry-rounded-md",4,"ngIf"],["fxLayoutAlign","start center","fxLayout","row","fxLayoutGap","5px",1,"package-group-content","font-body2","font-color-secondary",3,"ngClass"],["class","package-group-column-start package-group-checkbox-start",4,"ngIf","ngIfElse"],[1,"package-group-content-divider"],[1,"package-group-column-start","package-group-checkbox-start"],[1,"package-select-checkbox","font-body2",3,"ngModelChange","disabled","ngModel"],[1,"font-body2"],["fxLayout","row","fxLayoutAlign","start center",1,"clean-installation-container","geometry-rounded-md"],[1,"clean-install-check",3,"ngModelChange","ngModel"],["fxLayout","column","fxLayoutAlign","start",1,"warning-clean-install"],[1,"font-body2","font-color-primary","clean-install-desc"],[1,"font-body3","font-color-tertiary","clean-install-desc"]],template:function(n,r){1&n&&(e.j41(0,"div",1)(1,"div",2)(2,"div",3)(3,"p",4),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.j41(6,"p",5),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.j41(9,"p",6),e.EFF(10),e.nI1(11,"translate"),e.k0s()(),e.nrm(12,"mat-divider",7),e.j41(13,"div",8),e.DNE(14,on,11,9,"ng-container",9),e.k0s()(),e.DNE(15,sn,9,7,"div",10),e.k0s()),2&n&&(e.R7$(2),e.Y8G("ngClass",e.l_i(12,tn,r.showPackageSelectionUI,!r.showPackageSelectionUI)),e.R7$(2),e.SpI(" ",e.bMT(5,6,"drivers.component")," "),e.R7$(3),e.SpI(" ",e.bMT(8,8,"drivers.newVersion")," "),e.R7$(3),e.SpI(" ",e.bMT(11,10,r.showPackageSelectionUI?"drivers.currentVersion":"drivers.status")," "),e.R7$(4),e.Y8G("ngForOf",null==r.installerData?null:r.installerData.installablePackagesData.packages),e.R7$(),e.Y8G("ngIf",r.showPackageSelectionUI))},dependencies:[g.YU,g.Sq,g.bT,ke.tG,ce.nM,q.BC,q.vS,ae.q,en.So,m.DJ,m.BO,m.sA,N.PW,_.D9],styles:[".installation-select-custom[_nghost-%COMP%]   .installation-custom[_ngcontent-%COMP%]{padding:0}.installation-select-custom[_nghost-%COMP%]   .package-group-column-start[_ngcontent-%COMP%]{width:210px}.installation-select-custom[_nghost-%COMP%]   .package-group-checkbox-start[_ngcontent-%COMP%]{width:221px}.installation-select-custom[_nghost-%COMP%]   .package-group-column-middle[_ngcontent-%COMP%]{width:108px}.installation-select-custom[_nghost-%COMP%]   .package-group-column-end[_ngcontent-%COMP%]{width:108px}.installation-select-custom[_nghost-%COMP%]   .package-group-content-container[_ngcontent-%COMP%]{max-height:147px}.package-group-content-container[_ngcontent-%COMP%]{max-height:245px;overflow-y:auto;overflow-x:hidden}.installation-custom[_ngcontent-%COMP%]{padding:0 24px}.package-group-content[_ngcontent-%COMP%]{padding:0 5px}.package-group-content[_ngcontent-%COMP%], .package-group-header[_ngcontent-%COMP%]{height:48px}.package-group-header[_ngcontent-%COMP%]{padding:0 16px;background:var(--primary-contrast-40)}.package-group-table-divider[_ngcontent-%COMP%]{border-top:1px solid var(--primary-contrast-80)}.package-group-content-divider[_ngcontent-%COMP%]{border-top-color:var(--primary-contrast-40)}.package-group-column-start[_ngcontent-%COMP%]{margin:0;width:312px}.package-group-column-middle[_ngcontent-%COMP%]{margin:0;width:232px}.package-group-column-end[_ngcontent-%COMP%]{margin:0;width:166px}.clean-installation-container[_ngcontent-%COMP%]{margin-top:17px;padding:8px 5px;background-color:var(--primary-800)}.clean-install-desc[_ngcontent-%COMP%]{margin:0}"]})}}return i})(),ln=(()=>{class i{constructor(t){this.loggingService=t,this.logger=this.loggingService.getLogger("InstallationCompleteComponent")}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-complete"]],decls:0,vars:0,template:function(n,r){}})}}return i})();const cn=i=>({code:i});function dn(i,o){if(1&i&&(e.j41(0,"p",5),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.SpI(" ",e.bMT(2,1,t.installerData.errorDetails)," ")}}function gn(i,o){if(1&i&&(e.j41(0,"a",6),e.nI1(1,"trustAsHtml"),e.EFF(2),e.nI1(3,"translate"),e.k0s()),2&i){const t=e.XpG();e.Y8G("href",e.i5U(1,2,t.allowInstallCheckErrorDetailsLink,"url"),e.B4B),e.R7$(2),e.JRh(e.bMT(3,5,"drivers.viewDetails"))}}function pn(i,o){if(1&i&&(e.j41(0,"p",7),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.SpI(" ",e.i5U(2,1,"drivers.errorCode",e.eq3(4,cn,null==t.installerData?null:t.installerData.errorCode))," ")}}function un(i,o){if(1&i&&(e.j41(0,"li",11),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i){const t=o.$implicit;e.R7$(),e.JRh(e.bMT(2,1,t))}}function hn(i,o){if(1&i&&(e.qex(0),e.j41(1,"p",8),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"ul",9),e.DNE(5,un,3,3,"li",10),e.k0s(),e.bVm()),2&i){const t=e.XpG();e.R7$(2),e.JRh(e.bMT(3,2,"drivers.details")),e.R7$(3),e.Y8G("ngForOf",t.installerData.errorList)}}let K=(()=>{class i{constructor(t,n){this.loggingService=t,this.appConfig=n,this.logger=this.loggingService.getLogger("InstallationErrorComponent")}ngOnInit(){this.allowInstallCheckErrorDetailsLink=this.appConfig?.driver?.allowInstallCheckErrorDetailsLink}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(ie.Vk))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-error"]],inputs:{installerData:"installerData"},decls:5,vars:4,consts:[[1,"installation-error"],["class","font-body2 font-color-secondary error-details",4,"ngIf"],["class","font-body2-link error-details-link",3,"href",4,"ngIf"],["class","font-body2 font-color-secondary error-code",4,"ngIf"],[4,"ngIf"],[1,"font-body2","font-color-secondary","error-details"],[1,"font-body2-link","error-details-link",3,"href"],[1,"font-body2","font-color-secondary","error-code"],[1,"font-sub2","details-text"],[1,"error-list","font-body2"],["class","error-list-item",4,"ngFor","ngForOf"],[1,"error-list-item"]],template:function(n,r){1&n&&(e.j41(0,"div",0),e.DNE(1,dn,3,3,"p",1)(2,gn,4,7,"a",2)(3,pn,3,6,"p",3)(4,hn,6,4,"ng-container",4),e.k0s()),2&n&&(e.R7$(),e.Y8G("ngIf",null==r.installerData?null:r.installerData.errorDetails),e.R7$(),e.Y8G("ngIf",r.installerData.showLink),e.R7$(),e.Y8G("ngIf",null==r.installerData?null:r.installerData.errorCode),e.R7$(),e.Y8G("ngIf",(null==r.installerData||null==r.installerData.errorList?null:r.installerData.errorList.length)>0))},dependencies:[g.Sq,g.bT,z.r,W.e,_.D9,Y.O],styles:[".installation-error[_ngcontent-%COMP%]{padding:0 24px}.installation-error[_ngcontent-%COMP%]   .error-details-link[_ngcontent-%COMP%]{display:inline-block;margin-top:10px;text-decoration:none;border:none}.installation-error[_ngcontent-%COMP%]   .error-details[_ngcontent-%COMP%]{margin:0}.installation-error[_ngcontent-%COMP%]   .error-code[_ngcontent-%COMP%]{margin-top:24px}.installation-error[_ngcontent-%COMP%]   .details-text[_ngcontent-%COMP%]{margin:16px 0}.installation-error[_ngcontent-%COMP%]   .error-list[_ngcontent-%COMP%]{list-style-type:disc;margin:0;padding:0 16px}.installation-error[_ngcontent-%COMP%]   .error-list-item[_ngcontent-%COMP%]{margin-bottom:15px}"]})}}return i})();var Re=s(49678);function mn(i,o){1&i&&e.nrm(0,"nv-app-page-load-spinner",3)}function vn(i,o){1&i&&(e.j41(0,"label",9),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&i&&(e.R7$(),e.JRh(e.bMT(2,1,"drivers.expressInstallDescription")))}function fn(i,o){1&i&&e.nrm(0,"nv-app-page-load-spinner",13),2&i&&e.Y8G("diameter",24)}function wn(i,o){if(1&i&&e.nrm(0,"nv-app-installation-custom",14),2&i){const t=e.XpG(3);e.Y8G("installerData",t.installerData)}}function bn(i,o){if(1&i&&(e.j41(0,"label",10),e.EFF(1),e.nI1(2,"translate"),e.k0s(),e.DNE(3,fn,1,1,"nv-app-page-load-spinner",11)(4,wn,1,1,"nv-app-installation-custom",12)),2&i){const t=e.XpG(2);e.R7$(),e.JRh(e.bMT(2,3,"drivers.customInstallDescription")),e.R7$(2),e.Y8G("ngIf",t.updateIsCustomInstallerLoading),e.R7$(),e.Y8G("ngIf",!t.updateIsCustomInstallerLoading)}}function Cn(i,o){if(1&i){const t=e.RV6();e.j41(0,"div",4)(1,"mat-radio-group",5),e.mxI("ngModelChange",function(r){e.eBV(t);const a=e.XpG();return e.DH7(a.installSelectType,r)||(a.installSelectType=r),e.Njj(r)}),e.bIt("ngModelChange",function(){e.eBV(t);const r=e.XpG();return e.Njj(r.installationMethodChanged())}),e.j41(2,"mat-radio-button",6),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"mat-radio-button",6),e.EFF(6),e.nI1(7,"translate"),e.k0s()(),e.j41(8,"div",7),e.DNE(9,vn,3,3,"label",8)(10,bn,5,5,"ng-template",null,0,e.C5r),e.k0s()()}if(2&i){const t=e.sdS(11),n=e.XpG();e.R7$(),e.R50("ngModel",n.installSelectType),e.R7$(),e.Y8G("value",n.installationType.Express),e.R7$(),e.JRh(e.bMT(4,7,"drivers.expressInstall")),e.R7$(2),e.Y8G("value",n.installationType.Custom),e.R7$(),e.JRh(e.bMT(7,9,"drivers.customInstall")),e.R7$(3),e.Y8G("ngIf",null==n.installerData?null:n.installerData.isExpressInstall)("ngIfElse",t)}}let _n=(()=>{class i{set installerData(t){this._installerData=t,this.updateIsCustomInstallerLoading=(0,C.isEmpty)(t?.installablePackagesData?.packages)}get installerData(){return this._installerData}constructor(t,n){this.loggingService=t,this.driverInstallationService=n,this.installationType=pe,this.installSelectType=pe.Express,this.logger=this.loggingService.getLogger("InstallationSelectComponent")}installationMethodChanged(){this.logger.info("installation method changed",this.installSelectType),this.driverInstallationService.startInstallation(this.installSelectType===this.installationType.Custom,!1)}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(Z))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-installation-select"]],inputs:{installerData:"installerData"},decls:2,vars:2,consts:[["customComponent",""],["assistiveText","drivers.customInstallationLoading",4,"ngIf"],["class","installation-select","fxLayout","row","fxFlexFill","",4,"ngIf"],["assistiveText","drivers.customInstallationLoading"],["fxLayout","row","fxFlexFill","",1,"installation-select"],["fxLayout","column",1,"installation-select-radio-group","font-body1","font-color-primary",3,"ngModelChange","ngModel"],[1,"installation-select-radio-button",3,"value"],["fxLayout","column","fxFlex","100%",1,"installation-content"],["class","font-body2 font-color-tertiary express-install-description","for","expressInstall",4,"ngIf","ngIfElse"],["for","expressInstall",1,"font-body2","font-color-tertiary","express-install-description"],["for","customInstall",1,"font-body2","font-color-tertiary","custom-install-description"],["class","custom-page-load-spinner","assistiveText","drivers.customInstallationLoading",3,"diameter",4,"ngIf"],["class","installation-select-custom",3,"installerData",4,"ngIf"],["assistiveText","drivers.customInstallationLoading",1,"custom-page-load-spinner",3,"diameter"],[1,"installation-select-custom",3,"installerData"]],template:function(n,r){1&n&&e.DNE(0,mn,1,0,"nv-app-page-load-spinner",1)(1,Cn,12,11,"div",2),2&n&&(e.Y8G("ngIf",r.installerData.showLoader),e.R7$(),e.Y8G("ngIf",!r.installerData.showLoader))},dependencies:[g.bT,ke.tG,q.BC,q.vS,Re.VT,Re._g,m.DJ,m.G2,m.UI,oe.Q,Q,_.D9],styles:[".installation-select[_ngcontent-%COMP%]{padding:0 24px}.installation-content[_ngcontent-%COMP%]{position:relative}.installation-select-radio-group[_ngcontent-%COMP%]{margin-right:24px;width:250px}.installation-select-radio-group[_ngcontent-%COMP%]   .installation-select-radio-button[_ngcontent-%COMP%]{margin:12px 16px 12px 18px}.custom-install-description[_ngcontent-%COMP%]{display:block;height:60px}.custom-install-description[_ngcontent-%COMP%], .express-install-description[_ngcontent-%COMP%]{margin-top:16px}.custom-page-load-spinner[_ngcontent-%COMP%]{position:absolute}"]})}}return i})();var Dn=s(62668);let In=(()=>{class i{constructor(t,n){this.loggingService=t,this.bridgeService=n,this.logger=this.loggingService.getLogger("WindowsControlService")}enableCloseButton(t){return this.logger.info("enable close button with param: ",t),this.bridgeService.executeCommand(y.Ts.Common.Windowcontrol.EnableCloseButton,{enable:t}).pipe((0,x.s)(1),(0,B.W)(n=>(this.logger.error("enable close button failed with error",n),(0,V.$)(n))))}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(h.J6),e.KVO(h.NZ))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),yn=(()=>{class i{constructor(t){this.loggingService=t,this.viewContainer=null,this.componentReference=null,this.logger=t.getLogger("DynamicComponentLoaderService")}setViewContainer(t){this.logger.info("setRootViewContainerRef",t),this.viewContainer=t}loadComponent(t,n,r){this.logger.info("loadComponent of type",n?.name),this.clearComponent(),this.setViewContainer(t),this.componentReference=this.viewContainer?.createComponent(n),this.setComponentData(r)}setComponentData(t){this.componentReference?(this.logger.info("setComponentData",t),this.componentReference.instance.installerData=t):this.logger.info("Component ref empty cannot set data")}getComponentType(){return this.componentReference?.componentType}clearComponent(){this.viewContainer?.clear(),this.viewContainer=null,this.componentReference?.destroy(),this.componentReference=null}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(h.J6))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Oe=s(96306),xn=s(86088);let Z=(()=>{class i{constructor(t,n,r,a,l,c,b,w,S,M,O){this.loggingService=t,this.dialog=n,this.bridgeService=r,this.windowsControlService=a,this.translateService=l,this.componentLoaderService=c,this.driverUpdateService=b,this.driverInstallHistoryService=w,this.telemetryUtilsService=S,this.errorHandlerService=M,this.nvappBridgeService=O,this.isResumeInstall=!1,this.isCustomInstall=!1,this.installerData=null,this.installerStatus={form:f.NotSet,method:Me.NotSet},this.billBoardUrl$=new qt.m(1),this.continueOnExpressClicked=!1,this._installerData$=new Lt.t(null),this.logger=this.loggingService.getLogger("nvapp/DriverInstallationService")}beginInstallSelection(t,n,r){this._installerData$.next(null),this.isInstallInitialForm&&(this.unsubscribeDriverInstallationNotification(),this.installBeforeCancelOnInitialFinishClicked=!0),this.driverDetails=t,this.isCustomInstall=n,this.fetchDriverInstallationData(t.version,t.driverType),this.subscribeDriverInstallationNotification(),this.windowsControlService.enableCloseButton(!1).subscribe(),this.invokeInstallation(this.driverDetails,!0,r)}startInstallation(t,n){this.isCustomInstall=t,this.isResumeInstall=n,this.initializeInstallerData(!1),this.isCustomInstall?this.showCustomInstallSelect(this.installablePackageData?.packages,this.installablePackageData?.cleanInstall):this.showInstallationSelectForm(this.isCustomInstall,this.isResumeInstall)}getBillBoardUrl(){return this.billBoardUrl$.asObservable()}get installerData$(){return this._installerData$.asObservable()}cancelInstallation(){return this.sendResponseToInstaller(this.installerStatus,v.Rk.Cancel)}fetchDriverInstallationData(t,n){this.driverInstallDataSubscription=this.driverUpdateService.getInstallationDriverData(t,n).subscribe(r=>{this.logger.info("fetchDriverInstallationData received billboard url:",r),this.billBoardUrl$.next(r)},r=>{this.logger.error("fetchDriverInstallationData failed to receive response with error:",r),this.billBoardUrl$.next(null)})}cancel(){this.windowsControlService.enableCloseButton(!0).subscribe(),this.dialogRef?.close(),this.dynamicRef=null,this.dialogRef=null,this.componentLoaderService.clearComponent(),this.isInstallInitialForm||this.unsubscribeDriverInstallationNotification(),this.installablePackageData=null,this.isCustomInstall=!1,this.isResumeInstall=!1}sendResponseToInstaller(t,n){const r=t;return r.nextAction=this.getNextAction(n),this.logger.info("Send nextAction to installer",r),this.changeState(r)}subscribeDriverInstallationNotification(){this.logger.info("subscribeDriverInstallationNotification called"),this.driverInstallFormNotificationSubscription||this.listenForDriverFormNotification(),this.driverInstallProgressNotificationSubscription||this.listenForDriverProgressNotification()}unsubscribeDriverInstallationNotification(){this.logger.info("unsubscribeDriverInstallationNotification called"),this.driverInstallFormNotificationSubscription?.unsubscribe(),this.driverInstallProgressNotificationSubscription?.unsubscribe(),this.driverInstallDataSubscription?.unsubscribe(),this.driverInstallFormNotificationSubscription=null,this.driverInstallDataSubscription=null,this.driverInstallProgressNotificationSubscription=null}installationDone(){this.driverUpdateService.refreshDriversOnInstallation(),this.unsubscribeDriverInstallationNotification()}listenForDriverFormNotification(){this.logger.info("listenForDriverFormNotification"),this.driverInstallFormNotificationSubscription=this.bridgeService.executeCommand(y.Ts.Nvapp.Driverinstall.RegisterFormNotification).pipe((0,F.p)(t=>this.isInstallInitialForm?[f.Eula,f.InstallChecking].includes(t.form)||!!t?.errorCode:!this.userManualCancel||!!t?.errorCode)).subscribe(t=>{this.logger.info("DriverFormNotification",t),this.showInstallerForm(t)},t=>{this.logger.error("DriverFormNotification",t)})}listenForDriverProgressNotification(){this.logger.info("listenForDriverProgressNotification"),this.driverInstallProgressNotificationSubscription=this.bridgeService.executeCommand(y.Ts.Nvapp.Driverinstall.RegisterProgressNotification).subscribe(t=>{this.logger.info("DriverProgressNotification",t),this.showInstallerForm(t)},t=>{this.logger.error("DriverProgressNotification",t)})}changeState(t){return this.bridgeService.executeCommand(y.Ts.Nvapp.Driverinstall.SetState,t).pipe((0,x.s)(1),(0,te.M)(n=>{this.logger.info("Successfully sent response to installer",n)}),(0,B.W)(n=>(this.logger.error("Response to installer failed",n),(0,$.of)(null))))}invokeInstallation(t,n,r){if(!t)return;this.logger.info("start installation",t.version,t.name,n,r);const a=y.Ts.Nvapp.Driverinstall.InstallAsync,l=a.method,c=a.module,b=this.getPostProcessedInstallerLocation(t.postProcessingStatusInfo);this.nvappBridgeService.executeWithPluginStatusTelemetry(y.Ts.Nvapp.Driverinstall.InstallAsync,{driverLocation:b,isCustom:n,resumeInstall:r}).pipe((0,x.s)(1)).subscribe(w=>{this.logger.info("Install Response received",w),this.userManualCancel=!1,this.installBeforeCancelOnInitialFinishClicked=!1,this.isInstallInitialForm=!1,this.telemetryUtilsService.sendPluginApiStatusTelemetry({apiName:l,pluginName:c,status:d.L1.Success}),this.tryAgainCase?(this.show(this.initializeInstallerData(!0),U),(0,C.isEmpty)(this.installablePackageData?.packages)?this.continueOnExpressClicked=!0:this.updatePackagesAndContinueInstallation(),this.tryAgainCase=!1,this.sendInstallationTypeTelemetry(n)):this.showInstallationSelectForm(this.isCustomInstall,r)},w=>{this.tryAgainCase=!1,this.logger.error("Install Response failed",w),w?.code!==A.InstallerAlreadyRunning&&this.windowsControlService.enableCloseButton(!0).subscribe(),(w?.code===G._O||w instanceof Dn.n)&&this.errorHandlerService.showOptionalPluginFailErrorDialog(),this.telemetryUtilsService.sendPluginApiStatusTelemetry({apiName:l,pluginName:c,status:d.L1.Failure,errorMessage:JSON.stringify(w)})})}getPostProcessedInstallerLocation(t){return t?.postProcessingStatus===p.Mo.Completed?t?.actions?.[0]?.output:""}show(t,n){this.dialogRef=this.dialog.open(Wt,{autoFocus:!1,hasBackdrop:!0,disableClose:!0,restoreFocus:!1,panelClass:"installer-dialog-container"}),this.dynamicRef=this.dialogRef?.componentInstance?.dynamicComponentRef,this.logger.info("component instance of material dialog",this.dialogRef?.componentInstance),this.setDialogModel(t,n)}setDialogModel(t,n){const r=(0,C.isEqual)(n,U);this.installerData={...t,isProgressComponent:r},this._installerData$.next(this.installerData),this.componentLoaderService.loadComponent(this.dynamicRef,n,this.installerData)}getInstallationConstraintFailedText(t){const n=t?.constraintFailText,r=t?.failedConstraintId;if((0,C.isEmpty)(r))return n;this.logger.info("Failed constraint ids:",r);const l=v.QK.filter(c=>r.includes(c.failedConstraintId));return(0,C.isEmpty)(l)?[]:l.map(c=>{if(c.failedConstraintId===v.sT.SetupNeedsDiskSpaceCheck){const b=r.findIndex(he=>he===v.sT.SetupNeedsDiskSpaceCheck),w=n[b],M=w.match(/\d+/g)?.join(".")??"",O=w.substring(w.lastIndexOf("(")-1,w.lastIndexOf(")")+1);return this.translateService.instant(c.constrainText,{value:M,drive:O})}return c.constrainText})}handleInstallerError(t){this.logger.info("handleInstallerError:",t),this.userManualCancel&&[A.InstallerAlreadyRunning,A.UserCancelled].includes(t)?t===A.UserCancelled?this.invokeInstallation(this.driverDetails,!0,this.isResumeInstall):this.showInstallationSelectForm(this.isCustomInstall,this.isResumeInstall):(this.userManualCancel=!1,this.sendResponseToInstaller(this.installerStatus,v.Rk.Cancel).subscribe(),this.unsubscribeDriverInstallationNotification(),t===A.UacCancelled?(this.windowsControlService.enableCloseButton(!0).subscribe(),(this.userManualCancel||this.dialogRef)&&this.cancel()):(this.cancel(),this.showInstallationCannotContinueWithTryAgainBtn(null,!1,t,t===A.InstallerAlreadyRunning?"drivers.otherInstallationRunning":"drivers.anErrorOccurred")))}initializeInstallerData(t){return this.installerComponentDetails={name:this.driverDetails.name,version:this.driverDetails.version,releaseDateTime:this.driverDetails.releaseDateTime},this.installerData={componentDetails:this.installerComponentDetails,isExpressInstall:!this.isCustomInstall},this.updateRefreshInstalling(t),this.updateIsInstalling(!1),this.installerData}showInstallationSelectForm(t,n){this.isCustomInstall=t,this.isResumeInstall=n,this.initializeInstallerData(!1),this.installerData={...this.installerData,showLoader:this.userManualCancel,...this.userManualCancel?{}:{button1:{text:"shared.cancel",action:()=>{this.userManualCancel=!0,this.isInstallInitialForm=this.installerStatus?.form===f.InstallInitial,this.cancel(),this.isInstallInitialForm||this.cancelInstallation().subscribe()}},button2:{text:"shared.continue",action:()=>{this.setDialogModel(this.initializeInstallerData(!0),U),(0,C.isEmpty)(this.installablePackageData?.packages)?this.continueOnExpressClicked=!0:this.updatePackagesAndContinueInstallation(),this.sendInstallationTypeTelemetry(t)}}}},this.dialogRef?(this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData)):this.show(this.installerData,_n)}sendInstallationTypeTelemetry(t){let n="";n=t?this.installablePackageData?.cleanInstall?d.EB.CustomCleanInstall:d.EB.CustomOverInstall:d.EB.ExpressInstall,this.telemetryUtilsService.sendClickEvent(n,d.JZ.DriverInstallation,!0,this.driverDetails?.version)}updatePackagesAndContinueInstallation(){this.isCustomInstall||(this.installablePackageData?.packages.forEach(r=>r.selectedForInstall=!0),this.installablePackageData.cleanInstall=!1);const{packages:t,cleanInstall:n}=this.installablePackageData;this.installerStatus={...this.installerStatus,packages:t,cleanInstall:n},this.logger.info("installer Status",this.installerStatus),this.sendResponseToInstaller(this.installerStatus,v.Rk.Install).subscribe()}getNextAction(t){let n;switch(t){case v.Rk.Cancel:case v.Rk.RestartLater:case v.Rk.Close:n=ge.Close;break;default:n=ge.Next}return n}rebootSystem(){}showInstallerForm(t){if(this.installerStatus=t,t.method===Me.ShowForm){let n;switch(t.form){case f.PreInstallCheck:this.sendResponseToInstaller(t,v.Rk.Next).subscribe();break;case f.InstallInitial:case f.InstallChecking:case f.Eula:case f.InstallCheckWarnings:case f.PreRebootInstall:if(this.isInstallInitialForm&&f.Eula===t.form){this.cancelInstallation().subscribe(),this.installBeforeCancelOnInitialFinishClicked||(this.userManualCancel=!1,this.unsubscribeDriverInstallationNotification()),this.isInstallInitialForm=!1;break}!this.installerData&&this.componentLoaderService&&this.componentLoaderService.getComponentType()!==U&&(this.logger.info("show progress dialog"),this.setDialogModel(this.initializeInstallerData(!0),U)),this.sendResponseToInstaller(t,v.Rk.Install).subscribe();break;case f.InstallRemoveProgress:this.updateRefreshInstalling(!1),this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData);break;case f.InstallProgress:this.installerData.progressTitle="",this.updateRefreshInstalling(!1),this.updateIsInstalling(!0),this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData);break;case f.InstallFinishedNoSummary:this.showInstallationComplete(),this.postInstallationComplete();break;case f.InstallFinished:this.showInstallationCompleteWithSummary(t.packages),this.postInstallationComplete();break;case f.InstallCheckWait:n=t?.failedConstraintId?.includes(v.sT.AllowInstallCheck),this.showInstallationCannotStartWithCancelBtn(this.getInstallationConstraintFailedText(t),n,t.errorCode),this.sendResponseToInstaller(t,v.Rk.Next).subscribe();break;case f.InstallSelectCustom:this.showCustomInstallSelect(t.packages,t.cleanInstall);break;case f.InstallRemoveReboot:this.showInstallationContinueRebootRequired();break;case f.InstallFailed:this.showInstallationFail(t.packages);break;case f.InstallReboot:this.showInstallationRebootWithSummary(t.packages),this.postInstallationComplete();break;case f.InstallCheckFailed:n=t?.failedConstraintId?.includes(v.sT.AllowInstallCheck),this.showInstallationCannotStartWithCloseBtn(this.getInstallationConstraintFailedText(t),n,t.errorCode);break;case f.PreInstallCheckRetry:n=t?.failedConstraintId?.includes(v.sT.AllowInstallCheck),this.showInstallationCannotContinueWithTryAgainBtn(this.getInstallationConstraintFailedText(t),n,t.errorCode);break;case f.NotSet:this.handleInstallerError(this.installerStatus.errorCode);break;default:this.logger.info("un-handled installer forms",t)}}else{const{progressTitle:n,currentProgress:r,totalProgress:a}=t;this.installerData.progressTitle=n,this.installerData.progressValue=r/a*100,this.componentLoaderService.setComponentData(this.installerData)}}updateRefreshInstalling(t){this.installerData.isPreparingInstall=t}updateIsInstalling(t){this.installerData.progressValue=0,this.installerData.isInstalling=t}showInstallationContinueRebootRequired(){this.installerData={componentDetails:this.installerComponentDetails,button1:{text:"drivers.restartNow",action:()=>{this.cancel(),this.rebootSystem()}},button2:{}},this.setDialogModel(this.installerData,Qt)}showCustomInstallSelect(t,n){const l={showPackageSelectionUI:!0,packages:this.processPackages(t,!0),cleanInstall:n};if(this.installablePackageData=l,!this.isCustomInstall)return void(this.continueOnExpressClicked&&(this.updatePackagesAndContinueInstallation(),this.continueOnExpressClicked=!1));const c={button1:{text:"shared.cancel",action:()=>{this.userManualCancel=!0,this.isInstallInitialForm=this.installerStatus?.form===f.InstallInitial,this.cancel(),this.isInstallInitialForm||this.cancelInstallation().subscribe()}},button2:{text:"shared.continue",action:()=>{this.setDialogModel(this.initializeInstallerData(!0),U),this.updatePackagesAndContinueInstallation(),this.sendInstallationTypeTelemetry(this.isCustomInstall)}}};this.installerData={componentDetails:this.installerComponentDetails,...(0,C.isEmpty)(t)?{}:c,installablePackagesData:l},this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData)}showInstallationCompleteWithSummary(t){const l={showPackageSelectionUI:!1,packages:this.processPackages(t,!1),cleanInstall:!0};this.installerData={componentDetails:{...this.installerComponentDetails,details:"drivers.installationHasFinished",icon:"check"},button1:{text:"shared.close",action:()=>{this.cancel(),this.sendResponseToInstaller(this.installerStatus,v.Rk.Close).subscribe(),this.installationDone()}},button2:{},installablePackagesData:l},this.setDialogModel(this.installerData,Q)}postInstallationComplete(){this.driverInstallHistoryService.isPreviouslyInstalledDriverFeatureEnabled&&this.driverInstallHistoryService.handlePostInstallation(this.driverDetails)}processPackages(t,n){return(0,C.isEmpty)(t)?[]:t.map(r=>{let a="";return n||(a=this.getStatusText(r)),{...r,currentVersion:r.currentVersion?r.currentVersion:"-",statusText:a}})}getStatusText(t){return t.resultCode?t.resultText?t.resultText:t?.resultCode===v.Zu?"drivers.notSelected":"drivers.failed":"drivers.installed"}showInstallationFail(t){const l={showPackageSelectionUI:!1,packages:this.processPackages(t,!1),cleanInstall:!1};this.installerData={componentDetails:{...this.installerComponentDetails,details:"drivers.installationFail",icon:"error"},button1:{text:"shared.close",action:()=>{this.cancel(),this.sendResponseToInstaller(this.installerStatus,v.Rk.Close).subscribe()}},button2:{},installablePackagesData:l},this.setDialogModel(this.installerData,Q)}showInstallationRebootWithSummary(t){const l={showPackageSelectionUI:!1,packages:this.processPackages(t,!1),cleanInstall:!0};this.installerData={componentDetails:{...this.installerComponentDetails,details:"drivers.installationCompleteRestart",icon:"info"},button1:{text:"drivers.restartLater",action:()=>{this.driverUpdateService.sendInstallationDoneNotification(),this.cancel(),this.sendResponseToInstaller(this.installerStatus,v.Rk.RestartLater).subscribe(),this.installationDone()}},button2:{text:"drivers.restartNow",action:()=>{this.driverUpdateService.sendInstallationDoneNotification(),this.cancel(),this.sendResponseToInstaller(this.installerStatus,v.Rk.RestartNow).subscribe()}},installablePackagesData:l},this.setDialogModel(this.installerData,Q)}showInstallationComplete(){this.installerData={componentDetails:{...this.installerComponentDetails,details:"drivers.installationHasFinished",icon:"check"},button1:{text:"shared.close",action:()=>{this.cancel(),this.sendResponseToInstaller(this.installerStatus,v.Rk.Close).subscribe(),this.installationDone()}},button2:{}},this.setDialogModel(this.installerData,ln)}getInstallationCannotContinueData(t,n,r,a){return this.installerData=this.initializeInstallerData(!1),this.installerData={...this.installerData,componentDetails:{...this.installerComponentDetails},errorDetails:"drivers.installationCanNotContinue",errorList:n,errorCode:a,button1:{text:t,action:()=>{this.cancel(),this.cancelInstallation().subscribe()}},button2:{},showLink:r},this.installerData}showInstallationCannotContinueWithTryAgainBtn(t,n,r,a){this.installerData=this.initializeInstallerData(!1),this.windowsControlService.enableCloseButton(!1).subscribe(),this.installerData={...this.installerData,componentDetails:{...this.installerComponentDetails},errorDetails:a??"drivers.installationCanNotContinue",errorList:t,errorCode:r,button1:{text:"shared.tryAgain",action:()=>{this.cancel(),this.tryAgainCase=!0,this.subscribeDriverInstallationNotification(),this.windowsControlService.enableCloseButton(!1).subscribe(),this.invokeInstallation(this.driverDetails,this.isCustomInstall,this.isResumeInstall)}},button2:{text:"shared.close",action:()=>{this.tryAgainCase=!1,this.cancel(),this.cancelInstallation().subscribe()}},showLink:n},this.dialogRef?this.setDialogModel(this.installerData,K):this.show(this.installerData,K)}showInstallationCannotStartWithCloseBtn(t,n,r){this.setDialogModel(this.getInstallationCannotContinueData("shared.close",t,n,r),K)}showInstallationCannotStartWithCancelBtn(t,n,r){this.setDialogModel(this.getInstallationCannotContinueData("shared.cancel",t,n,r),K)}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(h.J6),e.KVO(D.bZ),e.KVO(h.NZ),e.KVO(In),e.KVO(_.c$),e.KVO(yn),e.KVO(X.f),e.KVO(ne.T),e.KVO(d.AY),e.KVO(Oe.c),e.KVO(xn.S))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Pn=s(4760),Fe=s(79027);let Sn=(()=>{class i{constructor(t){this.dialog=t}open(t,n){const r=n.panelClass instanceof Array?n.panelClass:new Array(n.panelClass);return this.dialogRef=this.dialog.open(t,{...n,autoFocus:!0,hasBackdrop:!0,restoreFocus:!0,height:"100%",width:"100%",maxWidth:"100%",panelClass:["fullscreen-modal",...r]}),this.dialogRef}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(n){return new(n||i)(e.KVO(D.bZ))}}static{this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),Mn=(()=>{class i{transform(t){return t===p.hF.Downloading||t===p.hF.DownloadTriggered||t===p.hF.VerifyingChecksum||t===p.hF.VerifyingSignature?"drivers.downloading":t===p.hF.Paused||t===p.hF.NetworkErrorRetryPaused?"drivers.paused":t===p.hF.NetworkErrorRetrying?"drivers.retrying":""}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=e.EJ8({name:"getDownloadStatusMessage",type:i,pure:!0})}}return i})();var Tn=s(61090),kn=s(81799);function Rn(i,o){if(1&i&&(e.j41(0,"label"),e.EFF(1),e.nI1(2,"number"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.SpI("",e.i5U(2,1,null==t.downloadProgressStatus?null:t.downloadProgressStatus.percentComplete,"1.0-0"),"%")}}function On(i,o){if(1&i&&(e.j41(0,"label",11),e.EFF(1),e.nI1(2,"convertSecondsToTime"),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.SpI(" ",e.bMT(2,1,t.timeRemaining)," ")}}let Fn=(()=>{class i{constructor(){this.actionClicked=new e.bkB,this.downloadActionEnum=p.NV}set downloadProgressStatus(t){this._downloadProgressStatus=t;const n=t?.downloadStatus;this.isDownloadVerifying=n===p.hF.VerifyingChecksum||n===p.hF.VerifyingSignature,this.timeRemaining=t?.timeRemaining>=0&&t.timeRemaining<u.f9?t?.timeRemaining:u.f9}get downloadProgressStatus(){return this._downloadProgressStatus}set isPostProcessFailed(t){this._isPostProcessFailed=t,this.isDownloadPaused=this._downloadProgressState===p.dJ.DownloadStatusPaused||this.isPostProcessFailed}get isPostProcessFailed(){return this._isPostProcessFailed}set downloadProgressState(t){this._downloadProgressState=t,this.isDownloadPaused=this._downloadProgressState===p.dJ.DownloadStatusPaused||this.isPostProcessFailed}get downloadProgressState(){return this._downloadProgressState}onActionClicked(t){this.actionClicked.emit(t)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver-download-progress"]],inputs:{downloadProgressStatus:"downloadProgressStatus",isPostProcessFailed:"isPostProcessFailed",downloadProgressState:"downloadProgressState"},outputs:{actionClicked:"actionClicked"},decls:30,vars:33,consts:[["fxLayout","row","fxLayoutAlign","end center",1,"download-container"],["fxLayout","column",1,"download-progress-container"],["fxLayout","row","fxLayoutAlign","space-between center",1,"font-sub2","font-color-primary"],[4,"ngIf"],["fxLayout","row",1,"download-progress-bar",3,"mode","value"],["fxLayout","row","fxLayoutAlign","space-between center",1,"font-body3","font-color-tertiary","download-details-status-container"],[1,"download-speed"],["class","time-remaining",4,"ngIf"],["fxLayout","row",1,"download-action-container"],["mat-icon-button","","fxLayout","row","fxLayoutAlign","start center","matTooltipClass","mat-tooltip-font-body3",1,"icon-button","hig-button-icon",3,"click","matTooltip","disabled"],[1,"material-icons"],[1,"time-remaining"]],template:function(n,r){1&n&&(e.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"label"),e.EFF(4),e.nI1(5,"getDownloadStatusMessage"),e.nI1(6,"translate"),e.k0s(),e.DNE(7,Rn,3,4,"label",3),e.k0s(),e.nrm(8,"mat-progress-bar",4),e.j41(9,"div",5)(10,"label"),e.EFF(11),e.nI1(12,"convertBytesToKBMBGB"),e.nI1(13,"convertBytesToKBMBGB"),e.k0s(),e.j41(14,"div")(15,"label",6),e.EFF(16),e.nI1(17,"convertBytesToKBMBGB"),e.k0s(),e.DNE(18,On,3,3,"label",7),e.k0s()()(),e.j41(19,"div",8)(20,"button",9),e.nI1(21,"translate"),e.nI1(22,"translate"),e.bIt("click",function(){return r.onActionClicked(r.isDownloadPaused?r.downloadActionEnum.Resume:r.downloadActionEnum.Pause)}),e.j41(23,"mat-icon",10),e.EFF(24),e.k0s()(),e.j41(25,"button",9),e.nI1(26,"translate"),e.nI1(27,"translate"),e.bIt("click",function(){return r.onActionClicked(r.downloadActionEnum.Stop)}),e.j41(28,"mat-icon",10),e.EFF(29,"stop"),e.k0s()()()()),2&n&&(e.R7$(4),e.JRh(e.bMT(6,17,e.bMT(5,15,r.downloadProgressStatus.downloadStatus))),e.R7$(3),e.Y8G("ngIf",(null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete)>0),e.R7$(),e.Y8G("mode",(null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete)>0?"determinate":"indeterminate")("value",null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete),e.R7$(3),e.Lme(" ",e.bMT(12,19,r.downloadProgressStatus.bytesDone),"/",e.bMT(13,21,r.downloadProgressStatus.totalBytes)," "),e.R7$(5),e.SpI(" ",e.bMT(17,23,r.downloadProgressStatus.downloadSpeed),"/sec "),e.R7$(2),e.Y8G("ngIf",(null==r.downloadProgressStatus?null:r.downloadProgressStatus.timeRemaining)>0),e.R7$(2),e.FS9("matTooltip",e.bMT(21,25,r.isDownloadPaused?"drivers.resumeDownload":"drivers.pauseDownload")),e.Y8G("disabled",(null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete)<=0||r.isDownloadVerifying),e.BMQ("aria-label",e.bMT(22,27,r.isDownloadPaused?"drivers.resumeDownload":"drivers.pauseDownload")),e.R7$(4),e.JRh(r.isDownloadPaused?"play_arrow":"pause"),e.R7$(),e.FS9("matTooltip",e.bMT(26,29,"drivers.stopDownload")),e.Y8G("disabled",r.isPostProcessFailed||(null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete)<=0||r.isDownloadVerifying),e.BMQ("aria-label",e.bMT(27,31,"drivers.stopDownload")))},dependencies:[g.bT,k.iV,R.An,re.oV,ue.HM,m.DJ,m.sA,g.QX,Mn,_.D9,Tn.c,kn.k1],styles:[".time-remaining[_ngcontent-%COMP%]{margin-left:8px}.download-progress-bar[_ngcontent-%COMP%]{margin:5px 0}button.hig-button-icon.icon-button[_ngcontent-%COMP%]{width:16px;height:16x;min-width:16px;min-height:16px;max-height:16px;padding:0}.download-progress-container[_ngcontent-%COMP%]{width:350px}.download-action-container[_ngcontent-%COMP%]{margin-left:10px}.download-action-container[_ngcontent-%COMP%]   .mat-icon-button[_ngcontent-%COMP%]{padding:0}.download-action-container[_ngcontent-%COMP%]   .mat-icon-button[_ngcontent-%COMP%]:first-of-type{margin-right:10px}"]})}}return i})();const En=["reInstallMoreMenuButton"];function Gn(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",8),e.nI1(1,"async"),e.nI1(2,"translate"),e.bIt("click",function(){e.eBV(t);const r=e.XpG(3);return e.Njj(r.startDownload())}),e.EFF(3),e.nI1(4,"translate"),e.nI1(5,"uppercase"),e.k0s()}if(2&i){const t=e.XpG(3);e.Y8G("disabled",e.bMT(1,3,t.disableDownloadButton$)),e.BMQ("aria-label",e.bMT(2,5,"drivers.download")),e.R7$(3),e.SpI(" ",e.bMT(5,9,e.bMT(4,7,"drivers.download"))," ")}}function An(i,o){if(1&i&&(e.qex(0),e.DNE(1,Gn,6,11,"button",7),e.bVm()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("ngSwitchCase",t.downloadProgressStateEnum.DownloadStatusPending)}}function Un(i,o){if(1&i){const t=e.RV6();e.j41(0,"nv-app-driver-download-progress",9),e.bIt("actionClicked",function(r){e.eBV(t);const a=e.XpG(2);return e.Njj(a.onDownloadAction(r))}),e.k0s()}if(2&i){const t=e.XpG().ngIf,n=e.XpG();e.Y8G("downloadProgressStatus",null==n.driver?null:n.driver.downloadProgressStatus)("downloadProgressState",t)}}function qn(i,o){if(1&i){const t=e.RV6();e.j41(0,"nv-app-driver-download-progress",13),e.bIt("actionClicked",function(r){e.eBV(t);const a=e.XpG(3);return e.Njj(a.onDownloadAction(r))}),e.k0s()}if(2&i){const t=e.XpG(2).ngIf,n=e.XpG();e.Y8G("downloadProgressStatus",null==n.driver?null:n.driver.downloadProgressStatus)("downloadProgressState",t)("isPostProcessFailed",n.isPostProcessFailedOrUndefined)}}function Ln(i,o){1&i&&(e.j41(0,"div",14)(1,"p",15),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.nrm(4,"mat-progress-bar",16),e.k0s()),2&i&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"drivers.preparingPackage")," "))}function jn(i,o){if(1&i){const t=e.RV6();e.j41(0,"nv-app-driver-download-progress",13),e.bIt("actionClicked",function(r){e.eBV(t);const a=e.XpG(3);return e.Njj(a.onDownloadAction(r))}),e.k0s()}if(2&i){const t=e.XpG(2).ngIf,n=e.XpG();e.Y8G("downloadProgressStatus",null==n.driver?null:n.driver.downloadProgressStatus)("downloadProgressState",t)("isPostProcessFailed",n.isPostProcessFailedOrUndefined)}}function $n(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",18),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(t);const r=e.XpG(4);return e.Njj(r.startInstallation())}),e.EFF(2),e.nI1(3,"translate"),e.nI1(4,"uppercase"),e.k0s()}2&i&&(e.BMQ("aria-label",e.bMT(1,2,"drivers.install")),e.R7$(2),e.SpI(" ",e.bMT(4,6,e.bMT(3,4,"drivers.install"))," "))}function Nn(i,o){if(1&i&&(e.qex(0),e.DNE(1,$n,5,8,"button",17),e.bVm()),2&i){const t=e.XpG(3);e.R7$(),e.Y8G("ngSwitchCase",t.postProcessingStatusEnum.Completed)}}function Bn(i,o){if(1&i&&(e.qex(0)(1,10),e.DNE(2,qn,1,3,"nv-app-driver-download-progress",11)(3,Ln,5,3,"div",12)(4,jn,1,3,"nv-app-driver-download-progress",11)(5,Nn,2,1,"ng-container",3),e.bVm()()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("ngSwitch",null==t.driver||null==t.driver.postProcessingStatusInfo?null:t.driver.postProcessingStatusInfo.postProcessingStatus),e.R7$(),e.Y8G("ngSwitchCase",t.postProcessingStatusEnum.Undefined),e.R7$(),e.Y8G("ngSwitchCase",t.postProcessingStatusEnum.ExecutingActions),e.R7$(),e.Y8G("ngSwitchCase",t.postProcessingStatusEnum.Failed),e.R7$(),e.Y8G("ngIf",!t.isInstalledDriver&&!t.isPreviouslyInstalledDriver)}}function Vn(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",20),e.nI1(1,"async"),e.nI1(2,"translate"),e.bIt("click",function(){e.eBV(t);const r=e.XpG(2).ngIf,a=e.XpG();return e.Njj(a.reinstallDriver(r))}),e.EFF(3),e.nI1(4,"translate"),e.k0s()}if(2&i){const t=e.XpG(3);e.Y8G("disabled",e.bMT(1,3,t.disableReinstallButton$)),e.BMQ("aria-label",e.bMT(2,5,"drivers.reInstallDriver")),e.R7$(3),e.SpI(" ",e.bMT(4,7,"drivers.reInstallDriver")," ")}}function Yn(i,o){if(1&i&&(e.j41(0,"button",25,2)(2,"mat-icon",26),e.EFF(3,"more_vert"),e.k0s()()),2&i){e.XpG();const t=e.sdS(2);e.Y8G("matMenuTriggerFor",t)}}function Xn(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",27),e.nI1(1,"async"),e.nI1(2,"translate"),e.bIt("click",function(){e.eBV(t);const r=e.XpG(3).ngIf,a=e.XpG();return e.Njj(a.reinstallDriver(r))}),e.EFF(3),e.nI1(4,"translate"),e.k0s()}if(2&i){const t=e.XpG(4);e.Y8G("disabled",e.bMT(1,3,t.disableReinstallButton$)),e.BMQ("aria-label",e.bMT(2,5,"drivers.reInstallDriver")),e.R7$(3),e.SpI(" ",e.bMT(4,7,"drivers.reInstallDriver")," ")}}function Hn(i,o){if(1&i){const t=e.RV6();e.j41(0,"button",28),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(t);const r=e.XpG(4);return e.Njj(r.openContentModal())}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}2&i&&(e.BMQ("aria-label",e.bMT(1,2,"drivers.viewDetails")),e.R7$(2),e.SpI(" ",e.bMT(3,4,"drivers.viewDetails")," "))}function Jn(i,o){if(1&i&&(e.DNE(0,Yn,4,1,"button",21),e.j41(1,"mat-menu",22,1),e.DNE(3,Xn,5,9,"button",23)(4,Hn,4,6,"button",24),e.k0s()),2&i){const t=e.XpG(3);e.Y8G("ngIf",t.isDownloadUrlAvailable||t.isContentAvailable),e.R7$(3),e.Y8G("ngIf",t.isDownloadUrlAvailable),e.R7$(),e.Y8G("ngIf",t.isContentAvailable)}}function zn(i,o){if(1&i&&(e.qex(0),e.DNE(1,Vn,5,9,"button",19)(2,Jn,5,3,"ng-template",null,0,e.C5r),e.bVm()),2&i){const t=e.sdS(3),n=e.XpG(2);e.R7$(),e.Y8G("ngIf",!n.isRecommendedDriverAvailable&&n.isInstalledDriver)("ngIfElse",t)}}function Wn(i,o){if(1&i&&(e.qex(0),e.j41(1,"div",4),e.DNE(2,An,2,1,"ng-container",3)(3,Un,1,2,"nv-app-driver-download-progress",5)(4,Bn,6,5,"ng-container",6),e.k0s(),e.DNE(5,zn,4,2,"ng-container",3),e.bVm()),2&i){const t=o.ngIf,n=e.XpG();e.R7$(),e.Y8G("ngSwitch",t),e.R7$(),e.Y8G("ngIf",!n.isInstalledDriver&&!n.isPreviouslyInstalledDriver),e.R7$(),e.Y8G("ngSwitchCase",n.downloadingProgressStateArray.includes(t)?t:""),e.R7$(),e.Y8G("ngSwitchCase",n.downloadProgressStateEnum.DownloadFinished),e.R7$(),e.Y8G("ngIf",(n.isInstalledDriver||n.isPreviouslyInstalledDriver)&&(t===n.downloadProgressStateEnum.DownloadStatusPending||(null==n.driver||null==n.driver.postProcessingStatusInfo?null:n.driver.postProcessingStatusInfo.postProcessingStatus)===n.postProcessingStatusEnum.Completed))}}let Qn=(()=>{class i{set driver(t){this._driver=t,this.driverDownloadCandidateName=this.driverUtilsService.getDownloaderCandidate(t?.driverType),this.isPostProcessFailedOrUndefined=[p.Mo.Failed,p.Mo.Undefined].includes(t?.postProcessingStatusInfo?.postProcessingStatus),this.isContentAvailable=!(0,C.isEmpty)(this.driver?.content),this.isDownloadUrlAvailable=!!this.driver?.downloadURL,this.driverUtilsService.getReinstallButtonClicked()&&(this.isInstalledDriver||this.isPreviouslyInstalledDriver)&&this.driver?.postProcessingStatusInfo?.postProcessingStatus===p.Mo.Completed&&this.startInstallation()}get driver(){return this._driver}constructor(t,n,r,a,l,c,b,w,S,M,O,he){this.loggingService=t,this.driverInstallationService=n,this.downloaderService=r,this.driverUpdateService=a,this.driverInstallHistoryService=l,this.driverUtilsService=c,this.telemetryUtilsService=b,this.downloadProgressPipe=w,this.dbService=S,this.errorHandlerService=M,this.fullscreenModalService=O,this.focusMonitor=he,this.downloadCancelled=new e.bkB,this.isInstalledDriver=!1,this.isRecommendedDriverAvailable=!1,this.isPreviouslyInstalledDriver=!1,this.downloadProgressStateEnum=p.dJ,this.postProcessingStatusEnum=p.Mo,this.isPostProcessFailedOrUndefined=!1,this.globalStore=null,this.destroyRef=(0,e.WQX)(e.abz),this.logger=this.loggingService.getLogger("nvapp/DownloadControlsComponent"),this.globalStore=this.dbService.getGlobalStore(G.xI.GlobalStore)}ngOnInit(){this.disableDownloadButton$=this.driverUpdateService.getDisableDownloadButtonCheck(),this.disableReinstallButton$=this.driverUpdateService.getDisableReinstallButtonCheck(),this.downloadingProgressStateArray=this.driverUpdateService.getDownloadingProgressStateArray(),this.autoDownloadDriver(),this.hierarchy=this.isInstalledDriver?d.JZ.InstalledDriver:d.JZ.RecommendedDriver}startDownload(t){this.logger.info("Start Download"),this.driverInstallHistoryService.setPreviouslyInstalledDriverState(this.isPreviouslyInstalledDriver),this.telemetryUtilsService.sendClickEvent(t?d.EB.DriverReinstall:d.EB.DriverDownloadStart,this.hierarchy,!0,this.driver?.version),this.driver?.downloadProgressStatus?.downloadStatus===p.hF.Undefined&&this.downloaderService.getIsDownloadStatusRequestTimedOut()?this.errorHandlerService.showOptionalPluginFailErrorDialog():this.downloaderService.startDownloadAndPostProcess(this.driver.version,this.driver.downloadURL,{componentName:this.driverDownloadCandidateName,updateChannel:p.nC.Official,updateType:p.Ur.Full,invokeType:p.TZ.Manual}).pipe((0,I.pQ)(this.destroyRef)).subscribe(n=>{this.logger.info("download started ",n),this.updateDownloadProgressAndControls(n),t&&this.driverUtilsService.setReinstallButtonClicked(this.driver?.downloadProgressStatus?.downloadStatus,this.driver?.postProcessingStatusInfo?.postProcessingStatus)},n=>{this.logger.error("download start failed with Error: ",n)})}onDownloadAction(t){switch(t){case p.NV.Pause:this.pauseDownload();break;case p.NV.Resume:this.resumeDownload();break;case p.NV.Stop:this.stopDownload()}}startInstallation(){this.logger.info("start installation for version",this.driver?.version??""),this.driverInstallHistoryService.setPreviouslyInstalledDriverState(this.isPreviouslyInstalledDriver),this.driverInstallationService.beginInstallSelection(this.driver,!1,!1)}reinstallDriver(t){t===p.dJ.DownloadStatusPending?this.startDownload(!0):this.driver?.postProcessingStatusInfo?.postProcessingStatus===p.Mo.Completed&&this.startInstallation()}openContentModal(){this.telemetryUtilsService.sendClickEvent(d.EB.DriverViewDetails,d.JZ.InstalledDriver,!0,this.driver.version),this.fullscreenModalService.open(Ut,{panelClass:["driver-content-modal","common-dialog"],data:{driverDetails:this.driver,content:this.driver?.content,isPreviouslyInstalledDriver:this.isPreviouslyInstalledDriver}}).afterClosed().pipe((0,x.s)(1)).subscribe({next:()=>{this.focusMonitor.focusVia(this.reInstallMoreMenuButton,"keyboard")},error:n=>{this.logger.error("Error occurred while closing driver content modal",n)}})}pauseDownload(){this.logger.info("Pause Download"),this.downloaderService.pauseDownload(this.driverDownloadCandidateName,this.driver.downloadProgressStatus.taskId).pipe((0,I.pQ)(this.destroyRef)).subscribe(t=>{this.logger.info("download paused ",t)},t=>{this.logger.error("download pause failed with Error: ",t)})}resumeDownload(){this.logger.info("Resume Download"),this.downloaderService.resumeDownloadAndPostProcess(this.driverDownloadCandidateName,this.driver.downloadProgressStatus.taskId).pipe((0,I.pQ)(this.destroyRef)).subscribe(t=>{this.logger.info("download resumed ",t)},t=>{this.logger.error("download resume failed with Error: ",t)})}stopDownload(){this.telemetryUtilsService.sendClickEvent(d.EB.DriverDownloadCancel,this.hierarchy,!0,this.driver?.version),this.logger.info("Stop Download"),this.downloaderService.stopDownload(this.driverDownloadCandidateName,this.driver.downloadProgressStatus.taskId).pipe((0,I.pQ)(this.destroyRef)).subscribe(t=>{this.logger.info("download stopped ",t),this.updateDownloadProgressAndControls(t),this.updateDownloadStatusInDatabase(this.driver.version,p.NV.Stop),this.downloadCancelled.emit()},t=>{this.logger.error("download stop failed with Error: ",t)})}updateDownloadProgressAndControls(t){this.driverUpdateService.updateDriver(t),this.driverUpdateService.disableDownloadAndReinstall(),this.driverUpdateService.updateDisableUpdateCheck()}updateDownloadStatusInDatabase(t,n){const r={state:n,version:t};this.globalStore.setItem(G.xI.DriverDownloadState,r).pipe((0,x.s)(1)).subscribe(()=>{this.logger.info("DriverDownloadStateData set to :",r)})}autoDownloadDriver(){this.canAutoDownloadDriver().pipe((0,F.p)(t=>t),(0,B.W)(t=>(0,$.of)(!1)),(0,I.pQ)(this.destroyRef)).subscribe(t=>{t&&(this.logger.info("Auto download driver triggered"),this.startDownload())})}canAutoDownloadDriver(){const t=this.driverUpdateService.getDriverInstallInfo();if(this.logger.info("Using driver install info:",t),!t?.isDriverInstalled||!t?.isMinimumDriverInstalled){const n=this.driver?.downloadProgressStatus?.downloadStatus,r=this.downloadProgressPipe.transform(n),a=[p.dJ.DownloadStatusPending,p.dJ.DownloadStatusPaused].includes(r),l=p.hF.Paused!==n&&!this.driverInstallationService.isResumeInstall&&a&&!this.driverUpdateService.getIsDriverTypeChanged()&&this.driver?.downloadProgressStatus.failureCount<3;if(this.logger.info("Auto Download Driver status:",l),l)return this.globalStore.getItem(G.xI.DriverDownloadState).pipe((0,j.T)(c=>!(c?.version===this.driver?.version&&c?.state===p.NV.Stop)),(0,B.W)(c=>(this.logger.error("Error occurred while getting driver download state from db ",c),(0,$.of)(!1))))}return(0,$.of)(!1)}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(h.J6),e.rXU(Z),e.rXU(Pn.z),e.rXU(X.f),e.rXU(ne.T),e.rXU(be.r),e.rXU(d.AY),e.rXU(Fe.F),e.rXU(h.at),e.rXU(Oe.c),e.rXU(Sn),e.rXU(De.FN))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-download-controls"]],viewQuery:function(n,r){if(1&n&&e.GBs(En,5),2&n){let a;e.mGM(a=e.lsd())&&(r.reInstallMoreMenuButton=a.first)}},inputs:{driver:"driver",isInstalledDriver:"isInstalledDriver",isRecommendedDriverAvailable:"isRecommendedDriverAvailable",isPreviouslyInstalledDriver:"isPreviouslyInstalledDriver"},outputs:{downloadCancelled:"downloadCancelled"},decls:2,vars:3,consts:[["reInstallMoreMenu",""],["moreMenu","matMenu"],["reInstallMoreMenuButton",""],[4,"ngIf"],[1,"download-install-controls",3,"ngSwitch"],[3,"downloadProgressStatus","downloadProgressState","actionClicked",4,"ngSwitchCase"],[4,"ngSwitchCase"],["mat-raised-button","","class","mat-accent",3,"disabled","click",4,"ngSwitchCase"],["mat-raised-button","",1,"mat-accent",3,"click","disabled"],[3,"actionClicked","downloadProgressStatus","downloadProgressState"],[3,"ngSwitch"],[3,"downloadProgressStatus","downloadProgressState","isPostProcessFailed","actionClicked",4,"ngSwitchCase"],["class","progress-status-container",4,"ngSwitchCase"],[3,"actionClicked","downloadProgressStatus","downloadProgressState","isPostProcessFailed"],[1,"progress-status-container"],[1,"font-sub2","font-color-primary","progress-status-title"],["mode","indeterminate"],["mat-raised-button","","class","mat-accent install-button",3,"click",4,"ngSwitchCase"],["mat-raised-button","",1,"mat-accent","install-button",3,"click"],["mat-button","","class","font-button2 driver-reinstall",3,"disabled","click",4,"ngIf","ngIfElse"],["mat-button","",1,"font-button2","driver-reinstall",3,"click","disabled"],["mat-button","","class","menu-button more-icon-button","role","button",3,"matMenuTriggerFor",4,"ngIf"],[1,"more-menu"],["mat-menu-item","","class","menu-item",3,"disabled","click",4,"ngIf"],["mat-menu-item","","class","menu-item",3,"click",4,"ngIf"],["mat-button","","role","button",1,"menu-button","more-icon-button",3,"matMenuTriggerFor"],[1,"material-icons"],["mat-menu-item","",1,"menu-item",3,"click","disabled"],["mat-menu-item","",1,"menu-item",3,"click"]],template:function(n,r){1&n&&(e.DNE(0,Wn,6,5,"ng-container",3),e.nI1(1,"checkDownloadProgressState")),2&n&&e.Y8G("ngIf",e.bMT(1,1,null==r.driver||null==r.driver.downloadProgressStatus?null:r.driver.downloadProgressStatus.downloadStatus))},dependencies:[g.bT,g.ux,g.e1,Te.Aq,ce.tH,k.iV,R.An,E.pI,E.gy,E.fS,ue.HM,Fn,g.Jj,g.Pc,Fe.F,_.D9],styles:[".progress-status-container[_ngcontent-%COMP%]{width:350px}.progress-status-container[_ngcontent-%COMP%]   .progress-status-title[_ngcontent-%COMP%]{margin-top:0}.more-icon-button[_ngcontent-%COMP%]{width:24px;min-width:24px;padding:0;margin-right:16px}.menu-item[_ngcontent-%COMP%]{display:flex;align-items:center}.download-install-controls[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center}.progress-status-container[_ngcontent-%COMP%]{flex-direction:column;display:flex;align-items:stretch}"]})}}return i})();const Kn=["driverContainer"],Zn=(i,o)=>({enabled:i,section:o});function ei(i,o){1&i&&e.nrm(0,"nv-app-page-load-spinner")}function ti(i,o){if(1&i&&(e.qex(0),e.nrm(1,"nv-app-driver-preference",13)(2,"div",14),e.bVm()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("driverTypePreference",t.driverTypePreference)("disabled",t.updateCheckProgressStatus===t.updateCheckStarted)("driverTypes",t.preferencesMenuDriverTypes)}}function ni(i,o){1&i&&(e.j41(0,"div",15),e.nI1(1,"translate"),e.nrm(2,"mat-progress-spinner",16),e.k0s()),2&i&&(e.FS9("matTooltip",e.bMT(1,2,"drivers.preferences.checkingForUpdates")),e.R7$(2),e.Y8G("diameter",20))}function ii(i,o){if(1&i){const t=e.RV6();e.j41(0,"nv-app-button-icon",17),e.nI1(1,"translate"),e.bIt("clicked",function(){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onCheckForUpdate())}),e.k0s()}if(2&i){const t=e.XpG(2);e.FS9("matTooltip",e.bMT(1,4,"drivers.preferences.checkForUpdates")),e.Y8G("disabled",!t.disableCheckForUpdate)("matTooltipDisabled",!t.disableCheckForUpdate)("iconLabel","drivers.preferences.checkForUpdates")}}function ri(i,o){if(1&i&&e.nrm(0,"nv-app-download-controls",23),2&i){const t=e.XpG(3);e.Y8G("driver",t.recommendedDriver)}}function ai(i,o){if(1&i&&(e.j41(0,"div",18)(1,"div",19),e.nrm(2,"nv-app-driver-summary",20),e.DNE(3,ri,1,1,"nv-app-download-controls",21),e.k0s(),e.nrm(4,"nv-app-driver-content",22)(5,"mat-divider"),e.k0s()),2&i){const t=e.XpG(2);e.R7$(2),e.FS9("name",t.recommendedDriver.name),e.FS9("version",t.recommendedDriver.version),e.FS9("releasedDate",t.recommendedDriver.releaseDateTime),e.Y8G("showStatus",!0)("isInstalled",!1),e.R7$(),e.Y8G("ngIf",t.recommendedDriver.downloadProgressStatus),e.R7$(),e.Y8G("isRecommendedDriver",!0)("content",null==t.recommendedDriver?null:t.recommendedDriver.content)("driverDetails",t.recommendedDriver)}}function oi(i,o){if(1&i&&e.nrm(0,"nv-app-download-controls",29),2&i){const t=e.XpG(3);e.Y8G("driver",t.installedDriver)("isInstalledDriver",!0)("isRecommendedDriverAvailable",!!t.recommendedDriver)}}function si(i,o){if(1&i&&e.nrm(0,"nv-app-driver-content",22),2&i){const t=e.XpG(3);e.Y8G("isRecommendedDriver",!1)("content",null==t.installedDriver?null:t.installedDriver.content)("driverDetails",t.installedDriver)}}function li(i,o){if(1&i&&(e.j41(0,"div",24)(1,"div",25),e.nrm(2,"nv-app-driver-summary",26),e.DNE(3,oi,1,3,"nv-app-download-controls",27),e.k0s(),e.DNE(4,si,1,3,"nv-app-driver-content",28),e.k0s()),2&i){const t=e.XpG(2);e.R7$(2),e.FS9("name",t.installedDriver.name),e.FS9("version",t.installedDriver.version),e.FS9("releasedDate",t.installedDriver.releaseDateTime),e.Y8G("showStatus",!0)("isInstalled",!0),e.R7$(),e.Y8G("ngIf",t.reInstallDriverOption),e.R7$(),e.Y8G("ngIf",!t.recommendedDriver)}}function ci(i,o){if(1&i&&(e.j41(0,"div")(1,"div",32),e.nrm(2,"nv-app-driver-summary",33)(3,"nv-app-download-controls",34),e.k0s()()),2&i){const t=o.$implicit;e.R7$(2),e.FS9("name",t.name),e.FS9("version",t.version),e.FS9("releasedDate",t.releaseDateTime),e.Y8G("showStatus",!0)("isPreviouslyInstalledDriver",!0),e.R7$(),e.Y8G("driver",t)("isPreviouslyInstalledDriver",!0)}}function di(i,o){if(1&i&&(e.j41(0,"div",30),e.nrm(1,"mat-divider"),e.DNE(2,ci,4,7,"div",31),e.k0s()),2&i){const t=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",t.previouslyInstalledDriversToBeShown)}}function gi(i,o){if(1&i&&(e.j41(0,"div",4,0)(2,"div",5)(3,"div",6)(4,"h4",7),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.j41(7,"div",8),e.DNE(8,ti,3,3,"ng-container",2),e.nI1(9,"async"),e.DNE(10,ni,3,4,"div",9)(11,ii,2,6,"ng-template",null,1,e.C5r),e.k0s()(),e.nrm(13,"mat-divider"),e.DNE(14,ai,6,9,"div",10)(15,li,5,7,"div",11)(16,di,3,1,"div",12),e.k0s()()),2&i){const t=e.sdS(12),n=e.XpG();e.Y8G("nvappScrollHighlight",e.l_i(12,Zn,!n.driversLoading,n.pageHighlightSection)),e.R7$(5),e.SpI(" ",e.bMT(6,8,n.driverHeaderText)," "),e.R7$(3),e.Y8G("ngIf",e.bMT(9,10,n.isMenuEnabled$)),e.R7$(2),e.Y8G("ngIf",n.updateCheckProgressStatus===n.updateCheckStarted)("ngIfElse",t),e.R7$(4),e.Y8G("ngIf",n.recommendedDriver),e.R7$(),e.Y8G("ngIf",n.installedDriver),e.R7$(),e.Y8G("ngIf",null==n.previouslyInstalledDriversToBeShown?null:n.previouslyInstalledDriversToBeShown.length)}}const pi=[{path:"",component:(()=>{class i{constructor(t,n,r,a,l,c,b,w,S,M,O){this.driverUpdateService=t,this.driverUtilsService=n,this.appBarService=r,this.telemetryUtilsService=a,this.telemetryService=l,this.performanceMeasureService=b,this.sidebarNotificationService=w,this.driverInstallHistoryService=S,this.provisUtilService=M,this.a11yAnnouncer=O,this.hostClass="nv-app-component-wrapper",this.preferencesMenuDriverTypes=[],this.updateCheckStarted=P.hs.started,this.reInstallDriverOption=!1,this.reInstallDownloadControls=!1,this.driversLoading=!0,this.driverHeaderText="",this.previouslyInstalledDriversToBeShown=[],this.destroyRef=(0,e.WQX)(e.abz),this.pageHighlightSection=Ae.kA.Drivers,this.logger=c.getLogger("nvapp/DriversComponent"),this.appBarService.setTitle("drivers.title"),this.telemetryService.setScreen(d.f3.Drivers),this.driverUpdateService.initializeListenersForDrivers()}ngOnInit(){this.driverUpdateService.updateFetchOnlyDriverUpdateRecommendation(!1),this.performanceMeasureService.markNvAppPerformanceMarkers([T.mM.NvAppDriverRouteNavigationEnd,T.mM.NvAppDriverDataFetchStart],T.fR.Driver),this.getDriverTypePreference(),this.getDriverData(),this.initMenuEnabledState(),this.driverUpdateService.getUpdateCheckProgressStatus().pipe((0,I.pQ)(this.destroyRef)).subscribe(t=>{this.updateCheckProgressStatus=t}),this.driverInstallHistoryService.isPreviouslyInstalledDriverFeatureEnabled&&this.driverInstallHistoryService.initializePreviouslyInstalledDrivers().pipe((0,x.s)(1),(0,fe.ZZ)(t=>this.setFilteredPreviouslyInstalledDriverData())).subscribe(t=>{this.logger.info("Successfully excecuted initializePreviouslyInstalledDrivers")},t=>{this.logger.error("Some issue in fetching isPreviouslyInstalledDriverFeature variable ",t)}),this.fetchDriversData(),this.driverUpdateService.getDisableUpdateCheck().pipe((0,I.pQ)(this.destroyRef)).subscribe(t=>this.disableCheckForUpdate=t),this.setDriverHeaderText()}initMenuEnabledState(){this.isMenuEnabled$=(0,ee.zV)([this.driverUpdateService.getIsCRDSupported(),this.provisUtilService.isPersonasEnabled()]).pipe((0,j.T)(([t,n])=>(n?this.preferencesMenuDriverTypes=P.WZ:t&&(this.preferencesMenuDriverTypes=P.O6),t||n)))}onCheckForUpdate(){this.driverUpdateService.triggerDriverCheckForUpdate(!0),this.telemetryUtilsService.sendClickEvent(d.EB.CheckForUpdate,"",!0),this.a11yAnnouncer.announce(null,"drivers.preferences.checkingForUpdates")}getDriverData(){(0,ee.zV)([this.driverUpdateService.getRecommendedDriver(),this.driverUpdateService.getInstalledDriver()]).pipe((0,te.M)(([t,n])=>{this.recommendedDriver=t,this.installedDriver=n,this.updateDriversLoadingStatus()}),(0,F.p)(()=>!this.driversLoading),(0,we.n)(()=>this.sidebarNotificationService.saveDriversNotificationDbState(this.recommendedDriver)),(0,I.pQ)(this.destroyRef)).subscribe(()=>{this.setDriverHeaderText(),this.reInstallDriverOption=!!this.installedDriver?.downloadURL})}fetchDriversData(){this.driverUpdateService.fetchDriversData().pipe((0,Ge.j)(()=>{this.performanceMeasureService.markNvAppPerformanceMarkers([T.mM.NvAppDriverDataFetchEnd,T.mM.NvAppDriverViewRenderStart],T.fR.Driver),this.driverUpdateService.updateDriverOnGenericInfoUpdate(),this.driverUpdateService.refreshDriverInfo(),this.performanceMeasureService.markNvAppPerformanceMarkers([T.mM.NvAppDriverViewRenderEnd],T.fR.Driver)}),(0,I.pQ)(this.destroyRef)).subscribe()}isDriverTypeEnum(t){return Object.values(P.uj).includes(t)}isUpdateStrategyEnum(t){return Object.values(P.eS).includes(t)}getDriverTypePreference(){this.provisUtilService.isPersonasEnabled().pipe((0,we.n)(t=>t?this.driverUpdateService.getUpdateStrategyPreference():this.driverUpdateService.getDriverTypePreference()),(0,I.pQ)(this.destroyRef)).subscribe(t=>this.driverTypePreference=this.isDriverTypeEnum(t)?P.O6.find(n=>n.id===t):P.WZ.find(n=>n.id===t))}updateDriversLoadingStatus(){this.driversLoading=!(this.recommendedDriver||this.installedDriver)}setDriverHeaderText(){const t=this.driverUpdateService.getDriverInstallInfo();this.driverHeaderText=this.driverUtilsService.fetchDriverHeaderText(t,this.recommendedDriver,this.installedDriver),this.a11yAnnouncer.announce(null,this.driverHeaderText)}setFilteredPreviouslyInstalledDriverData(){return(0,ee.zV)([this.driverInstallHistoryService.getPreviouslyInstalledDriversInfo(),this.driverUpdateService.getInstalledDriver(),this.driverInstallHistoryService.getMaxDriverDisplayCount()]).pipe((0,F.p)(([t,n,r])=>t?.length>0),(0,j.T)(([t,n,r])=>{const a=t?.filter(c=>!(c.driverType===n?.driverType&&c.version===n?.version)),l=this.driverInstallHistoryService.getTopDriversByReleaseDate(a,r);return this.previouslyInstalledDriversToBeShown=[...l],this.previouslyInstalledDriversToBeShown}),(0,I.pQ)(this.destroyRef))}ngOnDestroy(){this.driverUpdateService.unsubscribeRefreshDriverInfoSubscription(),this.driverUpdateService.updateFetchOnlyDriverUpdateRecommendation(!0)}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(X.f),e.rXU(be.r),e.rXU(Ue.g),e.rXU(d.AY),e.rXU(qe.H0),e.rXU(h.J6),e.rXU(Le.M),e.rXU(je.w),e.rXU(ne.T),e.rXU(Ce),e.rXU($e.x))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["nv-app-driver"]],viewQuery:function(n,r){if(1&n&&e.GBs(Kn,5),2&n){let a;e.mGM(a=e.lsd())&&(r.driverContainer=a.first)}},hostVars:2,hostBindings:function(n,r){2&n&&e.HbH(r.hostClass)},decls:2,vars:2,consts:[["driverContainer",""],["updateCheckButton",""],[4,"ngIf"],["class","driver-updates-container",3,"nvappScrollHighlight",4,"ngIf"],[1,"driver-updates-container",3,"nvappScrollHighlight"],[1,"driver-container"],[1,"driver-header"],["role","heading","tabindex","0",1,"driver-page-header","font-sub2","font-color-primary"],[1,"driver-preference-container"],["class","loading-container","matTooltipClass","mat-tooltip-font-body3",3,"matTooltip",4,"ngIf","ngIfElse"],["class","recommended-driver-section",4,"ngIf"],["class","installed-driver-section",4,"ngIf"],["class","previously-installed-drivers-section",4,"ngIf"],[3,"driverTypePreference","disabled","driverTypes"],[1,"image-separator"],["matTooltipClass","mat-tooltip-font-body3",1,"loading-container",3,"matTooltip"],["mode","indeterminate",1,"mat-accent",3,"diameter"],["icon","refresh","matTooltipClass","mat-tooltip-font-body3",1,"update-icon",3,"clicked","matTooltip","disabled","matTooltipDisabled","iconLabel"],[1,"recommended-driver-section"],[1,"recommended-driver"],[1,"driver-summary","recommended-driver-details",3,"name","version","releasedDate","showStatus","isInstalled"],[3,"driver",4,"ngIf"],[3,"isRecommendedDriver","content","driverDetails"],[3,"driver"],[1,"installed-driver-section"],[1,"installed-driver"],[1,"driver-summary","installed-driver-details",3,"name","version","releasedDate","showStatus","isInstalled"],[3,"driver","isInstalledDriver","isRecommendedDriverAvailable",4,"ngIf"],[3,"isRecommendedDriver","content","driverDetails",4,"ngIf"],[3,"driver","isInstalledDriver","isRecommendedDriverAvailable"],[1,"previously-installed-drivers-section"],[4,"ngFor","ngForOf"],[1,"previously-installed-driver"],[1,"driver-summary","previously-installed-driver-details",3,"name","version","releasedDate","showStatus","isPreviouslyInstalledDriver"],[3,"driver","isPreviouslyInstalledDriver"]],template:function(n,r){1&n&&e.DNE(0,ei,1,0,"nv-app-page-load-spinner",2)(1,gi,17,15,"div",3),2&n&&(e.Y8G("ngIf",r.driversLoading),e.R7$(),e.Y8G("ngIf",!r.driversLoading))},dependencies:[g.Sq,g.bT,re.oV,Ne.LG,ae.q,Be.p,Ve,oe.Q,H,Ke,Qn,Se,g.Jj,_.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.driver-header[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center}.download-install-controls[_ngcontent-%COMP%]{margin-right:32px}.driver-preference-container[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center}.download-details-status-container[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:6px 0 0}.driver-container[_ngcontent-%COMP%]{flex-direction:column;box-sizing:border-box;display:flex}.driver-updates-container[_ngcontent-%COMP%]{margin:0 calc(var(--rwd-container-side-spacing) - var(--scrollbar-width)) 8px var(--rwd-container-side-spacing)}.driver-page-header[_ngcontent-%COMP%]{margin:14px 0 13px}.update-icon[_ngcontent-%COMP%]{color:var(--primary-contrast-750)}.image-separator[_ngcontent-%COMP%]{margin-left:10px;margin-right:10px;height:24px;border-right:1px solid var(--primary-contrast-240);transform:rotate(180deg)}.driver-refresh-icon[_ngcontent-%COMP%]{margin-left:14px;width:auto}.driver-learn-more-icon[_ngcontent-%COMP%]{height:16px;width:16px;margin:0}.check-mark-icon[_ngcontent-%COMP%]{margin:0 12px 0 0;color:var(--accent-500)}.driver-summary[_ngcontent-%COMP%]{margin-right:30px}.installed-driver-details[_ngcontent-%COMP%], .recommended-driver-details[_ngcontent-%COMP%], .previously-installed-driver-details[_ngcontent-%COMP%]{margin:16px 0;display:flex;flex:1 1 100%;max-width:100%}.loading-container[_ngcontent-%COMP%]{height:24px;width:24px;display:flex;justify-content:center;align-items:center}.recommended-driver[_ngcontent-%COMP%], .installed-driver[_ngcontent-%COMP%], .previously-installed-driver[_ngcontent-%COMP%]{max-height:90px;display:flex;justify-content:space-between;align-items:center}"]})}}return i})()}];let ui=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=e.$C({type:i})}static{this.\u0275inj=e.G2t({imports:[ve.iI.forChild(pi),ve.iI]})}}return i})(),hi=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=e.$C({type:i})}static{this.\u0275inj=e.G2t({imports:[g.MD,ui,Ee.G,(0,h.BU)(),h._N,q.YN,L.bm]})}}return i})()}}]);
// SIG // Begin signature block
// SIG // MIIofAYJKoZIhvcNAQcCoIIobTCCKGkCAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // 1AJafZKlXWBav65i09Y1o7r8QKDhMUn5pOmFtN7+krGg
// SIG // gg20MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu
// SIG // 2TANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQGEwJVUzEV
// SIG // MBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
// SIG // d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2Vy
// SIG // dCBUcnVzdGVkIFJvb3QgRzQwHhcNMjEwNDI5MDAwMDAw
// SIG // WhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIICIjANBgkq
// SIG // hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3
// SIG // XdU5WRuxiEL1M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH
// SIG // 4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZwZHMgQM+TXAk
// SIG // ZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXz
// SIG // ENOLsvsI8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzh
// SIG // GMIazMXuk0lwQjKP+8bqHPNlaJGiTUyCEUhSaN4QvRRX
// SIG // XegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjq
// SIG // GzLmysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEj
// SIG // R0ezoQ9uo6ttmAaDG7dqZy3SvUQakhCBj7A7CdfHmzJa
// SIG // wv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
// SIG // k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBe
// SIG // M/Lo6OwKp7ADK5GyNnm+960IHnWmZcy740hQ83eRGv7b
// SIG // UKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3sMJN2
// SIG // FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrc
// SIG // JisB9IlNWdt4z4FKPkBHX8mBUHOFECMhWWCKZFTBzCEa
// SIG // 6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1Hs/q27Iwy
// SIG // CQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQI
// SIG // MAYBAf8CAQAwHQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7
// SIG // CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/n
// SIG // upiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK
// SIG // BggrBgEFBQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYB
// SIG // BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBB
// SIG // BggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNl
// SIG // cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQw
// SIG // QwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGln
// SIG // aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
// SIG // cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEw
// SIG // DQYJKoZIhvcNAQEMBQADggIBADojRD2NCHbuj7w6mdNW
// SIG // 4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L/Z6j
// SIG // fCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3
// SIG // WqqQz/WTauPrINHVUHmImoqKwba9oUgYftzYgBoRGRjN
// SIG // YZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rdKOtfJqGV
// SIG // WEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67
// SIG // Np375SFTWsPK6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIU
// SIG // H0AzfAPilbLCIXVzUstG2MQ0HKKlS43Nb3Y3LIU/Gs4m
// SIG // 6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL
// SIG // 6TEa/y4ZXDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt
// SIG // 2zyknIYf48FWGysj/4+16oh7cGvmoLr9Oj9FpsToFpFS
// SIG // i0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+u
// SIG // KIw8y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8i
// SIG // bEH5glwVZsxsDsrFhsP2JjMMB0ug0wcCampAMEhLNKhR
// SIG // ILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
// SIG // SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqG
// SIG // VnhOMIIG/DCCBOSgAwIBAgIQCZfFbKpZBVOU2anNuL7r
// SIG // VjANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMB4XDTIzMDEx
// SIG // MzAwMDAwMFoXDTI2MDExNjIzNTk1OVowgYAxCzAJBgNV
// SIG // BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQwEgYD
// SIG // VQQHEwtTYW50YSBDbGFyYTEbMBkGA1UEChMSTlZJRElB
// SIG // IENvcnBvcmF0aW9uMQwwCgYDVQQLEwMyLUoxGzAZBgNV
// SIG // BAMTEk5WSURJQSBDb3Jwb3JhdGlvbjCCAaIwDQYJKoZI
// SIG // hvcNAQEBBQADggGPADCCAYoCggGBAIiAXRBzCNRy05OZ
// SIG // NUtJguKdJ1R5HNatdvXtn+pWXHg9PfhU9A5ZboWwSPej
// SIG // iZxJn9clYWVpyjPbkkFvaTBLYeHArmzswavs7+bct4df
// SIG // BTBZG8Qmc9kusaaOxNnuUevseGAC5H61QsGOVATdRQfS
// SIG // kfaP7kTBF9wuIat7BXVglPAlZagQTZWA/BA4Vr8GeNVY
// SIG // 5jU2C6F907UM6orsfsVfkBI8HSowD1U/faTS1yMBu1Mx
// SIG // ePUKZosFn2tYE4dUWId/Vv6LKWk30e/63C5Ul9e3eY7x
// SIG // aZ4eC0TqxluMWb2XdvCcfw9dELeI+0suWliFIyCgSf3A
// SIG // Kuq9cXnoMOBoPEeBOr3XWfCCNLxf9RcGxyaNPd1KcTOO
// SIG // ErSJMFpOCnVi5kys2NrTrFMFVZiRC49BidetoT6cHt3Z
// SIG // f+VHR3rqdUbo4xSpuvsfNA4GRYcWI2KvY3T6hBlrgTlr
// SIG // ngfA3ztOn+38KGJavEa7iJ+k/kjjnD47t0qQoRiujBi+
// SIG // q+mv6Hgy/g0VeQIDAQABo4ICBjCCAgIwHwYDVR0jBBgw
// SIG // FoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYE
// SIG // FL5vQA7WEARmpu0ItwJOm7f48LbRMA4GA1UdDwEB/wQE
// SIG // AwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0f
// SIG // BIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2Vy
// SIG // dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu
// SIG // Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZN
// SIG // aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
// SIG // VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0
// SIG // MjAyMUNBMS5jcmwwPgYDVR0gBDcwNTAzBgZngQwBBAEw
// SIG // KTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy
// SIG // dC5jb20vQ1BTMIGUBggrBgEFBQcBAQSBhzCBhDAkBggr
// SIG // BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
// SIG // MFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0cy5kaWdp
// SIG // Y2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2ln
// SIG // bmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNydDAMBgNV
// SIG // HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQBNa3En
// SIG // raaMqv58RZV1qn0K09tv83qxwHaM6/N40w2fMljnGOxS
// SIG // xR1g0+R26S7XtwpzG+b8LWmWmyJKiZIogVkcfZpchS6B
// SIG // x+9HcUSo7TBBJn4ylcpQzksLOCmT6/DSeIDYucyQiHo8
// SIG // Nq3XkLpkJaDETnCBDulYZ+9pavQT4lNpB6sffbjsDcQ7
// SIG // CZQdImdzyNwd81c56xZc05ufVkronW78r35vwhzuNd88
// SIG // YQXr26fClBEXf3cNvytVupOeHZTy0Od+tPnAPl5744un
// SIG // 0f1MDjiKRne5FqDoo2F4EoeJQuaS6tWcFQg55dOEmOwS
// SIG // E8mweLCWDTTWmZV6x0IGHwagde1S5rkkmxpvAZRUkaD/
// SIG // ZTyxDiHywNi981mFvCnS1gKGd8GpqDuChpKAet8ivgB3
// SIG // 8hVTE/jsstKwQL7HNGxlmk7hyFxkbUNXki2gwJ/CSGaQ
// SIG // qqS3ctjF5Vv8mbtH2f3pK3AFaXOW7wDfjeuqF+yh6UxT
// SIG // ockgH6Ggc4tj+rcrwWhnbgu+JljlBbSKtGiEXMjA9Ccg
// SIG // YsbOIS9T1/FRAOW4KzCaG2FaX5eIhnCqXl79Va2OV8ul
// SIG // IgIbn1XaQQk6RvNPIwZzM8TARUTR9d1edtiuOymxDYm6
// SIG // j16TmoLkXlWUGLj05+yKut6rkqmYCqCJHRHD0T7LXUmw
// SIG // eBMWDQ5e0t8ADV8KGzGCGiAwghocAgEBMH0waTELMAkG
// SIG // A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
// SIG // MUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IENv
// SIG // ZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
// SIG // MQIQCZfFbKpZBVOU2anNuL7rVjANBglghkgBZQMEAgEF
// SIG // AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCAV5HRZ
// SIG // iEuPwK1y2j/eJQ194SrCp7+ZiD/1QETkWHH1JDANBgkq
// SIG // hkiG9w0BAQEFAASCAYB3YpgZw0zZK5lFlG1hRAx5xLm0
// SIG // R2EfM++Eo9c8AER2mczdEa4bTjE3yXcDRYrR+13jCY0s
// SIG // 7X77vDdEAZsmu/yJShJYpNIK8jWbtccqmiQJxJFOHkG9
// SIG // cSh4/dnJlOJurS66cGEVxbzKlo7wiPNA/QcAGvZXKN0B
// SIG // pI1Ex4mlpB3N9FLGwVGlaXwP0Nb3K0ZV//PhN2k3Vem9
// SIG // FLoxG1yc3Zwq9ZQ7jCJSICYimUur93PrylPzk0BrmtK6
// SIG // U+SyjMcqtFF02v+hq4TX4pd4RoeggnaHGzcJkOEcynJb
// SIG // NBK5TincfrHlmA5UuGkC3zOxAe6ndnj7hggH7UXRqgSj
// SIG // uZFRhETETkEWMpSS6l4PpQCSLT5r6GlEy60wvosufVmk
// SIG // I/kV11I3dmtKLDbbC4zcip+CYuGQrj6nqt69WpFkQM2x
// SIG // DE8QjLmX8NS8eDLgLpei4iZD592BSSaaDha/hUp8yg4l
// SIG // NJ4iaIrYj+CRR7MrWGzgEcwxyRrkV0AXKahYjw2YDBTA
// SIG // kI6hghd2MIIXcgYKKwYBBAGCNwMDATGCF2IwghdeBgkq
// SIG // hkiG9w0BBwKgghdPMIIXSwIBAzEPMA0GCWCGSAFlAwQC
// SIG // AQUAMHcGCyqGSIb3DQEJEAEEoGgEZjBkAgEBBglghkgB
// SIG // hv1sBwEwMTANBglghkgBZQMEAgEFAAQgglDXKS7C8l8H
// SIG // XO4sFcr4zFOqxzBE+O/Sx7iAPzWObx4CED1eCieA3w53
// SIG // WodRHN+8O0IYDzIwMjUxMDE1MjIyMTE0WqCCEzowggbt
// SIG // MIIE1aADAgECAhAKgO8YS43xBYLRxHanlXRoMA0GCSqG
// SIG // SIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQK
// SIG // Ew5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNl
// SIG // cnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5
// SIG // NiBTSEEyNTYgMjAyNSBDQTEwHhcNMjUwNjA0MDAwMDAw
// SIG // WhcNMzYwOTAzMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMT
// SIG // MkRpZ2lDZXJ0IFNIQTI1NiBSU0E0MDk2IFRpbWVzdGFt
// SIG // cCBSZXNwb25kZXIgMjAyNSAxMIICIjANBgkqhkiG9w0B
// SIG // AQEFAAOCAg8AMIICCgKCAgEA0EasLRLGntDqrmBWsytX
// SIG // um9R/4ZwCgHfyjfMGUIwYzKomd8U1nH7C8Dr0cVMF3Bs
// SIG // fAFI54um8+dnxk36+jx0Tb+k+87H9WPxNyFPJIDZHhAq
// SIG // lUPt281mHrBbZHqRK71Em3/hCGC5KyyneqiZ7syvFXJ9
// SIG // A72wzHpkBaMUNg7MOLxI6E9RaUueHTQKWXymOtRwJXcr
// SIG // cTTPPT2V1D/+cFllESviH8YjoPFvZSjKs3SKO1QNUdFd
// SIG // 2adw44wDcKgH+JRJE5Qg0NP3yiSyi5MxgU6cehGHr7zo
// SIG // u1znOM8odbkqoK+lJ25LCHBSai25CFyD23DZgPfDrJJJ
// SIG // K77epTwMP6eKA0kWa3osAe8fcpK40uhktzUd/Yk0xUvh
// SIG // DU6lvJukx7jphx40DQt82yepyekl4i0r8OEps/FNO4ah
// SIG // fvAk12hE5FVs9HVVWcO5J4dVmVzix4A77p3awLbr89A9
// SIG // 0/nWGjXMGn7FQhmSlIUDy9Z2hSgctaepZTd0ILIUbWuh
// SIG // KuAeNIeWrzHKYueMJtItnj2Q+aTyLLKLM0MheP/9w6Ct
// SIG // juuVHJOVoIJ/DtpJRE7Ce7vMRHoRon4CWIvuiNN1Lk9Y
// SIG // +xZ66lazs2kKFSTnnkrT3pXWETTJkhd76CIDBbTRofOs
// SIG // NyEhzZtCGmnQigpFHti58CSmvEyJcAlDVcKacJ+A9/z7
// SIG // eacCAwEAAaOCAZUwggGRMAwGA1UdEwEB/wQCMAAwHQYD
// SIG // VR0OBBYEFOQ7/PIx7f391/ORcWMZUEPPYYzoMB8GA1Ud
// SIG // IwQYMBaAFO9vU0rp5AZ8esrikFb2L9RJ7MtOMA4GA1Ud
// SIG // DwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcD
// SIG // CDCBlQYIKwYBBQUHAQEEgYgwgYUwJAYIKwYBBQUHMAGG
// SIG // GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBdBggrBgEF
// SIG // BQcwAoZRaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
// SIG // L0RpZ2lDZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNB
// SIG // NDA5NlNIQTI1NjIwMjVDQTEuY3J0MF8GA1UdHwRYMFYw
// SIG // VKBSoFCGTmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9E
// SIG // aWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQw
// SIG // OTZTSEEyNTYyMDI1Q0ExLmNybDAgBgNVHSAEGTAXMAgG
// SIG // BmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
// SIG // BQADggIBAGUqrfEcJwS5rmBB7NEIRJ5jQHIh+OT2Ik/b
// SIG // NYulCrVvhREafBYF0RkP2AGr181o2YWPoSHz9iZEN/FP
// SIG // sLSTwVQWo2H62yGBvg7ouCODwrx6ULj6hYKqdT8wv2UV
// SIG // +Kbz/3ImZlJ7YXwBD9R0oU62PtgxOao872bOySCILdBg
// SIG // hQ/ZLcdC8cbUUO75ZSpbh1oipOhcUT8lD8QAGB9lctZT
// SIG // TOJM3pHfKBAEcxQFoHlt2s9sXoxFizTeHihsQyfFg5fx
// SIG // UFEp7W42fNBVN4ueLaceRf9Cq9ec1v5iQMWTFQa0xNqI
// SIG // tH3CPFTG7aEQJmmrJTV3Qhtfparz+BW60OiMEgV5GWoB
// SIG // y4RVPRwqxv7Mk0Sy4QHs7v9y69NBqycz0BZwhB9WOfOu
// SIG // /CIJnzkQTwtSSpGGhLdjnQ4eBpjtP+XB3pQCtv4E5UCS
// SIG // Dag6+iX8MmB10nfldPF9SVD7weCC3yXZi/uuhqdwkgVx
// SIG // uiMFzGVFwYbQsiGnoa9F5AaAyBjFBtXVLcKtapnMG3VH
// SIG // 3EmAp/jsJ3FVF3+d1SVDTmjFjLbNFZUWMXuZyvgLfgyP
// SIG // ehwJVxwC+UpX2MSey2ueIu9THFVkT+um1vshETaWyQo8
// SIG // gmBto/m3acaP9QsuLj3FNwFlTxq25+T4QwX9xa6ILs84
// SIG // ZPvmpovq90K8eWyG2N01c4IhSOxqt81nMIIGtDCCBJyg
// SIG // AwIBAgIQDcesVwX/IZkuQEMiDDpJhjANBgkqhkiG9w0B
// SIG // AQsFADBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGln
// SIG // aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
// SIG // Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJv
// SIG // b3QgRzQwHhcNMjUwNTA3MDAwMDAwWhcNMzgwMTE0MjM1
// SIG // OTU5WjBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGln
// SIG // aUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRy
// SIG // dXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hB
// SIG // MjU2IDIwMjUgQ0ExMIICIjANBgkqhkiG9w0BAQEFAAOC
// SIG // Ag8AMIICCgKCAgEAtHgx0wqYQXK+PEbAHKx126NGaHS0
// SIG // URedTa2NDZS1mZaDLFTtQ2oRjzUXMmxCqvkbsDpz4aH+
// SIG // qbxeLho8I6jY3xL1IusLopuW2qftJYJaDNs1+JH7Z+Qd
// SIG // SKWM06qchUP+AbdJgMQB3h2DZ0Mal5kYp77jYMVQXSZH
// SIG // ++0trj6Ao+xh/AS7sQRuQL37QXbDhAktVJMQbzIBHYJB
// SIG // YgzWIjk8eDrYhXDEpKk7RdoX0M980EpLtlrNyHw0Xm+n
// SIG // t5pnYJU3Gmq6bNMI1I7Gb5IBZK4ivbVCiZv7PNBYqHEp
// SIG // NVWC2ZQ8BbfnFRQVESYOszFI2Wv82wnJRfN20VRS3hpL
// SIG // gIR4hjzL0hpoYGk81coWJ+KdPvMvaB0WkE/2qHxJ0ucS
// SIG // 638ZxqU14lDnki7CcoKCz6eum5A19WZQHkqUJfdkDjHk
// SIG // ccpL6uoG8pbF0LJAQQZxst7VvwDDjAmSFTUms+wV/FbW
// SIG // Bqi7fTJnjq3hj0XbQcd8hjj/q8d6ylgxCZSKi17yVp2N
// SIG // L+cnT6Toy+rN+nM8M7LnLqCrO2JP3oW//1sfuZDKiDEb
// SIG // 1AQ8es9Xr/u6bDTnYCTKIsDq1BtmXUqEG1NqzJKS4kOm
// SIG // xkYp2WyODi7vQTCBZtVFJfVZ3j7OgWmnhFr4yUozZtqg
// SIG // PrHRVHhGNKlYzyjlroPxul+bgIspzOwbtmsgY1MCAwEA
// SIG // AaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
// SIG // VR0OBBYEFO9vU0rp5AZ8esrikFb2L9RJ7MtOMB8GA1Ud
// SIG // IwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9PMA4GA1Ud
// SIG // DwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3
// SIG // BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6
// SIG // Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1
// SIG // aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lD
// SIG // ZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4
// SIG // oDagNIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
// SIG // Z2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkw
// SIG // FzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3
// SIG // DQEBCwUAA4ICAQAXzvsWgBz+Bz0RdnEwvb4LyLU0pn/N
// SIG // 0IfFiBowf0/Dm1wGc/Do7oVMY2mhXZXjDNJQa8j00DNq
// SIG // hCT3t+s8G0iP5kvN2n7Jd2E4/iEIUBO41P5F448rSYJ5
// SIG // 9Ib61eoalhnd6ywFLerycvZTAz40y8S4F3/a+Z1jEMK/
// SIG // DMm/axFSgoR8n6c3nuZB9BfBwAQYK9FHaoq2e26MHvVY
// SIG // 9gCDA/JYsq7pGdogP8HRtrYfctSLANEBfHU16r3J05qX
// SIG // 3kId+ZOczgj5kjatVB+NdADVZKON/gnZruMvNYY2o1f4
// SIG // MXRJDMdTSlOLh0HCn2cQLwQCqjFbqrXuvTPSegOOzr4E
// SIG // Wj7PtspIHBldNE2K9i697cvaiIo2p61Ed2p8xMJb82Yo
// SIG // sn0z4y25xUbI7GIN/TpVfHIqQ6Ku/qjTY6hc3hsXMrS+
// SIG // U0yy+GWqAXam4ToWd2UQ1KYT70kZjE4YtL8Pbzg0c1ug
// SIG // MZyZZd/BdHLiRu7hAWE6bTEm4XYRkA6Tl4KSFLFk43es
// SIG // aUeqGkH/wyW4N7OigizwJWeukcyIPbAvjSabnf7+Pu0V
// SIG // rFgoiovRDiyx3zEdmcif/sYQsfch28bZeUz2rtY/9TCA
// SIG // 6TD8dC3JE3rYkrhLULy7Dc90G6e8BlqmyIjlgp2+VqsS
// SIG // 9/wQD7yFylIz0scmbKvFoW2jNrbM1pD2T7m3XDCCBY0w
// SIG // ggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFowDQYJKoZI
// SIG // hvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoT
// SIG // DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj
// SIG // ZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJl
// SIG // ZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoXDTMx
// SIG // MTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNV
// SIG // BAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp
// SIG // Z2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1
// SIG // c3RlZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOC
// SIG // Ag8AMIICCgKCAgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUu
// SIG // ySE98orYWcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bG
// SIG // l20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKv
// SIG // aJNwwrK6dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g
// SIG // 1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/NrDRA
// SIG // X7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e
// SIG // 5TXnMcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y
// SIG // 1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8IUzUvK4b
// SIG // A3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFY
// SIG // F/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0
// SIG // yt5LHucOY67m1O+SkjqePdwA5EUlibaaRBkrfsCUtNJh
// SIG // besz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFj
// SIG // GESVGnZifvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QM
// SIG // IR2yVCkliWzlDlJRR3S+Jqy2QXXeeqxfjT/JvNNBERJb
// SIG // 5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotPwtZF
// SIG // X50g/KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEA
// SIG // AaOCATowggE2MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
// SIG // BBYEFOzX44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQY
// SIG // MBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB
// SIG // /wQEAwIBhjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUH
// SIG // MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggr
// SIG // BgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
// SIG // Y29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBF
// SIG // BgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3JsMy5kaWdp
// SIG // Y2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0Eu
// SIG // Y3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0B
// SIG // AQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22Ftf3v1cHvZqs
// SIG // oYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8ttzjv
// SIG // 9P+Aufih9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je
// SIG // 1M/RQ0SbQyHrlnKhSLSZy51PpwYDE3cnRNTnf+hZqPC/
// SIG // Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix
// SIG // 3P0c2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sg
// SIG // sKxYoA5AY8WYIsGyWfVVa88nq2x2zm8jLfR+cWojayL/
// SIG // ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5
// SIG // lDGCA3wwggN4AgEBMH0waTELMAkGA1UEBhMCVVMxFzAV
// SIG // BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhE
// SIG // aWdpQ2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBS
// SIG // U0E0MDk2IFNIQTI1NiAyMDI1IENBMQIQCoDvGEuN8QWC
// SIG // 0cR2p5V0aDANBglghkgBZQMEAgEFAKCB0TAaBgkqhkiG
// SIG // 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF
// SIG // MQ8XDTI1MTAxNTIyMjExNFowKwYLKoZIhvcNAQkQAgwx
// SIG // HDAaMBgwFgQU3WIwrIYKLTBr2jixaHlSMAf7QX4wLwYJ
// SIG // KoZIhvcNAQkEMSIEINMeYY15VZfZWfIHEJG83Cd8tw1K
// SIG // X1ukGNrZ0Q9m8wmEMDcGCyqGSIb3DQEJEAIvMSgwJjAk
// SIG // MCIEIEqgP6Is11yExVyTj4KOZ2ucrsqzP+NtJpqjNPFG
// SIG // EQozMA0GCSqGSIb3DQEBAQUABIICALMbJKo3g8mTpnkq
// SIG // tvUIfAmZrwOrEEWoM8/mdIMEj3XWdAXMuePMGq1YbZG1
// SIG // ojFJ/a7t5lqiH9J+MBj6EDVyMjrbkIyVjCheGSDaxC3i
// SIG // m1ITcUZDJTjxxPavmU4jDHR5Cmon19HBlA7y9OSs05PP
// SIG // LuQeuZMnG/EQkegKt53p9jyLK3CT3HCmLbLzZ47MLlJA
// SIG // Z+jsjzgzvWKfv33q6hJ6Un9amo6msWqxe6VHuJr+LiFt
// SIG // DAec+0KnFn6B892zWiyMvTmdXM82g0Yo9//q9ahkdVxD
// SIG // a6VDj6IjQUGTB32Tth5rqueMrvhX7R8+BpiEiEPh2TaJ
// SIG // OhMye2QlZPxFFKPIXjsvzWTBvipzLO5R3H+CW7wzRqil
// SIG // SjX1zRhdEYahLm1pr3EK4uIQSgrmqWaN2zbTGagjZXHx
// SIG // bm9e4UyQrOgFl8B6LklMTcze35kdn6ElvayTmTh7ltxt
// SIG // vHJMP20DEpXy+vRjT+9eih5nAHa99xFewa4Cgmajs/AT
// SIG // vSf4LOLdfHxvEkOT1FpO1YNMZu6sDrs/KZ5yQ8gyH0HA
// SIG // BrbD8MNZ18aDMFy7aC0CGEVtD3GicRHsCfw2f22WOeS1
// SIG // nq5Wa60WFTLv+99dDAodhxbiHTxP+9bVGpFs6ecDqfW7
// SIG // v+J44U7r2mHmuE1sjunN/6F7sy6yJcd763Q0l+tbkVnI
// SIG // f0Az9FSn
// SIG // End signature block

Anon7 - 2021