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:/ProgramData/NVIDIA Corporation/Downloader/latest/NvApp/www/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : C:/ProgramData/NVIDIA Corporation/Downloader/latest/NvApp/www/909.279ca67835976b07.js
"use strict";(self.webpackChunknvapp=self.webpackChunknvapp||[]).push([[909],{75909:(oi,ue,s)=>{s.r(ue),s.d(ue,{DriversModule:()=>ri});var p=s(61142),$=s(56106),h=s(3816),q=s(95212),ke=s(15824),me=s(85161),ne=s(31315),y=s(4208),P=s(65706),T=s(8619),ie=s(75707),L=s(83915),he=s(91384),ve=s(72147),Re=s(43615),b=s(26875),Oe=s(64124),g=s(1242),S=s(2216),k=s(83128),e=s(58527),H=s(82102),Fe=s(3960),J=s(47847),Ee=s(78812),Ge=s(37898),Ae=s(81038),re=s(48334),j=s(43848);let fe=(()=>{var n;class a{constructor(t,i,o){this.loggingService=t,this.hardwareService=i,this.appConfig=o,this.logger=this.loggingService.getLogger("ProvisUtilService")}isPersonasEnabled(){const t=this.appConfig?.featureEnablement?.workstation;return t?.enabled&&t?.personas?.enabled?this.hardwareService.getQuadroSystemFlag():(0,j.of)(!1)}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(h.J6),e.KVO(h.SQ),e.KVO(J.Vk))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})();var ae=s(44186),oe=s(44224),Ue=s(99204),R=s(47973),O=s(29370),v=s(3457);let $e=(()=>{var n;class a{constructor(){this.disabled=!1,this.clicked=new e.bkB}onClick(t){this.clicked.emit(t)}}return(n=a).\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-button-icon"]],inputs:{icon:"icon",disabled:"disabled"},outputs:{clicked:"clicked"},decls:3,vars:2,consts:[["mat-icon-button","","fxLayout","row","fxLayoutAlign","center center",1,"button-icon-container",3,"click","disabled"],[1,"material-icons"]],template:function(t,i){1&t&&(e.j41(0,"button",0),e.bIt("click",function(l){return i.onClick(l)}),e.j41(1,"mat-icon",1),e.EFF(2),e.k0s()()),2&t&&(e.Y8G("disabled",i.disabled),e.R7$(2),e.JRh(i.icon))},dependencies:[R.iV,O.An,v.DJ,v.sA],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}"]}),a})();var se=s(93964),Ce=s(26772),N=s(28139),w=s(65240);const qe=(n,a)=>({"font-header6":n,"font-sub1":a}),Le=(n,a)=>({"font-body2":n,"font-body3":a});function je(n,a){if(1&n&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.Lme(" ",e.bMT(2,2,r.isInstalled?"drivers.installed":r.isPreviouslyInstalledDriver?"drivers.previouslyInstalled":"drivers.newVersion"),""," - "," ")}}function Ne(n,a){if(1&n&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"date"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.Lme(" - ",e.bMT(2,2,"drivers.releaseDate"),": ",e.brH(3,4,r.releasedDate,r.releaseDateFormat,r.releaseDateTimezoneFormat),"")}}let z=(()=>{var n;class a{constructor(t){this.loggingService=t,this.releaseDateFormat=Ce.DQ,this.releaseDateTimezoneFormat=Ce.cl,this.logger=this.loggingService.getLogger("DriverSummaryComponent")}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver-summary"]],inputs:{name:"name",version:"version",releasedDate:"releasedDate",isInstallerSummary:"isInstallerSummary",showStatus:"showStatus",isInstalled:"isInstalled",isPreviouslyInstalledDriver:"isPreviouslyInstalledDriver"},decls:9,vars:17,consts:[["fxLayout","column","fxLayoutAlign","start space-between",1,"summary-container"],[1,"summary-header","font-color-primary",3,"ngClass"],[4,"ngIf"],[1,"summary-desc","font-body3","font-color-tertiary",3,"ngClass"]],template:function(t,i){1&t&&(e.j41(0,"div",0)(1,"h3",1),e.DNE(2,je,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,Ne,4,8,"span",2),e.k0s()()),2&t&&(e.R7$(),e.Y8G("ngClass",e.l_i(11,qe,i.isInstallerSummary,!i.isInstallerSummary)),e.R7$(),e.Y8G("ngIf",i.showStatus),e.R7$(),e.SpI(" ",e.bMT(4,7,i.name)," "),e.R7$(2),e.Y8G("ngClass",e.l_i(14,Le,i.isInstallerSummary,!i.isInstallerSummary)),e.R7$(),e.Lme(" ",e.bMT(7,9,"drivers.version"),": ",i.version," "),e.R7$(2),e.Y8G("ngIf",i.releasedDate))},dependencies:[p.YU,p.bT,v.DJ,v.sA,N.PW,p.vh,w.D9],styles:[".summary-container[_ngcontent-%COMP%], .summary-header[_ngcontent-%COMP%], .summary-desc[_ngcontent-%COMP%]{margin:0}"]}),a})();var le=s(70279),Ve=s(54504),E=s(44296);function Be(n,a){if(1&n&&(e.j41(0,"p",13),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,r.title)," ")}}function Ye(n,a){if(1&n&&(e.j41(0,"p",14),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,r.subtitle)," ")}}function Xe(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",6),e.bIt("click",function(){const i=e.eBV(r).$implicit,o=e.XpG();return e.Njj(o.onPreferenceChange(i))}),e.j41(1,"div",10),e.DNE(2,Be,3,3,"p",11)(3,Ye,3,3,"p",12),e.k0s()()}if(2&n){const r=a.$implicit;e.R7$(2),e.Y8G("ngIf",r.title),e.R7$(),e.Y8G("ngIf",r.subtitle)}}let He=(()=>{var n;class a{constructor(t,i,o,l,c){this.loggingService=t,this.driverUpdateService=i,this.telemetryUtilsService=o,this.redirectService=l,this.provisUtilService=c,this.logger=this.loggingService.getLogger("nvapp/DriverPreferenceComponent")}openLearnMoreLink(){this.telemetryUtilsService.sendClickEvent(g.EB.DriverSelectionLearnMore,"",!0),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))}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(H.f),e.rXU(g.AY),e.rXU(le.Q5),e.rXU(fe))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver-preference"]],inputs:{driverTypePreference:"driverTypePreference",disabled:"disabled",driverTypes:"driverTypes"},decls:17,vars:8,consts:[["menu","matMenu"],["fxLayout","row","fxLayoutAlign","end center"],["mat-icon-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","",3,"click",4,"ngFor","ngForOf"],["mat-menu-item","",3,"click"],["fxLayout","row","fxLayoutAlign","space-between center"],[1,"driver-type-header","font-body2","font-color-secondary"],[1,"material-icons","driver-learn-more-icon"],[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(t,i){if(1&t){const o=e.RV6();e.j41(0,"div",1)(1,"button",2),e.EFF(2),e.nI1(3,"translate"),e.j41(4,"mat-icon",3),e.EFF(5,"arrow_drop_down"),e.k0s()(),e.j41(6,"mat-menu",4,0),e.DNE(8,Xe,4,2,"button",5),e.j41(9,"button",6),e.bIt("click",function(){return e.eBV(o),e.Njj(i.openLearnMoreLink())}),e.j41(10,"div")(11,"div",7)(12,"p",8),e.EFF(13),e.nI1(14,"translate"),e.k0s(),e.j41(15,"mat-icon",9),e.EFF(16,"open_in_new"),e.k0s()()()()()()}if(2&t){const o=e.sdS(7);e.R7$(),e.Y8G("matMenuTriggerFor",o),e.R7$(),e.SpI(" ",e.bMT(3,4,null==i.driverTypePreference?null:i.driverTypePreference.title)," "),e.R7$(6),e.Y8G("ngForOf",i.driverTypes),e.R7$(5),e.SpI(" ",e.bMT(14,6,"common.learnMore")," ")}},dependencies:[p.Sq,p.bT,Ve.a,R.iV,O.An,E.pI,E.gy,E.fS,v.DJ,v.sA,w.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))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - 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:#393939;width:100%}"]}),a})();var Je=s(80583),V=s(14714),u=s(53698),G=s(94645),I=s(26537),W=s(35965),m=s(58431),_e=s(56302),De=s(42578),B=s(59859),be=s(40482),ce=s(70521),ze=s(5498),We=s(74150),K=s(60990),Q=s(40514),Y=s(33328);const Ke=(n,a)=>({"modal-loader-content":n,"modal-error-content":a});function Qe(n,a){if(1&n){const r=e.RV6();e.j41(0,"div",8)(1,"button",9),e.bIt("click",function(){e.eBV(r);const i=e.XpG();return e.Njj(i.close())}),e.j41(2,"mat-icon",10),e.EFF(3,"close"),e.k0s()()()}}function Ze(n,a){if(1&n&&(e.j41(0,"span",14),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG(2);e.R7$(),e.JRh(e.bMT(2,1,r.articleData.subTitle))}}function et(n,a){if(1&n&&(e.j41(0,"div",11)(1,"span",12),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.DNE(4,Ze,3,3,"span",13),e.k0s()),2&n){const r=e.XpG();e.R7$(2),e.JRh(e.bMT(3,2,r.articleData.title)),e.R7$(2),e.Y8G("ngIf",r.articleData.subTitle)}}function tt(n,a){1&n&&e.nrm(0,"nv-app-page-load-spinner")}function nt(n,a){1&n&&(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&n&&(e.R7$(2),e.Y8G("innerHTML",e.bMT(4,3,e.bMT(3,1,"drivers.noInformationAvailable")),e.npT))}function it(n,a){if(1&n&&(e.j41(0,"div",19),e.nrm(1,"iframe",20),e.k0s()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("src",r.url,e.f$h)}}function rt(n,a){if(1&n&&(e.j41(0,"video",21),e.nrm(1,"source",22),e.k0s()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("src",r.url,e.B4B)}}function at(n,a){if(1&n&&(e.qex(0),e.DNE(1,it,2,1,"div",18)(2,rt,2,1,"ng-template",null,0,e.C5r),e.bVm()),2&n){const r=e.sdS(3),t=e.XpG();e.R7$(),e.Y8G("ngIf",t.isVideoTypeYoutube)("ngIfElse",r)}}function ot(n,a){if(1&n){const r=e.RV6();e.j41(0,"span",23),e.nI1(1,"trustAsHtml"),e.bIt("dragstart",function(i){e.eBV(r);const o=e.XpG();return e.Njj(o.preventDrag(i))}),e.k0s()}if(2&n){const r=e.XpG();e.Y8G("innerHTML",e.bMT(1,1,r.articleData.body),e.npT)}}function st(n,a){if(1&n){const r=e.RV6();e.j41(0,"div",24)(1,"button",25),e.bIt("click",function(){e.eBV(r);const i=e.XpG();return e.Njj(i.close())}),e.EFF(2),e.nI1(3,"translate"),e.k0s()()}2&n&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"common.close")," "))}let we=(()=>{var n;class a{constructor(t,i,o){this.loggingService=t,this.dialogRef=i,this.sanitizer=o,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,y.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 i=document?.createElement("div");i.innerHTML=t.body,i.querySelectorAll("img").forEach(o=>o.setAttribute("loading","lazy")),t.body=i.innerHTML,this.articleData=t,i=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===m.Mr.Youtube,this.isVideoTypeYoutube){const t=this.getYoutubeId(this.video?.url),i=_e.Qr.replace("VIDEO_ID",t);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(i)}}else this.logger.error("Video source is null")}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(I.CP),e.rXU(We.up))},n.\u0275cmp=e.VBU({type:n,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"],[1,"font-header6"],["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(t,i){1&t&&(e.DNE(0,Qe,4,0,"div",1)(1,et,5,4,"div",2),e.j41(2,"mat-dialog-content",3),e.DNE(3,tt,1,0,"nv-app-page-load-spinner",4)(4,nt,5,5,"div",5)(5,at,4,2,"ng-container",4)(6,ot,2,3,"span",6),e.k0s(),e.DNE(7,st,4,3,"div",7)),2&t&&(e.Y8G("ngIf",!i.error&&!i.showLoader&&i.video&&i.url),e.R7$(),e.Y8G("ngIf",i.articleData),e.R7$(),e.Y8G("ngClass",e.l_i(8,Ke,i.showLoader,i.error)),e.R7$(),e.Y8G("ngIf",i.showLoader),e.R7$(),e.Y8G("ngIf",i.error),e.R7$(),e.Y8G("ngIf",i.video&&i.url&&!i.error&&!i.showLoader),e.R7$(),e.Y8G("ngIf",null==i.articleData?null:i.articleData.body),e.R7$(),e.Y8G("ngIf",!i.showLoader&&(i.articleData||i.error)))},dependencies:[p.YU,p.bT,K.r,Q.e,R.iV,O.An,ae.oV,I.BI,I.Yi,I.E7,v.DJ,v.sA,N.PW,se.Q,w.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)}.background-image-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;height:100%;width:100%;z-index:-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);min-height:428px;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}.modal-close-action[_ngcontent-%COMP%]{width:auto}"]}),a})();var lt=s(5798),ct=s(52117);let dt=(()=>{var n;class a{constructor(t,i,o,l,c,d,_,D){this.gfwslService=t,this.gfwslParamsService=i,this.appConfig=o,this.endpointFactory=l,this.distributedTracingUtilService=c,this.serviceWorkerService=d,this.dialog=D,this.logger=_.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,i,o,l){o?this.previewMedia(i):l?this.openArticleDialog(t,i):this.logger.info("Show details failed to load Modal")}getDriverArticleInformation(t,i,o){return this.logger.info("getDriverArticleInformation"),this.gfwslService.onGfwslParamsReady({hasGeoInfo:!0,hasLocaleInfo:!0,hasSystemInfo:!0}).pipe((0,ie.ZZ)(l=>{o={...o,GFPV:i};let c=(0,b.omitBy)(o,function(F,M){return"dIDa"===M});c=this.gfwslParamsService.getParams(c,Object.keys(c));const d={config:this.endpointRetryConfig,reportRequestData:{originalService:g.Uu.Gfwsl,serviceUseCase:g.OO.GetArticleInformation},includeRequestId:!0,withCredentials:!0},_=(0,be.l2)([t,JSON.stringify(c)]),D=this.endpoint.makeRequestEx(W.Xt.Get,_,d);return this.distributedTracingUtilService.handleHttpEndpointSpan(D,d,ze.I.GfwslDriverArticleInformation)}),(0,L.T)(l=>l.body))}getArticleInformation(t,i,o){return this.getDriverArticleInformation(t,o,i)}parseJson(t){try{return JSON.parse(t)}catch{return this.logger.error("Json parsing exception for ",t),null}}getArticleContent(t,i){const o=this.getArticleContentCacheKey(t,i),l=this.getWorkerFnForArticleContent(t,i);return this.ensureMapEntryExists(o,l),this.articleContentEventStream.get(o).get$()}getWorkerFnForArticleContent(t,i){return()=>this.fetchArticleContent(t,i)}fetchArticleContent(t,i){if(t){let o=t;o=o.replace(/\\/g,"");const l=o.split("{");if(2!==l.length)return this.logger.error("Cannot request for article as gfeLoadUrl is incorrect ",t),(0,B.$)("gfeLoadURl is incorrect");const d=this.parseJson("{"+l[1]);return d?this.getArticleInformation(l[0],d,i).pipe((0,L.T)(_=>{if(_?.gfcontent)return this.logger.info("get driver article returns content"),this.processArticleContent(_);throw new Error("get driver article returns null content")}),(0,V.W)(_=>(this.logger.error("Failed to get article",_),(0,B.$)(_)))):(this.logger.error("Cannot request for article as gfeLoadUrl has incorrect json ",t),(0,B.$)("gfeLoadUrl has incorrect json"))}return this.logger.error("article url empty for ",t),(0,B.$)("no article URL")}processArticleContent(t){const{title:i,body:o,author_date:l}=t.gfcontent;return{title:i,body:o,subTitle:l?.by_on_date??null,panelClass:"article-content"}}previewMedia(t){const i=this.getVideoType(t),o=i!==m.Mr.Youtube;this.logger.info("Video Type",i,"defaultVideoControl",o),this.showMediaDialog({url:t,type:i,defaultVideoControl:o})}showMediaDialog(t){const i=this.dialog.open(we,{hasBackdrop:!0,autoFocus:!1,restoreFocus:!1,backdropClass:"driver-content-backdrop",panelClass:["driver-content-media-dialog","common-dialog"],maxWidth:790});i.componentInstance.video=t,i.componentInstance.autoCloseOnError=!1,i.afterClosed().pipe((0,P.s)(1)).subscribe(o=>{this.logger.info("The media dialog was closed")})}getVideoType(t){return-1!==t.indexOf("youtu.be")?m.Mr.Youtube:-1!==t.indexOf(".mp4")?m.Mr.Local:""}openArticleDialog(t,i){const l=this.dialog.open(we,{hasBackdrop:!0,autoFocus:!1,restoreFocus:!1,backdropClass:"driver-article-backdrop",panelClass:["driver-release-highlight-article","common-dialog"],maxWidth:790});l.componentInstance.getArticleContent=function(){return this.getArticleContent(i,t)}.bind(this),l.componentInstance.autoCloseOnError=!1,l.afterClosed().pipe((0,P.s)(1)).subscribe(()=>{this.logger.info("The dialog was closed")},c=>{this.logger.error("Failed to close the article dialog",c)})}driverCacheKey(...t){return t.join(m.Ft)}getArticleContentCacheKey(t,i){const o=t.replace("CTP_GFPV",i),c=ce.th.staleWhileRevalidate?.gfwslArticleContent;return this.getCacheKeyFromGfwslParams(o,c.routePattern,["GFPV","cnP"])}ensureMapEntryExists(t,i){this.articleContentEventStream.has(t)||this.articleContentEventStream.set(t,new be.TE(i,!0,!0,!0,this.appConfig?.gfwsl?.cacheRefreshTime))}initServiceWorkerNotifications(){this.logger.info("Initializing Service Worker Update Notifications");const t=ce.th.staleWhileRevalidate?.gfwslArticleContent;this.serviceWorkerSubscription=this.serviceWorkerService.swCacheUpdated.pipe((0,T.p)(i=>i.name===t.cacheName&&i.data)).subscribe(i=>{this.logger.info("Received SW notification",i),this.logger.info("Received updated data SW notification for Article Content",i.data);const l=this.getCacheKeyFromGfwslParams(i.url,t.routePattern,["GFPV","cnP"]);this.updateStreamData(i,this.articleContentEventStream,l)})}updateStreamData(t,i,o){const l=t.data,c=i.get(o)?.getData();if(!(0,b.isEqual)(l,c)&&l)if(l?.gfcontent){const d=this.processArticleContent(l);i.get(o)?.setData(d,!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,i,o){const l=decodeURI(t)?.split(i)?.join("");if(o.every(c=>l.includes(c))){const c=JSON.parse(l),d=Object.values((0,b.pick)(c,o));return this.driverCacheKey(...d)}return""}ngOnDestroy(){this.serviceWorkerSubscription?.unsubscribe()}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(W.XB),e.KVO(W.Tg),e.KVO(J.Vk),e.KVO(lt.t),e.KVO(ct.Z1),e.KVO(ce.lS),e.KVO(h.J6),e.KVO(I.bZ))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})();var gt=s(12132),pt=s(65726);function ut(n,a){if(1&n){const r=e.RV6();e.j41(0,"img",5),e.bIt("error",function(){e.eBV(r);const i=e.XpG(2);return e.Njj(i.updateIconOnError())}),e.k0s()}if(2&n){const r=e.XpG(2);e.Y8G("src",null==r.highlight?null:r.highlight.boxartUrl,e.B4B)("alt",null==r.highlight?null:r.highlight.mouseOverDesc)}}function mt(n,a){if(1&n&&e.nrm(0,"mat-icon",6),2&n){const r=e.XpG(2);e.Y8G("svgIcon",null==r.highlight?null:r.highlight.svgIcon)}}function ht(n,a){if(1&n&&(e.j41(0,"div",2),e.DNE(1,ut,1,2,"img",3)(2,mt,1,1,"ng-template",null,0,e.C5r),e.nrm(4,"span",4),e.nI1(5,"trustAsHtml"),e.k0s()),2&n){const r=e.sdS(3),t=e.XpG();e.R7$(),e.Y8G("ngIf",!(null==t.highlight||!t.highlight.boxartUrl)&&!t.imageError&&t.isImageLoadPossible)("ngIfElse",r),e.R7$(3),e.Y8G("innerHTML",e.bMT(5,3,null==t.highlight?null:t.highlight.title),e.npT)}}let vt=(()=>{var n;class a{constructor(t,i,o){this.loggingService=t,this.telemetryUtilsService=i,this.networkStatusService=o,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,T.p)(t=>t),(0,pt.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(g.vt.Icon,this.highlight.svgIcon,"failed to load icon",null,g.JZ.ReleaseHighlight,!0)}getSvgIcon(t){const i=t?.category?.toLowerCase();switch(i){case m.wj.Display:return m.w.Display;case m.wj.Laptop:return m.w.Laptop;case m.wj.Gpu:return m.w.Gpu;case m.wj.Ops:return m.w.Ops;case m.wj.Game:return m.w.Game;case m.wj.Hardware:return m.w.Hardware;case m.wj.App:return m.w.App;case m.wj.WhatsNew:return m.w.WhatsNew;case m.wj.WhatsFixed:return m.w.WhatsFixed;default:return this.logger.error(`icon with category ${i} for highlight with title ${t?.title} falling back to Game icon`),m.w.Game}}ngOnDestroy(){this.networkStatusSubscription?.unsubscribe()}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(g.AY),e.rXU(h.CF))},n.\u0275cmp=e.VBU({type:n,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",3,"src","alt","error",4,"ngIf","ngIfElse"],[1,"font-body2","font-color-tertiary",3,"innerHTML"],[1,"image-icon",3,"error","src","alt"],[1,"svg","svg-icon","material-icons",3,"svgIcon"]],template:function(t,i){1&t&&e.DNE(0,ht,6,5,"div",1),2&t&&e.Y8G("ngIf",i.highlight)},dependencies:[p.bT,K.r,Q.e,O.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}"]}),a})();const ft=["driverContent"],Ct=n=>({"driver-release-summary-not-available":n});function _t(n,a){if(1&n&&(e.nrm(0,"span",7),e.nI1(1,"trustAsHtml")),2&n){const r=e.XpG(2);e.Y8G("innerHTML",e.bMT(1,1,null==r.content?null:r.content.releaseNotesAbstract),e.npT)}}function Dt(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",8),e.bIt("click",function(){e.eBV(r);const i=e.XpG(2);return e.Njj(i.contentLinkClick(null,!0))}),e.EFF(1),e.k0s()}if(2&n){const r=e.XpG(2);e.R7$(),e.SpI(" ",null==r.content||null==r.content.driverTypeArticle?null:r.content.driverTypeArticle.actionLabel," ")}}function bt(n,a){if(1&n&&(e.j41(0,"div",4),e.DNE(1,_t,2,3,"span",5)(2,Dt,2,1,"button",6),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.Y8G("ngIf",!r.isEmptyReleaseNotesAbstract),e.R7$(),e.Y8G("ngIf",!r.isEmptyDriverArticle)}}function wt(n,a){if(1&n&&(e.j41(0,"span",14),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG().$implicit;e.R7$(),e.SpI(" ",e.bMT(2,1,null==r?null:r.title),"")}}function It(n,a){if(1&n&&(e.j41(0,"span",18),e.EFF(1),e.k0s()),2&n){const r=e.XpG().$implicit;e.R7$(),e.SpI(" ",r.title,"")}}function yt(n,a){1&n&&e.nrm(0,"nv-app-release-highlight-content",19),2&n&&e.Y8G("highlight",a.$implicit)}function xt(n,a){if(1&n&&(e.j41(0,"div",15),e.DNE(1,It,2,1,"span",16)(2,yt,1,1,"nv-app-release-highlight-content",17),e.k0s()),2&n){const r=a.$implicit,t=e.XpG(3);e.R7$(),e.Y8G("ngIf",null==r?null:r.title),e.R7$(),e.Y8G("ngForOf",null==r?null:r.elements)("ngForTrackBy",t.trackBoxArtImg)}}function Pt(n,a){if(1&n&&(e.j41(0,"div",11),e.DNE(1,wt,3,3,"span",12)(2,xt,3,3,"div",13),e.k0s()),2&n){const r=a.$implicit;e.R7$(),e.Y8G("ngIf",null==r?null:r.title),e.R7$(),e.Y8G("ngForOf",null==r?null:r.elements)}}function St(n,a){if(1&n&&(e.j41(0,"div",9,0),e.DNE(2,Pt,3,2,"div",10),e.k0s()),2&n){const r=e.XpG();e.R7$(2),e.Y8G("ngForOf",null==r.content?null:r.content.releaseHighlight)}}let Ie=(()=>{var n;class a{set content(t){this._content=(0,b.cloneDeep)(t),this.updateContentDetails(),this.updateIsNsdDriverEmptyMarquee()}get content(){return this._content}set driverDetails(t){const i=this._driverDetails?.driverType!==t?.driverType;this._driverDetails=t,this.updateIsNsdDriverEmptyMarquee(),i&&this.setMarqueeFallbackImage()}get driverDetails(){return this._driverDetails}constructor(t,i,o,l){this.loggingService=t,this.driverArticleService=i,this.hardwareInfoService=o,this.telemetryUtilsService=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:q.t4.FullBleedImage},this.setMarqueeImageOverrides()}setMarqueeImageOverrides(t=G.K1,i=q.t4.FullBleedImage){this.marqueeImageOverrides={customBackground:!0,disableMask:!0,formatImages:!1,globalFallbackImageUrl:t,globalFallbackImageType:i}}ngOnInit(){this.updateContentDetails(),this.hardwareInfoService.getQuadroSystemFlag().pipe((0,P.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 i=t.action;this.logger.info("Marquee Action: ",i),i.uri.startsWith(De.wY.NvApp)?this.contentLinkClick({position:t.position,uri:i.uri}):i.uri.startsWith(De.wY.Http)?window.open(i.uri,"_blank"):this.logger.error("Not a valid URI",i.uri)}contentLinkClick(t,i){let o="";if(i)o=this.grdArticleLink,this.logger.info("GRD article link clicked with url",o),this.telemetryUtilsService.sendClickEvent(g.EB.DriverTypeArticleLink,this.section,!0,this.driverDetails.version);else{o=t?.uri?.replace(_e.$7,"");const d=this.content?.marqueeBanner?.[t.position]?.action.label,_=t?.position||0;this.logger.info("marquee item link clicked with url",o),this.telemetryUtilsService.sendMarqueeElement(o,d,this.section,g.tV.Drivers,t.position,this.marqueeTileData[_].telemetryId,this.driverDetails.version,this.driverDetails.driverType)}const l=o.includes(W.GU.GfeContent);this.driverArticleService.showDetails(this.driverDetails.version,o,!l,l)}marqueeScrolled(t){t.autoScrolled?this.telemetryUtilsService.sendMarqueeElement("",g.Hb,this.section,g.tV.Drivers,t.position,this.marqueeTileData[t.position].telemetryId,this.driverDetails.version,this.driverDetails.driverType):this.telemetryUtilsService.sendClickEvent(g.EB.MarqueeScroll,this.section,!0,t?.position+"")}imageLoadFailure(t){const i=(this.section?this.section+"/":"")+g.mF.Marquee;this.telemetryUtilsService.sendResourceLoadErrorEvent(g.vt.Image,this.marqueeTileData?.[t]?.marqueeHeroImage??this.marqueeImageOverrides.globalFallbackImageUrl,"failed to load image",null,i,!0)}trackBoxArtImg(t,i){return i?.boxartUrl}beforeChangeSlide(t){this.enableAnimation=!0}updateContentDetails(){this.grdArticleLink=this.content?.driverTypeArticle?.gfeLoadUrl,this.isEmptyMarquee=(0,b.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:q.t4.PaddedImage,telemetryId:t.linksTo})),this.isEmptyDriverArticle=(0,b.isEmpty)(this.content?.driverTypeArticle?.gfeLoadUrl),this.isEmptyReleaseHighlight=this.checkReleaseHighlightIsEmpty(),this.isEmptyReleaseNotesAbstract=(0,b.isEmpty)(this.content?.releaseNotesAbstract),this.section=this.isRecommendedDriver?g.JZ.RecommendedDriver:g.JZ.InstalledDriver}checkReleaseHighlightIsEmpty(){const t=(0,b.isEmpty)(this.content?.releaseHighlight),i=this.content?.releaseHighlight?.every(o=>(0,b.isEmpty)(o.elements));return t||i}setMarqueeFallbackImage(){this.isQuadro?this.setMarqueeImageOverrides(m.X5):this.setMarqueeImageOverrides(this.driverDetails?.driverType===S.uj.CreatorReadyDriver?m.rB:m.Nd,q.t4.PaddedImage)}updateIsNsdDriverEmptyMarquee(){this.isNsdDriverWithEmptyMarquee=this.isEmptyMarquee&&this.driverDetails?.driverType===S.uj.CreatorReadyDriver}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(dt),e.rXU(h.SQ),e.rXU(g.AY))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver-content"]],viewQuery:function(t,i){if(1&t&&e.GBs(ft,5),2&t){let o;e.mGM(o=e.lsd())&&(i.contentElem=o.first)}},hostVars:2,hostBindings:function(t,i){2&t&&e.AVh("marquee-nsd-fallback",i.isNsdDriverWithEmptyMarquee)},inputs:{content:"content",driverDetails:"driverDetails",isRecommendedDriver:"isRecommendedDriver"},decls:3,vars:10,consts:[["driverContent",""],[1,"driver-content-marquee",3,"actionClicked","marqueeScrolled","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",4,"ngFor","ngForOf"],[1,"driver-content-section"],["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(t,i){1&t&&(e.j41(0,"nv-hig-marquee",1),e.bIt("actionClicked",function(l){return i.onMarqueeActionClicked(l)})("marqueeScrolled",function(l){return i.marqueeScrolled(l)})("imageLoadFailure",function(l){return i.imageLoadFailure(l)})("beforeChangeSlide",function(l){return i.beforeChangeSlide(l)}),e.k0s(),e.DNE(1,bt,3,2,"div",2)(2,St,3,1,"div",3)),2&t&&(e.Y8G("tileData",i.marqueeTileData)("imageOverrides",i.marqueeImageOverrides)("gradientOverrides",i.marqueeGradientOverrides)("overlayOverrides",i.marqueeOverlayOverrides)("enableAnimation",i.enableAnimation)("ngClass",e.eq3(8,Ct,i.isEmptyReleaseNotesAbstract&&i.isEmptyDriverArticle&&i.isEmptyReleaseHighlight)),e.R7$(),e.Y8G("ngIf",!i.isEmptyReleaseNotesAbstract||!i.isEmptyDriverArticle),e.R7$(),e.Y8G("ngIf",!i.isEmptyReleaseHighlight))},dependencies:[p.YU,p.Sq,p.bT,gt.w,K.r,Q.e,R.iV,N.PW,vt,w.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))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - 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(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((100vw - 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) * (100vw - 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, rgba(0, 0, 0, 0) 0%, #000000 37.69%, #000000 100%);--hig-marquee-custom-container-background: #000000;--full-bleed-overlay-content-width: calc(calc((100vw - 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((100vw - 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}@media screen and (min-width: 960px) 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(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((100vw - 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(100vw - 2 * var(--rwd-container-side-spacing));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (100vw - 2 * var(--rwd-container-side-spacing)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((100vw - 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) * (100vw - 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, rgba(0, 0, 0, 0) 0%, #000000 37.69%, #000000 100%);--hig-marquee-custom-container-background: #000000;--full-bleed-overlay-content-width: calc(calc(calc((100vw - 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((100vw - 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}@media screen and (min-width: 960px) 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(100vw - 2 * var(--rwd-container-side-spacing));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(100vw - 2 * var(--rwd-container-side-spacing)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((100vw - 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(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((100vw - 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) * (100vw - 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, rgba(0, 0, 0, 0) 0%, #282828 37.69%, #282828 100%);--hig-marquee-custom-container-background: #282828;--full-bleed-overlay-content-width: calc(calc((100vw - 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((100vw - 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}@media screen and (min-width: 960px) 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(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(100vw - 2 * var(--rwd-container-side-spacing) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc((100vw - 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:#292929;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;border-left:4px solid #76b900}.driver-content-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-width:50%;background:#222;padding:16px;width:50%}.driver-content-section[_ngcontent-%COMP%]:first-of-type{margin-right:var(--rwd-gutter-size)}"]}),a})();function Mt(n,a){if(1&n&&e.nrm(0,"nv-app-driver-summary",8),2&n){const r=e.XpG();e.Y8G("name",r.driverDetails.name)("version",r.driverDetails.version)("releasedDate",r.driverDetails.releaseDateTime)}}let Tt=(()=>{var n;class a{constructor(t){this.dialogData=t}ngOnInit(){this.content=this.dialogData?.content,this.driverDetails=this.dialogData?.driverDetails,this.isPreviouslyInstalledDriver=this.dialogData?.isPreviouslyInstalledDriver}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(I.Vh))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver-content-modal"]],decls:14,vars:9,consts:[["mat-dialog-title","",1,"driver-details"],["fxLayout","row","fxLayoutAlign","space-between center"],[1,"driver-details-header","font-sub2","font-color-primary"],["mat-icon-button","",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(t,i){1&t&&(e.j41(0,"div",0)(1,"div",1)(2,"h4",2),e.EFF(3),e.nI1(4,"translate"),e.nI1(5,"translate"),e.k0s(),e.j41(6,"button",3)(7,"mat-icon",4),e.EFF(8,"close"),e.k0s()()(),e.nrm(9,"mat-divider"),e.DNE(10,Mt,1,3,"nv-app-driver-summary",5),e.k0s(),e.j41(11,"mat-dialog-content")(12,"div",6),e.nrm(13,"nv-app-driver-content",7),e.k0s()()),2&t&&(e.R7$(3),e.SpI(" ",i.isPreviouslyInstalledDriver?e.bMT(4,5,"drivers.previouslyInstalled"):e.bMT(5,7,"drivers.currentlyDriverInstalled")," "),e.R7$(3),e.Y8G("mat-dialog-close",!0),e.R7$(4),e.Y8G("ngIf",!!i.driverDetails),e.R7$(3),e.Y8G("content",i.content)("driverDetails",i.driverDetails))},dependencies:[p.bT,R.iV,O.An,oe.q,I.tx,I.BI,I.Yi,v.DJ,v.sA,z,Ie,w.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))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - 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}"]}),a})();var kt=s(57258),Rt=s(26513),x=s(74931),C=x.Or.Nvapp.Driverinstall.FormEnum,de=x.Or.Nvapp.Driverinstall.NextActionEnum,ye=x.Or.Nvapp.Driverinstall.MethodEnum,A=x.Or.Nvapp.Driverinstall.ErrorCodeEnum,ge=function(n){return n.Express="express",n.Custom="custom",n}(ge||{}),f=s(72053),xe=s(97888);const Ot=["dynamicComponentRef"],Ft=n=>({"no-bottom-padding":n}),Et=n=>({"mat-accent":n});function Gt(n,a){if(1&n&&(e.j41(0,"mat-icon",12),e.EFF(1),e.k0s()),2&n){const r=e.XpG(3);e.Y8G("ngClass",e.eq3(2,Et,"check"===r.componentDetails.icon)),e.R7$(),e.JRh(r.componentDetails.icon)}}function At(n,a){if(1&n&&(e.j41(0,"div",9),e.DNE(1,Gt,2,4,"mat-icon",10),e.j41(2,"p",11),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("ngIf",r.componentDetails.icon),e.R7$(2),e.JRh(e.bMT(4,2,r.componentDetails.details))}}function Ut(n,a){if(1&n&&(e.j41(0,"div",6),e.nrm(1,"nv-app-driver-summary",7),e.DNE(2,At,5,4,"div",8),e.k0s()),2&n){const r=e.XpG();e.Y8G("ngClass",e.eq3(6,Ft,r.installerData.showLoader)),e.R7$(),e.Y8G("name",r.componentDetails.name)("version",r.componentDetails.version)("releasedDate",r.componentDetails.releaseDateTime)("isInstallerSummary",!0),e.R7$(),e.Y8G("ngIf",(null==r.componentDetails?null:r.componentDetails.icon)||(null==r.componentDetails?null:r.componentDetails.details))}}function $t(n,a){}function qt(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",16),e.bIt("click",function(){e.eBV(r);const i=e.XpG(2);return e.Njj(i.installerData.button1.action())}),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()}if(2&n){const r=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(3,3,e.bMT(2,1,r.installerData.button1.text))," ")}}function Lt(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",17),e.bIt("click",function(){e.eBV(r);const i=e.XpG(2);return e.Njj(i.installerData.button2.action())}),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()}if(2&n){const r=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(3,3,e.bMT(2,1,r.installerData.button2.text))," ")}}function jt(n,a){if(1&n&&(e.j41(0,"div",13),e.DNE(1,qt,4,5,"button",14)(2,Lt,4,5,"button",15),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.Y8G("ngIf",r.installerData.button1.action),e.R7$(),e.Y8G("ngIf",r.installerData.button2.action)}}let Nt=(()=>{var n;class a{constructor(t,i){this.loggingService=t,this.driverInstallationService=i,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,b.isEmpty)(this.installerData?.componentDetails)&&!this.installerData?.isProgressComponent,this.componentDetails=this.installerData?.componentDetails}ngOnDestroy(){this.installerDataSubscription.unsubscribe()}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(te))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-installer-dialog"]],viewQuery:function(t,i){if(1&t&&e.GBs(Ot,7,e.c1b),2&t){let o;e.mGM(o=e.lsd())&&(i.dynamicComponentRef=o.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(t,i){1&t&&(e.j41(0,"div",1),e.DNE(1,Ut,3,8,"div",2),e.j41(2,"div",3)(3,"div",4),e.DNE(4,$t,0,0,"ng-template",null,0,e.C5r),e.k0s()(),e.DNE(6,jt,3,2,"div",5),e.k0s()),2&t&&(e.R7$(),e.Y8G("ngIf",i.canShowTitle),e.R7$(5),e.Y8G("ngIf",i.canShowActions))},dependencies:[p.YU,p.bT,xe.Aq,R.iV,O.An,I.E7,v.DJ,v.sA,v.G2,v.UI,N.PW,z,p.Pc,w.D9],styles:[".installer-dialog[_ngcontent-%COMP%]{width:790px;height:530px;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}"]}),a})(),Vt=(()=>{var n;class a{constructor(t){this.loggingService=t,this.logger=t.getLogger("nvapp/InstallationRebootComponent")}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-installation-reboot"]],decls:3,vars:3,consts:[[1,"font-body2","font-color-secondary","reboot-message"]],template:function(t,i){1&t&&(e.j41(0,"label",0),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&t&&(e.R7$(),e.JRh(e.bMT(2,1,"drivers.constraints.systemRestartIsRequired")))},dependencies:[w.D9],styles:[".reboot-message[_ngcontent-%COMP%]{display:block;padding:0 24px}"]}),a})();var pe=s(20288);function Bt(n,a){if(1&n&&(e.qex(0),e.nrm(1,"iframe",8),e.nI1(2,"trustAsHtml"),e.bVm()),2&n){const r=a.ngIf;e.R7$(),e.Y8G("src",e.i5U(2,1,r,"url"),e.f$h)}}function Yt(n,a){1&n&&e.nrm(0,"img",9)}let U=(()=>{var n;class a{set installerData(t){this._installerData=t,this.updatedInstallationGuideText(),this.updateProgressMode()}get installerData(){return this._installerData}constructor(t,i){this.driverInfoService=i,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:""}}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(te))},n.\u0275cmp=e.VBU({type:n,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",3,"src"],["src","assets/img/installation-billboard-fallback.svg","alt","default-banner",1,"installation-progress-fallbackImage"]],template:function(t,i){if(1&t&&(e.j41(0,"div",1),e.DNE(1,Bt,3,4,"ng-container",2),e.nI1(2,"async"),e.DNE(3,Yt,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&t){const o=e.sdS(4);e.R7$(),e.Y8G("ngIf",e.bMT(2,11,i.billBoardUrl$))("ngIfElse",o),e.R7$(4),e.FS9("value",i.installerData.progressValue),e.Y8G("mode",i.progressMode),e.R7$(2),e.Y8G("name",i.installerData.componentDetails.name)("version",i.installerData.componentDetails.version)("releasedDate",i.installerData.componentDetails.releaseDateTime)("isInstallerSummary",!0),e.R7$(2),e.SpI(" ",e.i5U(10,13,i.installationGuideText,i.installationProgressTranslationParams)," "),e.R7$(3),e.Lme("",e.bMT(13,16,"drivers.tips.tipText")," ",e.bMT(14,18,"drivers.tips.externallyConnectedMonitor"),"")}},dependencies:[p.bT,pe.HM,v.DJ,v.sA,v.G2,z,p.Jj,w.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%]{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}"]}),a})();var Pe=s(54676),Xt=s(33955);const Ht=(n,a)=>({"font-sub2":n,"font-sub1":a}),Jt=n=>({"package-group-content-disabled":n});function zt(n,a){if(1&n){const r=e.RV6();e.j41(0,"div",4)(1,"mat-checkbox",14),e.mxI("ngModelChange",function(i){e.eBV(r);const o=e.XpG().$implicit;return e.DH7(o.selectedForInstall,i)||(o.selectedForInstall=i),e.Njj(i)}),e.j41(2,"span",15),e.EFF(3),e.k0s()()()}if(2&n){const r=e.XpG().$implicit;e.R7$(),e.Y8G("disabled",r.critical),e.R50("ngModel",r.selectedForInstall),e.R7$(2),e.JRh(r.title)}}function Wt(n,a){if(1&n&&(e.j41(0,"p",4),e.EFF(1),e.k0s()),2&n){const r=e.XpG().$implicit;e.R7$(),e.JRh(r.title)}}function Kt(n,a){if(1&n&&(e.qex(0),e.j41(1,"div",11),e.DNE(2,zt,4,3,"div",12)(3,Wt,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&n){const r=a.$implicit,t=e.sdS(4),i=e.XpG();e.R7$(),e.Y8G("ngClass",e.eq3(7,Jt,r.critical)),e.R7$(),e.Y8G("ngIf",i.showPackageSelectionUI)("ngIfElse",t),e.R7$(4),e.JRh(r.version),e.R7$(2),e.SpI(" ",i.showPackageSelectionUI?r.currentVersion:e.bMT(9,5,r.statusText)," ")}}function Qt(n,a){if(1&n){const r=e.RV6();e.j41(0,"div",16)(1,"mat-checkbox",17),e.mxI("ngModelChange",function(i){e.eBV(r);const o=e.XpG();return e.DH7(null==o.installerData?null:o.installerData.installablePackagesData.cleanInstall,i)||((null==o.installerData?null:o.installerData.installablePackagesData).cleanInstall=i),e.Njj(i)}),e.j41(2,"div",18)(3,"p",19),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.j41(6,"p",20),e.EFF(7),e.nI1(8,"translate"),e.k0s()()()()}if(2&n){const r=e.XpG();e.R7$(),e.R50("ngModel",null==r.installerData?null:r.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 Z=(()=>{var n;class a{constructor(t){this.loggingService=t,this.logger=this.loggingService.getLogger("InstallationCustomComponent")}ngOnInit(){this.showPackageSelectionUI=this.installerData?.installablePackagesData?.showPackageSelectionUI}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6))},n.\u0275cmp=e.VBU({type:n,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",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",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",4,"ngIf","ngIfElse"],[1,"package-group-content-divider"],[1,"package-select-checkbox","font-body2",3,"ngModelChange","disabled","ngModel"],[1,"font-body2"],["fxLayout","row","fxLayoutAlign","start center",1,"clean-installation-container"],[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(t,i){1&t&&(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,Kt,11,9,"ng-container",9),e.k0s()(),e.DNE(15,Qt,9,7,"div",10),e.k0s()),2&t&&(e.R7$(2),e.Y8G("ngClass",e.l_i(12,Ht,i.showPackageSelectionUI,!i.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,i.showPackageSelectionUI?"drivers.currentVersion":"drivers.status")," "),e.R7$(4),e.Y8G("ngForOf",null==i.installerData?null:i.installerData.installablePackagesData.packages),e.R7$(),e.Y8G("ngIf",i.showPackageSelectionUI))},dependencies:[p.YU,p.Sq,p.bT,Pe.tG,$.BC,$.vS,oe.q,Xt.NZ,v.DJ,v.BO,v.sA,N.PW,w.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-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:overlay;overflow-x:hidden}.installation-custom[_ngcontent-%COMP%]{padding:0 24px}.package-group-content[_ngcontent-%COMP%], .package-group-header[_ngcontent-%COMP%]{padding:0 16px;height:48px}.package-group-header[_ngcontent-%COMP%]{background:#ffffff0a}.package-group-table-divider[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.08)}.package-group-content-divider[_ngcontent-%COMP%]{border-top-color:#ffffff0a}.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 16px;background-color:#292929}.clean-install-desc[_ngcontent-%COMP%]{margin:0}.package-select-checkbox[_ngcontent-%COMP%]{height:20px}"]}),a})(),Zt=(()=>{var n;class a{constructor(t){this.loggingService=t,this.logger=this.loggingService.getLogger("InstallationCompleteComponent")}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-installation-complete"]],decls:0,vars:0,template:function(t,i){}}),a})();const en=n=>({code:n});function tn(n,a){if(1&n&&(e.j41(0,"p",5),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.SpI(" ",e.bMT(2,1,r.installerData.errorDetails)," ")}}function nn(n,a){if(1&n&&(e.j41(0,"a",6),e.nI1(1,"trustAsHtml"),e.EFF(2),e.nI1(3,"translate"),e.k0s()),2&n){const r=e.XpG();e.Y8G("href",e.i5U(1,2,r.allowInstallCheckErrorDetailsLink,"url"),e.B4B),e.R7$(2),e.JRh(e.bMT(3,5,"drivers.viewDetails"))}}function rn(n,a){if(1&n&&(e.j41(0,"p",7),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.SpI(" ",e.i5U(2,1,"drivers.errorCode",e.eq3(4,en,null==r.installerData?null:r.installerData.errorCode))," ")}}function an(n,a){if(1&n&&(e.j41(0,"li",11),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const r=a.$implicit;e.R7$(),e.JRh(e.bMT(2,1,r))}}function on(n,a){if(1&n&&(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,an,3,3,"li",10),e.k0s(),e.bVm()),2&n){const r=e.XpG();e.R7$(2),e.JRh(e.bMT(3,2,"drivers.details")),e.R7$(3),e.Y8G("ngForOf",r.installerData.errorList)}}let ee=(()=>{var n;class a{constructor(t,i){this.loggingService=t,this.appConfig=i,this.logger=this.loggingService.getLogger("InstallationErrorComponent")}ngOnInit(){this.allowInstallCheckErrorDetailsLink=this.appConfig?.driver?.allowInstallCheckErrorDetailsLink}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(J.Vk))},n.\u0275cmp=e.VBU({type:n,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(t,i){1&t&&(e.j41(0,"div",0),e.DNE(1,tn,3,3,"p",1)(2,nn,4,7,"a",2)(3,rn,3,6,"p",3)(4,on,6,4,"ng-container",4),e.k0s()),2&t&&(e.R7$(),e.Y8G("ngIf",null==i.installerData?null:i.installerData.errorDetails),e.R7$(),e.Y8G("ngIf",i.installerData.showLink),e.R7$(),e.Y8G("ngIf",null==i.installerData?null:i.installerData.errorCode),e.R7$(),e.Y8G("ngIf",(null==i.installerData||null==i.installerData.errorList?null:i.installerData.errorList.length)>0))},dependencies:[p.Sq,p.bT,K.r,Q.e,w.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}"]}),a})();var Se=s(49678);function sn(n,a){1&n&&e.nrm(0,"nv-app-page-load-spinner",3)}function ln(n,a){1&n&&(e.j41(0,"label",9),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n&&(e.R7$(),e.JRh(e.bMT(2,1,"drivers.expressInstallDescription")))}function cn(n,a){1&n&&e.nrm(0,"nv-app-page-load-spinner",13),2&n&&e.Y8G("diameter",24)}function dn(n,a){if(1&n&&e.nrm(0,"nv-app-installation-custom",14),2&n){const r=e.XpG(3);e.Y8G("installerData",r.installerData)}}function gn(n,a){if(1&n&&(e.j41(0,"label",10),e.EFF(1),e.nI1(2,"translate"),e.k0s(),e.DNE(3,cn,1,1,"nv-app-page-load-spinner",11)(4,dn,1,1,"nv-app-installation-custom",12)),2&n){const r=e.XpG(2);e.R7$(),e.JRh(e.bMT(2,3,"drivers.customInstallDescription")),e.R7$(2),e.Y8G("ngIf",r.updateIsCustomInstallerLoading),e.R7$(),e.Y8G("ngIf",!r.updateIsCustomInstallerLoading)}}function pn(n,a){if(1&n){const r=e.RV6();e.j41(0,"div",4)(1,"mat-radio-group",5),e.mxI("ngModelChange",function(i){e.eBV(r);const o=e.XpG();return e.DH7(o.installSelectType,i)||(o.installSelectType=i),e.Njj(i)}),e.bIt("ngModelChange",function(){e.eBV(r);const i=e.XpG();return e.Njj(i.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,ln,3,3,"label",8)(10,gn,5,5,"ng-template",null,0,e.C5r),e.k0s()()}if(2&n){const r=e.sdS(11),t=e.XpG();e.R7$(),e.R50("ngModel",t.installSelectType),e.R7$(),e.Y8G("value",t.installationType.Express),e.R7$(),e.JRh(e.bMT(4,7,"drivers.expressInstall")),e.R7$(2),e.Y8G("value",t.installationType.Custom),e.R7$(),e.JRh(e.bMT(7,9,"drivers.customInstall")),e.R7$(3),e.Y8G("ngIf",null==t.installerData?null:t.installerData.isExpressInstall)("ngIfElse",r)}}let un=(()=>{var n;class a{set installerData(t){this._installerData=t,this.updateIsCustomInstallerLoading=(0,b.isEmpty)(t?.installablePackagesData?.packages)}get installerData(){return this._installerData}constructor(t,i){this.loggingService=t,this.driverInstallationService=i,this.installationType=ge,this.installSelectType=ge.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)}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(te))},n.\u0275cmp=e.VBU({type:n,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","aria-label","Select an installation",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(t,i){1&t&&e.DNE(0,sn,1,0,"nv-app-page-load-spinner",1)(1,pn,12,11,"div",2),2&t&&(e.Y8G("ngIf",i.installerData.showLoader),e.R7$(),e.Y8G("ngIf",!i.installerData.showLoader))},dependencies:[p.bT,Pe.tG,$.BC,$.vS,Se.VT,Se._g,v.DJ,v.G2,v.UI,se.Q,Z,w.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}"]}),a})();var mn=s(62668);let hn=(()=>{var n;class a{constructor(t,i){this.loggingService=t,this.bridgeService=i,this.logger=this.loggingService.getLogger("WindowsControlService")}enableCloseButton(t){return this.logger.info("enable close button with param: ",t),this.bridgeService.executeCommand(x.Ts.Common.Windowcontrol.EnableCloseButton,{enable:t}).pipe((0,P.s)(1),(0,V.W)(i=>(this.logger.error("enable close button failed with error",i),(0,B.$)(i))))}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(h.J6),e.KVO(h.NZ))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})(),vn=(()=>{var n;class a{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,i,o){this.logger.info("loadComponent of type",i?.name),this.clearComponent(),this.setViewContainer(t),this.componentReference=this.viewContainer?.createComponent(i),this.setComponentData(o)}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}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(h.J6))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})();var Me=s(96306),fn=s(86088);let te=(()=>{var n;class a{constructor(t,i,o,l,c,d,_,D,F,M,X){this.loggingService=t,this.dialog=i,this.bridgeService=o,this.windowsControlService=l,this.translateService=c,this.componentLoaderService=d,this.driverUpdateService=_,this.driverInstallHistoryService=D,this.telemetryUtilsService=F,this.errorHandlerService=M,this.nvappBridgeService=X,this.isResumeInstall=!1,this.isCustomInstall=!1,this.installerData=null,this.installerStatus={form:C.NotSet,method:ye.NotSet},this.billBoardUrl$=new kt.m(1),this.continueOnExpressClicked=!1,this._installerData$=new Rt.t(null),this.logger=this.loggingService.getLogger("nvapp/DriverInstallationService")}beginInstallSelection(t,i,o){this._installerData$.next(null),this.isInstallInitialForm&&(this.unsubscribeDriverInstallationNotification(),this.installBeforeCancelOnInitialFinishClicked=!0),this.driverDetails=t,this.isCustomInstall=i,this.fetchDriverInstallationData(t.version,t.driverType),this.subscribeDriverInstallationNotification(),this.windowsControlService.enableCloseButton(!1).subscribe(),this.invokeInstallation(this.driverDetails,!0,o)}startInstallation(t,i){this.isCustomInstall=t,this.isResumeInstall=i,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,f.Rk.Cancel)}fetchDriverInstallationData(t,i){this.driverInstallDataSubscription=this.driverUpdateService.getInstallationDriverData(t,i).subscribe(o=>{this.logger.info("fetchDriverInstallationData received billboard url:",o),this.billBoardUrl$.next(o)},o=>{this.logger.error("fetchDriverInstallationData failed to receive response with error:",o),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,i){const o=t;return o.nextAction=this.getNextAction(i),this.logger.info("Send nextAction to installer",o),this.changeState(o)}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(x.Ts.Nvapp.Driverinstall.RegisterFormNotification).pipe((0,T.p)(t=>this.isInstallInitialForm?[C.Eula,C.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(x.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(x.Ts.Nvapp.Driverinstall.SetState,t).pipe((0,P.s)(1),(0,he.M)(i=>{this.logger.info("Successfully sent response to installer",i)}),(0,V.W)(i=>(this.logger.error("Response to installer failed",i),(0,j.of)(null))))}invokeInstallation(t,i,o){if(!t)return;this.logger.info("start installation",t.version,t.name,i,o);const l=x.Ts.Nvapp.Driverinstall.InstallAsync,c=l.method,d=l.module,_=this.getPostProcessedInstallerLocation(t.postProcessingStatusInfo);this.nvappBridgeService.executeWithPluginStatusTelemetry(x.Ts.Nvapp.Driverinstall.InstallAsync,{driverLocation:_,isCustom:i,resumeInstall:o}).pipe((0,P.s)(1)).subscribe(D=>{this.logger.info("Install Response received",D),this.userManualCancel=!1,this.installBeforeCancelOnInitialFinishClicked=!1,this.isInstallInitialForm=!1,this.telemetryUtilsService.sendPluginApiStatusTelemetry({apiName:c,pluginName:d,status:g.L1.Success}),this.tryAgainCase?(this.show(this.initializeInstallerData(!0),U),(0,b.isEmpty)(this.installablePackageData?.packages)?this.continueOnExpressClicked=!0:this.updatePackagesAndContinueInstallation(),this.tryAgainCase=!1,this.sendInstallationTypeTelemetry(i)):this.showInstallationSelectForm(this.isCustomInstall,o)},D=>{this.tryAgainCase=!1,this.logger.error("Install Response failed",D),D?.code!==A.InstallerAlreadyRunning&&this.windowsControlService.enableCloseButton(!0).subscribe(),(D?.code===G._O||D instanceof mn.n)&&this.errorHandlerService.showOptionalPluginFailErrorDialog(),this.telemetryUtilsService.sendPluginApiStatusTelemetry({apiName:c,pluginName:d,status:g.L1.Failure,errorMessage:JSON.stringify(D)})})}getPostProcessedInstallerLocation(t){return t?.postProcessingStatus===u.Mo.Completed?t?.actions?.[0]?.output:""}show(t,i){this.dialogRef=this.dialog.open(Nt,{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,i)}setDialogModel(t,i){const o=(0,b.isEqual)(i,U);this.installerData={...t,isProgressComponent:o},this._installerData$.next(this.installerData),this.componentLoaderService.loadComponent(this.dynamicRef,i,this.installerData)}getInstallationConstraintFailedText(t){const i=t?.constraintFailText,o=t?.failedConstraintId;if((0,b.isEmpty)(o))return i;this.logger.info("Failed constraint ids:",o);const c=f.QK.filter(d=>o.includes(d.failedConstraintId));return(0,b.isEmpty)(c)?[]:c.map(d=>{if(d.failedConstraintId===f.sT.SetupNeedsDiskSpaceCheck){const _=o.findIndex(ai=>ai===f.sT.SetupNeedsDiskSpaceCheck),D=i[_],M=D.match(/\d+/g)?.join(".")??"",X=D.substring(D.lastIndexOf("(")-1,D.lastIndexOf(")")+1);return this.translateService.instant(d.constrainText,{value:M,drive:X})}return d.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,f.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,i){this.isCustomInstall=t,this.isResumeInstall=i,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===C.InstallInitial,this.cancel(),this.isInstallInitialForm||this.cancelInstallation().subscribe()}},button2:{text:"shared.continue",action:()=>{this.setDialogModel(this.initializeInstallerData(!0),U),(0,b.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,un)}sendInstallationTypeTelemetry(t){let i="";i=t?this.installablePackageData?.cleanInstall?g.EB.CustomCleanInstall:g.EB.CustomOverInstall:g.EB.ExpressInstall,this.telemetryUtilsService.sendClickEvent(i,g.JZ.DriverInstallation,!0,this.driverDetails?.version)}updatePackagesAndContinueInstallation(){this.isCustomInstall||(this.installablePackageData?.packages.forEach(o=>o.selectedForInstall=!0),this.installablePackageData.cleanInstall=!1);const{packages:t,cleanInstall:i}=this.installablePackageData;this.installerStatus={...this.installerStatus,packages:t,cleanInstall:i},this.logger.info("installer Status",this.installerStatus),this.sendResponseToInstaller(this.installerStatus,f.Rk.Install).subscribe()}getNextAction(t){let i;switch(t){case f.Rk.Cancel:case f.Rk.RestartLater:case f.Rk.Close:i=de.Close;break;default:i=de.Next}return i}rebootSystem(){}showInstallerForm(t){if(this.installerStatus=t,t.method===ye.ShowForm){let i;switch(t.form){case C.PreInstallCheck:this.sendResponseToInstaller(t,f.Rk.Next).subscribe();break;case C.InstallInitial:case C.InstallChecking:case C.Eula:case C.InstallCheckWarnings:case C.PreRebootInstall:if(this.isInstallInitialForm&&C.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,f.Rk.Install).subscribe();break;case C.InstallRemoveProgress:this.updateRefreshInstalling(!1),this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData);break;case C.InstallProgress:this.installerData.progressTitle="",this.updateRefreshInstalling(!1),this.updateIsInstalling(!0),this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData);break;case C.InstallFinishedNoSummary:this.showInstallationComplete(),this.postInstallationComplete();break;case C.InstallFinished:this.showInstallationCompleteWithSummary(t.packages),this.postInstallationComplete();break;case C.InstallCheckWait:i=t?.failedConstraintId?.includes(f.sT.AllowInstallCheck),this.showInstallationCannotStartWithCancelBtn(this.getInstallationConstraintFailedText(t),i,t.errorCode),this.sendResponseToInstaller(t,f.Rk.Next).subscribe();break;case C.InstallSelectCustom:this.showCustomInstallSelect(t.packages,t.cleanInstall);break;case C.InstallRemoveReboot:this.showInstallationContinueRebootRequired();break;case C.InstallFailed:this.showInstallationFail(t.packages);break;case C.InstallReboot:this.showInstallationRebootWithSummary(t.packages),this.postInstallationComplete();break;case C.InstallCheckFailed:i=t?.failedConstraintId?.includes(f.sT.AllowInstallCheck),this.showInstallationCannotStartWithCloseBtn(this.getInstallationConstraintFailedText(t),i,t.errorCode);break;case C.PreInstallCheckRetry:i=t?.failedConstraintId?.includes(f.sT.AllowInstallCheck),this.showInstallationCannotContinueWithTryAgainBtn(this.getInstallationConstraintFailedText(t),i,t.errorCode);break;case C.NotSet:this.handleInstallerError(this.installerStatus.errorCode);break;default:this.logger.info("un-handled installer forms",t)}}else{const{progressTitle:i,currentProgress:o,totalProgress:l}=t;this.installerData.progressTitle=i,this.installerData.progressValue=o/l*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,Vt)}showCustomInstallSelect(t,i){const c={showPackageSelectionUI:!0,packages:this.processPackages(t,!0),cleanInstall:i};if(this.installablePackageData=c,!this.isCustomInstall)return void(this.continueOnExpressClicked&&(this.updatePackagesAndContinueInstallation(),this.continueOnExpressClicked=!1));const d={button1:{text:"shared.cancel",action:()=>{this.userManualCancel=!0,this.isInstallInitialForm=this.installerStatus?.form===C.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,b.isEmpty)(t)?{}:d,installablePackagesData:c},this._installerData$.next(this.installerData),this.componentLoaderService.setComponentData(this.installerData)}showInstallationCompleteWithSummary(t){const c={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,f.Rk.Close).subscribe(),this.installationDone()}},button2:{},installablePackagesData:c},this.setDialogModel(this.installerData,Z)}postInstallationComplete(){this.driverInstallHistoryService.isPreviouslyInstalledDriverFeatureEnabled().pipe((0,P.s)(1),(0,T.p)(t=>t)).subscribe(t=>this.driverInstallHistoryService.handlePostInstallation(this.driverDetails),t=>{this.logger.error("Some error in getting previous installed driver feature cloud variable ",t)})}processPackages(t,i){return(0,b.isEmpty)(t)?[]:t.map(o=>{let l="";return i||(l=this.getStatusText(o)),{...o,currentVersion:o.currentVersion?o.currentVersion:"-",statusText:l}})}getStatusText(t){return t.resultCode?t.resultText?t.resultText:t?.resultCode===f.Zu?"drivers.notSelected":"drivers.failed":"drivers.installed"}showInstallationFail(t){const c={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,f.Rk.Close).subscribe()}},button2:{},installablePackagesData:c},this.setDialogModel(this.installerData,Z)}showInstallationRebootWithSummary(t){const c={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,f.Rk.RestartLater).subscribe()}},button2:{text:"drivers.restartNow",action:()=>{this.driverUpdateService.sendInstallationDoneNotification(),this.cancel(),this.sendResponseToInstaller(this.installerStatus,f.Rk.RestartNow).subscribe()}},installablePackagesData:c},this.setDialogModel(this.installerData,Z)}showInstallationComplete(){this.installerData={componentDetails:{...this.installerComponentDetails,details:"drivers.installationHasFinished",icon:"check"},button1:{text:"shared.close",action:()=>{this.cancel(),this.sendResponseToInstaller(this.installerStatus,f.Rk.Close).subscribe(),this.installationDone()}},button2:{}},this.setDialogModel(this.installerData,Zt)}getInstallationCannotContinueData(t,i,o,l){return this.installerData=this.initializeInstallerData(!1),this.installerData={...this.installerData,componentDetails:{...this.installerComponentDetails},errorDetails:"drivers.installationCanNotContinue",errorList:i,errorCode:l,button1:{text:t,action:()=>{this.cancel(),this.cancelInstallation().subscribe()}},button2:{},showLink:o},this.installerData}showInstallationCannotContinueWithTryAgainBtn(t,i,o,l){this.installerData=this.initializeInstallerData(!1),this.windowsControlService.enableCloseButton(!1).subscribe(),this.installerData={...this.installerData,componentDetails:{...this.installerComponentDetails},errorDetails:l??"drivers.installationCanNotContinue",errorList:t,errorCode:o,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:i},this.dialogRef?this.setDialogModel(this.installerData,ee):this.show(this.installerData,ee)}showInstallationCannotStartWithCloseBtn(t,i,o){this.setDialogModel(this.getInstallationCannotContinueData("shared.close",t,i,o),ee)}showInstallationCannotStartWithCancelBtn(t,i,o){this.setDialogModel(this.getInstallationCannotContinueData("shared.cancel",t,i,o),ee)}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(h.J6),e.KVO(I.bZ),e.KVO(h.NZ),e.KVO(hn),e.KVO(w.c$),e.KVO(vn),e.KVO(H.f),e.KVO(re.T),e.KVO(g.AY),e.KVO(Me.c),e.KVO(fn.S))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})();var Cn=s(4760),Te=s(79027);let _n=(()=>{var n;class a{constructor(t){this.dialog=t}open(t,i){const o=i.panelClass instanceof Array?i.panelClass:new Array(i.panelClass);return this.dialogRef=this.dialog.open(t,{...i,disableClose:!0,autoFocus:!1,hasBackdrop:!0,restoreFocus:!1,height:"100%",width:"100%",maxWidth:"100%",panelClass:["fullscreen-modal",...o]}),this.dialogRef}closeDialog(){this.dialogRef.close()}}return(n=a).\u0275fac=function(t){return new(t||n)(e.KVO(I.bZ))},n.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),a})(),Dn=(()=>{var n;class a{transform(t){return t===u.hF.Downloading||t===u.hF.DownloadTriggered||t===u.hF.VerifyingChecksum||t===u.hF.VerifyingSignature?"drivers.downloading":t===u.hF.Paused||t===u.hF.NetworkErrorRetryPaused?"drivers.paused":t===u.hF.NetworkErrorRetrying?"drivers.retrying":void 0}}return(n=a).\u0275fac=function(t){return new(t||n)},n.\u0275pipe=e.EJ8({name:"getDownloadStatusMessage",type:n,pure:!0}),a})();var bn=s(61090),wn=s(81799);function In(n,a){if(1&n&&(e.j41(0,"label"),e.EFF(1),e.nI1(2,"number"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.SpI("",e.i5U(2,1,null==r.downloadProgressStatus?null:r.downloadProgressStatus.percentComplete,"1.0-0"),"%")}}function yn(n,a){if(1&n&&(e.j41(0,"label",11),e.EFF(1),e.nI1(2,"convertSecondsToTime"),e.k0s()),2&n){const r=e.XpG();e.R7$(),e.SpI(" ",e.bMT(2,1,r.timeRemaining)," ")}}let xn=(()=>{var n;class a{constructor(){this.actionClicked=new e.bkB,this.downloadActionEnum=u.NV}set downloadProgressStatus(t){this._downloadProgressStatus=t;const i=t?.downloadStatus;this.isDownloadVerifying=i===u.hF.VerifyingChecksum||i===u.hF.VerifyingSignature,this.timeRemaining=t?.timeRemaining>=0&&t.timeRemaining<m.f9?t?.timeRemaining:m.f9}get downloadProgressStatus(){return this._downloadProgressStatus}set isPostProcessFailed(t){this._isPostProcessFailed=t,this.isDownloadPaused=this._downloadProgressState===u.dJ.DownloadStatusPaused||this.isPostProcessFailed}get isPostProcessFailed(){return this._isPostProcessFailed}set downloadProgressState(t){this._downloadProgressState=t,this.isDownloadPaused=this._downloadProgressState===u.dJ.DownloadStatusPaused||this.isPostProcessFailed}get downloadProgressState(){return this._downloadProgressState}onActionClicked(t){this.actionClicked.emit(t)}}return(n=a).\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver-download-progress"]],inputs:{downloadProgressStatus:"downloadProgressStatus",isPostProcessFailed:"isPostProcessFailed",downloadProgressState:"downloadProgressState"},outputs:{actionClicked:"actionClicked"},decls:28,vars:27,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(t,i){1&t&&(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,In,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,yn,3,3,"label",7),e.k0s()()(),e.j41(19,"div",8)(20,"button",9),e.nI1(21,"translate"),e.bIt("click",function(){return i.onActionClicked(i.isDownloadPaused?i.downloadActionEnum.Resume:i.downloadActionEnum.Pause)}),e.j41(22,"mat-icon",10),e.EFF(23),e.k0s()(),e.j41(24,"button",9),e.nI1(25,"translate"),e.bIt("click",function(){return i.onActionClicked(i.downloadActionEnum.Stop)}),e.j41(26,"mat-icon",10),e.EFF(27,"stop"),e.k0s()()()()),2&t&&(e.R7$(4),e.JRh(e.bMT(6,15,e.bMT(5,13,i.downloadProgressStatus.downloadStatus))),e.R7$(3),e.Y8G("ngIf",(null==i.downloadProgressStatus?null:i.downloadProgressStatus.percentComplete)>0),e.R7$(),e.Y8G("mode",(null==i.downloadProgressStatus?null:i.downloadProgressStatus.percentComplete)>0?"determinate":"indeterminate")("value",null==i.downloadProgressStatus?null:i.downloadProgressStatus.percentComplete),e.R7$(3),e.Lme(" ",e.bMT(12,17,i.downloadProgressStatus.bytesDone),"/",e.bMT(13,19,i.downloadProgressStatus.totalBytes)," "),e.R7$(5),e.SpI(" ",e.bMT(17,21,i.downloadProgressStatus.downloadSpeed),"/sec "),e.R7$(2),e.Y8G("ngIf",(null==i.downloadProgressStatus?null:i.downloadProgressStatus.timeRemaining)>0),e.R7$(2),e.FS9("matTooltip",e.bMT(21,23,i.isDownloadPaused?"drivers.resumeDownload":"drivers.pauseDownload")),e.Y8G("disabled",(null==i.downloadProgressStatus?null:i.downloadProgressStatus.percentComplete)<=0||i.isDownloadVerifying),e.R7$(3),e.JRh(i.isDownloadPaused?"play_arrow":"pause"),e.R7$(),e.FS9("matTooltip",e.bMT(25,25,"drivers.stopDownload")),e.Y8G("disabled",i.isPostProcessFailed||(null==i.downloadProgressStatus?null:i.downloadProgressStatus.percentComplete)<=0||i.isDownloadVerifying))},dependencies:[p.bT,R.iV,O.An,ae.oV,pe.HM,v.DJ,v.sA,p.QX,Dn,w.D9,bn.c,wn.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}"]}),a})();function Pn(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",7),e.nI1(1,"async"),e.bIt("click",function(){e.eBV(r);const i=e.XpG(3);return e.Njj(i.startDownload())}),e.EFF(2),e.nI1(3,"translate"),e.nI1(4,"uppercase"),e.k0s()}if(2&n){const r=e.XpG(3);e.Y8G("disabled",e.bMT(1,2,r.disableDownloadButton$)),e.R7$(2),e.SpI(" ",e.bMT(4,6,e.bMT(3,4,"drivers.download"))," ")}}function Sn(n,a){if(1&n&&(e.qex(0),e.DNE(1,Pn,5,8,"button",6),e.bVm()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("ngSwitchCase",r.downloadProgressStateEnum.DownloadStatusPending)}}function Mn(n,a){if(1&n){const r=e.RV6();e.j41(0,"nv-app-driver-download-progress",8),e.bIt("actionClicked",function(i){e.eBV(r);const o=e.XpG(2);return e.Njj(o.onDownloadAction(i))}),e.k0s()}if(2&n){const r=e.XpG().ngIf,t=e.XpG();e.Y8G("downloadProgressStatus",null==t.driver?null:t.driver.downloadProgressStatus)("downloadProgressState",r)}}function Tn(n,a){if(1&n){const r=e.RV6();e.j41(0,"nv-app-driver-download-progress",12),e.bIt("actionClicked",function(i){e.eBV(r);const o=e.XpG(3);return e.Njj(o.onDownloadAction(i))}),e.k0s()}if(2&n){const r=e.XpG(2).ngIf,t=e.XpG();e.Y8G("downloadProgressStatus",null==t.driver?null:t.driver.downloadProgressStatus)("downloadProgressState",r)("isPostProcessFailed",t.isPostProcessFailedOrUndefined)}}function kn(n,a){1&n&&(e.j41(0,"div",13)(1,"p",14),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.nrm(4,"mat-progress-bar",15),e.k0s()),2&n&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"drivers.preparingPackage")," "))}function Rn(n,a){if(1&n){const r=e.RV6();e.j41(0,"nv-app-driver-download-progress",12),e.bIt("actionClicked",function(i){e.eBV(r);const o=e.XpG(3);return e.Njj(o.onDownloadAction(i))}),e.k0s()}if(2&n){const r=e.XpG(2).ngIf,t=e.XpG();e.Y8G("downloadProgressStatus",null==t.driver?null:t.driver.downloadProgressStatus)("downloadProgressState",r)("isPostProcessFailed",t.isPostProcessFailedOrUndefined)}}function On(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",17),e.bIt("click",function(){e.eBV(r);const i=e.XpG(4);return e.Njj(i.startInstallation())}),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()}2&n&&(e.R7$(),e.SpI(" ",e.bMT(3,3,e.bMT(2,1,"drivers.install"))," "))}function Fn(n,a){if(1&n&&(e.qex(0),e.DNE(1,On,4,5,"button",16),e.bVm()),2&n){const r=e.XpG(3);e.R7$(),e.Y8G("ngSwitchCase",r.postProcessingStatusEnum.Completed)}}function En(n,a){if(1&n&&(e.qex(0)(1,9),e.DNE(2,Tn,1,3,"nv-app-driver-download-progress",10)(3,kn,5,3,"div",11)(4,Rn,1,3,"nv-app-driver-download-progress",10)(5,Fn,2,1,"ng-container",2),e.bVm()()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("ngSwitch",null==r.driver||null==r.driver.postProcessingStatusInfo?null:r.driver.postProcessingStatusInfo.postProcessingStatus),e.R7$(),e.Y8G("ngSwitchCase",r.postProcessingStatusEnum.Undefined),e.R7$(),e.Y8G("ngSwitchCase",r.postProcessingStatusEnum.ExecutingActions),e.R7$(),e.Y8G("ngSwitchCase",r.postProcessingStatusEnum.Failed),e.R7$(),e.Y8G("ngIf",!r.isInstalledDriver&&!r.isPreviouslyInstalledDriver)}}function Gn(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",19),e.nI1(1,"async"),e.bIt("click",function(){e.eBV(r);const i=e.XpG(2).ngIf,o=e.XpG();return e.Njj(o.reinstallDriver(i))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}if(2&n){const r=e.XpG(3);e.Y8G("disabled",e.bMT(1,2,r.disableReinstallButton$)),e.R7$(2),e.SpI(" ",e.bMT(3,4,"drivers.reInstallDriver")," ")}}function An(n,a){if(1&n&&(e.j41(0,"button",24)(1,"mat-icon",25),e.EFF(2,"more_vert"),e.k0s()()),2&n){e.XpG();const r=e.sdS(2);e.Y8G("matMenuTriggerFor",r)}}function Un(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",26),e.nI1(1,"async"),e.bIt("click",function(){e.eBV(r);const i=e.XpG(3).ngIf,o=e.XpG();return e.Njj(o.reinstallDriver(i))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}if(2&n){const r=e.XpG(4);e.Y8G("disabled",e.bMT(1,2,r.disableReinstallButton$)),e.R7$(2),e.SpI(" ",e.bMT(3,4,"drivers.reInstallDriver")," ")}}function $n(n,a){if(1&n){const r=e.RV6();e.j41(0,"button",27),e.bIt("click",function(){e.eBV(r);const i=e.XpG(4);return e.Njj(i.openContentModal())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}2&n&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"drivers.viewDetails")," "))}function qn(n,a){if(1&n&&(e.DNE(0,An,3,1,"button",20),e.j41(1,"mat-menu",21,1),e.DNE(3,Un,4,6,"button",22)(4,$n,3,3,"button",23),e.k0s()),2&n){const r=e.XpG(3);e.Y8G("ngIf",r.isDownloadUrlAvailable||r.isContentAvailable),e.R7$(3),e.Y8G("ngIf",r.isDownloadUrlAvailable),e.R7$(),e.Y8G("ngIf",r.isContentAvailable)}}function Ln(n,a){if(1&n&&(e.qex(0),e.DNE(1,Gn,4,6,"button",18)(2,qn,5,3,"ng-template",null,0,e.C5r),e.bVm()),2&n){const r=e.sdS(3),t=e.XpG(2);e.R7$(),e.Y8G("ngIf",!t.isRecommendedDriverAvailable&&t.isInstalledDriver)("ngIfElse",r)}}function jn(n,a){if(1&n&&(e.qex(0),e.j41(1,"div",3),e.DNE(2,Sn,2,1,"ng-container",2)(3,Mn,1,2,"nv-app-driver-download-progress",4)(4,En,6,5,"ng-container",5),e.k0s(),e.DNE(5,Ln,4,2,"ng-container",2),e.bVm()),2&n){const r=a.ngIf,t=e.XpG();e.R7$(),e.Y8G("ngSwitch",r),e.R7$(),e.Y8G("ngIf",!t.isInstalledDriver&&!t.isPreviouslyInstalledDriver),e.R7$(),e.Y8G("ngSwitchCase",t.downloadingProgressStateArray.includes(r)?r:""),e.R7$(),e.Y8G("ngSwitchCase",t.downloadProgressStateEnum.DownloadFinished),e.R7$(),e.Y8G("ngIf",(t.isInstalledDriver||t.isPreviouslyInstalledDriver)&&(r===t.downloadProgressStateEnum.DownloadStatusPending||(null==t.driver||null==t.driver.postProcessingStatusInfo?null:t.driver.postProcessingStatusInfo.postProcessingStatus)===t.postProcessingStatusEnum.Completed))}}let Nn=(()=>{var n;class a{set driver(t){this._driver=t,this.driverDownloadCandidateName=this.driverUpdateService.getDownloaderCandidate(t?.driverType),this.isPostProcessFailedOrUndefined=[u.Mo.Failed,u.Mo.Undefined].includes(t?.postProcessingStatusInfo?.postProcessingStatus),this.isContentAvailable=!(0,b.isEmpty)(this.driver?.content),this.isDownloadUrlAvailable=!!this.driver?.downloadURL,this.driverUpdateService.getReinstallButtonClicked()&&(this.isInstalledDriver||this.isPreviouslyInstalledDriver)&&this.driver?.postProcessingStatusInfo?.postProcessingStatus===u.Mo.Completed&&this.startInstallation()}get driver(){return this._driver}constructor(t,i,o,l,c,d,_,D,F,M){this.loggingService=t,this.driverInstallationService=i,this.downloaderService=o,this.driverUpdateService=l,this.driverInstallHistoryService=c,this.telemetryUtilsService=d,this.downloadProgressPipe=_,this.dbService=D,this.errorHandlerService=F,this.fullscreenModalService=M,this.downloadCancelled=new e.bkB,this.isInstalledDriver=!1,this.isRecommendedDriverAvailable=!1,this.isPreviouslyInstalledDriver=!1,this.downloadProgressStateEnum=u.dJ,this.postProcessingStatusEnum=u.Mo,this.isPostProcessFailedOrUndefined=!1,this.unsubscribe$=new Je.B7,this.globalStore=null,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?g.JZ.InstalledDriver:g.JZ.RecommendedDriver}startDownload(t){this.logger.info("Start Download"),this.driverInstallHistoryService.setPreviouslyInstalledDriverState(this.isPreviouslyInstalledDriver),this.telemetryUtilsService.sendClickEvent(t?g.EB.DriverReinstall:g.EB.DriverDownloadStart,this.hierarchy,!0,this.driver?.version),this.driver?.downloadProgressStatus?.downloadStatus===u.hF.Undefined&&this.downloaderService.getIsDownloadStatusRequestTimedOut()?this.errorHandlerService.showOptionalPluginFailErrorDialog():this.downloaderService.startDownloadAndPostProcess(this.driver.version,this.driver.downloadURL,{componentName:this.driverDownloadCandidateName,updateChannel:u.nC.Official,updateType:u.Ur.Full,invokeType:u.TZ.Manual}).pipe((0,y.Q)(this.unsubscribe$)).subscribe(i=>{this.logger.info("download started ",i),this.updateDownloadProgressAndControls(i),t&&this.driverUpdateService.setReinstallButtonClicked(this.driver?.downloadProgressStatus?.downloadStatus,this.driver?.postProcessingStatusInfo?.postProcessingStatus)},i=>{this.logger.error("download start failed with Error: ",i)})}onDownloadAction(t){switch(t){case u.NV.Pause:this.pauseDownload();break;case u.NV.Resume:this.resumeDownload();break;case u.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===u.dJ.DownloadStatusPending?this.startDownload(!0):this.driver?.postProcessingStatusInfo?.postProcessingStatus===u.Mo.Completed&&this.startInstallation()}openContentModal(){this.telemetryUtilsService.sendClickEvent(g.EB.DriverViewDetails,g.JZ.InstalledDriver,!0,this.driver.version),this.fullscreenModalService.open(Tt,{panelClass:["driver-content-modal","common-dialog"],data:{driverDetails:this.driver,content:this.driver?.content,isPreviouslyInstalledDriver:this.isPreviouslyInstalledDriver}})}pauseDownload(){this.logger.info("Pause Download"),this.downloaderService.pauseDownload(this.driverDownloadCandidateName,this.driver.downloadProgressStatus.taskId).pipe((0,y.Q)(this.unsubscribe$)).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,y.Q)(this.unsubscribe$)).subscribe(t=>{this.logger.info("download resumed ",t)},t=>{this.logger.error("download resume failed with Error: ",t)})}stopDownload(){this.telemetryUtilsService.sendClickEvent(g.EB.DriverDownloadCancel,this.hierarchy,!0,this.driver?.version),this.logger.info("Stop Download"),this.downloaderService.stopDownload(this.driverDownloadCandidateName,this.driver.downloadProgressStatus.taskId).pipe((0,y.Q)(this.unsubscribe$)).subscribe(t=>{this.logger.info("download stopped ",t),this.updateDownloadProgressAndControls(t),this.updateDownloadStatusInDatabase(this.driver.version,u.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,i){const o={state:i,version:t};this.globalStore.setItem(G.xI.DriverDownloadState,o).pipe((0,P.s)(1)).subscribe(()=>{this.logger.info("DriverDownloadStateData set to :",o)})}autoDownloadDriver(){this.canAutoDownloadDriver().pipe((0,T.p)(t=>t),(0,V.W)(t=>(0,j.of)(!1))).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 i=this.driver?.downloadProgressStatus?.downloadStatus,o=this.downloadProgressPipe.transform(i),l=[u.dJ.DownloadStatusPending,u.dJ.DownloadStatusPaused].includes(o),c=u.hF.Paused!==i&&!this.driverInstallationService.isResumeInstall&&l&&!this.driverUpdateService.getIsDriverTypeChanged()&&this.driver?.downloadProgressStatus.failureCount<3;if(this.logger.info("Auto Download Driver status:",c),c)return this.globalStore.getItem(G.xI.DriverDownloadState).pipe((0,L.T)(d=>!(d?.version===this.driver?.version&&d?.state===u.NV.Stop)),(0,V.W)(d=>(this.logger.error("Error occurred while getting driver download state from db ",d),(0,j.of)(!1))))}return(0,j.of)(!1)}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(h.J6),e.rXU(te),e.rXU(Cn.z),e.rXU(H.f),e.rXU(re.T),e.rXU(g.AY),e.rXU(Te.F),e.rXU(h.at),e.rXU(Me.c),e.rXU(_n))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-download-controls"]],inputs:{driver:"driver",isInstalledDriver:"isInstalledDriver",isRecommendedDriverAvailable:"isRecommendedDriverAvailable",isPreviouslyInstalledDriver:"isPreviouslyInstalledDriver"},outputs:{downloadCancelled:"downloadCancelled"},decls:2,vars:3,consts:[["reInstallMoreMenu",""],["moreMenu","matMenu"],[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","aria-label","Action Menu for install driver",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","","aria-label","Action Menu for install driver",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(t,i){1&t&&(e.DNE(0,jn,6,5,"ng-container",2),e.nI1(1,"checkDownloadProgressState")),2&t&&e.Y8G("ngIf",e.bMT(1,1,null==i.driver||null==i.driver.downloadProgressStatus?null:i.driver.downloadProgressStatus.downloadStatus))},dependencies:[p.bT,p.ux,p.e1,xe.Aq,R.iV,O.An,E.pI,E.gy,E.fS,pe.HM,xn,p.Jj,p.Pc,Te.F,w.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}"]}),a})();const Vn=["driverContainer"];function Bn(n,a){1&n&&e.nrm(0,"nv-app-page-load-spinner")}function Yn(n,a){if(1&n&&(e.qex(0),e.nrm(1,"nv-app-driver-preference",13)(2,"div",14),e.bVm()),2&n){const r=e.XpG(2);e.R7$(),e.Y8G("driverTypePreference",r.driverTypePreference)("disabled",r.updateCheckProgressStatus===r.updateCheckStarted)("driverTypes",r.preferencesMenuDriverTypes)}}function Xn(n,a){1&n&&(e.j41(0,"div",15),e.nI1(1,"translate"),e.nrm(2,"mat-progress-spinner",16),e.k0s()),2&n&&(e.FS9("matTooltip",e.bMT(1,2,"drivers.preferences.checkingForUpdates")),e.R7$(2),e.Y8G("diameter",20))}function Hn(n,a){if(1&n){const r=e.RV6();e.j41(0,"nv-app-button-icon",17),e.nI1(1,"translate"),e.bIt("clicked",function(){e.eBV(r);const i=e.XpG(2);return e.Njj(i.onCheckForUpdate())}),e.k0s()}if(2&n){const r=e.XpG(2);e.FS9("matTooltip",e.bMT(1,3,"drivers.preferences.checkForUpdates")),e.Y8G("disabled",!r.disableCheckForUpdate)("matTooltipDisabled",!r.disableCheckForUpdate)}}function Jn(n,a){if(1&n&&e.nrm(0,"nv-app-download-controls",23),2&n){const r=e.XpG(3);e.Y8G("driver",r.recommendedDriver)}}function zn(n,a){if(1&n&&(e.j41(0,"div",18)(1,"div",19),e.nrm(2,"nv-app-driver-summary",20),e.DNE(3,Jn,1,1,"nv-app-download-controls",21),e.k0s(),e.nrm(4,"nv-app-driver-content",22)(5,"mat-divider"),e.k0s()),2&n){const r=e.XpG(2);e.R7$(2),e.FS9("name",r.recommendedDriver.name),e.FS9("version",r.recommendedDriver.version),e.FS9("releasedDate",r.recommendedDriver.releaseDateTime),e.Y8G("showStatus",!0)("isInstalled",!1),e.R7$(),e.Y8G("ngIf",r.recommendedDriver.downloadProgressStatus),e.R7$(),e.Y8G("isRecommendedDriver",!0)("content",null==r.recommendedDriver?null:r.recommendedDriver.content)("driverDetails",r.recommendedDriver)}}function Wn(n,a){if(1&n&&e.nrm(0,"nv-app-download-controls",29),2&n){const r=e.XpG(3);e.Y8G("driver",r.installedDriver)("isInstalledDriver",!0)("isRecommendedDriverAvailable",!!r.recommendedDriver)}}function Kn(n,a){if(1&n&&e.nrm(0,"nv-app-driver-content",22),2&n){const r=e.XpG(3);e.Y8G("isRecommendedDriver",!1)("content",null==r.installedDriver?null:r.installedDriver.content)("driverDetails",r.installedDriver)}}function Qn(n,a){if(1&n&&(e.j41(0,"div",24)(1,"div",25),e.nrm(2,"nv-app-driver-summary",26),e.DNE(3,Wn,1,3,"nv-app-download-controls",27),e.k0s(),e.DNE(4,Kn,1,3,"nv-app-driver-content",28),e.k0s()),2&n){const r=e.XpG(2);e.R7$(2),e.FS9("name",r.installedDriver.name),e.FS9("version",r.installedDriver.version),e.FS9("releasedDate",r.installedDriver.releaseDateTime),e.Y8G("showStatus",!0)("isInstalled",!0),e.R7$(),e.Y8G("ngIf",r.reInstallDriverOption),e.R7$(),e.Y8G("ngIf",!r.recommendedDriver)}}function Zn(n,a){if(1&n&&(e.j41(0,"div")(1,"div",32),e.nrm(2,"nv-app-driver-summary",33)(3,"nv-app-download-controls",34),e.k0s()()),2&n){const r=a.$implicit;e.R7$(2),e.FS9("name",r.name),e.FS9("version",r.version),e.FS9("releasedDate",r.releaseDateTime),e.Y8G("showStatus",!0)("isPreviouslyInstalledDriver",!0),e.R7$(),e.Y8G("driver",r)("isPreviouslyInstalledDriver",!0)}}function ei(n,a){if(1&n&&(e.j41(0,"div",30),e.nrm(1,"mat-divider"),e.DNE(2,Zn,4,7,"div",31),e.k0s()),2&n){const r=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",r.previouslyInstalledDriversToBeShown)}}function ti(n,a){if(1&n&&(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,Yn,3,3,"ng-container",2),e.nI1(9,"async"),e.DNE(10,Xn,3,4,"div",9)(11,Hn,2,5,"ng-template",null,1,e.C5r),e.k0s()(),e.nrm(13,"mat-divider"),e.DNE(14,zn,6,9,"div",10)(15,Qn,5,7,"div",11)(16,ei,3,1,"div",12),e.k0s()()),2&n){const r=e.sdS(12),t=e.XpG();e.R7$(5),e.SpI(" ",e.bMT(6,7,t.driverHeaderText)," "),e.R7$(3),e.Y8G("ngIf",e.bMT(9,9,t.isMenuEnabled$)),e.R7$(2),e.Y8G("ngIf",t.updateCheckProgressStatus===t.updateCheckStarted)("ngIfElse",r),e.R7$(4),e.Y8G("ngIf",t.recommendedDriver),e.R7$(),e.Y8G("ngIf",t.installedDriver),e.R7$(),e.Y8G("ngIf",null==t.previouslyInstalledDriversToBeShown?null:t.previouslyInstalledDriversToBeShown.length)}}const ni=[{path:"",component:(()=>{var n;class a extends Oe.${constructor(t,i,o,l,c,d,_,D,F,M,X){super(_),this.driverUpdateService=t,this.appBarService=i,this.appConfig=o,this.hardwareInformationService=l,this.telemetryUtilsService=c,this.telemetryService=d,this.performanceMeasureService=D,this.sidebarNotificationService=F,this.driverInstallHistoryService=M,this.provisUtilService=X,this.preferencesMenuDriverTypes=[],this.updateCheckStarted=S.hs.started,this.reInstallDriverOption=!1,this.reInstallDownloadControls=!1,this.driversLoading=!0,this.driverHeaderText="",this.previouslyInstalledDriversToBeShown=[],this.logger=_.getLogger("nvapp/DriversComponent"),this.appBarService.setTitle("drivers.title"),this.telemetryService.setScreen(g.f3.Drivers),this.driverUpdateService.initializeListenersForDrivers()}ngOnInit(){this.driverUpdateService.updateFetchOnlyDriverUpdateRecommendation(!1),this.performanceMeasureService.markNvAppPerformanceMarkers([k.mM.NvAppDriverRouteNavigationEnd,k.mM.NvAppDriverDataFetchStart],k.fR.Driver),this.getDriverTypePreference(),this.getDriverData(),this.initMenuEnabledState(),this.driverUpdateService.getUpdateCheckProgressStatus().pipe((0,y.Q)(this.unsubscribe$)).subscribe(t=>{this.updateCheckProgressStatus=t}),this.driverInstallHistoryService.isPreviouslyInstalledDriverFeatureEnabled().pipe((0,P.s)(1),(0,T.p)(t=>t),(0,ie.ZZ)(t=>this.driverInstallHistoryService.initializePreviouslyInstalledDrivers().pipe((0,ie.ZZ)(i=>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,y.Q)(this.unsubscribe$)).subscribe(t=>this.disableCheckForUpdate=t),this.setDriverHeaderText()}initMenuEnabledState(){this.isMenuEnabled$=(0,ne.zV)([this.driverUpdateService.getIsCRDSupported(),this.provisUtilService.isPersonasEnabled()]).pipe((0,L.T)(([t,i])=>(i?this.preferencesMenuDriverTypes=S.WZ:t&&(this.preferencesMenuDriverTypes=S.O6),t||i)))}onCheckForUpdate(){this.driverUpdateService.triggerDriverCheckForUpdate(!0),this.telemetryUtilsService.sendClickEvent(g.EB.CheckForUpdate,"",!0)}getDriverData(){(0,ne.zV)([this.driverUpdateService.getRecommendedDriver(),this.driverUpdateService.getInstalledDriver()]).pipe((0,he.M)(([t,i])=>{this.recommendedDriver=t,this.installedDriver=i,this.updateDriversLoadingStatus()}),(0,T.p)(()=>!this.driversLoading),(0,ve.n)(()=>this.sidebarNotificationService.saveDriversNotificationDbState(this.recommendedDriver)),(0,y.Q)(this.unsubscribe$)).subscribe(()=>{this.setDriverHeaderText(),this.reInstallDriverOption=!!this.installedDriver?.downloadURL})}fetchDriversData(){this.driverUpdateService.fetchDriversData().pipe((0,Re.j)(()=>{this.performanceMeasureService.markNvAppPerformanceMarkers([k.mM.NvAppDriverDataFetchEnd,k.mM.NvAppDriverViewRenderStart],k.fR.Driver),this.driverUpdateService.updateDriverOnGenericInfoUpdate(),this.driverUpdateService.refreshDriverInfo(),this.performanceMeasureService.markNvAppPerformanceMarkers([k.mM.NvAppDriverViewRenderEnd],k.fR.Driver)}),(0,y.Q)(this.unsubscribe$)).subscribe()}isDriverTypeEnum(t){return Object.values(S.uj).includes(t)}isUpdateStrategyEnum(t){return Object.values(S.eS).includes(t)}getDriverTypePreference(){this.provisUtilService.isPersonasEnabled().pipe((0,ve.n)(t=>t?this.driverUpdateService.getUpdateStrategyPreference():this.driverUpdateService.getDriverTypePreference()),(0,y.Q)(this.unsubscribe$)).subscribe(t=>this.driverTypePreference=this.isDriverTypeEnum(t)?S.O6.find(i=>i.id===t):S.WZ.find(i=>i.id===t))}updateDriversLoadingStatus(){this.driversLoading=!(this.recommendedDriver||this.installedDriver)}setDriverHeaderText(){const t=this.driverUpdateService.getDriverInstallInfo();this.driverHeaderText=!t?.isDriverInstalled&&(0,b.isEmpty)(this.installedDriver)?"drivers.noDriverInstalled":t?.isMinimumDriverInstalled?this.driverUpdateService.getDriverHeaderText(!!this.recommendedDriver):"drivers.driverUpdateRequired"}setFilteredPreviouslyInstalledDriverData(){return(0,ne.zV)([this.driverInstallHistoryService.getPreviouslyInstalledDriversInfo(),this.driverUpdateService.getInstalledDriver(),this.driverInstallHistoryService.getMaxDriverDisplayCount()]).pipe((0,T.p)(([t,i,o])=>t?.length>0),(0,L.T)(([t,i,o])=>{const l=t?.filter(d=>!(d.driverType===i?.driverType&&d.version===i?.version)),c=this.driverInstallHistoryService.getTopDriversByReleaseDate(l,o);return this.previouslyInstalledDriversToBeShown=[...c],this.previouslyInstalledDriversToBeShown}),(0,y.Q)(this.unsubscribe$))}ngOnDestroy(){super.ngOnDestroy(),this.driverUpdateService.unsubscribeRefreshDriverInfoSubscription(),this.driverUpdateService.updateFetchOnlyDriverUpdateRecommendation(!0)}}return(n=a).\u0275fac=function(t){return new(t||n)(e.rXU(H.f),e.rXU(Fe.g),e.rXU(J.Vk),e.rXU(h.SQ),e.rXU(g.AY),e.rXU(Ee.H0),e.rXU(h.J6),e.rXU(Ge.M),e.rXU(Ae.w),e.rXU(re.T),e.rXU(fe))},n.\u0275cmp=e.VBU({type:n,selectors:[["nv-app-driver"]],viewQuery:function(t,i){if(1&t&&e.GBs(Vn,5),2&t){let o;e.mGM(o=e.lsd())&&(i.driverContainer=o.first)}},features:[e.Vt3],decls:2,vars:2,consts:[["driverContainer",""],["updateCheckButton",""],[4,"ngIf"],["class","driver-updates-container",4,"ngIf"],[1,"driver-updates-container"],[1,"driver-container"],[1,"driver-header"],[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"],[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(t,i){1&t&&e.DNE(0,Bn,1,0,"nv-app-page-load-spinner",2)(1,ti,17,11,"div",3),2&t&&(e.Y8G("ngIf",i.driversLoading),e.R7$(),e.Y8G("ngIf",!i.driversLoading))},dependencies:[p.Sq,p.bT,ae.oV,oe.q,Ue.LG,$e,se.Q,z,He,Nn,Ie,p.Jj,w.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))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - 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 var(--rwd-container-side-spacing) 8px}.driver-page-header[_ngcontent-%COMP%]{margin:14px 0 13px}.update-icon[_ngcontent-%COMP%]{color:#ffffffbf}.image-separator[_ngcontent-%COMP%]{margin-left:10px;margin-right:10px;height:24px;border-right:1px solid rgba(255,255,255,.24);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:#76b900}.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}"]}),a})()}];let ii=(()=>{var n;class a{}return(n=a).\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.$C({type:n}),n.\u0275inj=e.G2t({imports:[me.iI.forChild(ni),me.iI]}),a})(),ri=(()=>{var n;class a{}return(n=a).\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.$C({type:n}),n.\u0275inj=e.G2t({imports:[p.MD,ii,ke.G,(0,h.BU)(),h._N,$.YN,q.bm]}),a})()}}]);
// SIG // Begin signature block
// SIG // MIImNAYJKoZIhvcNAQcCoIImJTCCJiECAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // tu0cI9ZbLzpW/LtvLatHAMDXCEW4t6w2f4JppOuDq6ug
// 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 // eBMWDQ5e0t8ADV8KGzGCF9gwghfUAgEBMH0waTELMAkG
// SIG // A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
// SIG // MUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IENv
// SIG // ZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
// SIG // MQIQCZfFbKpZBVOU2anNuL7rVjANBglghkgBZQMEAgEF
// SIG // AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCDkWvTy
// SIG // hGzzX5KZ28SdhB8F98gO+63sXHbjMuMzLXP5nTANBgkq
// SIG // hkiG9w0BAQEFAASCAYAIaW3pyn1N4DX+Tu1HXYKURvTF
// SIG // DHR4ai7NxlhZ6bfih8aHP36eCK4BOwvaNPo92Kd+3wkB
// SIG // X7PBE9lQf5HbA90twa36ek3yNCFr3HKQnRe85HffltkY
// SIG // 6yCGN8lOK+qxyy/hskC/2l2DCpBM9opm99lyGRlyScfI
// SIG // msspeGut+tOPIpWFqidCmuuqzqsLi0ynTC8kptbpJfjb
// SIG // tPTIZw8Qzlxnj9PMsb4gQAu2XQX1gVsyiQPl2OKid6Fd
// SIG // uDgzV7grAV/FhTaRXZTiEQCKKGvxBqETUtJXSmHkKuv1
// SIG // mGvQAkGAsI2jqnM+bV2DlHQk5PWDCYw7LHx29fYotxJ1
// SIG // I5em/3Kc5SBBdRkeCmanfUM00Xu9bgfKF49DLlD6XVqA
// SIG // zxOz1aJesVLdopLkPPRd23tvApUSHB62gpjfD26KlcDI
// SIG // QtvxOi68fxCGLz8z7j9YYmHO4YDXjiAvGwc4RcYjMKjD
// SIG // GQXUqIfb0vVkuSW35MHm9KKBh4P7Fy8G3BGKxLwc57tE
// SIG // NQGhghUuMIIVKgYKKwYBBAGCNwMDATGCFRowghUWBgkq
// SIG // hkiG9w0BBwKgghUHMIIVAwIBAzENMAsGCWCGSAFlAwQC
// SIG // ATCB8gYLKoZIhvcNAQkQAQSggeIEgd8wgdwCAQEGCmCG
// SIG // SAGG+mwKAwUwMTANBglghkgBZQMEAgEFAAQg0/wqeI9m
// SIG // unhcfJVlIgWTaMfO21AjDnNsEmOEAezxQtsCB2OCYmQD
// SIG // PVkYDzIwMjQxMTA4MDAyNzE0WjADAgEBoHmkdzB1MQsw
// SIG // CQYDVQQGEwJDQTEQMA4GA1UECBMHT250YXJpbzEPMA0G
// SIG // A1UEBxMGT3R0YXdhMRYwFAYDVQQKEw1FbnRydXN0LCBJ
// SIG // bmMuMSswKQYDVQQDEyJFbnRydXN0IFRpbWVzdGFtcCBB
// SIG // dXRob3JpdHkgLSBUU0ExoIIPWDCCBCowggMSoAMCAQIC
// SIG // BDhj3vgwDQYJKoZIhvcNAQEFBQAwgbQxFDASBgNVBAoT
// SIG // C0VudHJ1c3QubmV0MUAwPgYDVQQLFDd3d3cuZW50cnVz
// SIG // dC5uZXQvQ1BTXzIwNDggaW5jb3JwLiBieSByZWYuIChs
// SIG // aW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
// SIG // bnRydXN0Lm5ldCBMaW1pdGVkMTMwMQYDVQQDEypFbnRy
// SIG // dXN0Lm5ldCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAo
// SIG // MjA0OCkwHhcNOTkxMjI0MTc1MDUxWhcNMjkwNzI0MTQx
// SIG // NTEyWjCBtDEUMBIGA1UEChMLRW50cnVzdC5uZXQxQDA+
// SIG // BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
// SIG // bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAj
// SIG // BgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0
// SIG // ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRpZmlj
// SIG // YXRpb24gQXV0aG9yaXR5ICgyMDQ4KTCCASIwDQYJKoZI
// SIG // hvcNAQEBBQADggEPADCCAQoCggEBAK1NS6kShrLqoyAH
// SIG // FRZkKitL0b8LSk2O7YB2pWe3eEDAc0LIaMDbUyvdXrh2
// SIG // mDWTixqdfBM6Dh9btx7P5SQUHrGBqY19uMxrSwPxAgzc
// SIG // q6VAJAB/dJShnQgps4gL9Yd3nVXN5MN+12pkq4UUhpVb
// SIG // lzJQbz3IumYM4/y9uEnBdolJGf3AqL2Jo2cvxp+8cRlg
// SIG // uC3pLMmQdmZ7lOKveNZlU1081pyyzykD+S+kULLUSM4F
// SIG // MlWK/bJkTA7kmAd123/fuQhVYIUwKfl7SKRphuM1Px6G
// SIG // XXp6Fb3vAI4VIlQXAJAmk7wOSWiRv/hH052VQsEOTd9v
// SIG // Js/DGCFiZkNw1tXAB+ECAwEAAaNCMEAwDgYDVR0PAQH/
// SIG // BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
// SIG // FFXkgdERgL7YibkIozH5oSQJFrlwMA0GCSqGSIb3DQEB
// SIG // BQUAA4IBAQA7m49WmzDnU5l8enmnTZfXGZWQ+wYfyjN8
// SIG // RmOPlmYk+kAbISfK5nJz8k/+MZn9yAxMaFPGgIITmPq2
// SIG // rdpdPfHObvYVEZSCDO4/la8Rqw/XL94fA49XLB7Ju5oa
// SIG // RJXrGE+mH819VxAvmwQJWoS1btgdOuHWntFseV55HBTF
// SIG // 49BMkztlPO3fPb6m5ZUaw7UZw71eW7v/I+9oGcsSkydc
// SIG // Ay1vMNAethqs3lr30aqoJ6b+eYHEeZkzV7oSsKngQmyT
// SIG // ylbe/m2ECwiLfo3q15ghxvPnPHkvXpzRTBWN4ewiN8ya
// SIG // QwuX3ICQjbNnm29ICBVWz7/xK3xemnbpWZDFfIM1EWVR
// SIG // MIIFEzCCA/ugAwIBAgIMWNoT/wAAAABRzg33MA0GCSqG
// SIG // SIb3DQEBCwUAMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5l
// SIG // dDFAMD4GA1UECxQ3d3d3LmVudHJ1c3QubmV0L0NQU18y
// SIG // MDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIu
// SIG // KTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQg
// SIG // TGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2Vy
// SIG // dGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMB4XDTE1
// SIG // MDcyMjE5MDI1NFoXDTI5MDYyMjE5MzI1NFowgbIxCzAJ
// SIG // BgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
// SIG // MSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xl
// SIG // Z2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRy
// SIG // dXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9u
// SIG // bHkxJjAkBgNVBAMTHUVudHJ1c3QgVGltZXN0YW1waW5n
// SIG // IENBIC0gVFMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
// SIG // MIIBCgKCAQEA2SPmFKTofEuFcVj7+IHmcotdRsOIAB84
// SIG // 0Irh1m5WMOWv2mRQfcITOfu9ZrTahPuD0Cgfy3boYFBp
// SIG // m/POTxPiwT7B3xLLMqP4XkQiDsw66Y1JuWB0yN5UPUFe
// SIG // Q18oRqmmt8oQKyK8W01bjBdlEob9LHfVxaCMysKD4EdX
// SIG // fOdwrmJFJzEYCtTApBhVUvdgxgRLs91oMm4QHzQRuBJ4
// SIG // ZPHuqeD347EijzRaZcuK9OFFUHTfk5emNObQTDufN0lS
// SIG // p1NOny5nXO2W/KW/dFGI46qOvdmxL19QMBb0UWAia5nL
// SIG // /+FUO7n7RDilCDkjm2lH+jzE0Oeq30ay7PKKGawpsjiV
// SIG // dQIDAQABo4IBIzCCAR8wEgYDVR0TAQH/BAgwBgEB/wIB
// SIG // ADAOBgNVHQ8BAf8EBAMCAQYwOwYDVR0gBDQwMjAwBgRV
// SIG // HSAAMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuZW50
// SIG // cnVzdC5uZXQvcnBhMDMGCCsGAQUFBwEBBCcwJTAjBggr
// SIG // BgEFBQcwAYYXaHR0cDovL29jc3AuZW50cnVzdC5uZXQw
// SIG // MgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC5lbnRy
// SIG // dXN0Lm5ldC8yMDQ4Y2EuY3JsMBMGA1UdJQQMMAoGCCsG
// SIG // AQUFBwMIMB0GA1UdDgQWBBTDwnHSe9doBa47OZs0JQxi
// SIG // A8dXaDAfBgNVHSMEGDAWgBRV5IHREYC+2Im5CKMx+aEk
// SIG // CRa5cDANBgkqhkiG9w0BAQsFAAOCAQEAHSTnmnRbqnD8
// SIG // sQ4xRdcsAH9mOiugmjSqrGNtifmf3w13/SQj/E+ct2+P
// SIG // 8/QftsH91hzEjIhmwWONuld307gaHshRrcxgNhqHaijq
// SIG // EWXezDwsjHS36FBD08wo6BVsESqfFJUpyQVXtWc26Dyp
// SIG // g+9BwSEW0373LRFHZnZgghJpjHZVcw/fL0td6Wwj+Af2
// SIG // tX3WaUWcWH1hLvx4S0NOiZFGRCygU6hFofYWWLuRE/JL
// SIG // xd8LwOeuKXq9RbPncDDnNI7revbTtdHeaxOZRrOL0k2T
// SIG // dbXxb7/cACjCJb+856NlNOw/DR2XjPqqiCKkGDXbBY52
// SIG // 4xDIKY9j0K6sGNnaxJ9REjCCBg8wggT3oAMCAQICEAfX
// SIG // E1PaJWG0YemQR4pMzgQwDQYJKoZIhvcNAQELBQAwgbIx
// SIG // CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJ
// SIG // bmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
// SIG // L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBF
// SIG // bnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNl
// SIG // IG9ubHkxJjAkBgNVBAMTHUVudHJ1c3QgVGltZXN0YW1w
// SIG // aW5nIENBIC0gVFMxMB4XDTI0MDExOTE2NDYyOFoXDTI5
// SIG // MDYwMTAwMDAwMFowdTELMAkGA1UEBhMCQ0ExEDAOBgNV
// SIG // BAgTB09udGFyaW8xDzANBgNVBAcTBk90dGF3YTEWMBQG
// SIG // A1UEChMNRW50cnVzdCwgSW5jLjErMCkGA1UEAxMiRW50
// SIG // cnVzdCBUaW1lc3RhbXAgQXV0aG9yaXR5IC0gVFNBMTCC
// SIG // AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMeS
// SIG // OEE5/6A/X01Nipcx45uHw3gFaTYLUrOqg12w0r1+voOg
// SIG // X16el/PbNRep+dsVYnzK9sXJNBXiEaWSsS7gaVRdDiu+
// SIG // VcYBjIVjskktNV/lTkPEcQuktB40Tf9FyP5P4TDo6WVs
// SIG // a2XTvtQsaNCtBJtqudBU+zUAkDHG2GhqXa/qftD5nRPv
// SIG // zp1jZEJyB4X7BjGL450LptUy21KlTgw8wcCa0X8Cd2MT
// SIG // zfM9PB4CSzaG4AS0eHfkmy/hiSregl3r5Brcjbp7pJ+P
// SIG // jmx16wPggAS/sQkc+mF6s5uBtwvJEwp47Qj2zKZfQkcS
// SIG // Okd4dv682pk/ZOs3XirfUuKZsP3vhMqROqKwp7G2Vhw/
// SIG // RPh+ke94piT+3ike+PX3UX+2eC2HtL0AucYe4OjhE+7u
// SIG // X9de7qR8dWDOoTWQWMKrtUhDe+nHd4mJi8ahjGmXz256
// SIG // Q/70X/tj5STq3+AQkKcSkMwbrQiK0Y2FIKJuoYsWJ5Ux
// SIG // 089uAymfRMInCKy39IlNN+QliVpTLFMNghRzxuzFsNmH
// SIG // 2JsS7iY6X5cvcMkweKFaSm3SSEoPVWp+9lvih1/aERt3
// SIG // vhpe90gKmHEMfa4qgX2ynpFgDtHZajASiuSa7KZLb4UG
// SIG // SRAOhUg/LuYUz1rjTzgqr9cxALwslpWSrXPPehxRy/4t
// SIG // 6cAuWA4KFWXLiHsyG2ANAgMBAAGjggFbMIIBVzAMBgNV
// SIG // HRMBAf8EAjAAMB0GA1UdDgQWBBRDaB9vnyLQ+F8J9/y4
// SIG // 5SPGjgdCkjAfBgNVHSMEGDAWgBTDwnHSe9doBa47OZs0
// SIG // JQxiA8dXaDBoBggrBgEFBQcBAQRcMFowIwYIKwYBBQUH
// SIG // MAGGF2h0dHA6Ly9vY3NwLmVudHJ1c3QubmV0MDMGCCsG
// SIG // AQUFBzAChidodHRwOi8vYWlhLmVudHJ1c3QubmV0L3Rz
// SIG // MS1jaGFpbjI1Ni5jZXIwMQYDVR0fBCowKDAmoCSgIoYg
// SIG // aHR0cDovL2NybC5lbnRydXN0Lm5ldC90czFjYS5jcmww
// SIG // DgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsG
// SIG // AQUFBwMIMEIGA1UdIAQ7MDkwNwYKYIZIAYb6bAoBBzAp
// SIG // MCcGCCsGAQUFBwIBFhtodHRwczovL3d3dy5lbnRydXN0
// SIG // Lm5ldC9ycGEwDQYJKoZIhvcNAQELBQADggEBAL6w3P28
// SIG // +man/CMd89lXYvQk3x0v+VjLyswMfc9uh/Vuglor3uNf
// SIG // xs4a5AivjgQBHv8C+AVTuKhihXuZq0V72aqxF4PRKX6T
// SIG // Ieg2iEIhOPv7DYHJw4qMyipeZq/5nPSNfBL7em06irAA
// SIG // 9ztwpQ+7tVOp4cYpJurcEkovXVoEuKrjhwt9yJ4G/mlm
// SIG // S46n9L4wyaXikKGogQ0+RyGSUF0y5PJWz6mUIbswwncY
// SIG // EZomrvHiPi/8P4kzN12U590axeXMZmz6AM6W4oDt+Cyn
// SIG // xWgTaXwERK0I1fmrya0XZtUvC1fwm89cHqsNJ0Zp/qi3
// SIG // BSWO4LIVM0pfupyL0CgJPLWFsuExggScMIIEmAIBATCB
// SIG // xzCBsjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1
// SIG // c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVz
// SIG // dC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAy
// SIG // MDE1IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
// SIG // ZCB1c2Ugb25seTEmMCQGA1UEAxMdRW50cnVzdCBUaW1l
// SIG // c3RhbXBpbmcgQ0EgLSBUUzECEAfXE1PaJWG0YemQR4pM
// SIG // zgQwCwYJYIZIAWUDBAIBoIIBpzAaBgkqhkiG9w0BCQMx
// SIG // DQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI0
// SIG // MTEwODAwMjcxNFowKwYJKoZIhvcNAQk0MR4wHDALBglg
// SIG // hkgBZQMEAgGhDQYJKoZIhvcNAQELBQAwLwYJKoZIhvcN
// SIG // AQkEMSIEIA6onz9MN404v6Ogy0Nr9Alh43NldFCpXrIc
// SIG // uH2jo51ZMIIBCwYLKoZIhvcNAQkQAi8xgfswgfgwgfUw
// SIG // gfIEIChJ9zEY10FFBWFzzT7sy71TS14O8PoGFo2w4nNJ
// SIG // A+6PMIHNMIG4pIG1MIGyMQswCQYDVQQGEwJVUzEWMBQG
// SIG // A1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2Vl
// SIG // IHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcG
// SIG // A1UECxMwKGMpIDIwMTUgRW50cnVzdCwgSW5jLiAtIGZv
// SIG // ciBhdXRob3JpemVkIHVzZSBvbmx5MSYwJAYDVQQDEx1F
// SIG // bnRydXN0IFRpbWVzdGFtcGluZyBDQSAtIFRTMQIQB9cT
// SIG // U9olYbRh6ZBHikzOBDANBgkqhkiG9w0BAQsFAASCAgDC
// SIG // 4V0xQ2c9iPy7XLxXir7t396jH9WmixKOsxE8b3ZHltzc
// SIG // dfJZv5S6ylz+gaJ+ALVcR4Ccb1zhe9mlHKiuCDJ3uOTQ
// SIG // scPDCvHd0dpyBf6vD6w/gJC4brBkOw80ol1//dk7kxdE
// SIG // 3jqHbzKD9JnK7qbRcdHD1nqSv3ZzRLNdCFYeLFxhesz5
// SIG // NRouTCJZeX3GLREohATR/piSZ7Rmm3bI754ylTuq4gwM
// SIG // vJ5NBwsTXqp3UUmGNrxLsyXuZsByJ+RHotYpilg8g4Td
// SIG // +e6bXMMPGInZBDnyNfu/vpPO5BUDBXLi9502f4lj2KAa
// SIG // Iym2Pbkj/2RUuTOao6/qvqsVfQH9Ihsn7DqSdpUZkPxk
// SIG // +c7zguco4bYV3V8nJxcxUggWbyaY64LYCkPZeq5lZ4i1
// SIG // i6y/jKvr9/uLNMB/q7yrRvkwnuKehkYbNOsy3Vydk57c
// SIG // /iYlE741Ltrk5XKzRDHpu6omZFp9RxbL6CwmERO0Oqji
// SIG // As1jgHRo6VGCISG8ciPy9KjBngPU7Sa9uOhEMxoNee8b
// SIG // ah+Vg4GfrCpsatSuvKIJyf6d6d2sG3atr626SQC+63dk
// SIG // k48l+YkMnf3/ls1Zv6x29pz62f/stEQUa6VXh8+H2tIe
// SIG // iec/MlgeczTUcY6o/lyptjKMhWwBnJuE6cQYlEwdWym4
// SIG // 2quG9HmTmMApkUmMu74kNw==
// SIG // End signature block

Anon7 - 2021