");const k=q?q.createHTML(a):a;if(je===Se)try{c=new Rt().parseFromString(k,De)}catch{}if(!c||!c.documentElement){c=nt.createDocument(je,"template",null);try{c.documentElement.innerHTML=H?rt:k}catch{}}const Q=c.body||c.documentElement;return a&&h&&Q.insertBefore(M.createTextNode(h),Q.childNodes[0]||null),je===Se?We.call(c,Me?"html":"body")[0]:Me?c.documentElement:Q},Gr=function(a){return le.call(a.ownerDocument||a,a,et.SHOW_ELEMENT|et.SHOW_COMMENT|et.SHOW_TEXT|et.SHOW_PROCESSING_INSTRUCTION|et.SHOW_CDATA_SECTION,null)},jr=function(a){return a instanceof Pr&&(typeof a.__depth<"u"&&typeof a.__depth!="number"||typeof a.__removalCount<"u"&&typeof a.__removalCount!="number"||typeof a.nodeName!="string"||typeof a.textContent!="string"||typeof a.removeChild!="function"||!(a.attributes instanceof Mt)||typeof a.removeAttribute!="function"||typeof a.setAttribute!="function"||typeof a.namespaceURI!="string"||typeof a.insertBefore!="function"||typeof a.hasChildNodes!="function")},Yr=function(a){return typeof Wt=="function"&&a instanceof Wt},xe=function(a,c,h){ie[a]&&_(ie[a],k=>{k.call(m,c,h,Ye)})},Ce=function(a){let c=null;if(xe("beforeSanitizeElements",a,null),jr(a))return he(a),!0;const h=Z(a.nodeName);if(xe("uponSanitizeElement",a,{tagName:h,allowedTags:j}),a.hasChildNodes()&&!Yr(a.firstElementChild)&&X(/<[/\w]/g,a.innerHTML)&&X(/<[/\w]/g,a.textContent)||a.nodeType===Le.progressingInstruction||ye&&a.nodeType===Le.comment&&X(/<[/\w]/g,a.data))return he(a),!0;if(!j[h]||He[h]){if(!He[h]&&vr(h)&&(V.tagNameCheck instanceof RegExp&&X(V.tagNameCheck,h)||V.tagNameCheck instanceof Function&&V.tagNameCheck(h)))return!1;if(Ge&&!me[h]){const k=Oe(a)||a.parentNode,Q=Wr(a)||a.childNodes;if(Q&&k){const Y=Q.length;for(let ee=Y-1;ee>=0;--ee){const oe=Ar(Q[ee],!0);oe.__removalCount=(a.__removalCount||0)+1,k.insertBefore(oe,Or(a))}}}return he(a),!0}return a instanceof cr&&!fn(a)||(h==="noscript"||h==="noembed"||h==="noframes")&&X(/<\/no(script|embed|frames)/i,a.innerHTML)?(he(a),!0):(Ve&&a.nodeType===Le.text&&(c=a.textContent,_([it,ot,wt],k=>{c=de(c,k," ")}),a.textContent!==c&&(J(m.removed,{element:a.cloneNode()}),a.textContent=c)),xe("afterSanitizeElements",a,null),!1)},wr=function(a,c,h){if(bt&&(c==="id"||c==="name")&&(h in M||h in kt||h==="__depth"||h==="__removalCount"))return!1;if(!(Nt&&!vt[c]&&X(Rr,c))){if(!(at&&X(dr,c))){if(!$[c]||vt[c]){if(!(vr(a)&&(V.tagNameCheck instanceof RegExp&&X(V.tagNameCheck,a)||V.tagNameCheck instanceof Function&&V.tagNameCheck(a))&&(V.attributeNameCheck instanceof RegExp&&X(V.attributeNameCheck,c)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(c))||c==="is"&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&X(V.tagNameCheck,h)||V.tagNameCheck instanceof Function&&V.tagNameCheck(h))))return!1}else if(!lt[c]){if(!X(Nr,de(h,Dt,""))){if(!((c==="src"||c==="xlink:href"||c==="href")&&a!=="script"&&U(h,"data:")===0&&Ft[a])){if(!(pr&&!X(Dr,de(h,Dt,"")))){if(h)return!1}}}}}}return!0},vr=function(a){return a!=="annotation-xml"&&ve(a,hn)},yr=function(a){xe("beforeSanitizeAttributes",a,null);const{attributes:c}=a;if(!c)return;const h={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$};let k=c.length;for(;k--;){const Q=c[k],{name:Y,namespaceURI:ee,value:oe}=Q,ht=Z(Y);let te=Y==="value"?oe:ft(oe);if(h.attrName=ht,h.attrValue=te,h.keepAttr=!0,h.forceKeepAttr=void 0,xe("uponSanitizeAttribute",a,h),te=h.attrValue,h.forceKeepAttr||(Vt(Y,a),!h.keepAttr))continue;if(!fr&&X(/\/>/i,te)){Vt(Y,a);continue}if(ye&&X(/((--!?|])>)|<\/(style|title)/i,te)){Vt(Y,a);continue}Ve&&_([it,ot,wt],$t=>{te=de(te,$t," ")});const br=Z(a.nodeName);if(wr(br,ht,te)){if(St&&(ht==="id"||ht==="name")&&(Vt(Y,a),te=Ct+te),q&&typeof _t=="object"&&typeof _t.getAttributeType=="function"&&!ee)switch(_t.getAttributeType(br,ht)){case"TrustedHTML":{te=q.createHTML(te);break}case"TrustedScriptURL":{te=q.createScriptURL(te);break}}try{ee?a.setAttributeNS(ee,Y,te):a.setAttribute(Y,te),jr(a)?he(a):N(m.removed)}catch{}}}xe("afterSanitizeAttributes",a,null)},Zr=function f(a){let c=null;const h=Gr(a);for(xe("beforeSanitizeShadowDOM",a,null);c=h.nextNode();){if(xe("uponSanitizeShadowNode",c,null),Ce(c))continue;const k=Oe(c);c.nodeType===Le.element&&(k&&k.__depth?c.__depth=(c.__removalCount||0)+k.__depth+1:c.__depth=1),(c.__depth>=_r||c.__depth<0||Xt(c.__depth))&&he(c),c.content instanceof se&&(c.content.__depth=c.__depth,f(c.content)),yr(c)}xe("afterSanitizeShadowDOM",a,null)};return m.sanitize=function(f){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=null,h=null,k=null,Q=null;if(H=!f,H&&(f=""),h=c.ownerDocument.importNode(f,!0),h.nodeType===Le.element&&h.nodeName==="BODY"||h.nodeName==="HTML"?c=h:c.appendChild(h);else{if(!Re&&!Ve&&!Me&&f.indexOf("<")===-1)return q&&ge?q.createHTML(f):f;if(c=$r(f),!c)return Re?null:ge?rt:""}c&&$e&&he(c.firstChild);const Y=Gr(st?f:c);for(;k=Y.nextNode();){if(Ce(k))continue;const oe=Oe(k);k.nodeType===Le.element&&(oe&&oe.__depth?k.__depth=(k.__removalCount||0)+oe.__depth+1:k.__depth=1),(k.__depth>=_r||k.__depth<0||Xt(k.__depth))&&he(k),k.content instanceof se&&(k.content.__depth=k.__depth,Zr(k.content)),yr(k)}if(st)return f;if(Re){if(yt)for(Q=Be.call(c.ownerDocument);c.firstChild;)Q.appendChild(c.firstChild);else Q=c;return($.shadowroot||$.shadowrootmode)&&(Q=Mr.call(I,Q,!0)),Q}let ee=Me?c.outerHTML:c.innerHTML;return Me&&j["!doctype"]&&c.ownerDocument&&c.ownerDocument.doctype&&c.ownerDocument.doctype.name&&X(Ir,c.ownerDocument.doctype.name)&&(ee=" `+ee),Ve&&_([it,ot,wt],oe=>{ee=de(ee,oe," ")}),q&&ge?q.createHTML(ee):ee},m.setConfig=function(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ht(f),Ut=!0},m.clearConfig=function(){Ye=null,Ut=!1},m.isValidAttribute=function(f,a,c){Ye||Ht({});const h=Z(f),k=Z(a);return wr(h,k,c)},m.addHook=function(f,a){typeof a=="function"&&(ie[f]=ie[f]||[],J(ie[f],a))},m.removeHook=function(f){if(ie[f])return N(ie[f])},m.removeHooks=function(f){ie[f]&&(ie[f]=[])},m.removeAllHooks=function(){ie={}},m}var lr=Ot();return lr})},885262:(g,O,u)=>{var P,C;/*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */(function(T){var y;if(P=T,C=typeof P=="function"?P.call(O,u,O,g):P,C!==void 0&&(g.exports=C),y=!0,g.exports=T(),y=!0,!y){var E=window.Cookies,A=window.Cookies=T();A.noConflict=function(){return window.Cookies=E,A}}})(function(){function T(){for(var A=0,v={};A"u")){B=T({path:"/"},v.defaults,B),typeof B.expires=="number"&&(B.expires=new Date(new Date*1+B.expires*864e5)),B.expires=B.expires?B.expires.toUTCString():"";try{var Ee=JSON.stringify(J);/^[\{\[]/.test(Ee)&&(J=Ee)}catch{}J=A.write?A.write(J,N):encodeURIComponent(String(J)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),N=encodeURIComponent(String(N)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var ve="";for(var de in B)B[de]&&(ve+="; "+de,B[de]!==!0&&(ve+="="+B[de].split(";")[0]));return document.cookie=N+"="+J+ve}}function _(N,J){if(!(typeof document>"u")){for(var B={},Ee=document.cookie?document.cookie.split("; "):[],ve=0;ve{var P=u(577139),C=u(686019),T="[object Date]";function y(E){return C(E)&&P(E)==T}g.exports=y},907113:(g,O,u)=>{var P=u(139136),C=u(998458),T=u(9437),y=u(360982);function E(A,v){var D=y(A)?P:C;return D(A,T(v))}g.exports=E},774899:(g,O,u)=>{var P=u(312491),C=u(33876),T=u(653602),y=T&&T.isDate,E=y?C(y):P;g.exports=E},66551:(g,O,u)=>{var P=u(577139),C=u(866476),T="[object AsyncFunction]",y="[object Function]",E="[object GeneratorFunction]",A="[object Proxy]";function v(D){if(!C(D))return!1;var _=P(D);return _==y||_==E||_==T||_==A}g.exports=v},866476:g=>{function O(u){var P=typeof u;return u!=null&&(P=="object"||P=="function")}g.exports=O},951291:(g,O,u)=>{var P=u(994454),C=u(16483),T=u(617905);function y(E){return T(E)?P(E):C(E)}g.exports=y},899115:(g,O,u)=>{"use strict";function P(e){return!e||typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"}function C(e){for(const t in e.console){const r=t;if(typeof e.console[r]!="function"||r==="Console"||r==="assert"||r==="dir"||r==="dirxml"||r==="table")continue;const n=e.console[r];if(r==="error"){const i=e.console;i.orig={error:n}}e.console[r]=function(...i){return n(...i.map(o=>{if(P(o))return o;try{return JSON.stringify(o)}catch{return`Can't stringify ${o} - circular reference`}}))},Object.defineProperty(e.console[r],"name",{value:r,writable:!1})}}function T(e){if(e instanceof Error){const t=e.stack,r=e.message,n=e.code;Error.captureStackTrace?.(e),Object.setPrototypeOf(e,{});for(const i of Reflect.ownKeys(e))delete e[i];e.message=P(r)?r:JSON.stringify(r),e.stack=P(t)?t:JSON.stringify(t),e.code=P(n)?n:JSON.stringify(n),Reflect.preventExtensions(e)}}function y(e){return function(r){const n=r&&("error"in r&&r.error||"reason"in r&&r.reason);return e.setTimeout(()=>T(n),0),console.error("Unhandled error/rejection",r),r&&r.preventDefault&&r.preventDefault(),!0}}function E(e){C(e);const t=y(e);e.addEventListener("unhandledrejection",t),e.addEventListener("error",t)}function A(e){e._leakOverrides||(e._leakOverrides=!0,E(e))}var v=function(e){return e.Cold="Cold",e.Warm="Warm",e.Rollback="Rollback",e.Update="Update",e.Local="Local",e.Container="Container",e.Unknown="Unknown",e}({}),D=function(e){return e.SessionID="tmp.sessionId",e.DeviceID="tmp.deviceId",e.IsRelaunchFromOOPs="tmp.relaunchFromOOPs",e.PreAuthUserID="tmp.preAuthUserId",e.T2WebOptInSessionId="tmp.t2WebOptInSessionId",e.AttemptedWebBootCount="tmp.numT2WebBootAttempts",e}({}),_=function(e){return e.IndexPageReadStart="read-index-html",e.IndexPageSlowReadStart="slow-read-index-html",e.IndexPageStart="execute-index-html-script",e.CoreModuleLoaded="exp_loader_core_module_loaded",e.NotifyDesktop="exp_loader_notified_desktop",e.ConfigLoaded="exp_loader_config_loaded",e.MainChunksLoadingStart="exp_loader_load_bundles_start",e.MainChunksLoadingStop="exp_loader_load_bundles_stop",e.IndexPageStop="exp_loader_index_stop",e.MissingDeepLink="exp_loader_missing_deep_link",e.AsyncEntryModuleFederationUrlsInited="exp_loader_init_module_federation_remote_urls_failure",e.AsyncEntryDownloadStart="exp_loader_async_entry_load_start",e.AsyncEntryDownloadStop="exp_loader_async_entry_load_stop",e.AsyncEntryImportFailure="exp_loader_import_async_entry_failure",e.ActivateAppStart="exp_loader_start_activate_app",e.ClientStartStop="client_start_stop",e.RegisterServiceWorker="exp_loader_register_service_worker",e.TriggerSWCacheMainChunks="exp_loader_trigger_sw_main_chunks_cache",e}({}),N=function(e){return e.ExpLoaderFailure="ExpLoaderFailure",e.LoadBundlesFailure="LoadBundlesFailure",e.ParseIndexPageFailure="ParseIndexPageFailure",e.CoreStartTimeout="CoreStartTimeout",e.PreTelemetryCoreInitFailure="PreTelemetryCoreInitFailure",e}({}),J=function(e){return e.Windows="windows",e.Mac="mac",e.Linux="linux",e.ChromeOS="chromeos",e.Android="android",e.IOS="ios",e.WindowsPhone="windowsphone",e.Unknown="unknown",e}({}),B=function(e){return e.Web="web",e.PWA="pwa",e.Desktop="desktop",e.CDLWorker="cdlworker",e.Embed="embed",e.Maglev="maglev",e.OutlookWeb="Outlook Web",e.OutlookDesktop="Outlook Desktop",e.OfficeWeb="Office Web",e.OfficeDesktop="Office Desktop",e.WordWeb="Word Web",e.WordDesktop="Word Desktop",e.ExcelWeb="Excel Web",e.ExcelDesktop="Excel Desktop",e.PowerPointWeb="PowerPoint Web",e.PowerPointDesktop="PowerPoint Desktop",e}({}),Ee=function(e){return e.Embed="embed",e}({}),ve=function(e){return e.Outlook="outlook",e.Unknown="unknown",e}({}),de=function(e){return e.Edge="edge",e.Safari="safari",e.Chrome="chrome",e.Firefox="firefox",e.Electron="electron",e.Unknown="unknown",e}({}),U=function(e){return e[e.Web=1415]="Web",e[e.Desktop=27]="Desktop",e[e.Mac=28]="Mac",e[e.HoloLens=36]="HoloLens",e[e.Linux=41]="Linux",e[e.Rigel=34]="Rigel",e[e.SurfaceHub=35]="SurfaceHub",e[e.SurfaceHub2=38]="SurfaceHub2",e[e.Maglev=48]="Maglev",e[e.MaglevT21=49]="MaglevT21",e[e.MaglevMacT21=50]="MaglevMacT21",e[e.MaglevRoomsT21=51]="MaglevRoomsT21",e[e.MetaOsOffice=5500]="MetaOsOffice",e[e.MetaOsOutlook=5501]="MetaOsOutlook",e[e.MetaOsBing=5502]="MetaOsBing",e[e.MetaOsCopilot=5503]="MetaOsCopilot",e[e.MetaOsEdgeSidebar=5504]="MetaOsEdgeSidebar",e[e.MetaOsExcel=5505]="MetaOsExcel",e[e.MetaOsLoop=5506]="MetaOsLoop",e[e.MetaOsPowerpoint=5507]="MetaOsPowerpoint",e[e.MetaOsWindows=5508]="MetaOsWindows",e[e.MetaOsWord=5509]="MetaOsWord",e[e.TV=3623]="TV",e[e.Automotive=3624]="Automotive",e[e.SttOutlookWeb=5600]="SttOutlookWeb",e}({}),ft=function(e){return e.Supported="Supported",e.Unsupported="Unsupported",e.Unknown="Unknown",e}({});const ae="prod",X="infer",Ue=2,Xt=/(maglev|Teams)\/(\d+\.\d+\.\d+\.\d+)/,ne="teams-precache-v2";function sn(e){return e.includes("local")?"local":e.includes("-oncdn-")?"container":"production"}function L(e,t){try{const n=kr(e)?.dataset?.config;return n?JSON.parse(decodeURIComponent(n)):{}}catch(r){const n=`Failed to parse head-data config with error: ${r}`;t?.errorToTelemetry?t?.errorToTelemetry?.(n,"webclient_framework_head_config",void 0,!0):t?.error?.(n)}return{}}function kr(e){const t=e?.document.getElementsByTagName("head");if(t)return t[0]}function Te(e){const t=e?.navigator.userAgent||"";return t.indexOf("maglev/")!==-1||t.indexOf("Teams/")!==-1}function gt(e){const t=/(maglev|Teams)\/(\d+\.\d+\.\d+\.\d+)(?:\/| \()(\d+)(?:\s|\)|$)/,r=e.match(t),n=3;if(r&&r.length>n)switch(r[n]){case"49":return U.MaglevT21;case"50":return U.MaglevMacT21;case"51":return U.MaglevRoomsT21}return U.Maglev}const qt=e=>gt(e?.navigator.userAgent||"");function er(e){const t=e.navigator.userAgent.match(Xt);return t&&t.length>Ue?t[Ue]:void 0}function It(e,t){let r=t?.environment||ae;return r===X&&(r=rr(e)),r}function ln(e){const t=e.config.clientType;return t!==ClientType.Web?t:e.config.isPwa?ClientType.PWA:t}const tr=e=>e==="UpgradeNonBlocking"||e==="Warm",cn=e=>e==="Clean"||e==="UpgradeBlocking"||e===void 0||e===null;function rr(e){return e.location.origin.includes("gov")?"gcchigh":e.location.origin.includes("dod")?"dod":e.location.origin.includes("cn")?"gallatin":e.location.origin.includes("live")?"life":"prod"}function Fe(e){return e.navigator?.serviceWorker?.controller?.state==="activated"}function nr(e,t){const r=e&&Fe(t)&&t.performance.getEntriesByType("resource");if(r&&r.length>0){const n=r.find(i=>i.name===e);if(n&&n.workerStart>0)return!0}return!1}async function mt(e,t,r){let n=!1;try{e&&Fe(t)&&(n=await t.caches.match(e,{cacheName:ne})!==void 0)}catch{r?.error("Checking assets in sw cache failed")}return n}async function Pt(e,t,r){let n=!1;try{if(e&&Fe(t)){const i=await t.caches.open(ne);if(i){const o=await i.keys(),s=new RegExp(`https:\\/\\/staticsint\\.teams\\.cdn\\.office\\.net\\/teams-modular-packages\\/hashed-assets\\/${e}-[a-f0-9]{16}\\.js$`,"i");o.find(l=>s.test(l.url))!==void 0&&(n=!0)}}}catch{r?.error(`Checking assets in sw cache by name failed, chunk name: ${e}`)}return n}const Er=5e3;async function Tr(e,t,r){let n="";try{if(t){let i=0;const o=new Promise(l=>{i=e.setTimeout(()=>{l()},Er)}),s=async()=>{n=await Lr(t,"getSWVersion"),e.clearTimeout(i),i=0};await Promise.race([s,o])}}catch{r?.error("Get registerred SW version failed.")}return n}async function Lr(e,t){return new Promise((r,n)=>{const i=new MessageChannel;i.port1.onmessage=o=>{o.data.error?n(o.data.error):r(o.data)},e.postMessage(t,[i.port2])})}async function dn(e,t){let r;if("serviceWorker"in e.navigator)try{const n=await e.navigator.serviceWorker.getRegistration(t);n&&(n.active?r=n.active:n.waiting?r=n.waiting:n.installing&&(r=n.installing))}catch{}return r?.state||"NotFound"}function xr(e,t,r,n){let i;if(ir([t,r],n))try{n.measure(e,t,r),i=n.getEntriesByName(e)[0]?.duration,i&&(i=Math.round(i)),n.clearMeasures(e)}catch{i=void 0}return i}function ir(e,t){return!e.some(r=>t.getEntriesByName(r).length<=0)}function At(e,t){const r=t.getEntriesByName(e);if(r&&r.length>0)return r[0]}function or(e,t){At(e,t)===void 0&&t.mark(e)}function Ir(e,t,r,n){e.measure(t,r,n),e.clearMeasures(t),e.clearMarks(r),n&&e.clearMarks(n)}function un(e,t,r){e.mark(t,r),e.clearMarks(t)}const Ae="tmp",Le=3,ar=2,sr=4e4,Ot=145e3,lr=135e3,x=3,m=3e4,M=`${Ae}.experienceLoaderOverrides`,I=`${Ae}.numT2WebBootAttempts`,G=`${Ae}.lastT2WebBootAttemptRecordTime`,se=`${Ae}.isOptedIntoT2Web`,ze=`${Ae}.lastT2WebOptOutInfo`,Wt="ts.previousSessionLogs",cr="tmp.previousSessionLogs",et="tmp.previousSessionErrorLogs",Mt="tmp.forceT2Only",Pr="tmp.wasAutoOptedIntoT2Web",Rt="clientexperience",_t="ocdiRedirect",tt="ocdiRedirect",Ar=";path=/;secure;samesite=none;partitioned",Or="Thu, 01 Jan 1970 00:00:00 GMT",Wr=3e4,Oe="tmp.globalScriptErrorFromPreviousSession",q=1e3,rt="/diagnostics/network",nt=[_.IndexPageReadStart,_.IndexPageStart,_.CoreModuleLoaded,_.NotifyDesktop,_.ConfigLoaded,_.MainChunksLoadingStart,_.MainChunksLoadingStop,_.IndexPageStop,_.AsyncEntryDownloadStart,_.AsyncEntryModuleFederationUrlsInited,_.AsyncEntryDownloadStop];var le=function(e){return e.Failure="failure",e.Timeout="timeout",e.Abandoned="abandoned",e}({}),Be=function(e){return e.ClientStart="client_start",e.WebClientInputInvalid="web_client_input_invalid",e.ShowPreCoreErrorPage="precore_error_page",e.FallbackToT1Web="fallback_to_t1_web",e.ClearSWForClientStartFailure="clear_sw_for_client_start_failure",e.SidecarScriptError="sidecar-script-error",e.SidecarSemverMismatch="sidecar-semver-mismatch",e.SidecarCoreError="sidecar-core-error",e}({});function We(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Mr{async loadBuild(t){this.logger.debugNoPii("Build manifest:",t);const{asyncEntry:r,chunks:n,buildTimeConfigs:i}=t;if(i){const o=`config-${this.platformService.environment}`,s=i.filter(l=>l.path.indexOf(o)>=0);if(s.length>0){const l=s[0],d=this.globalWindow.document.createElement("link");d.href=l.path,d.as="script",d.rel="preload",l.integrity&&(d.integrity=l.integrity),d.crossOrigin="anonymous",this.globalWindow.document.head.appendChild(d)}}if(n){const o=!!this.globalWindow.localStorage.getItem(Oe);o&&this.globalWindow.localStorage.removeItem(Oe),this.globalWindow.performance.mark(_.MainChunksLoadingStart);try{this.diagnosticsService.persistDiagnostics();let s=[];if(r?.chunks?.length){const b=r.chunks.map(R=>this.loadScriptWithRetry(R,Le,ar,o));s=await Promise.all(b)}let l=n;this.platformService.enableSriForDynamicImports||(l=n.filter(b=>!b.isIntegritiesManifest));const d=l.map(b=>this.loadScriptWithRetry(b,Le,ar,o)),p=await Promise.all(d),w=[...s,...p];this.telemetryService.generateLoadBundlesRetryInfo(w),or(_.MainChunksLoadingStop,this.globalWindow.performance)}catch(s){const l=s.errorMessage||s,d=s.errorType||le.Failure,p=s.isLoadFromSWCache||"";throw this.logger.errorNoPii(s),this.globalWindow.performance.mark(_.MainChunksLoadingStop),await this.telemetryService.failClientStartScenarioWithMarks([_.IndexPageStart,_.MainChunksLoadingStart],d,{reason:l,isLoadedFromServiceWorkerCache:p}),s}}else this.logger.errorNoPii("Something wrong, there is no main chunks to load")}async loadScriptWithRetry(t,r,n,i){return new Promise(async(o,s)=>{let l=0,d=0,p=!1,w={};for(;!p&&l<=r&&d<=n;)try{await this.loadScriptInternal(t,l,i),p=!0}catch(b){l++,b.errorType===le.Timeout&&d++,w=b}p&&o({retryCount:l,retryDetails:t.path}),s(w)})}async loadScriptInternal(t,r,n){return new Promise((i,o)=>{const s=this.globalWindow.document.createElement("script"),l=this.globalWindow.setTimeout(async()=>{const b=`Download timeout: ${t.path}`;this.logger.warnNoPii(b);const R=await mt(t.path,this.globalWindow),re={errorMessage:b,errorType:le.Timeout,isLoadFromSWCache:R.toString()};o(re)},Wr);s.onload=async()=>{l&&this.globalWindow.clearTimeout(l),i()},s.onerror=async b=>{l&&this.globalWindow.clearTimeout(l);const R=`Failed to load: ${t.path} ${typeof b=="string"?b:b instanceof ErrorEvent?b.message:""}`.trim();this.logger.errorNoPii(R),this.globalWindow.document.head.removeChild(s);const re=await mt(t.path,this.globalWindow),we={errorMessage:R,errorType:le.Failure,isLoadFromSWCache:re.toString()};o(we)},t.integrity&&(s.integrity=t.integrity,s.crossOrigin="anonymous"),s.noModule=t.isPolyfill,s.defer=!0,s.async=!1,s.type=t.isTypeModule?"module":"";let d="";(r>0||n)&&(d=`?cb=${Date.now()}`);const p=`${t.path}${d}`;this.logger.logNoPii(`Trying to load: ${p}`);let w;this.urlPolicy?w=this.urlPolicy.createScriptURL(p):w=this.createTrustedChunkSrcFunction(p),w.toString()?s.src=w:o(`Load ${p} was failed.`),this.globalWindow.document.head.appendChild(s)})}createTrustedChunkSrcFunction(t){let r;return t.startsWith("/")?r=new URL(t,this.staticsPath):r=new URL(t),this.staticsPath?this.staticsPath===r.origin&&r.protocol==="https:"?t:"":(this.logger.errorNoPii("staticPath is not valid"),"")}constructor(t,r,n,i,o){We(this,"globalWindow",void 0),We(this,"telemetryService",void 0),We(this,"diagnosticsService",void 0),We(this,"platformService",void 0),We(this,"logger",void 0),We(this,"urlPolicy",void 0),We(this,"staticsPath",void 0),this.globalWindow=t,this.telemetryService=n,this.diagnosticsService=i,this.platformService=o,this.logger=r.newLogger("BuildLoader","frameworks-loader");const s=this.globalWindow.__webpack_public_path__;this.staticsPath="";try{if(s){const l=new URL(s);this.staticsPath=l.origin}else this.logger.errorNoPii("staticPath is not valid")}catch{this.logger.warnNoPii(`Failed to parse dynamic staticsPath origin from '${s}'`)}this.urlPolicy=window.trustedTypes?.createPolicy("@msteams/frameworks-loader#load-build-chunk",{createScriptURL:this.createTrustedChunkSrcFunction.bind(this)})}}var ie=function(e){return e[e.loadingApp=0]="loadingApp",e[e.coreInit=1]="coreInit",e}({});const it="tmp.default.default.react-web-client.",ot="previousSuccessfulInstalledBuild",wt="main-chunks-cached";var Rr=function(e){return e.Perf="perf",e.Scenario="scenarions",e.Logging="loggingns",e.Heartbeat="heartbeatns",e.Http="httpns",e.UserBI="userbins",e.Endpoint="endpointns",e}({}),dr=function(e){return e.ExpLoader="ExpLoader",e.Core="Core",e.Auth="Auth",e.App="App",e}({});const Dr=/[xy]/g;function Dt(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(Dr,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function hn(e,t){try{if(e!==void 0&&typeof e=="number")return t===LogResultType.None?!(e&LogResultType.LoggedInConsole):!!(e&t)}catch{console.log("Not valid")}}function Nr(e,t){return t|e}var j=u(907113),ur=u.n(j),$='"',hr="-",V="*",He="prototype",vt=Object[He].hasOwnProperty;function at(e,t){if(e)for(var r in e)vt.call(e,r)&&t.call(e,r,e[r])}function Nt(e,t){var r="https://browser.events.data.microsoft.com/OneCollector/1.0/",n;if(t)if(t.endpointUrl&&(r=t.endpointUrl),t.apikey)n=t.apikey;else return"invalid ApiKey (aka tenant-token)";var i=fr(new Date),o=0;if(e===null||typeof e>"u")return"input is null or undefined";if(e.name===null||typeof e.name>"u")return"telemetry item expects valid name";e.iKey===null||typeof e.iKey>"u"?e.iKey=st(n):n.indexOf(e.iKey)!=0&&console.warn("event iKey does not match the apikey (tenant-token). There may be issues ingesting telemetry"),(e.time===null||typeof e.time>"u")&&(e.time=i);var s=e.baseData,l=e.data,d=ge("name",e.name,!0);return d+=ge("time",e.time),d+=ge("ver",e.ver),d+=ge("iKey","o:"+e.iKey),d+="&apikey="+n,e.ext&&at(e.ext,function(p,w){at(w,function(b,R){if(bt(R)){var re=lt(b,R,!0);bt(re)&&(d+=ge("ext."+p+"."+b,re.value))}})}),at(s,function(p,w){var b=hr+p,R=lt(p,w,!0);R&&(o=Re(R.value,R.kind,R.propertyType),o>0&&(b=b+"*"+o.toString()),d+=ge(b,R.value))}),at(l,function(p,w){var b=V+p,R=lt(p,w,!0);R&&(o=Re(R.value,R.kind,R.propertyType),o>0&&(b=b+"*"+o.toString()),d+=ge(b,R.value))}),r+"t.js?"+d}function pr(e){return Object[He].toString.call(e)==="[object Date]"}function fr(e){if(pr(e)){var t=function(r){var n=String(r);return n.length===1&&(n="0"+n),n};return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+String((e.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}}function Ve(e){return e<<13}function ye(e){return Ge(e,"number")}function Me(e){return e<<5}function Ut(e){return!!(ye(e)&&e>=0&&e<=9)}function $e(e){return Ge(e,"boolean")}function Re(e,t,r){var n=-1;return Ct(e)?n:(t&&t>0&&(t===32?n=Ve(1):t<=13&&(n=Me(t))),Ft(r)&&Ut(r)?(n===-1&&(n=0),n|r):(me(e)&&(e=e[0]),n!==-1?n|yt(e):ye(e)?6:n))}function yt(e){return Ct(e)?-1:ye(e)?6:be(e)?1:$e(e)?7:-1}function ge(e,t,r){if(r===void 0&&(r=!1),bt(t)){var n;return r?n="qsp=true&":n="&",ye(t)||$e(t)?n+=e+"="+t:typeof t=="object"?n+=e+"="+JSON.stringify(t):n+=e+"="+$+encodeURIComponent(t)+$,n}else return""}function bt(e){return!(St(e)||e==="")}function St(e){return Ct(e)||e===null}function Ct(e){return e===void 0||Ge(e,"undefined")}function Ge(e,t){return typeof e===t}function st(e){if(e){var t=e.indexOf("-");if(t>-1)return e.substring(0,t)}return""}function be(e){return Ge(e,"string")}function me(e){return e instanceof Array}function gr(e){return e.length>0}function Ft(e){return!Ct(e)}function mr(e){return!!(e&&ye(e)&&(e>=0&&e<=13||e===32))}function lt(e,t,r){if(!be(e)||St(t)||t==="")return null;if(be(t)||ye(t)||$e(t)||me(t))t={value:t};else if(typeof t=="object"&&!vt.call(t,"value"))t={value:r?JSON.stringify(t):t};else if(St(t.value)||t.value===""||!be(t.value)&&!ye(t.value)&&!$e(t.value)&&!me(t.value))return null;if(me(t.value)&&!gr(t.value))return null;if(Ft(t.kind)){if(me(t.value)||!mr(t.kind))return null;t.value=t.value.toString()}return t}function ct(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class ue{async sendTelemetry(t,r,n){return new Promise((i,o)=>{const s={...this.baseEventData};s.name=t,this.setDataContext(s,r);const l=document.createElement("script"),d=Nt(s,{apikey:this.apikey});let p;if(ue.UrlPolicy?p=ue.UrlPolicy.createScriptURL(d,this.logger):p=ue.createTrustedURLFunction(d,this.logger),p.toString())l.src=p;else{o("Sending telemetry failed, 1DS URL is not valid");return}l.onload=()=>{this.logger.log("Telemetry sent."),i()},l.onerror=w=>{const b=`Telemetry failed to send: ${typeof w=="string"?w:w instanceof ErrorEvent?w.message:w instanceof Event?w.type:""}, reason ${n}`;this.logger.error(b),i()},document.body.appendChild(l)})}setEventBaseContext(t){this.baseEventData={...this.baseEventData,...t}}setDataContext(t,r){return ur()(r,(n,i)=>{t.data&&(t.data[i]=n)}),t}initialize(t){this.setEventBaseContext(t),this.baseEventData.data={},this.apikey=this.baseEventData.iKey,this.baseEventData.iKey=void 0}static createTrustedURLFunction(t,r){try{const n=new URL(t);if(n.protocol==="https:"&&n.host==="browser.events.data.microsoft.com"&&n.pathname.startsWith("/OneCollector"))return t}catch{r.errorNoPii?.("1DS collector url is not valid")}return""}constructor(t,r){if(ct(this,"logger",void 0),ct(this,"baseEventData",{name:""}),ct(this,"apikey",void 0),this.initialize(r),this.logger=t.newLogger("TelemetrySenderGetCollector","services-io-sender-get-collector"),!ue.UrlPolicy)try{const n=window.trustedTypes?.createPolicy("@msteams/frameworks-loader#telemetry-sender",{createScriptURL:ue.createTrustedURLFunction});ue.UrlPolicy=n}catch(n){this.logger.errorNoPii?.(`Create 1ds URL trustedType policy failed with error ${n}`)}}}ct(ue,"UrlPolicy",void 0);const dt={instrumentationKey:"bc3902d8132f43e3ae086a009979fa88-632130b2-9455-44a6-80e2-d7457b6eb8ca-7193"};function Se(e){if(e.indexOf("pre_core_error_")===0)return N.PreTelemetryCoreInitFailure;let t=N.ExpLoaderFailure;switch(e){case _.IndexPageStart:t=N.ParseIndexPageFailure;break;case _.MainChunksLoadingStart:t=N.LoadBundlesFailure;break;case _.MainChunksLoadingStop:case _.IndexPageStop:case _.AsyncEntryModuleFederationUrlsInited:case _.AsyncEntryDownloadStart:case _.AsyncEntryDownloadStop:t=N.CoreStartTimeout;break}return t}async function je(e){let t="online",r=0;try{const n=new Promise(s=>{r=e.setTimeout(()=>{t="pingTimeout",s()},q)}),i=new URL(`${rt}?cb=${Date.now()}`,e.location.href),o=e.fetch(i).then(()=>{r&&(e.clearTimeout(r),r=0)});await Promise.race([o,n])}catch{t="offline"}return t}function H(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const zt="ringFinder";class Ur{async failClientStartScenarioWithMarks(t,r,n){if(this.clientStartScenarioAlreadyFailed){this.logger.logNoPii("client_start already completed.");return}if(this.clientStartScenarioAlreadyFailed=!0,!this.allowSendTelemetry){this.logger.logNoPii("Block failing client_start scenario with marks.");return}this.globalWindow.performance.mark(_.ClientStartStop),(!t||t.length===0)&&(t=this.getExistingClientStartMarks()),t.push(_.ClientStartStop);const i=[],o=t.length-1;for(let l=0;l<=o;l++){let d="success",p=t[l],w="";if(p.indexOf("pre_core_error_")===0&&p.indexOf(":reason:")>0){d="failure";const b=p.split(":reason:");p=b[0],w=b[1]}(o===l||d!=="success")&&this.addUxStatus("FullPageErrorDisplayed"),i.push(this.createTelemetryStep(d,w,0,"",(l+1).toString(),p,l>0?t[l-1]:void 0)),l===o-1&&w!==""&&(n={...n||{},reason:`${w} ${n?.reason}`,...this.appUxStatus&&{AppInfo_UxStatus:this.appUxStatus}})}const s=i[o];s.Scenario_Step="stop",s.Scenario_Status=r,s.userAgent=this.globalWindow.navigator?.userAgent,o>0&&(s.previousStep=i[o-1].Scenario_Step,s.errorCode=Se(i[o-1].Scenario_Step||"")),n&&Object.keys(n).length>0&&(i[o]={...s,...n}),await this.failClientStartScenarioWithSteps(i)}generateLoadBundlesRetryInfo(t){t&&t.length>0?this.chunckLoadingRetryInfo=t.reduce((r,n)=>n.retryCount>0?{retryCount:r.retryCount+1,retryDetails:`${r.retryDetails} ${n.retryDetails}: ${n.retryCount};`}:r,{retryCount:0,retryDetails:""}):this.chunckLoadingRetryInfo=void 0}getSuccessClientStartTelemetrySteps(){const t=[];return nt.forEach(r=>{const n=this.createTelemetryStep("success","",0,"","",r);r===_.MainChunksLoadingStop&&this.addRetryInfoToStep(n),t.push(n)}),t}get deviceInfo(){return this._deviceInfo}get sessionId(){return this._sessionId}get preAuthUserId(){return this._preAuthUserId}get deviceId(){return this._deviceInfo?.deviceId||this.globalWindow.localStorage.getItem(D.DeviceID)?.toString()}get appUxStatus(){return Array.from(this._appUxStatus).join(",")}addUxStatus(t){this._appUxStatus.add(t)}get RelaunchReason(){return this._isRelaunchFromPreCoreOOPs?"ErrorPageReboot; source: expLoader":void 0}async sendNewScenarioThroughONEDS(t,r,n){if(!this.allowSendTelemetry){this.logger.logNoPii("Block sending new scenario through OneDS.");return}const o={...await this.createGeneralScenarioData(),...r};o.Scenario_Name=t,o.Scenario_Status=r.Scenario_Status||le.Failure,o.Scenario_Step="stop",this.sendTelemetryThroughOneDS(o,n)}clearLoaderMarks(){nt.forEach(t=>{t!==_.IndexPageStart&&this.globalWindow.performance.clearMarks(t)})}getSWCacheStatus(){const t=this.globalWindow.localStorage.getItem(`${it}${ot}`);return!t||t===wt?"ActiveAndPartiallyCached":"ActiveAndFullyCached"}async failClientStartScenarioWithSteps(t){if(!this.allowSendTelemetry||t.length===0||t[0].Scenario_Name!==Be.ClientStart){this.logger.logNoPii("Block failing client_start scenario wtih steps.");return}this.addUxStatus("FullPageErrorDisplayed");const r=await this.createGeneralScenarioData();if(this.loaderPlatformService.isMaglev&&this.hostCommsService){const n=t.map(i=>({...r,...i}));await this.failClientStartScenarioThroughPIE(n)}else{const n=t.find(s=>s.Scenario_Step==="stop"),i=this.createStepsTelemetry(t),o={showOops:"true",...r,...n,Scenario_Steps:JSON.stringify(i)};this.shouldClientStartBeAbandoned(o)&&(o.Scenario_Status=le.Abandoned),this.sendTelemetryThroughOneDS(o,"fail_client_start")}this.clearLoaderMarks()}createStepsTelemetry(t){const r=[];return t.length>this._maxStepsCountCanBeSentViaTelemetryCollector&&(t=t.slice(0,this._firstStepCountWhenStepsBeThrottled).concat(t.slice(t.length+this._firstStepCountWhenStepsBeThrottled-this._maxStepsCountCanBeSentViaTelemetryCollector))),t.forEach(n=>{r.push({Scenario_Status:n.Scenario_Status,Scenario_Step:n.Scenario_Step,stepDelta:n.stepDelta,sequence:n.sequence})}),r}getExistingClientStartMarks(){const t=[];for(const n of nt)At(n,this.globalWindow.performance)&&t.push(n);const r=this.getAdditionalClientStartMarks();return t.concat(r)}sendTelemetryThroughOneDS(t,r){this.oneDSSender||this.createOneDSSender(),this.oneDSSender?.sendTelemetry(Rr.Scenario,t,r),this.logger.logNoPii(`Send ONEDS Telemetry for scenario: ${t.Scenario_Name}, step: ${t.Scenario_Step}, status: ${t.Scenario_Status}`)}createOneDSSender(){const t={iKey:dt.instrumentationKey};this.oneDSSender=new ue(this.loggerFactory,t)}async failClientStartScenarioThroughPIE(t){try{if(this.loaderPlatformService.isMaglev&&this.hostCommsService){let r;const n=[];t.forEach(i=>{i.Scenario_Step==="stop"?r={scenarioName:i.Scenario_Name||"",scenarioStatus:i.Scenario_Status,addTelemetry:!0,logData:this.generateOneStepDataForPIE({...i,showOops:"true"}),previousSteps:n}:n.push({name:i.Scenario_Step||"",logData:this.generateOneStepDataForPIE(i)})}),r?((await this.hostCommsService.loadModule("scenario"))?.setScenarioCompletion?.(r),this.logger.error?.(`Send scenario ${r.scenarioStatus} through PIE`)):this.logger.error?.("Failed generating failure scenario telemetry for PIE API")}}catch(r){this.logger.error?.(`Send telemetry through PIE failed with error ${r}`)}}generateOneStepDataForPIE(t){return Object.keys(t).filter(n=>t[n]!==void 0).map(n=>({name:n,value:t[n]?.toString()||""}))}async createGeneralScenarioData(){if(!this.generalScenarioData){this.logger.logNoPii("Create general scenario telemetry info"),await this.initiateTelemetryValuesPromise;const t=this.getRingFinderInfo(),{bootType:r,buildVersion:n,deeplinkId:i,environment:o,isMaglev:s,networkState:l,pdsEnvironment:d,platformId:p,ring:w}=this.loaderPlatformService;let b="";l==="suspectedOnline"&&(b=await je(this.globalWindow));const R=this.globalWindow.localStorage.getItem(D.T2WebOptInSessionId);let re="noActiveFound";const we=Fe(this.globalWindow);let fe="";we&&(re=this.getSWCacheStatus(),this.loaderPlatformService.activeServiceWorkerVersion!==void 0?fe=this.loaderPlatformService.activeServiceWorkerVersion:this.loaderPlatformService.activeServiceWorkerVersionPromise!==void 0&&(fe=await this.loaderPlatformService.activeServiceWorkerVersionPromise));const Zt=new URLSearchParams(this.globalWindow.location.search).get("correlationId");this.generalScenarioData={AppInfo_BootType:r,AppInfo_ClientType:s?"maglev":"web",AppInfo_ExperienceName:this.config.experienceName,AppInfo_PlatformId:`${p}`,AppInfo_Version:`${p}/${n}`,AppInfo_Environment:o,AppInfo_ServiceWorkerState:re,AppInfo_UxStatus:this.appUxStatus,deeplinkId:i||void 0,DeviceInfo_Id:this.deviceId,DeviceInfo_OsName:this._deviceInfo?.osName,DeviceInfo_OsVersion:this._deviceInfo?.osVersion,EventInfo_ExternalCorrelationId:Zt||void 0,environment:d,indexVersionQSP:this.loaderPlatformService.indexVersionQSP,loaderNetworkPingState:b,navigatorNetworkState:l,RelaunchReason:this.RelaunchReason,AppInfo_ServiceWorkerVersion:fe,Session_Id:this.sessionId,Session_TelemetryContext:"experience_loader",t2WebOptInSessionId:R||void 0,userAgent:this.globalWindow.navigator.userAgent,UserInfo_Ring:w,UserInfo_Id:t?.oid,UserInfo_TenantId:t?.tid,UserInfo_TelemetryRegion:"ROW",telemetryRegionFetchComplete:!1}}return this.generalScenarioData}setAllowSendTelemetry(){const{bootType:t}=this.loaderPlatformService;this.skipTelemetryBootType.includes(t)?(this.logger.logNoPii(`No telemetry should be sent for bootType ${t}`),this.allowSendTelemetry=!1):this.allowSendTelemetry=!0}async initiateTelemetryValues(){let t,r;if(this.loaderPlatformService.isMaglev&&this.hostCommsService){r=await this.hostCommsService.loadModule("telemetry");const n=await r?.getContext?.({columns:["sessionId"]});n&&n.length===1&&n[0].column==="sessionId"&&(this._sessionId=n[0].value);const i=await this.hostCommsService.loadModule("osutils");this._deviceInfo=await i?.getDeviceInfo?.(),t=this._deviceInfo?.deviceId}return t||(t=this.globalWindow.localStorage.getItem(D.DeviceID)||Dt()),this.loaderPlatformService.isMaglev||(this._isRelaunchFromPreCoreOOPs=!!this.globalWindow.sessionStorage.getItem(D.IsRelaunchFromOOPs),this._isRelaunchFromPreCoreOOPs&&this.globalWindow.sessionStorage.removeItem(D.IsRelaunchFromOOPs)),this._sessionId||(this._sessionId=Dt()),this._preAuthUserId||(this._preAuthUserId=await r?.getPreAuthUserSamplingId?.()),this.globalWindow.sessionStorage.setItem(D.SessionID,this._sessionId),this.logger.logNoPii(`SessionId set as ${this._sessionId}`),this.globalWindow.localStorage.setItem(D.DeviceID,t),this.logger.logNoPii(`DeviceId set as ${t}`),Promise.resolve()}getRingFinderInfo(){try{const t=this.loaderPlatformService.getCookieByName(zt);return t?JSON.parse(decodeURIComponent(t)):void 0}catch(t){this.logger.errorNoPii(`Error parsing ringFinder cookie: ${t}`);return}}addRetryInfoToStep(t){this.chunckLoadingRetryInfo&&this.chunckLoadingRetryInfo.retryCount>0&&t&&!t.retryCount&&(t.retryCount=this.chunckLoadingRetryInfo.retryCount,t.retryReason=this.chunckLoadingRetryInfo.retryDetails)}createTelemetryStep(t,r,n,i,o,s,l){const d=l&&this.calculateStepDelta(l,s),p=At(s,this.globalWindow.performance);return{scenarioPhase:s.startsWith("core_")?dr.Core:dr.ExpLoader,Scenario_Name:Be.ClientStart,Scenario_Status:t,Scenario_Step:s,error:r,stepDelta:d?.toString(),timeStamp:p?.startTime||this.globalWindow.performance.now(),sequence:o,retryCount:n,retryReason:i}}calculateStepDelta(t,r){return xr("calculateStepdetlata",t,r,this.globalWindow.performance)}getAdditionalClientStartMarks(){const t=this.globalWindow.performance?.getEntriesByType("mark"),r=t.filter(i=>i.name&&(i.name.startsWith("exp_loader_err_")||i.name.startsWith("core_"))).map(i=>i.name.split(" ")[0]);let n=t.filter(i=>i.name&&i.name.startsWith("pre_core_error_")).map(i=>i.name);return n.length>this._firstStepCountWhenStepsBeThrottled&&(n=n.slice(0,this._firstStepCountWhenStepsBeThrottled)),r.concat(n.reverse())}shouldClientStartBeAbandoned(t){return(t.Scenario_Status===le.Failure||t.Scenario_Status===le.Timeout)&&t.previousStep===_.MainChunksLoadingStart&&t.AppInfo_ClientType==="web"&&t.AppInfo_ServiceWorkerState!=="active"&&!!t.navigatorNetworkState&&t.loaderNetworkPingState!=="online"}constructor(t,r,n,i,o){H(this,"globalWindow",void 0),H(this,"loggerFactory",void 0),H(this,"loaderPlatformService",void 0),H(this,"hostCommsService",void 0),H(this,"config",void 0),H(this,"logger",void 0),H(this,"skipTelemetryBootType",void 0),H(this,"allowSendTelemetry",void 0),H(this,"_sessionId",void 0),H(this,"_deviceInfo",void 0),H(this,"_isRelaunchFromPreCoreOOPs",void 0),H(this,"chunckLoadingRetryInfo",void 0),H(this,"generalScenarioData",void 0),H(this,"initiateTelemetryValuesPromise",void 0),H(this,"clientStartScenarioAlreadyFailed",void 0),H(this,"oneDSSender",void 0),H(this,"_preAuthUserId",void 0),H(this,"_maxStepsCountCanBeSentViaTelemetryCollector",void 0),H(this,"_firstStepCountWhenStepsBeThrottled",void 0),H(this,"_appUxStatus",void 0),this.globalWindow=t,this.loggerFactory=r,this.loaderPlatformService=n,this.hostCommsService=i,this.config=o,this.skipTelemetryBootType=[v.Unknown,v.Local],this.allowSendTelemetry=!0,this._isRelaunchFromPreCoreOOPs=!1,this.generalScenarioData=void 0,this.clientStartScenarioAlreadyFailed=!1,this.oneDSSender=void 0,this._maxStepsCountCanBeSentViaTelemetryCollector=50,this._firstStepCountWhenStepsBeThrottled=10,this.logger=this.loggerFactory.newLogger("LoaderTelemetryService","frameworks-loader"),this.initiateTelemetryValuesPromise=this.initiateTelemetryValues(),this.setAllowSendTelemetry(),this._appUxStatus=new Set(this.loaderPlatformService.isMaglev?["WindowAppeared"]:[])}}function De(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const ut="provider-cache-storage",Fr=5e3;class Z{async getItem(t){await this.migrateToCacheStorage(t);try{return await timed(this.getItemRaw(t),this.cacheStorageTimeoutMS)}catch(r){const n=isTimedError(r)?`Timed out getting item from CacheStorage: ${t}`:`Failed to get item from CacheStorage: ${t}`;this.logger.errorToTelemetry?.(n,"provider_cache_storage")}return null}async setItem(t,r){try{await timed(this.setItemRaw(t,r),this.cacheStorageTimeoutMS)}catch(n){const i=isTimedError(n)?`Timed out setting item in CacheStorage: ${t}`:`Failed to set item in CacheStorage: ${t}`;this.logger.errorToTelemetry?.(i,"provider_cache_storage")}}async removeItem(t){try{await timed(this.removeItemRaw(t),this.cacheStorageTimeoutMS)}catch(r){const n=isTimedError(r)?`Timed out removing item from CacheStorage: ${t}`:`Failed to remove item from CacheStorage: ${t}`;this.logger.errorToTelemetry?.(n,"provider_cache_storage")}}async getKeys(){try{return await timed(this.getKeysRaw(),this.cacheStorageTimeoutMS)}catch(t){const r=isTimedError(t)?"Timed out getting keys from CacheStorage":"Failed to get keys from CacheStorage";this.logger.errorToTelemetry?.(r,"provider_cache_storage")}return[]}async migrateToCacheStorage(t){const r=this.host.localStorage.getItem(t);if(r)try{await timed(this.setItemRaw(t,r),this.cacheStorageTimeoutMS),this.host.localStorage.removeItem(t),this.logger.infoToTelemetry?.(`Migrated provider cache storage from LocalStorage to CacheStorage: ${t}`,"provider_cache_storage")}catch(n){isTimedError(n)?this.logger.errorToTelemetry?.(`Timed out migrating provider cache storage from LocalStorage to CacheStorage: ${t}`,"provider_cache_storage"):this.logger.errorToTelemetry?.(`Failed to migrate provider cache storage from LocalStorage to CacheStorage: ${t}`,"provider_cache_storage")}}async getItemRaw(t){const r=await this.host.caches.open(ut);let n=await r.match(new Request(this.getRootRelativeKey(t)));return n||(n=await r.match(new Request(this.getDirectoryRelativeKey(t)))),n?n.text():null}async setItemRaw(t,r){const n=await this.host.caches.open(ut),i=new Response(r);await n.put(new Request(this.getRootRelativeKey(t)),i)}async removeItemRaw(t){const r=await this.host.caches.open(ut);await Promise.all([r.delete(this.getRootRelativeKey(t)),r.delete(this.getDirectoryRelativeKey(t))])}async getKeysRaw(){const t=await this.host.caches.open(ut),r=[],n=await t.keys();for(const i of n)r.push(i.url);return r.map(i=>i.substring(i.lastIndexOf("/")+1))}getRootRelativeKey(t){return t.charAt(0)==="/"?t:`/${t}`}getDirectoryRelativeKey(t){return t.charAt(0)==="/"?t.substring(1):t}constructor(t,r,n=Fr){De(this,"host",void 0),De(this,"cacheStorageTimeoutMS",void 0),De(this,"logger",void 0),this.host=t,this.cacheStorageTimeoutMS=n,this.logger=r.newLogger("AsyncCacheStorage","core-services-settings")}}const Ye=async(e,t)=>{t?.logNoPii?.("Purging cached ECS settings"),e.caches?await e.caches.delete(ut)?t?.logNoPii?.("Successfully deleted cached ECS settings from cache storage"):t?.logNoPii?.("ECS settings not found in cache storage"):t?.errorNoPii?.("Caches is not defined on host")},_r=async(e,t)=>{const r=t?.newLogger("purgeCachedSettings","core-services-settings");r?.logNoPii?.("Purging cached settings"),await Ye(e,r),r?.logNoPii?.("Completed purging cached settings")};var kt=function(e){return e[e.Loading=0]="Loading",e[e.Error=1]="Error",e}({});const Bt={"af-za":{loading_aria_label:"Laai tans \u2026",oops_error_title:"Oeps",oops_error:"Oeps, onbekende fout!",oops_loading_error:"Oeps, toepassing kon nie laai nie!",oops_init_error:"Oeps, toepassing kon nie begin nie!",retry_error:"Probeer weer",clear_cache_error:"Vee cache uit en probeer weer."},"ar-sa":{loading_aria_label:"\u064A\u062A\u0645 \u0627\u0644\u0622\u0646 \u0627\u0644\u062A\u062D\u0645\u064A\u0644...",oops_error_title:"\u0639\u0630\u0631\u0627\u064B",oops_error:"\u0639\u0630\u0631\u0627\u064B\u060C \u0647\u0646\u0627\u0643 \u062E\u0637\u0623 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641!",oops_loading_error:"\u0639\u0630\u0631\u0627\u064B\u060C \u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u062A\u0637\u0628\u064A\u0642.",oops_init_error:"\u0639\u0630\u0631\u0627\u064B\u060C \u0641\u0634\u0644\u062A \u062A\u0647\u064A\u0626\u0629 \u0627\u0644\u062A\u0637\u0628\u064A\u0642.",retry_error:"\u0625\u0639\u0627\u062F\u0629 \u0645\u062D\u0627\u0648\u0644\u0629",clear_cache_error:"\u0645\u0633\u062D \u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062A\u062E\u0632\u064A\u0646 \u0627\u0644\u0645\u0624\u0642\u062A \u0648\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629"},"az-latn-az":{loading_aria_label:"Y\xFCkl\u0259nir...",oops_error_title:"Ups",oops_error:"Ups, nam\u0259lum x\u0259ta!",oops_loading_error:"Proqram y\xFCkl\u0259nm\u0259di.",oops_init_error:"Proqram\u0131 ba\u015Flatmaq olmad\u0131.",retry_error:"T\u0259krar c\u0259hd et",clear_cache_error:"Ke\xE7i t\u0259mizl\u0259yin v\u0259 yenid\u0259n c\u0259hd edin"},"bg-bg":{loading_aria_label:"\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435...",oops_error_title:"\u0413\u0440\u0435\u0448\u043A\u0430",oops_error:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430 \u0433\u0440\u0435\u0448\u043A\u0430!",oops_loading_error:"\u041E\u043F\u0430, \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E \u043D\u0435 \u0443\u0441\u043F\u044F \u0434\u0430 \u0441\u0435 \u0437\u0430\u0440\u0435\u0434\u0438!",oops_init_error:"\u041E\u043F\u0430, \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E \u043D\u0435 \u0443\u0441\u043F\u044F \u0434\u0430 \u0441\u0435 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0430!",retry_error:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D \u043E\u043F\u0438\u0442",clear_cache_error:"\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043D\u0435 \u043D\u0430 \u043A\u0435\u0448\u0430 \u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D \u043E\u043F\u0438\u0442"},"bs-latn-ba":{loading_aria_label:"U\u010Ditavanje...",oops_error_title:"Ups",oops_error:"Ups, nepoznata gre\u0161ka!",oops_loading_error:"Ups, u\u010Ditavanje aplikacije nije uspjelo!",oops_init_error:"Ups, inicijalizovanje aplikacije nije uspjelo!",retry_error:"Poku\u0161aj ponovo",clear_cache_error:"Obri\u0161i ke\u0161 memoriju i poku\u0161aj ponovo"},"ca-es":{loading_aria_label:"S'est\xE0 carregant...",oops_error_title:"Vaja!",oops_error:"Vaja, error desconegut!",oops_loading_error:"Vaja, no s'ha pogut carregar l'aplicaci\xF3.",oops_init_error:"Vaja, no s'ha pogut inicialitzar l'aplicaci\xF3.",retry_error:"Torna-ho a provar",clear_cache_error:"Esborra la mem\xF2ria cau i torna-ho a provar"},"ca-es-valencia":{loading_aria_label:"S'est\xE0 carregant...",oops_error_title:"Vaja!",oops_error:"Vaja, error desconegut!",oops_loading_error:"Vaja, no s'ha pogut carregar l'aplicaci\xF3.",oops_init_error:"Vaja, no s'ha pogut inicialitzar l'aplicaci\xF3.",retry_error:"Torna-ho a provar",clear_cache_error:"Esborra la mem\xF2ria cau i torna-ho a provar"},"cs-cz":{loading_aria_label:"Na\u010D\xEDt\xE1n\xED\u2026",oops_error_title:"Jejda",oops_error:"Jejda, nezn\xE1m\xE1 chyba",oops_loading_error:"Ale ne, aplikaci se nepovedlo na\u010D\xEDst!",oops_init_error:"Ale ne, aplikaci se nepovedlo inicializovat!",retry_error:"Zkusit znovu",clear_cache_error:"Vymazat mezipam\u011B\u0165 a zkusit to znovu"},"cy-gb":{loading_aria_label:"Llwytho...",oops_error_title:"Wps",oops_error:"Wps, gwall anhysbys!",oops_loading_error:"Wps, wedi methu \xE2 llwytho'r ap!",oops_init_error:"Wps, wedi methu ag ymgychwyn yr ap!",retry_error:"Ailgynnig",clear_cache_error:"Cliriwch y storfa a rhoi cynnig arall arni"},"da-dk":{loading_aria_label:"Indl\xE6ser...",oops_error_title:"Ups",oops_error:"Ups, ukendt fejl!",oops_loading_error:"Ups, appen kunne ikke indl\xE6ses!",oops_init_error:"Ups, appen kunne ikke initialiseres!",retry_error:"Pr\xF8v igen",clear_cache_error:"Ryd cachen, og pr\xF8v igen"},"de-de":{loading_aria_label:"Wird geladen...",oops_error_title:"Hoppla",oops_error:"Hoppla, unbekannter Fehler!",oops_loading_error:"Hoppla, die App konnte nicht geladen werden!",oops_init_error:"Hoppla, die App konnte nicht gestartet werden!",retry_error:"Wiederholen",clear_cache_error:"Cache l\xF6schen und erneut versuchen"},"el-gr":{loading_aria_label:"\u0393\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9 \u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7...",oops_error_title:"\u03A9\u03C7",oops_error:"\u03A9\u03C7, \u03AC\u03B3\u03BD\u03C9\u03C3\u03C4\u03BF \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1!",oops_loading_error:"\u0394\u03C5\u03C3\u03C4\u03C5\u03C7\u03CE\u03C2, \u03B7 \u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE\u03C2 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5!",oops_init_error:"\u0394\u03C5\u03C3\u03C4\u03C5\u03C7\u03CE\u03C2, \u03B7 \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03B9 \u03C0\u03C1\u03BF\u03B5\u03C4\u03BF\u03B9\u03BC\u03B1\u03C3\u03AF\u03B1!",retry_error:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",clear_cache_error:"\u0395\u03BA\u03BA\u03B1\u03B8\u03AC\u03C1\u03B9\u03C3\u03B7 cache \u03BA\u03B1\u03B9 \u03B5\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7"},"en-gb":{loading_aria_label:"Loading...",oops_error_title:"Oops",oops_error:"Oops, unknown error!",oops_loading_error:"Oops, app failed to load!",oops_init_error:"Oops, app failed to init!",retry_error:"Retry",clear_cache_error:"Clear cache and retry"},"en-us":{loading_aria_label:"Loading...",oops_error_title:"Oops",oops_error:"Oops, unknown error!",oops_loading_error:"Oops, app failed to load!",oops_init_error:"Oops, app failed to init!",retry_error:"Retry",clear_cache_error:"Clear cache and retry"},"es-es":{loading_aria_label:"Cargando...",oops_error_title:"\xA1Vaya!",oops_error:"\xA1Vaya! Se ha producido un error desconocido.",oops_loading_error:"\xA1Vaya! No se ha podido cargar la aplicaci\xF3n.",oops_init_error:"\xA1Vaya! No se ha podido iniciar la aplicaci\xF3n.",retry_error:"Reintentar",clear_cache_error:"Borrar cach\xE9 y reintentar"},"es-mx":{loading_aria_label:"Cargando...",oops_error_title:"\xA1Uy!",oops_error:"\xA1Uy! Se ha producido un error desconocido.",oops_loading_error:"\xA1Uy! No se pudo cargar la aplicaci\xF3n.",oops_init_error:"\xA1Uy! No se pudo iniciar la aplicaci\xF3n.",retry_error:"Reintentar",clear_cache_error:"Borrar cach\xE9 y reintentar"},"et-ee":{loading_aria_label:"Laadimine\u2026",oops_error_title:"Oih",oops_error:"Oih, tundmatu t\xF5rge!",oops_loading_error:"Rakendust ei saanud laadida!",oops_init_error:"Rakendust ei saanud l\xE4htestada!",retry_error:"Proovi uuesti",clear_cache_error:"T\xFChjenda vahem\xE4lu ja proovi uuesti"},"eu-es":{loading_aria_label:"Kargatzen\u2026",oops_error_title:"Hara!",oops_error:"Hara! Errore ezezaguna!",oops_loading_error:"Ezin izan da kargatu aplikazioa.",oops_init_error:"Ezin izan da abiarazi aplikazioa.",retry_error:"Saiatu berriro",clear_cache_error:"Ezabatu katxea eta saiatu berriro"},"fa-ir":{loading_aria_label:"\u062F\u0631 \u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC...",oops_error_title:"\u0645\u062A\u0623\u0633\u0641\u06CC\u0645",oops_error:"\u062E\u0637\u0627\u06CC \u0646\u0627\u0645\u0634\u062E\u0635 \u0631\u062E \u062F\u0627\u062F!",oops_loading_error:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0646\u062C\u0627\u0645 \u0646\u0634\u062F!",oops_init_error:"\u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0646\u062C\u0627\u0645 \u0646\u0634\u062F!",retry_error:"\u0627\u0645\u062A\u062D\u0627\u0646 \u0645\u062C\u062F\u062F",clear_cache_error:"\u062D\u0627\u0641\u0638\u0647 \u067E\u0646\u0647\u0627\u0646 \u0631\u0627 \u067E\u0627\u06A9 \u06A9\u0646\u06CC\u062F \u0648 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F"},"fi-fi":{loading_aria_label:"Ladataan...",oops_error_title:"Virhe",oops_error:"Hups, tuntematon virhe!",oops_loading_error:"Sovelluksen lataaminen ep\xE4onnistui.",oops_init_error:"Sovelluksen k\xE4ynnist\xE4minen ep\xE4onnistui.",retry_error:"Yrit\xE4 uudelleen",clear_cache_error:"Tyhjenn\xE4 v\xE4limuisti ja yrit\xE4 uudelleen"},"fil-ph":{loading_aria_label:"Naglo-load...",oops_error_title:"Oops",oops_error:"Oops, hindi kilalang error!",oops_loading_error:"Oops, nabigong i-load ang app!",oops_init_error:"Oops, nabigong mag-init ang app!",retry_error:"Subukang muli",clear_cache_error:"I-clear ang cache at subukang muli"},"fr-ca":{loading_aria_label:"T\xE9l\xE9versement en cours...",oops_error_title:"Oups",oops_error:"Une erreur inconnue s\u2019est produite!",oops_loading_error:"Oups, impossible de charger l\u2019application!",oops_init_error:"Oups, impossible de d\xE9marrer l\u2019application!",retry_error:"R\xE9essayer",clear_cache_error:"Videz le cache et r\xE9essayez"},"fr-fr":{loading_aria_label:"Le chargement est en cours...",oops_error_title:"Oups",oops_error:"D\xE9sol\xE9... Nous avons rencont\xE9 une erreur inconnue.",oops_loading_error:"Nous sommes d\xE9sol\xE9s, l\u2019application n\u2019a pas pu \xEAtre charg\xE9e !",oops_init_error:"Nous sommes d\xE9sol\xE9s, l\u2019application n\u2019a pas pu d\xE9marrer !",retry_error:"R\xE9essayer",clear_cache_error:"Videz le cache et r\xE9essayez"},"gl-es":{loading_aria_label:"Cargando...",oops_error_title:"Vaites!",oops_error:"Vaites! Hai un erro desco\xF1ecido.",oops_loading_error:"Vaia, produciuse un erro ao cargar a aplicaci\xF3n!",oops_init_error:"Vaia, produciuse un erro ao iniciar a aplicaci\xF3n!",retry_error:"Tentalo de novo",clear_cache_error:"Limpar cach\xE9 e tentar de novo"},"he-il":{loading_aria_label:"\u05D8\u05D5\u05E2\u05DF...",oops_error_title:"\u05D0\u05D5\u05E4\u05E1",oops_error:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2\u05D4!",oops_loading_error:"\u05D0\u05D5\u05E4\u05E1, \u05D8\u05E2\u05D9\u05E0\u05EA \u05D4\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D4 \u05E0\u05DB\u05E9\u05DC\u05D4!",oops_init_error:"\u05D0\u05D5\u05E4\u05E1, \u05D4\u05D9\u05D9\u05E9\u05D5\u05DD \u05DC\u05D0 \u05D4\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D1\u05E6\u05E2 \u05D0\u05EA\u05D7\u05D5\u05DC!",retry_error:"\u05E0\u05E1\u05D4 \u05E9\u05E0\u05D9\u05EA",clear_cache_error:"\u05E0\u05E7\u05D4 \u05DE\u05D8\u05DE\u05D5\u05DF \u05D5\u05E0\u05E1\u05D4 \u05E9\u05E0\u05D9\u05EA"},"hi-in":{loading_aria_label:"\u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u093E \u0939\u0948...",oops_error_title:"\u0909\u092B\u093C",oops_error:"\u0913\u0939, \u0905\u091C\u094D\u091E\u093E\u0924 \u0924\u094D\u0930\u0941\u091F\u093F!",oops_loading_error:"\u0913\u0939, \u0910\u092A \u0932\u094B\u0921 \u0939\u094B\u0928\u0947 \u092E\u0947\u0902 \u0935\u093F\u092B\u0932 \u0930\u0939\u093E!",oops_init_error:"\u0913\u0939, \u0910\u092A \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u0947 \u092E\u0947\u0902 \u0935\u093F\u092B\u0932 \u0930\u0939\u093E!",retry_error:"\u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902",clear_cache_error:"\u0915\u0948\u0936 \u0938\u093E\u092B\u093C \u0915\u0930\u0947\u0902 \u0914\u0930 \u092A\u0941\u0928\u0930\u094D\u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902"},"hr-hr":{loading_aria_label:"U\u010Ditavanje...",oops_error_title:"Ups",oops_error:"Ups, nepoznata pogre\u0161ka!",oops_loading_error:"Uh, u\u010Ditavanje aplikacije nije uspjelo!",oops_init_error:"Uh, inicijalizacija aplikacije nije uspjela!",retry_error:"Poku\u0161ajte ponovo",clear_cache_error:"O\u010Distite predmemoriju i poku\u0161ajte ponovo"},"hu-hu":{loading_aria_label:"Bet\xF6lt\xE9s...",oops_error_title:"Hopp\xE1!",oops_error:"Hopp\xE1, ismeretlen hiba t\xF6rt\xE9nt!",oops_loading_error:"Hopp\xE1, az alkalmaz\xE1st nem siker\xFClt bet\xF6lteni!",oops_init_error:"Hopp\xE1, az alkalmaz\xE1st nem siker\xFClt inicializ\xE1lni!",retry_error:"\xDAjra",clear_cache_error:"Gyors\xEDt\xF3t\xE1r ki\xFCr\xEDt\xE9se \xE9s \xFAjrapr\xF3b\xE1lkoz\xE1s"},"id-id":{loading_aria_label:"Memuat...",oops_error_title:"Ups",oops_error:"Ups, kesalahan tidak diketahui!",oops_loading_error:"Ups, aplikasi gagal dimuat!",oops_init_error:"Ups, aplikasi gagal dimulai!",retry_error:"Coba lagi",clear_cache_error:"Bersihkan cache lalu coba lagi"},"is-is":{loading_aria_label:"Hle\xF0ur...",oops_error_title:"\xDAps",oops_error:"\xDAps, \xF3\xFEekkt villa!",oops_loading_error:"\xDAps, ekki t\xF3kst a\xF0 hla\xF0a forriti!",oops_init_error:"\xDAps, ekki t\xF3kst a\xF0 frumstilla forrit!",retry_error:"Reyna aftur",clear_cache_error:"Hreinsa skyndiminni og reyna aftur"},"it-it":{loading_aria_label:"Caricamento in corso...",oops_error_title:"Ops",oops_error:"Errore sconosciuto.",oops_loading_error:"Ops, l'app non \xE8 stata caricata!",oops_init_error:"Ops, l'app non \xE8 riuscita ad avviarsi!",retry_error:"Riprova",clear_cache_error:"Svuota cache e riprova"},"ja-jp":{loading_aria_label:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",oops_error_title:"\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093",oops_error:"\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002",oops_loading_error:"\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093\u3002\u30A2\u30D7\u30EA\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002",oops_init_error:"\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093\u3002\u30A2\u30D7\u30EA\u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002",retry_error:"\u518D\u8A66\u884C",clear_cache_error:"\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u30AF\u30EA\u30A2\u3057\u3066\u518D\u8A66\u884C"},"ka-ge":{loading_aria_label:"\u10E9\u10D0\u10E2\u10D5\u10D8\u10E0\u10D7\u10D5\u10D0...",oops_error_title:"\u10E3\u10D8",oops_error:"\u10E1\u10D0\u10DB\u10EC\u10E3\u10EE\u10D0\u10E0\u10DD\u10D3, \u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10E8\u10D4\u10EA\u10D3\u10DD\u10DB\u10D0\u10D0!",oops_loading_error:"\u10E1\u10D0\u10DB\u10EC\u10E3\u10EE\u10D0\u10E0\u10DD\u10D3, \u10D0\u10DE\u10D8 \u10D5\u10D4\u10E0 \u10E9\u10D0\u10D8\u10E2\u10D5\u10D8\u10E0\u10D7\u10D0!",oops_init_error:"\u10E1\u10D0\u10DB\u10EC\u10E3\u10EE\u10D0\u10E0\u10DD\u10D3, \u10D0\u10DE\u10D8\u10E1 \u10D8\u10DC\u10D8\u10EA\u10D8\u10D0\u10DA\u10D8\u10D6\u10D4\u10D1\u10D0 \u10D5\u10D4\u10E0 \u10E8\u10D4\u10E1\u10E0\u10E3\u10DA\u10D3\u10D0!",retry_error:"\u10EE\u10D4\u10DA\u10D0\u10EE\u10DA\u10D0 \u10EA\u10D3\u10D0",clear_cache_error:"\u10D9\u10D4\u10E8\u10D8-\u10DB\u10D4\u10EE\u10E1\u10D8\u10D4\u10E0\u10D4\u10D1\u10D8\u10E1 \u10D2\u10D0\u10E1\u10E3\u10E4\u10D7\u10D0\u10D5\u10D4\u10D1\u10D0 \u10D3\u10D0 \u10EE\u10D4\u10DA\u10D0\u10EE\u10DA\u10D0 \u10EA\u10D3\u10D0"},"kk-kz":{loading_aria_label:"\u0416\u04AF\u043A\u0442\u0435\u043B\u0443\u0434\u0435...",oops_error_title:"\u041E\u0439!",oops_error:"\u041E\u0439, \u0431\u0435\u043B\u0433\u0456\u0441\u0456\u0437 \u049B\u0430\u0442\u0435!",oops_loading_error:"\u041E\u0439, \u0431\u0430\u0493\u0434\u0430\u0440\u043B\u0430\u043C\u0430\u043D\u044B \u0436\u04AF\u043A\u0442\u0435\u0443 \u0441\u04D9\u0442\u0441\u0456\u0437 \u0430\u044F\u049B\u0442\u0430\u043B\u0434\u044B!",oops_init_error:"\u041E\u0439, \u0431\u0430\u0493\u0434\u0430\u0440\u043B\u0430\u043C\u0430\u043D\u044B \u0431\u0430\u043F\u0442\u0430\u043D\u0434\u044B\u0440\u0443 \u0441\u04D9\u0442\u0441\u0456\u0437 \u0430\u044F\u049B\u0442\u0430\u043B\u0434\u044B!",retry_error:"\u049A\u0430\u0439\u0442\u0430\u043B\u0430\u0443",clear_cache_error:"\u041A\u044D\u0448\u0442\u0456 \u0442\u0430\u0437\u0430\u043B\u0430\u043F, \u049B\u0430\u0439\u0442\u0430\u043B\u0430\u04A3\u044B\u0437"},"km-kh":{loading_aria_label:"\u1780\u17C6\u1796\u17BB\u1784\u1791\u17B6\u1789...",oops_error_title:"\u17A2\u17BC\u17CE",oops_error:"\u17A2\u17BC\u17CE \u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u178A\u17C2\u179B\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB!",oops_loading_error:"\u17A2\u17BC\u17CE \u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\u1798\u17B7\u1793\u17A2\u17B6\u1785\u1791\u17B6\u1789\u1794\u17B6\u1793\u1791\u17C1!",oops_init_error:"\u17A2\u17CE\u17BC \u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\u1798\u17B7\u1793\u17A2\u17B6\u1785\u1785\u17BC\u179B\u1794\u17B6\u1793\u1791\u17C1!",retry_error:"\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",clear_cache_error:"\u179B\u17BB\u1794\u1780\u17B6\u179A\u1794\u1798\u17D2\u179A\u17BB\u1784\u1791\u17BB\u1780\u1794\u178E\u17D2\u178A\u17C4\u17C7\u17A2\u17B6\u179F\u1793\u17D2\u1793 \u179A\u17BD\u1785\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178A\u1784\u1791\u17C0\u178F"},"ko-kr":{loading_aria_label:"\uB85C\uB4DC \uC911...",oops_error_title:"\uC2E4\uC218",oops_error:"\uC774\uB7F0, \uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4!",oops_loading_error:"\uC8C4\uC1A1\uD569\uB2C8\uB2E4. \uC571\uC744 \uB85C\uB4DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",oops_init_error:"\uC8C4\uC1A1\uD569\uB2C8\uB2E4. \uC571\uC5D0\uC11C \uCD08\uAE30\uD654\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4!",retry_error:"\uC7AC\uC2DC\uB3C4",clear_cache_error:"\uCE90\uC2DC \uC9C0\uC6B0\uAE30 \uBC0F \uB2E4\uC2DC \uC2DC\uB3C4"},"lo-la":{loading_aria_label:"\u0E81\u0EB3\u0EA5\u0EB1\u0E87\u0EC2\u0EAB\u0EBC\u0E94...",oops_error_title:"\u0E82\u0ECD\u0EAD\u0EB0\u0EC4\u0E9E",oops_error:"\u0E82\u0ECD\u0EAD\u0EB0\u0EC4\u0E9E, \u0E82\u0ECD\u0EC9\u0E9C\u0EB4\u0E94\u0E9E\u0EB2\u0E94\u0E97\u0EB5\u0EC8\u0E9A\u0ECD\u0EC8\u0EAE\u0EB9\u0EC9\u0E88\u0EB1\u0E81!",oops_loading_error:"\u0E82\u0ECD\u0EAD\u0EB0\u0EC4\u0E9E, \u0EC2\u0EAB\u0EBC\u0E94\u0EC1\u0EAD\u0EB1\u0E9A\u0E9A\u0ECD\u0EC8\u200B\u0EAA\u0ECD\u0EB2\u200B\u0EC0\u0EA5\u0EB1\u0E94!",oops_init_error:"\u0E82\u0ECD\u0EAD\u0EB0\u0EC4\u0E9E, \u0EC0\u0EA5\u0EB5\u0EC8\u0EA1\u0EC1\u0EAD\u0EB1\u0E9A\u0E9A\u0ECD\u0EC8\u200B\u0EAA\u0ECD\u0EB2\u200B\u0EC0\u0EA5\u0EB1\u0E94!",retry_error:"\u0EA5\u0EAD\u0E87\u0EC3\u0EDD\u0EC8",clear_cache_error:"\u0EA5\u0EB6\u0E9A\u0EA5\u0EC9\u0EB2\u0E87\u0EC1\u0E84\u0E8A\u0ECC \u0EC1\u0EA5\u0EB0 \u0EA5\u0EAD\u0E87\u0EC3\u0EDD\u0EC8\u0EAD\u0EB5\u0E81"},"lt-lt":{loading_aria_label:"\u012Ekeliama...",oops_error_title:"Oi",oops_error:"Oi, ne\u017Einoma klaida!",oops_loading_error:"Deja, programos \u012Fkelti nepavyko!",oops_init_error:"Deja, programos paleisti nepavyko!",retry_error:"Kartoti",clear_cache_error:"I\u0161valyti talpykl\u0105 ir bandyti dar kart\u0105"},"lv-lv":{loading_aria_label:"Iel\u0101d\u0113...",oops_error_title:"Ak vai",oops_error:"Atvainojiet, nezin\u0101ma k\u013C\u016Bda!",oops_loading_error:"Diem\u017E\u0113l programmu neizdev\u0101s iel\u0101d\u0113t!",oops_init_error:"Diem\u017E\u0113l programmu neizdev\u0101s inicializ\u0113t!",retry_error:"M\u0113\u0123in\u0101t v\u0113lreiz",clear_cache_error:"Not\u012Br\u012Bt ke\u0161atmi\u0146u un m\u0113\u0123in\u0101t v\u0113lreiz"},"mk-mk":{loading_aria_label:"\u0421\u0435 \u0432\u0447\u0438\u0442\u0443\u0432\u0430...",oops_error_title:"\u041E\u043F\u0430",oops_error:"\u041E\u043F\u0430, \u043D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u0433\u0440\u0435\u0448\u043A\u0430!",oops_loading_error:"\u041E\u043F\u0430, \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0430\u0442\u0430 \u043D\u0435 \u0443\u0441\u043F\u0435\u0430 \u0434\u0430 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430!",oops_init_error:"\u041E\u043F\u0430, \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0430\u0442\u0430 \u043D\u0435 \u0443\u0441\u043F\u0435\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0435!",retry_error:"\u041E\u0431\u0438\u0434\u0435\u0442\u0435 \u0441\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E",clear_cache_error:"\u0418\u0441\u0447\u0438\u0441\u0442\u0438 \u0433\u043E \u043A\u0435\u0448\u043E\u0442 \u0438 \u043E\u0431\u0438\u0434\u0438 \u0441\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E"},"ms-my":{loading_aria_label:"Memuatkan...",oops_error_title:"Alamak",oops_error:"Op, ralat tidak diketahui!",oops_loading_error:"Op, aplikasi gagal untuk dimuat!",oops_init_error:"Op, aplikasi gagal untuk dimulakan!",retry_error:"Cuba lagi",clear_cache_error:"Kosongkan cache dan cuba semula"},"mt-mt":{loading_aria_label:"Qed jillowdja...",oops_error_title:"Oops",oops_error:"Oops, \u017Cball mhux mag\u0127ruf!",oops_loading_error:"Oops, l-app ma rnexxilniex tillowdja!",oops_init_error:"Oops, l-app ma rnexxilniex tinizjalizza!",retry_error:"Er\u0121a\u2019 pprova",clear_cache_error:"Ne\u0127\u0127i l-cache u er\u0121a\u2019 pprova"},"nb-no":{loading_aria_label:"Laster inn...",oops_error_title:"Uff da",oops_error:"Ukjent feil!",oops_loading_error:"Obs! Appen kan ikke lastes inn!",oops_init_error:"Obs! Appen ble ikke startet!",retry_error:"Pr\xF8v p\xE5 nytt",clear_cache_error:"T\xF8m hurtigbufferen, og pr\xF8v p\xE5 nytt"},"nl-nl":{loading_aria_label:"Laden...",oops_error_title:"Oeps",oops_error:"Onbekende fout",oops_loading_error:"De app is niet geladen.",oops_init_error:"De app is niet ge\xEFnitialiseerd.",retry_error:"Opnieuw proberen",clear_cache_error:"Cache wissen en opnieuw proberen"},"nn-no":{loading_aria_label:"Lastar inn ...",oops_error_title:"Uff da",oops_error:"Uff, ukjend feil!",oops_loading_error:"Obs! Kan ikkje laste inn appen!",oops_init_error:"Obs! Kan ikkje starte appen!",retry_error:"Pr\xF8v igjen",clear_cache_error:"T\xF8m hurtigbuffer og pr\xF8v p\xE5 nytt"},"pl-pl":{loading_aria_label:"Trwa \u0142adowanie...",oops_error_title:"Ojej",oops_error:"Wyst\u0105pi\u0142 nieznany b\u0142\u0105d!",oops_loading_error:"Niestety, nie mo\u017Cna za\u0142adowa\u0107 aplikacji!",oops_init_error:"Niestety, nie mo\u017Cna zainicjowa\u0107 aplikacji!",retry_error:"Spr\xF3buj ponownie",clear_cache_error:"Wyczy\u015B\u0107 pami\u0119\u0107 podr\u0119czn\u0105 i pon\xF3w pr\xF3b\u0119"},"pt-br":{loading_aria_label:"Carregando...",oops_error_title:"Opa",oops_error:"Oops, erro desconhecido!",oops_loading_error:"Falha ao carregar o aplicativo!",oops_init_error:"Falha ao inicializar o aplicativo!",retry_error:"Repetir",clear_cache_error:"Limpar cache e tentar novamente"},"pt-pt":{loading_aria_label:"A carregar...",oops_error_title:"Ups",oops_error:"Ups, erro desconhecido!",oops_loading_error:"Ups, n\xE3o foi poss\xEDvel carregar a aplica\xE7\xE3o!",oops_init_error:"Ups, n\xE3o foi poss\xEDvel iniciar a aplica\xE7\xE3o!",retry_error:"Tentar novamente",clear_cache_error:"Limpar cache e tentar novamente"},"ro-ro":{loading_aria_label:"Se \xEEncarc\u0103...",oops_error_title:"Ups!",oops_error:"Ups, eroare necunoscut\u0103!",oops_loading_error:"Ups, aplica\u021Bia nu s-a \xEEnc\u0103rcat!",oops_init_error:"Ups, aplica\u021Bia nu a putut fi ini\u021Bializat\u0103!",retry_error:"Re\xEEncerca\u021Bi",clear_cache_error:"Goli\u021Bi memoria cache \u0219i re\xEEncerca\u021Bi"},"ru-ru":{loading_aria_label:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",oops_error_title:"\u041E\u0439",oops_error:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430!",oops_loading_error:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435.",oops_init_error:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435.",retry_error:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443",clear_cache_error:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043A\u044D\u0448 \u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443"},"sk-sk":{loading_aria_label:"Na\u010D\xEDtava sa...",oops_error_title:"Ach nie",oops_error:"Ach nie, nezn\xE1ma chyba!",oops_loading_error:"Ale nie, aplik\xE1ciu sa nepodarilo na\u010D\xEDta\u0165!",oops_init_error:"Ale nie, aplik\xE1ciu sa nepodarilo inicializova\u0165!",retry_error:"Zk\xFAsi\u0165 znova",clear_cache_error:"Vymaza\u0165 vyrovn\xE1vaciu pam\xE4\u0165 a sk\xFAsi\u0165 to znova"},"sl-si":{loading_aria_label:"Nalaganje...",oops_error_title:"Ojej",oops_error:"Ojej, neznana napaka.",oops_loading_error:"Aplikacije ni bilo mogo\u010De nalo\u017Eiti.",oops_init_error:"Aplikacije ni bilo mogo\u010De inicializirati.",retry_error:"Poskusi znova",clear_cache_error:"Po\u010Disti predpomnilnik in poskusi znova"},"sq-al":{loading_aria_label:"Duke u ngarkuar...",oops_error_title:"Mos!",oops_error:"Mos, gabim i panjohur!",oops_loading_error:"Oops, aplikacioni d\xEBshtoi t\xEB niset!",oops_init_error:"Oops, aplikacioni d\xEBshtoi t\xEB niset!",retry_error:"Riprovo",clear_cache_error:"Pastro memorien specifike dhe provo s\xEBrish"},"sr-cyrl-rs":{loading_aria_label:"\u0423\u0447\u0438\u0442\u0430\u0432\u0430\u045A\u0435 \u0458\u0435 \u0443 \u0442\u043E\u043A\u0443...",oops_error_title:"\u0423\u043F\u0441",oops_error:"\u0423\u043F\u0441, \u043D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u0433\u0440\u0435\u0448\u043A\u0430!",oops_loading_error:"\u0423\u043F\u0441, \u0443\u0447\u0438\u0442\u0430\u0432\u0430\u045A\u0435 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0435 \u043D\u0438\u0458\u0435 \u0443\u0441\u043F\u0435\u043B\u043E!",oops_init_error:"\u0423\u043F\u0441, \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0430 \u043D\u0438\u0458\u0435 \u0443\u0441\u043F\u0435\u043B\u0430 \u0434\u0430 \u0441\u0435 \u0438\u043D\u0438\u0446\u0438\u0458\u0430\u043B\u0438\u0437\u0443\u0458\u0435!",retry_error:"\u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u043F\u043E\u043D\u043E\u0432\u043E",clear_cache_error:"\u041E\u0431\u0440\u0438\u0448\u0438 \u043A\u0435\u0448 \u0438 \u043F\u043E\u043A\u0443\u0448\u0430\u0458 \u043F\u043E\u043D\u043E\u0432\u043E"},"sr-latn-rs":{loading_aria_label:"U\u010Ditavanje\u2026",oops_error_title:"Ups",oops_error:"Ups, nepoznata gre\u0161ka!",oops_loading_error:"Ups, u\u010Ditavanje aplikacije nije uspelo!",oops_init_error:"Ups, pokretanje aplikacije nije uspelo!",retry_error:"Poku\u0161aj ponovo",clear_cache_error:"Obri\u0161i ke\u0161 i poku\u0161aj ponovo"},"sv-se":{loading_aria_label:"L\xE4ser in...",oops_error_title:"Hoppsan",oops_error:"Hoppsan, ok\xE4nt fel!",oops_loading_error:"Hoppsan, det gick inte att l\xE4sa in appen!",oops_init_error:"Hoppsan, det gick inte att initiera appen!",retry_error:"F\xF6rs\xF6k igen",clear_cache_error:"Rensa cacheminnet och f\xF6rs\xF6k igen"},"th-th":{loading_aria_label:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14...",oops_error_title:"\u0E02\u0E2D\u0E2D\u0E20\u0E31\u0E22",oops_error:"\u0E02\u0E2D\u0E2D\u0E20\u0E31\u0E22 \u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01",oops_loading_error:"\u0E02\u0E2D\u0E2D\u0E20\u0E31\u0E22 \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E44\u0E14\u0E49!",oops_init_error:"\u0E02\u0E2D\u0E2D\u0E20\u0E31\u0E22 \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E23\u0E34\u0E48\u0E21\u0E41\u0E2D\u0E1B\u0E44\u0E14\u0E49!",retry_error:"\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",clear_cache_error:"\u0E25\u0E49\u0E32\u0E07\u0E41\u0E04\u0E0A\u0E41\u0E25\u0E49\u0E27\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07"},"tr-tr":{loading_aria_label:"Y\xFCkleniyor...",oops_error_title:"Hay aksi",oops_error:"Hay aksi, bilinmeyen hata!",oops_loading_error:"Ne yaz\u0131k ki uygulama y\xFCklenemedi.",oops_init_error:"Ne yaz\u0131k ki uygulama ba\u015Flat\u0131lamad\u0131.",retry_error:"Yeniden dene",clear_cache_error:"\xD6nbelle\u011Fi temizle ve yeniden dene"},"uk-ua":{loading_aria_label:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F\u2026",oops_error_title:"\u041E\u0442\u0430\u043A\u043E\u0457",oops_error:"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430",oops_loading_error:"\u041D\u0430 \u0436\u0430\u043B\u044C, \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443.",oops_init_error:"\u041D\u0430 \u0436\u0430\u043B\u044C, \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0456\u043D\u0456\u0446\u0456\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443.",retry_error:"\u0421\u043F\u0440\u043E\u0431\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u043E\u0432\u0443",clear_cache_error:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043A\u0435\u0448 \u0456 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443"},"uz-latn-uz":{loading_aria_label:"Yuklanmoqda...",oops_error_title:"Voy!",oops_error:"Voy, noma\u02BClum xato!",oops_loading_error:"Voy, ilova yuklanmadi!",oops_init_error:"Voy, ilova ishga tushmadi!",retry_error:"Qayta urinish",clear_cache_error:"Keshni tozalab, qayta urinib ko\u02BBring"},"vi-vn":{loading_aria_label:"\u0110ang t\u1EA3i...",oops_error_title:"R\u1EA5t ti\u1EBFc",oops_error:"R\u1EA5t ti\u1EBFc, l\u1ED7i kh\xF4ng x\xE1c \u0111\u1ECBnh!",oops_loading_error:"R\u1EA5t ti\u1EBFc, kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c \u1EE9ng d\u1EE5ng!",oops_init_error:"R\u1EA5t ti\u1EBFc, kh\xF4ng kh\u1EDFi t\u1EA1o \u0111\u01B0\u1EE3c \u1EE9ng d\u1EE5ng!",retry_error:"Th\u1EED l\u1EA1i",clear_cache_error:"X\xF3a b\u1ED9 nh\u1EDB \u0111\u1EC7m v\xE0 th\u1EED l\u1EA1i"},"zh-cn":{loading_aria_label:"\u6B63\u5728\u52A0\u8F7D...",oops_error_title:"\u7CDF\u7CD5",oops_error:"\u7CDF\u7CD5\uFF0C\u672A\u77E5\u9519\u8BEF!",oops_loading_error:"\u7CDF\u7CD5\uFF0C\u5E94\u7528\u52A0\u8F7D\u5931\u8D25!",oops_init_error:"\u7CDF\u7CD5\uFF0C\u5E94\u7528\u65E0\u6CD5\u521D\u59CB\u5316!",retry_error:"\u91CD\u8BD5",clear_cache_error:"\u6E05\u9664\u7F13\u5B58\u5E76\u91CD\u8BD5"},"zh-tw":{loading_aria_label:"\u6B63\u5728\u8F09\u5165...",oops_error_title:"\u7CDF\u7CD5",oops_error:"\u7CDF\u7CD5\uFF0C\u767C\u751F\u672A\u77E5\u7684\u932F\u8AA4!",oops_loading_error:"\u7CDF\u7CD5\uFF0C\u7121\u6CD5\u8F09\u5165\u61C9\u7528\u7A0B\u5F0F\u3002",oops_init_error:"\u7CDF\u7CD5\uFF0C\u7121\u6CD5\u521D\u59CB\u5316\u61C9\u7528\u7A0B\u5F0F!",retry_error:"\u91CD\u8A66",clear_cache_error:"\u6E05\u9664\u5FEB\u53D6\u4E26\u91CD\u8A66"}};var Ht=function(e){return e.None="None",e.Core="Core",e.MeetNow="MeetNow",e.Loading="Loading",e.Main="Main",e.Mini="Mini",e.ChatPopout="ChatPopout",e.Meeting="Meeting",e.Presenter="Presenter",e}({}),zr=function(e){return e.ButtonsOnly="ButtonsOnly",e.FullWidth="FullWidth",e}({}),Br=function(e){return e.TopLeft="TopLeft",e.TopRight="TopRight",e.BottomLeft="BottomLeft",e.BottomRight="BottomRight",e}({}),pn=function(e){return e.Hidden="Hidden",e.Visible="Visible",e.Disabled="Disabled",e}({}),Hr=function(e){return e.Rectangle="Rectangle",e}({}),Vr=function(e){return e.Subtract="Subtract",e}({}),fn=function(e){return e.Meeting="Meeting",e.Send="Send",e}({}),he=function(e){return e.Leave="Leave",e.Stay="Stay",e}({}),Vt=function(e){return e.Left="Left",e.Right="Right",e}({}),$r=function(e){return e.Left="Left",e.Center="Center",e.Right="Right",e.Start="Start",e.End="End",e}({}),Gr=function(e){return e.Top="Top",e.Center="Center",e.Bottom="Bottom",e}({}),jr=function(e){return e.Hide="Hide",e.Show="Show",e.ShowNoActivate="ShowNoActivate",e.Maximize="Maximize",e.Minimize="Minimize",e.Restore="Restore",e.FullScreen="FullScreen",e}({}),Yr=function(e){return e.Meeting="Meeting",e.Chat="Chat",e.CallMonitor="CallMonitor",e}({}),xe=function(e){return e.Inside="Inside",e.Outside="Outside",e}({});function Ce(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class wr{async showTitleBar({showActionButtons:t}={showActionButtons:!1}){const r=this.document.getElementById("pre-core-title-bar");if(r&&(r.classList.add("show"),r.removeAttribute("aria-hidden"),r.classList.remove("hide-delayed-animation")),await(await this.getWindowControlsModule())?.isCustomFrameRenderingButtons?.()){const o=this.document.getElementById("pre-core-action-buttons");o?.parentNode?.removeChild(o)}else t&&this.showActionButtons()}hideTitleBar(){const t=this.document.getElementById("pre-core-title-bar");if(t){t.setAttribute("aria-hidden","true"),t.classList.remove("show");const r=t.cloneNode(!0);t.parentNode?.replaceChild(r,t)}this.disposeWindowStateChangeSubscription&&this.disposeWindowStateChangeSubscription()}showActionButtons(){this.document.getElementById("pre-core-action-buttons")?.classList.add("show");const t=this.document.getElementById("pre-core-title-bar-minimize-button");t&&(t.onclick=()=>this.minimizeWindow());const r=this.document.getElementById("pre-core-title-bar-maximize-restore-button");r&&(this.displayMaximumOrRestoreIcon(),r.onclick=()=>this.maximizeRestoreHandler(),this.registerForWindowStateChange());const n=this.document.getElementById("pre-core-title-bar-close-button");n&&(n.onclick=()=>this.closeWindow())}closeWindow(){this.window.close()}async displayMaximumOrRestoreIcon(t){const r=this.document.getElementById("pre-core-maximize-icon"),n=this.document.getElementById("pre-core-restore-icon");if(!r||!n)return;let i=t;i||(i=await this.getWindowState()),i?.maximized?(r.classList.add("hide"),n.classList.remove("hide")):(r.classList.remove("hide"),n.classList.add("hide"))}async getWindowControlsModule(){return this.windowControlsModule||(this.windowControlsModule=await this.hostCommunication?.loadModule("windowcontrols")),this.windowControlsModule}async getWindowId(){return this.permanentWindowId?this.permanentWindowId:(await this.getWindowControlsModule())?.getWindowByTag?.(Ht.Main)}async getWindowState(){const t={minimized:!1,maximized:!1,fullscreen:!1,closed:!1},r=await this.getWindowId();return r?await(await this.getWindowControlsModule())?.getWindowState?.(r)||t:(this.logger?.errorNoPii?.("Window ID is invalid."),t)}async maximizeWindow(){const t=await this.getWindowId(),r=await this.getWindowControlsModule();return t&&r?.maximize?.(t)}async minimizeWindow(){const t=await this.getWindowId(),r=await this.getWindowControlsModule();return t&&r?.minimize?.(t)}async restoreWindow(){const t=await this.getWindowId(),r=await this.getWindowControlsModule();return t&&r?.restore?.(t)}async registerForWindowStateChange(){if(this.disposeWindowStateChangeSubscription)return;const t=await this.getWindowControlsModule(),r=async n=>{if(!n){this.logger?.errorNoPii?.("No data of window state changed event was found.");return}const i=await this.getWindowId();if(!n.windowId||i&&n.windowId!==i){this.logger?.errorNoPii?.(`WindowId was not match. ${n.windowId}, current window id: ${i}`);return}this.displayMaximumOrRestoreIcon(n.placement)};this.disposeWindowStateChangeSubscription=t?.registerForWindowStateChanged?.(r)}constructor(t,r,n,i){Ce(this,"window",void 0),Ce(this,"permanentWindowId",void 0),Ce(this,"logger",void 0),Ce(this,"hostCommunication",void 0),Ce(this,"windowControlsModule",void 0),Ce(this,"disposeWindowStateChangeSubscription",void 0),Ce(this,"document",void 0),Ce(this,"maximizeRestoreHandler",void 0),this.window=t,this.permanentWindowId=r,this.logger=n,this.hostCommunication=i,this.maximizeRestoreHandler=async()=>{(await this.getWindowState())?.maximized?await this.restoreWindow():await this.maximizeWindow(),await this.displayMaximumOrRestoreIcon()},this.document=this.window.document}}const vr=["aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","ae","aeb","aec","afb","ajp","apc","apd","ar","arb","arc","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","bcc","bqi","ckb","dv","fa","glk","hbo","he","jpr","ku","men","mzn","nqo","pbt","pbu","peo","pes","pga","pnb","prd","prp","prs","ps","pst","sam","sd","shu","sqr","ssh","ug","ur","xaa","xmn","ydd","yhd","yi","yih","yud","pseudo_rtl"];function yr(e){const t=e.trim().split("-")[0].toLocaleLowerCase();return vr.indexOf(t)>-1}var Zr=u(20003);const f=(e,t)=>{const r=yr(t),n=e.document.documentElement;n.setAttribute("lang",t),n.setAttribute("dir",r?"rtl":"ltr")},a=(e,t)=>{e.document.title=`${t} | Microsoft Teams`},c=e=>{e.document.documentElement.classList.add("mica")},h=e=>{e.document.documentElement.classList.add("flyout")},k=(e,t)=>ee(e,{...Y(["content","focusable","nonce","onclick"],["link","meta","script","#comment","!doctype"],{RETURN_DOM:!1,WHOLE_DOCUMENT:!0}),TRUSTED_TYPES_POLICY:t}),Q=(e,t)=>ee(e,{...Y(["content","focusable","onclick"],["#comment"],{RETURN_DOM:!0,WHOLE_DOCUMENT:!1,FORCE_BODY:!0}),TRUSTED_TYPES_POLICY:t}),Y=(e,t,r)=>({ADD_ATTR:e,ADD_TAGS:t,RETURN_TRUSTED_TYPE:!0,...r}),ee=(e,t)=>(0,Zr.sanitize)(e,t),oe="teams-precache-v2",ht="react-web-client",te="client-start-failure-count",br=2;async function $t(e,t){let r=!1,n="unRegisterServiceWorker skipped";if(!("serviceWorker"in e.navigator))return t?.log(`${n}, since ServiceWorker is not available`),!1;try{const i=new URL("serviceworker.js",e.location.href).pathname,o=await e.navigator.serviceWorker.getRegistration(i);if(o)if(await o.unregister())r=await e.caches.delete(oe),r?(e.localStorage.removeItem(`${it}${ot}`),n="ServiceWorker successfully unregister and cache deleted"):n="Unregister ServiceWorker succeed, but deleting cache failed";else return t?.error("ServiceWorker unregister failed"),!1;else n=`${n}, no active ServiceWorker`}catch(i){return t?.error(`ServiceWorker unregister failed with error: ${i.message}`),!1}return t?.log(n),r}function zn(e,t){const r=gn(e,t);e.localStorage.removeItem(r)}function Bn(e,t,r){if(e.navigator?.serviceWorker?.controller?.state!=="activated")return!1;let i=0;const o=gn(e,t);let s=!1;try{const l=e.localStorage.getItem(o);l&&(i=parseInt(l,10)||0),i{this.updateCarouselText(t)},Hn)))}showTitleBarIfRequired(){this.platformService.deeplinkTarget!=="flyout"&&this.titleBarHandler.showTitleBar({showActionButtons:this.platformService.isMaglev})}async startPulseAnimation(){const t=Kr(this.platformService.platformId),r=Gn(this.platformService.environment),n=r&&t,i=this.window.document.getElementById("pre-core-title-bar-logo");if(i&&i.classList.add("hide"),r&&!n)return;const o=this.window.document.getElementById("loading-screen"),s=this.window.document.getElementById("loading-screen-logo");if(o){if((t||n)&&s)if(s.classList.add("scale-animation-T2_1"),this._enable2025BrandIcons)s.classList.add("t2-icon-2025"),this._animationTimeout=this.window.setTimeout(()=>{s?.classList.add("t2-icon-2025-glint")},Vn);else if(this.platformService.platformId===U.Web)s.classList.add("t2-icon");else if(n)s.classList.add("t2-icon");else switch(this.platformService.appIconLabel){case"PRE":s.classList.add("t2-icon-pre");break;case"NEW":s.classList.add("t2-icon-new");break;default:s.classList.add("t2-icon");break}else o.classList.add("pulse-animation");const l=Bt[this.platformService.locale];l&&o.setAttribute("aria-valuetext",l.loading_aria_label)}}stopPulseAnimationAndHideLoadingScreen(){const t=this.window.document.getElementById("loading-screen"),r=Kr(this.platformService.platformId),n=this.window.document.getElementById("loading-screen-logo");if(t){t.setAttribute("aria-hidden","true");const i=({animationName:o})=>{o==="fade-out"&&(t.removeEventListener("animationend",i),t.remove())};r?n?.addEventListener("animationend",i):t.classList.remove("pulse-animation"),t.addEventListener("animationend",i),r?t.classList.add("fade-out-animation-T2_1"):t.classList.add("fade-out-animation")}this.window.clearInterval(this.carouselInterval),this.carouselInterval=void 0}hideErrorScreenElement(){this.window.document.getElementById("error-screen")?.classList.remove("show")}displayError(t){this.window.document.getElementById("error-screen")?.classList.add("show");const n=this.platformService.locale,i=Bt[n];if(!i)return;const o=this.window.document.getElementById("error-title"),s=this.window.document.getElementById("error-description"),l=this.window.document.getElementById("error-action");if(a(this.window,i.oops_error_title),o&&(o.innerText=i.oops_error_title),s){let p=i.oops_error;switch(t){case ie.loadingApp:p=i.oops_loading_error;break;case ie.coreInit:p=i.oops_init_error;break}s.innerText=p}l&&(l.innerText=i.retry_error,l.onclick=this.handleRetry);const d=this.window.document.getElementById("error-action-clear-cache");d&&(d.innerText=i.clear_cache_error,d.onclick=this.handleClearCacheAndRetry)}updateCarouselText(t){this.carouselIndex>0&&this.slideOutCarouselText();const r=this.window.document.getElementsByClassName("text-slider")[0];if(r){const n=this.window.document.createElement("div");n.innerText=t[this.carouselIndex%t.length],n.className="text-slide-in",r.appendChild(n)}this.carouselIndex++}slideOutCarouselText(){this.window.document.getElementsByClassName("text-slide-out")[0]?.remove();const t=this.window.document.getElementsByClassName("text-slide-in")[0];t&&(t.className="text-slide-out")}constructor(t,r,n,i,o){_e(this,"window",void 0),_e(this,"platformService",void 0),_e(this,"hostCommunication",void 0),_e(this,"experienceLoaderSettings",void 0),_e(this,"logger",void 0),_e(this,"titleBarHandler",void 0),_e(this,"carouselInterval",void 0),_e(this,"carouselIndex",void 0),_e(this,"_animationTimeout",void 0),_e(this,"_enable2025BrandIcons",void 0),_e(this,"handleClearCacheAndRetry",void 0),_e(this,"handleRetry",void 0),this.window=r,this.platformService=n,this.hostCommunication=i,this.experienceLoaderSettings=o,this.carouselIndex=0,this._enable2025BrandIcons=!1,this.handleClearCacheAndRetry=async()=>{await $t(this.window,this.logger),await this.handleRetry()},this.handleRetry=async()=>{this.window.sessionStorage.setItem(D.IsRelaunchFromOOPs,"1"),this.window.location.reload()},this.logger=t.newLogger("PreCoreUiAdapter","frameworks-loader"),this.titleBarHandler=new wr(this.window,void 0,this.logger,this.hostCommunication);const s=this.window.document.getElementById("teams-favicon");if(this._enable2025BrandIcons=this.platformService.isTeams2025IconPackEnabled||this.experienceLoaderSettings?.enableSplashScreen2025||!1,this.logger.log(`enable2025BrandIcons: ${this._enable2025BrandIcons}, isTeams2025IconPackEnabled: ${this.platformService.isTeams2025IconPackEnabled}, experienceLoaderSettings.enableSplashScreen2025: ${this.experienceLoaderSettings?.enableSplashScreen2025}`),s){let l="";this._enable2025BrandIcons?l="https://statics.teams.cdn.live.net/evergreen-assets/icons/microsoft_teams_logo_refresh_v2025.ico":l="https://statics.teams.cdn.live.net/evergreen-assets/icons/microsoft_teams_logo_refresh.ico",s.setAttribute("href",l)}}}function Kr(e){return e===U.MaglevT21||e===U.MaglevMacT21||e===U.Web}function Gn(e){return e==="life"}function Ze(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class jn{async showLoadingScreen(){const t=this.windowManager.getWindow(kt.Loading);if(!t){this.logger.logNoPii("No loading window will be shown.");return}await this.getOrCreateUiAdapter(t).showLoadingScreen()}showErrorScreen(t){const r=this.getErrorWindow();if(r){const n=this.getOrCreateUiAdapter(r);this.isErrorScreenVisible=!0,n.showErrorScreen(t),this.telemetryService.addUxStatus("FullPageErrorDisplayed"),this.telemetryService.sendNewScenarioThroughONEDS(Be.ShowPreCoreErrorPage,{reason:t!==void 0?ie[t]:void 0},"show_web_oops_page"),_r(r,this.loggerFactory)}}hideErrorScreen(){if(!this.isErrorScreenVisible)return;const t=this.getErrorWindow();t&&(this.getOrCreateUiAdapter(t).hideErrorScreen(),this.isErrorScreenVisible=!1)}getErrorWindow(){const t=this.windowManager.getWindow(kt.Error);if(!t){this.logger.warnNoPii("No error window will be shown.");return}return t}getOrCreateUiAdapter(t){return t.preCoreUiAdapter||(t.preCoreUiAdapter=new $n(this.loggerFactory,t,this.platformService,this.hostCommunication,this.experienceLoaderSettings)),t.preCoreUiAdapter}constructor(t,r,n,i,o,s){Ze(this,"loggerFactory",void 0),Ze(this,"windowManager",void 0),Ze(this,"platformService",void 0),Ze(this,"telemetryService",void 0),Ze(this,"experienceLoaderSettings",void 0),Ze(this,"hostCommunication",void 0),Ze(this,"logger",void 0),Ze(this,"isErrorScreenVisible",void 0),this.loggerFactory=t,this.windowManager=r,this.platformService=n,this.telemetryService=i,this.experienceLoaderSettings=o,this.hostCommunication=s,this.isErrorScreenVisible=!1,this.logger=t.newLogger("PreCoreUiManager","frameworks-loader")}}var Gt=function(e){return e.flyout="flyout",e.iFrame="iFrame",e.primary="primary",e.secondary="secondary",e.immersive="immersive",e.notification="notification",e}({}),_o=function(e){return e.standAlone="main",e.iframe="iFrame",e.secondary="MW",e.embedded="EDOM",e.worker="Worker",e}({}),mn=function(e){return e.flyout="flyout",e.main="main",e.notifications="notifications",e}({}),wo=function(e){return e.owa="OWA",e.outlook="Outlook",e.officeOnline="OfficeOnline",e.wordWeb="WordWeb",e.word="Word",e.excelWeb="ExcelWeb",e.excel="Excel",e.powerPointWeb="PowerPointWeb",e.powerPoint="PowerPoint",e.lmsBlackBoard="BlackBoard",e.lmsCanvas="Canvas",e.lmsMoodle="Moodle",e.lmsBrightspace="Brightspace",e.lmsOther="OtherLMS",e.lmsOpenLMS="OpenLMS",e.lmsSchoology="Schoology",e.unknown="unknown",e.thirdParty="ThirdParty",e.dynamics="Dynamics",e.onePlayer="OnePlayer",e.devHost="DevHost",e.edge="Edge",e.purview="Purview",e.mesh="Mesh",e}({}),vo=function(e){return e.userInitiated="userInitiated",e}({}),yo=u(895522);const Yn="data:image";function bo(e,t){return new URL(e,t)}function So(e,t,r,n){try{return t(new URL(r,n))}catch{return e}}function Co(e){const t=new URL(e),r="//";return t.protocol+r+t.host}function ko(e){return _n(e)}function Eo(e){return _n(e,!0)}function _n(e,t=!1){try{let r=e;r.startsWith("blob:")&&(r=r.replace("blob:",""));const n=Jn(r.toLowerCase()),i=new URL(n);return i?t?(i.pathname||"")+(i.search||"")+(i.hash||""):i.hostname||"":e.toLowerCase()}catch{return e}}function To(e,t,r){if(!e)return"";if(e.startsWith("/"))return e;const n=e.indexOf(":");if(n<=0)return"";e=e.replace(/(\')/g,"%27"),e=e.replace(/(\")/g,"%22"),e=e.replace(/{/g,"%7B"),e=e.replace(/}/g,"%7D");const i=e.substring(0,n).toLowerCase();for(const o of t)if(i===o)return o==="blob"&&!r?.some(s=>Kn(e,new URL(s)?.origin??""))?"":e;return i==="http"?`https${e.substring(n)}`:""}function Zn(e,t){if(!t)return t;const r=new RegExp(`[?&]${e}=([^&#]*)`).exec(t);return r&&r.length>1?decodeURI(r[1]):""}function Lo(e,t,r){if(!e||!t||e.match(new RegExp(`[?&]${t}=`)))return e;const i=`${e.indexOf("?")>=0?"&":"?"}${t}=${r}`;if(e.indexOf("#")!==-1){const o=e.split("#");return`${o[0]}${i}#${o[1]}`}return`${e}${i}`}const Kn=(e,t)=>Qn(e)?!1:new RegExp(`^(blob:)(${t})`,"i").test(e),xo=e=>/^(data:)/i.test(e),Io=e=>/^(http)(s?):\/\//i.test(e);function Po(e){if(!e||e.startsWith("/")&&!e.startsWith("//"))return!1;try{return new URL(e).port.length>0}catch{return!1}}const Ao=e=>(e.charAt(0)!=="/"&&(e=`/${e}`),e);function Oo(e,t){if(!e||!t)return e;const r=e.indexOf("?");if(r<0)return e;let n=e.indexOf("#");n<0&&(n=e.length);const i=e.substring(n),o=e.substring(0,r),s=e.substring(r+1,n),l=`${encodeURIComponent(t)}=`,d=s.split(/[&;]/g);return forEachRight(d,(p,w)=>{p.lastIndexOf(l,0)!==-1&&d.splice(w,1)}),`${o}${d.length>0?`?${d.join("&")}`:""}${i}`}function Wo(e){return e&&(e.indexOf("#")>=0?e.substring(0,e.indexOf("#")):e)}function Jn(e){return hasProtocol(e)?e:`https://${e}`}const Mo=e=>(e.endsWith("/")||(e+="/"),e),Ro=e=>(e.endsWith("/")&&(e=e.slice(0,-1)),e);function Qn(e){return e.startsWith(Yn)}function Do(e,t,r,n){try{const i=new URL(e),o=i.pathname.split("/"),s=o.indexOf(r);return s===-1||s+1>=o.length||o[s+1]!==n?e:(o.splice(s+1,0,encodeURIComponent(t)),i.pathname=o.join("/"),i.toString())}catch{return e}}const Xn=(e,t)=>{const r=`theme-${t}`,n=qn(e);n?n!==r&&e.documentElement.classList.replace(n,`theme-${t}`):e.documentElement.classList.add(r)},qn=e=>{let t;return e.documentElement.classList.forEach(r=>{r.startsWith("theme")&&(t=r)}),t};function Ke(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const wn="about:blank",ei=`${wn}?window=loading`,ti=`${wn}?minimize=true`;var ri=function(e){return e[e.None=0]="None",e[e.GlobalWindow=1]="GlobalWindow",e[e.PopoutWindow=2]="PopoutWindow",e[e.MinimizedPopoutWindow=3]="MinimizedPopoutWindow",e}(ri||{});class ni{getWindow(t){if(this.visibleWindow)return this.visibleWindow;const r=this.getRequiredWindowType(t);switch(r){case 0:return null;case 2:case 3:this.visibleWindow=this.createPopoutWindow(r);break;case 1:default:this.visibleWindow=this.window,Xn(this.visibleWindow.document,this.platformService.theme),this.writeTemplate(this.visibleWindow,!0);break}return this.platformService.isMaglev&&c(this.visibleWindow),this.platformService.deeplinkTarget==="flyout"&&h(this.visibleWindow),this.visibleWindow}getLoadingWindow(){if(this.visibleWindow&&this.platformService.isMaglev){const t=this.visibleWindow;return this.logger.logNoPii("Acquiring the visible window from the loader."),this.visibleWindow=null,t}return null}openWindowRequest(t,r,n){if(this.visibleWindow&&this.platformService.isMaglev){this.logger.logNoPii("Acquiring the visible window from the loader.");const i=this.visibleWindow;this.visibleWindow=null;const{viewportContext:o}=this.platformService;let s;if(t&&(s=Zn("window",t)),!s||this.getWindowTagFromViewportContext(o)===s)return this.resetLoadingWindow(t,r,n),i;i.close()}return this.logger.logNoPii(`url: '${t}' target: '${r}' features: '${n}'`),this.window.open(t,r,n)}createPopoutWindow(t){const r=t===3?ti:ei;this.logger.logNoPii("Getting loading window from Maglev client:",r);const n=this.window.open(r);if(!n){const i="Could not get loading window.";throw this.logger.errorNoPii(i),new Error(i)}return this.writeTemplate(n),n}getRequiredWindowType(t){const{isMaglev:r,deeplinkTarget:n}=this.platformService;if(this.logger.logNoPii("Determining window type based on:",{purpose:t,isMaglev:r,deeplinkTarget:n}),r){if(n==="core"&&this.config.enableNonRenderingCoreForNativeClient)switch(t){case kt.Error:return 3;default:return 0}if(this.config.enablePopoutWindowForNativeClient)return 2}return 1}writeTemplate(t,r=!1){const{__webpack_nonce__:n,__webpack_public_path__:i}=this.window,o=i&&`window.__webpack_public_path__="${i}"`,s={theme:this.platformService.theme,environment:this.platformService.environment,cspNonce:n,publicPathScript:o,containerVer:this.config.build,viewportContext:this.platformService.viewportContext,contentOnly:r},l=this.templateGenerator(s);if(r){const d=Q(l,this.dompurifyTrustedPolicy);t.document.body.append(...d.childNodes)}else{const d=k(l,this.dompurifyTrustedPolicy);t.document.write(d),t.document.close()}}async resetLoadingWindow(t,r,n){try{(await this.hostCommunication?.loadModule("core"))?.resetLoadingWindow?.({url:t,windowName:r,windowFeatures:n})}catch(i){this.logger.errorNoPii("Unable to reset loading window:",i)}}getWindowTagFromViewportContext(t){switch(t){case Gt.flyout:return mn.flyout;case Gt.primary:return mn.main;default:return}}constructor(t,r,n,i,o,s,l){Ke(this,"window",void 0),Ke(this,"config",void 0),Ke(this,"templateGenerator",void 0),Ke(this,"platformService",void 0),Ke(this,"hostCommunication",void 0),Ke(this,"dompurifyTrustedPolicy",void 0),Ke(this,"visibleWindow",void 0),Ke(this,"logger",void 0),this.window=t,this.config=r,this.templateGenerator=n,this.platformService=o,this.hostCommunication=s,this.dompurifyTrustedPolicy=l,this.visibleWindow=null,this.logger=i.newLogger("WindowManager","frameworks-loader"),this.dompurifyTrustedPolicy=t.trustedTypes?.createPolicy("@msteams/frameworks-loader#dompurify",{createHTML:d=>d,createScriptURL:()=>""})}}const ii=(e,t,r,n,i)=>new Ur(e,t,r,n,i),oi=(e,t,r,n,i,o)=>new ni(e,t,r,n,i,o),ai=(e,t,r,n,i,o)=>new jn(e,t,r,n,i,o),si=(e,t,r,n,i)=>new Mr(e,t,r,n,i);function vn(e){return new Promise((t,r)=>{e<0?r(new Error("negative timeout")):setTimeout(t,e)})}function No(e,t){return vn(t).then(e)}const li=(e,t,r)=>{const n="[T2->T1 auto-redirection]";if(r.platformId!==U.Web){t.logNoPii(`${n} loading T2 - not on web platform`);return}if(!e.localStorage){t.errorNoPii(`${n} loading T2 - local storage unavailable`);return}if(ci(e),!r.headConfig.enableAutoRedirectionToT1){t.warnNoPii(`${n} loading T2 - auto-redirection disabled`);return}const i=new URL(e.location.href),o=["clearcontainer","container","version","meetingjoin","enablemcasfort21"];for(const w of o)if(i.searchParams.has(w)){t.warnNoPii(`${n} loading T2 - URL contains '${w}', which is a no-redirect QSP parameter`);return}const s=e.localStorage.getItem(se);if(s&&["AdminDisabled","UserChoice","OptOut"].includes(s)){t.warnNoPii(`${n} redirecting to T1 - user previously opted out either manually or by TAC policy. optInFlagValue='${s}'`),Jr(e,`ExpLoader_OptInFlagValue_${s}`);return}if(i.searchParams.get(Rt)==="t2"){t.warnNoPii(`${n} loading T2 - clientexperience QSP is set to T2 (meaning PDS loaded T2 first), auto-opting user into T2Only`);try{e.localStorage.setItem(se,"true"),e.localStorage.setItem(Mt,"true"),e.localStorage.setItem(Pr,"true")}catch{t.errorNoPii(`${n} failed to write opt-in flags to local storage`)}return}if(e.localStorage.getItem(Mt)==="true"){t.warnNoPii(`${n} loading T2 - force T2 only flag is set`);return}if(e.localStorage.getItem(se)==="true"){t.warnNoPii(`${n} loading T2 - user is opted into T2 web`);return}t.warnNoPii(`${n} redirecting to T1 - opt-in flag was not found`),Jr(e,"ExpLoader_OptInFlagNotFound")},Jr=(e,t)=>{const r=new URL(e.location.href);r.pathname="/",r.searchParams.set("clientexperience","t1"),r.searchParams.set("redirectreason",t),e.location.replace(r.href)},ci=e=>{e.localStorage.removeItem(Wt),e.localStorage.removeItem(cr),e.localStorage.removeItem(et)},di=(e,t,r,n)=>{const i="[RecordWebBootAttempt]";if(r.platformId!==U.Web){t.warnNoPii(`${i} not recording web boot attempt - not on web platform`);return}if(!r.headConfig.enableAutoRedirectionToT1){t.warnNoPii(`${i} not recording web boot attempt - auto-redirection disabled`);return}if(!e.localStorage){t.errorNoPii(`${i} failed to record T2 web boot attempt - local storage unavailable`);return}if(r.headConfig.enableIframeCheckInWebBootAttemptCounter&&hi(e)){t.warnNoPii(`${i} not recording web boot attempt - we are inside an iframe`);return}if(e.localStorage.getItem(se)==null){t.warnNoPii(`${i} not recording T2 web boot attempt - user not opted into T2`);return}if(e.localStorage.getItem(Mt)==="true"){t.warnNoPii(`${i} not recording T2 web boot attempt - force T2 only flag is set`);return}const s=e.localStorage.getItem(I),l=s?parseInt(s,10):0,d=e.localStorage.getItem(G),p=d?parseInt(d,10):0,w=Date.now()-p;if(w{const r=new URL(e.location.href);if(r.searchParams.has(Rt)){r.searchParams.delete(Rt);try{e.history.replaceState("","",r.href)}catch{t.logNoPii("[removeClientExperienceQspFromUrl] replaceState threw an error")}}};function hi(e){try{return e.self!==e.top}catch{return!0}}var yn=u(885262),pi=u.n(yn);function fi(){return new Worker("/v2/worker/precompiled-web-worker-cf103b0e77138d84.js")}function gi(){return new Worker("/v2/worker/precompiled-web-worker-0277d4cc4e90b331.js")}function mi(){return new SharedWorker("/v2/worker/precompiled-shared-worker-2a8a20a0aefe66d0.js")}function _i(){return new SharedWorker("/v2/worker/precompiled-shared-worker-12d26db51af01051.js")}var Sr=function(e){return e.ag08="ag08",e.ag09="ag09",e.dod="dod",e.gallatin="gallatin",e.gcc="gcc",e.gcchigh="gcchigh",e.life="life",e.prod="prod",e.bleu="bleu",e.delos="delos",e}({});const wi="precore-worker",bn=(e,t,r,n,i,o,s,l,d,p,w,b,R,re,we,fe=!1,Pe,Zt,tn,Je,Kt,Jt,Qt)=>{const Tt=new Date(Date.now());let Qe={experienceName:e,ring:t,environment:r,sessionId:n,platformId:i,buildVersion:o,localeCode:s,workerId:l,preAuthUserId:d,publicPath:b,deviceId:R,isOcdi:re,isPwa:we,workerChunkLoadMaxRetries:Zt,workerChunkLoadRetryDelay:tn,workerChunkLoadMaxRetryDelay:Je,shouldFetchWorkerChunksBeforeImportScripts:Kt,useDiagnosticsServiceV2:Pe,turboCohort:Jt,enableLazyLoadedWorker:Qt,workerCreationTime:Tt.getTime(),...fe&&{date:`${Tt.getMonth()}-${Tt.getDate()}`}};return w!==void 0?Qe={...Qe,userConsoleLogLevel:w}:p!==void 0&&(Qe={...Qe,preECSConsoleLogLevel:p}),JSON.stringify(Qe)},Uo=e=>e.hash?JSON.parse(decodeURIComponent(e.hash.substr(1))):{};let jt;const vi=(e,t,r)=>{if(jt)return jt;try{const n=r||"@msteams/core-cdl-worker-common#create-cdl-worker";return jt=window.trustedTypes?.createPolicy(n,{createScriptURL:i=>Cn(i,t)}),jt}catch(n){t.errorToTelemetry?.(`Create CDL worker URL trustedType policy failed. This is not a critical error, falling back to function validation. Error ${n}`,"cdl_worker_startup_error_trusted_policy",{endpointUrl:e},!0)}},Fo=()=>{jt=void 0},Sn=(e,t,r,n,i,o,s)=>{class l{constructor(p){const w=n?`${p}#${n}`:p;yi(t,w,!1,typeof e==typeof Worker?"cdlWorker":"cdlsharedWorker",r),i?.(w);const R=vi(w,t,o);if(R){const we=R.createScriptURL(w);return s?.(Date.now()),new e(we)}const re=Cn(w,t);return s?.(Date.now()),new e(re)}}return l},yi=(e,t,r,n,i)=>{e.log(`{"hostRendererId":${n},"component":${i} Creating CDL Worker with ${r?"passed":"determined"} url ${t} }`)};function Cn(e,t){try{const r=new URL(e,kn().location.origin);let n=!0,i="CDL Web worker URL is invalid.";if(r.origin!==kn().location.origin&&(i=i.concat("OriginValidationFailed"),n=!1),n)return e;throw new Error(i)}catch(r){t.errorToTelemetry?.("CDL web worker url is not valid","cdl_worker_startup_error_invalid_url",{endpointUrl:e},!0);const n=new Error(r.message);throw n.name="InvalidUrl",n}}function kn(){return window}function pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class bi{initPrecoreWorker(t){const r=bn(this.config.experienceName,this.ring,Sr[t.environment],t.sessionId,this.platformService.platformId,t.buildVersion,t.locale,this.workerId,t.preAuthUserId,this.platformService.preECSConsoleLogLevel,this.platformService.userConsoleLogLevel,this.webpackPublicPath,t.deviceId,this.platformService.isOcdi,t.isPwa,void 0,this.config.useDiagnosticsServiceV2,this.experienceLoaderSettings.workerChunkLoadMaxRetries,this.experienceLoaderSettings.workerChunkLoadRetryDelay,this.experienceLoaderSettings.workerChunkLoadMaxRetryDelay,this.experienceLoaderSettings.shouldFetchWorkerChunksBeforeImportScripts,this.config.turboCohort,this.experienceLoaderSettings.enableLazyLoadedWorker),n=Worker;Worker=Sn(n,this.logger,"ExperienceLoader",r,o=>{this.cdlWorkerUrl=o},"@msteams/frameworks-loader#create-cdl-worker",o=>{this.workerInitializationTime=o});let i;this.experienceLoaderSettings?.enableLazyLoadedWorker?i=new gi:i=new fi,Worker=n,this.worker=i,i.onerror=o=>{this.logger.error(`Error in worker: ${o.message}`),this.workerErrorBuffer.push(o)}}initPrecoreSharedWorker(t){const r=bn(this.config.experienceName,this.ring,Sr[t.environment],this.config.experienceName==="embed-client"?pi().get("sessionId"):t.sessionId,this.platformService.platformId,t.buildVersion,t.locale,this.workerId,t.preAuthUserId,this.platformService.preECSConsoleLogLevel,this.platformService.userConsoleLogLevel,this.webpackPublicPath,t.deviceId,this.platformService.isOcdi,t.isPwa,this.config.limitCDLSharedWorkerConnectionTimeframe,this.config.useDiagnosticsServiceV2,this.experienceLoaderSettings.workerChunkLoadMaxRetries,this.experienceLoaderSettings.workerChunkLoadRetryDelay,this.experienceLoaderSettings.workerChunkLoadMaxRetryDelay,this.experienceLoaderSettings.shouldFetchWorkerChunksBeforeImportScripts,this.config.turboCohort,this.experienceLoaderSettings.enableLazyLoadedWorker),n=SharedWorker;SharedWorker=Sn(n,this.logger,"ExperienceLoader",r,o=>{this.cdlSharedWorkerUrl=o},void 0,o=>{this.workerInitializationTime=o});let i;this.experienceLoaderSettings?.enableLazyLoadedWorker?i=new _i:i=new mi,SharedWorker=n,this.sharedWorker=i,i.onerror=o=>{this.logger.error(`Error in worker: ${o.message}`),this.workerErrorBuffer.push(o)}}getWorkerId(){return this.workerId}getWorker(){return this.worker}getSharedWorker(){return this.sharedWorker}getCdlWorkerUrl(){return this.cdlWorkerUrl}getCdlSharedWorkerUrl(){return this.cdlSharedWorkerUrl}getWorkerInitializationTime(){return this.workerInitializationTime}getWorkerErrorBuffer(){return this.workerErrorBuffer}clearWorker(){this.worker=void 0,this.cdlWorkerUrl=void 0,this.sharedWorker=void 0,this.cdlSharedWorkerUrl=void 0,this.workerInitializationTime=void 0,this.workerId="",this.workerErrorBuffer=[]}constructor(t,r,n,i,o){pe(this,"config",void 0),pe(this,"platformService",void 0),pe(this,"logger",void 0),pe(this,"experienceLoaderSettings",void 0),pe(this,"worker",void 0),pe(this,"workerId",void 0),pe(this,"sharedWorker",void 0),pe(this,"cdlWorkerUrl",void 0),pe(this,"cdlSharedWorkerUrl",void 0),pe(this,"webpackPublicPath",void 0),pe(this,"ring",void 0),pe(this,"workerInitializationTime",void 0),pe(this,"workerErrorBuffer",void 0),this.config=r,this.platformService=n,this.logger=i,this.experienceLoaderSettings=o,this.workerErrorBuffer=[],this.webpackPublicPath=t.__webpack_public_path__;const s=this.platformService.ring;this.ring=!s||s==="unknown"?"general":s,this.workerId=wi}}var K=function(e){return e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Info=3]="Info",e[e.Debug=4]="Debug",e[e.Verbose=5]="Verbose",e[e.Max=6]="Max",e}({}),Si=u(774899),Ci=u.n(Si);function Cr(e){return e==null||e.length===0?e:` ${e}`.substr(1)}function En(e,t){const r=new WeakSet;return JSON.stringify(e,(n,i)=>{if(!r.has(i)){if(i&&typeof i=="object"){if(r.add(i),i instanceof Map||i instanceof Set)return Array.from(i);if(i instanceof Error)return`${i.name}: ${i.message}`;if(i.constructor&&i.constructor!==Object&&i.constructor!==Array||i.prototype)return}return i}},t)}function ki(e){if(e===null)return"null";if(e===void 0)return"undefined";const t=typeof e;if(t==="string")return e;if(t==="number"||t==="boolean")return String(e);if(t==="function")return"";if(Ci()(e))return e.toISOString();try{return JSON.stringify(e)}catch{return En(e)}}function Ei(e,t){return t|e}function Tn(e,t){return`${Ae}.${t}.${e}`}var Yt=function(e){return e[e.None=0]="None",e[e.LoggedInConsole=1]="LoggedInConsole",e[e.AddedIntoDiagnostics=2]="AddedIntoDiagnostics",e[e.ThrottledForDiagnostics=4]="ThrottledForDiagnostics",e[e.SentToTelemetry=8]="SentToTelemetry",e}({});function Qr(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Ti="localDebug";class Li{log(t,...r){return this.invoke(console.log,t,K.Info,!1,...r)}warn(t,...r){return this.invoke(console.warn,t,K.Warn,!1,...r)}error(t,...r){const n=this.invoke(console.error,t,K.Error,!1,...r);return this.diagnosticsService.persistDiagnostics(),n}debug(t,...r){return this.enableDebugLogging?this.invoke(console.debug,t,K.Debug,!1,...r):Yt.None}logNoPii(t,...r){return this.invoke(console.log,t,K.Info,!0,...r)}warnNoPii(t,...r){return this.invoke(console.warn,t,K.Warn,!0,...r)}errorNoPii(t,...r){const n=this.invoke(console.error,t,K.Error,!0,...r);return this.diagnosticsService.persistDiagnostics(),n}debugNoPii(t,...r){return this.enableDebugLogging?this.invoke(console.debug,t,K.Debug,!0,...r):Yt.None}invoke(t,r,n,i,...o){r=Cr(`${this.label}: ${r}`);let s=Yt.None;if((n<=K.Warn||this.enableDebugLogging)&&(t.call(console,r,...o),s=s||Yt.LoggedInConsole),n0){const l=o.map(d=>ki(d)).join(", ");r=Cr(`${r} ${l}`)}this.diagnosticsService.pushDiagnosticsEvent(n,r,i),s=Ei(s,Yt.AddedIntoDiagnostics)}return s}constructor(t,r,n){Qr(this,"diagnosticsService",void 0),Qr(this,"label",void 0),Qr(this,"enableDebugLogging",void 0),this.diagnosticsService=r,this.label=n,this.enableDebugLogging=!1;try{this.enableDebugLogging=t.localStorage.getItem(Ti)==="true"}catch{}}}function Ie(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Xr="loaderDiagnostics",Ln="previousLoaderDiagnostics",xn=512,xi="...",In="=====";class Ii{pushDiagnosticsEvent(t,r,n){this._isLoaderCompleted||this.pushDiagnosticsEventInternal(t,r,n)}completeDiagnostics(){this._isLoaderCompleted||(this.persistDiagnostics()&&(this.eventsBufferArray=[]),this._isLoaderCompleted=!0)}persistDiagnostics(){if(this._isLoaderCompleted)return!1;let t=!1;try{t=this.persistDiagnosticsLogsInternal(this.window.localStorage,this.eventsBufferArray,this.getStorageKey(Xr))}catch(r){this.pushDiagnosticsEvent(K.Error,`LoaderDiagnosticsService: window_localstorage save logs failure, ${r?.name}`,!0)}return t}getDiagnosticsEvents(){return Promise.resolve(this.eventsBufferArray)}async getLogsFiles(t){const r=this.getLogsFromLocalStorage(this.window.localStorage,this.getStorageKey(Ln),!!t);let n="";return this._isLoaderCompleted&&this.eventsBufferArray.length===0?n=this.getLogsFromLocalStorage(this.window.localStorage,this.getStorageKey(Xr),!!t):n=await this.getDiagnosticsLogs(!!t),Promise.resolve([{isPiiFree:!0,fileName:"loader-diagnostics-logs-previous-session.txt",content:r||"No logs found"},{isPiiFree:!0,fileName:"loader-diagnostics-logs.txt",content:n||"No logs found"}])}getSystemInfo(){return Promise.resolve(new Map)}persistDiagnosticsAsPreviousSessionLogs(){if(!this._previousSessionLogsPersisted){this._previousSessionLogsPersisted=!0;try{let t=this.eventsBufferArray;if(this._isLoaderCompleted&&t.length===0){const r=this.getLogsArrayFromLocalStorage(this.window.localStorage,this.getStorageKey(Xr),!0);r&&r.logsArray.length>0&&(t=r.logsArray)}t.length>0&&this.persistDiagnosticsLogsInternal(this.window.localStorage,t,this.getStorageKey(Ln))}catch(t){this.pushDiagnosticsEvent(K.Error,`LoaderDiagnosticsService: persist previous session logs failure, ${t?.name}`,!0)}}}setSessionId(t){this._sessionId=t}addEvent(t){this.eventsBufferArray.length>=this.DEFAULT_QUEUE_CAPACITY&&this.eventsBufferArray.shift(),this.eventsBufferArray.push(t)}async getDiagnosticsLogs(t){const r=await this.getDiagnosticsEvents();return this.formatEvents(t?this.filterLogsForPiiFreeOnly(r):r)}filterLogsForPiiFreeOnly(t){return t.length?t.filter(r=>r.isPiiFree):t}formatEvents(t){if(!t||t.length===0)return"";let r="";const n=3;return t.forEach(i=>{if(i)if(i.message?.startsWith(In)&&i.message?.endsWith(In))r+=` ${i.message}\r `;else{const o=typeof i.timeStamp?.toISOString=="function"?i.timeStamp.toISOString():i.timeStamp,s=typeof i.levelName=="string"?i.levelName.substring(0,n):"unknownLevelName";r+=`${o} ${s} ${i.message}\r `}}),Cr(r)}persistDiagnosticsLogsInternal(t,r,n){let i=!1;if(!t)return i;try{const o=En({sessionId:this._sessionId,logsArray:r});t.setItem(n,o),i=!0}catch{}return i}convertToDiagnostisEvent(t){const r={message:`DiagnosticsService - Converting event from localStorage failed - ${t}`,isPiiFree:!0,level:K.Error,levelName:"error",timeStamp:new Date};try{const n=t;if("timeStamp"in n){if(typeof n.timeStamp=="string")if(!isNaN(Date.parse(n.timeStamp)))n.timeStamp=new Date(n.timeStamp);else return r;return n}}catch{}return r}pushDiagnosticsEventInternal(t,r,n,i){r.length>xn&&(r=r.substring(0,xn)+xi),r=Cr(r);const o={message:r,level:t,levelName:K[t],timeStamp:i||new Date,isPiiFree:n};return this.addEvent(o),o}getLogsFromLocalStorage(t,r,n){let i="";try{const o=this.getLogsArrayFromLocalStorage(t,r,!1);o&&o.logsArray.length>0&&(n&&(o.logsArray=this.filterLogsForPiiFreeOnly(o.logsArray)),i=this.formatEvents(o.logsArray))}catch{i="Session logs parsing failed"}return i}getLogsArrayFromLocalStorage(t,r,n){let i=t.getItem(r);if(i)try{const o=JSON.parse(i);if(i=null,o)return n&&t.removeItem(r),"logsArray"in o?{sessionId:o.sessionId,logsArray:o.logsArray.map(s=>this.convertToDiagnostisEvent(s))}:{sessionId:"",logsArray:o}}catch{}}constructor(t,r){Ie(this,"window",void 0),Ie(this,"loaderConfig",void 0),Ie(this,"DEFAULT_QUEUE_CAPACITY",void 0),Ie(this,"eventsBufferArray",void 0),Ie(this,"_previousSessionLogsPersisted",void 0),Ie(this,"_isLoaderCompleted",void 0),Ie(this,"_sessionId",void 0),Ie(this,"logsProviderName",void 0),Ie(this,"newLogger",void 0),Ie(this,"getStorageKey",void 0),this.window=t,this.loaderConfig=r,this.DEFAULT_QUEUE_CAPACITY=200,this.eventsBufferArray=[],this._previousSessionLogsPersisted=!1,this._isLoaderCompleted=!1,this._sessionId="",this.logsProviderName="LoaderDiagnosticsService",this.newLogger=n=>new Li(this.window,this,`[ExpLoader] ${n}`),this.getStorageKey=n=>Tn(n,this.loaderConfig.experienceName),t?.addEventListener&&t.addEventListener("beforeunload",()=>{this.persistDiagnosticsAsPreviousSessionLogs()})}}const Pn={"az-az":"az-latn-az","be-by":"ru-ru","de-at":"de-de","de-ch":"de-de","de-li":"de-de","de-lu":"de-de","en-029":"en-us","en-au":"en-gb","en-bz":"en-us","en-ca":"en-gb","en-ie":"en-gb","en-in":"en-gb","en-jm":"en-us","en-my":"en-gb","en-nz":"en-gb","en-ph":"en-us","en-sg":"en-gb","en-tt":"en-us","en-za":"en-gb","en-zw":"en-gb","es-419":"es-es","es-ar":"es-mx","es-bo":"es-mx","es-cl":"es-mx","es-co":"es-mx","es-cr":"es-mx","es-do":"es-mx","es-ec":"es-mx","es-gt":"es-mx","es-hn":"es-mx","es-ni":"es-mx","es-pa":"es-mx","es-pe":"es-mx","es-pr":"es-mx","es-py":"es-mx","es-sv":"es-mx","es-us":"es-mx","es-uy":"es-mx","es-ve":"es-mx","fl-ip":"en-us","fr-be":"fr-fr","fr-ch":"fr-fr","fr-lu":"fr-fr","fr-mc":"fr-fr","it-ch":"it-it","iu-latn":"iu-latn-ca","ky-kg":"ru-ru","lb-lu":"de-de","mn-mong":"mn-mong-mn","nl-be":"nl-nl","qut-gt":"es-es","quz-pe":"es-es","sr-cyrl":"sr-cyrl-rs","sr-latn":"sr-latn-rs","sr-rs":"sr-latn-rs","sv-fi":"sv-se","tg-cyrl-tj":"ru-ru","tk-tm":"ru-ru","tt-ru":"ru-ru","ug-cn":"zh-cn","wo-sn":"fr-fr","zh-chs":"zh-cn","zh-cht":"zh-tw","zh-hans-cn":"zh-cn","zh-hans-sg":"zh-cn","zh-hans":"zh-cn","zh-hant-hk":"zh-tw","zh-hant-mo":"zh-tw","zh-hant-tw":"zh-tw","zh-hant":"zh-tw","zh-hk":"zh-tw","zh-mo":"zh-tw","zh-sg":"zh-cn",af:"af-za",am:"am-et",ar:"ar-sa",as:"as-in",az:"az-latn-az",ba:"ba-ru",bg:"bg-bg",bo:"bo-cn",brx:"brx-in",bs:"bs-latn-ba",ca:"ca-es",cs:"cs-cz",cy:"cy-gb",da:"da-dk",de:"de-de",dsb:"dsb-de",dv:"dv-mv",el:"el-gr",en:"en-us",es:"es-es",et:"et-ee",eu:"eu-es",fa:"fa-ir",fi:"fi-fi",fil:"fil-ph",fo:"fo-fo",fr:"fr-fr",ga:"ga-ie",gl:"gl-es",gu:"gu-in",ha:"ha-latn-ng",he:"he-il",hi:"hi-in",hr:"hr-hr",hsb:"hsb-de",hu:"hu-hu",hy:"hy-am",id:"id-id",ig:"ig-ng",is:"is-is",it:"it-it",ja:"ja-jp",ka:"ka-ge",kk:"kk-kz",km:"km-kh",kn:"kn-in",ko:"ko-kr",ks:"ks-deva-in",ky:"ky-kg",ln:"ln-cd",lo:"lo-la",lt:"lt-lt",lv:"lv-lv",mg:"mg-mg",mi:"mi-nz",mk:"mk-mk",ml:"ml-in",mni:"mni-in",mr:"mr-in",ms:"ms-my",mt:"mt-mt",my:"my-mm",nb:"nb-no",ne:"ne-np",nl:"nl-nl",nn:"nn-no",or:"or-in",pa:"pa-in",pl:"pl-pl",prs:"prs-af",pt:"pt-br",ro:"ro-ro",ru:"ru-ru",rw:"rw-rw",sd:"sd-deva-in",si:"si-lk",sk:"sk-sk",sl:"sl-si",so:"so-so",sq:"sq-al",sr:"sr-latn-rs",st:"st-ls",sv:"sv-se",sw:"sw-tz",ta:"ta-in",te:"te-in",th:"th-th",ti:"ti-et",tk:"tk-tm",tn:"tn-bo",to:"to-to",tr:"tr-tr",tt:"tt-ru",uk:"uk-ua",ur:"ur-pk",uz:"uz-latn-uz",vi:"vi-vn",yo:"yo-ng",zh:"en-us",zu:"zu-za"},Pi=["sq-al","af-za","ar-sa","az-latn-az","eu-es","bg-bg","bs-latn-ba","ca-es","zh-cn","zh-sg","zh-hk","zh-mo","zh-tw","hr-hr","cs-cz","da-dk","nl-be","nl-nl","en-au","en-bz","en-ca","en-029","en-in","en-ie","en-jm","en-my","en-nz","en-ph","en-sg","en-za","en-tt","en-gb","en-us","en-zw","et-ee","fa-ir","fil-ph","fi-fi","fr-be","fr-ca","fr-fr","fr-lu","fr-mc","fr-ch","gl-es","ka-ge","de-at","de-de","de-li","de-lu","de-ch","el-gr","he-il","hi-in","hu-hu","is-is","id-id","it-it","it-ch","ja-jp","kk-kz","ko-kr","lv-lv","lt-lt","mk-mk","ms-my","mt-mt","nb-no","nn-no","pl-pl","pseudo","pseudo_rtl","pt-br","pt-pt","ro-ro","fl-ip","ru-ru","sr-cyrl-rs","sr-latn-rs","sk-sk","sl-si","es-ar","es-ve","es-bo","es-cl","es-co","es-cr","es-do","es-ec","es-sv","es-gt","es-hn","es-mx","es-ni","es-py","es-pa","es-pe","es-pr","es-es","es-us","es-uy","sv-fi","sv-se","th-th","tr-tr","uk-ua","ca-es-valencia","vi-vn","cy-gb"],zo=e=>{for(const t of e){const r=An(t);if(r.locale!==null)return r.originalLocale=e.toLocaleString(),r}return{locale:"en-us",reason:"No supported language found - falling back to en-us",originalLocale:e.toLocaleString()}},qr=e=>{const t=An(e);return t.locale!==null?t:{locale:"en-us",reason:"No supported language found - falling back to en-us",originalLocale:e}},An=e=>{const t=e.trim().toLowerCase();let r=Oi(t);return Pn[r]?(r=Pn[r],{locale:r,reason:"Found in fallback table",originalLocale:e}):Ai(r)?{locale:r,reason:"Supported language"}:{locale:null,reason:"Didn't find supported language.",originalLocale:e}},Ai=e=>{const t=e.toLowerCase();for(const r of Pi)if(t===r.toLowerCase())return!0;return!1},Oi=e=>{const r=new Date().getTimezoneOffset(),n=120,i=420;return e==="fr"&&r>=n&&r<=i?"fr-ca":e},Bo=e=>e.reason==="Supported language"||e.reason==="Found in fallback table",Ho=e=>{let t=e&&getAvailableLanguageByCode(e,!0);if(!t){const r=qr(e||"")?.locale;t=getAvailableLanguageByCode(r,!0)}return t},Vo=e=>e.replace(/\s*\([^)]*\)/g,"");var $o=function(e){return e.Windows="windows",e.Mac="mac",e.Linux="linux",e.ChromeOS="chromeos",e.Android="android",e.IOS="ios",e.WindowsPhone="windowsphone",e.Unknown="unknown",e}({}),Ne=function(e){return e.Default="default",e.DefaultV2="defaultV2",e.DefaultTfl="tfl-default",e.Dark="dark",e.DarkV2="darkV2",e.DarkTfl="tfl-dark",e.HighContrast="contrast",e}({}),pt=function(e){return e.Dark="dark",e.Light="light",e.Contrast="contrast",e}({}),Go=function(e){return e.Light="0",e.Dark="1",e.Contrast="2",e.DefaultV2="3",e.DarkV2="4",e.DefaultTfl="5",e.DarkTfl="6",e}({}),jo=function(e){return e.HighContrast="#FFFFFF_#000000_#FFFF00",e}({}),Et=function(e){return e.ColorContrastOverride="(forced-colors: active)",e.Light="(prefers-color-scheme: light)",e.Dark="(prefers-color-scheme: dark)",e}({});const Wi="tmp.desktopTheme",Mi=(e,t)=>{try{if(e.matchMedia(Et.ColorContrastOverride).matches)return t?.log(`OS Theme Matches: ${Et.ColorContrastOverride}`),pt.Contrast;const r=e.localStorage.getItem(Wi);return r||(e.matchMedia(Et.Dark).matches?(t?.log(`OS Theme Matches: ${Et.Dark}`),pt.Dark):e.matchMedia(Et.Light).matches?(t?.log(`OS Theme Matches: ${Et.Light}`),pt.Light):(t?.log("OS Theme Matches: None. Returning theme type light."),pt.Light))}catch(r){t?.log(`Couldn't resolve getOsTheme: ${r.message}`);return}},Ri=e=>({[pt.Light]:e===Sr.life?Ne.DefaultTfl:Ne.DefaultV2,[pt.Dark]:e===Sr.life?Ne.DarkTfl:Ne.DarkV2,[pt.Contrast]:Ne.HighContrast}),On=(e,t)=>t[e]||Ne.DefaultV2,Di=()=>({[Theme.Default]:ThemeType.Light,[Theme.DefaultV2]:ThemeType.Light,[Theme.DefaultTfl]:ThemeType.Light,[Theme.Dark]:ThemeType.Dark,[Theme.DarkV2]:ThemeType.Dark,[Theme.DarkTfl]:ThemeType.Dark,[Theme.HighContrast]:ThemeType.Contrast}),Ni=(e,t)=>t[e]||ThemeType.Light,Yo=e=>Ni(e,Di()),Zo=(e,t,r,n)=>{const i=e.getPreferences("theme")??{};return Wn(i,t,r,n)},Wn=(e,t,r,n)=>{const i=Ui(t);if(i)return i;if(e.followOsTheme){const o=Mi(t,n);if(o)return On(o,r)}else if(e.userTheme)return On(e.userTheme,r);return Ne.DefaultV2},Ui=e=>{const r=new URLSearchParams(e.location.search).get("theme");if(r){const n=Object.keys(Ne).find(i=>i.toUpperCase()===r.toUpperCase());return Ne[n]}};function F(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Fi="buildNumber",zi="logLevel",Bi="(display-mode: standalone)";class Hi{get appIconLabel(){return this._appIconLabel}get isTeams2025IconPackEnabled(){return this._isTeams2025IconPackEnabled}get environment(){return this._environment===void 0&&(this._environment=It(this.window,this._headConfig)),this._environment}get pdsEnvironment(){return this._headConfig?.pdsEnvironment}get indexVersionQSP(){return this._indexVersionQSP===void 0&&(this._indexVersionQSP=this.getindexVersionQSP()),this._indexVersionQSP}get isMaglev(){return this._isMaglev===void 0&&(this._isMaglev=Te(this.window)),this._isMaglev}get platformId(){return this._platformId===void 0&&(this._platformId=this.isMaglev?qt(this.window):U.Web),this._platformId}get isOcdi(){return!!this.headConfig?.isOcdi}get enableSriForDynamicImports(){return this.headConfig.disableSriDI?!1:this.headConfig.unauthenticated?!!this.headConfig.enableSriDIUnauthenticated:!0}get enableEarlyServiceWorkerRegistration(){return!!this.headConfig.enableEarlyServiceWorkerRegistration}get isPwa(){return!!this.window.matchMedia(Bi).matches}get deeplinkTarget(){return this._deeplinkTarget===void 0&&(this._deeplinkTarget=this.getHashItem("deepLink")),this._deeplinkTarget}get viewportContext(){return this._viewportContext===void 0&&(this.deeplinkTarget==="flyout"?this._viewportContext=Gt.flyout:this._viewportContext=Gt.primary),this._viewportContext}get theme(){return this._theme===void 0&&(this._theme=this.getTheme()),this._theme}get locale(){return this._locale===void 0&&(this._locale=this.detectLocale()),this._locale}get bootType(){return this._bootType===void 0&&(this._bootType=this.getBootTypeInternal()),this._bootType}get buildVersion(){return this.config?.build||this._headConfig?.buildVersion||""}get ring(){if(this.bootType===v.Local){const r=this.getRingFromQSP();if(r)return r}const t=this._headConfig?.ring;return t?typeof t=="string"?t:t.id||"unknown":"unknown"}getCookieByName(t){return yn.get(t)}get headConfig(){return this._headConfig||(this._headConfig=L(this.window,this.logger)),this._headConfig}get deeplinkId(){return this._deeplinkId===void 0&&(this._deeplinkId=this.getHashItem("deeplinkId")),this._deeplinkId}get networkState(){return this._networkState==="suspectedOnline"&&!this.window.navigator.onLine&&(this._networkState="unstable"),this._networkState}get preECSConsoleLogLevel(){if(this.userConsoleLogLevel===void 0){if(this._preECSConsoleLogLevel===void 0)if(this.bootType===v.Local)this._preECSConsoleLogLevel=K.Warn;else{let t=this.ring;const r=this.getRingFromQSP();r&&(t=r),t.indexOf("general")>=0||t.indexOf("ring3")>=0?this._preECSConsoleLogLevel=K.None:this._preECSConsoleLogLevel=K.Warn}return this._preECSConsoleLogLevel}}get userConsoleLogLevel(){if(this._userConsoleLogLevel===void 0)try{const t=this.window.localStorage.getItem(zi);if(t){const r=parseInt(t,10);r>=K.None&&r<=K.Max&&(this._userConsoleLogLevel=r)}}catch{this.logger?.warnNoPii("The `logLevel` value in localStorage is not valid")}return this._userConsoleLogLevel}get activeServiceWorkerVersion(){return this._activeServiceWorkerVersion}get activeServiceWorkerVersionPromise(){return this._getServiceWorkerVersionPromise}async loadHostCapabilities(t){try{const n=await(await t?.loadModule("hostcapabilities"))?.getInitialCapabilities?.()??[];for(const i of n)i.name==="appIconLabel"?this._appIconLabel=i.value?`${i.value}`:void 0:i.name==="localMigratedSettings"?this.loadMigratedLocale(i.value):i.name==="isTeams2025IconPackEnabled"&&(this._isTeams2025IconPackEnabled=i.value===!0)}catch{this.logger?.logNoPii("Unable to load host capabilities")}}cleanUpNetworkStateListener(){this.window.removeEventListener("online",this.onlineHandler),this.window.removeEventListener("offline",this.offlineHandler)}loadMigratedLocale(t){if(typeof t!="string"){this.logger?.logNoPii("localMigratedSettings is not a string.");return}try{const r=JSON.parse(t);this._migratedLocale=r.language?`${r.language}`:void 0}catch{this.logger?.errorNoPii("Unable to parse migrated locale.")}}getTheme(){const t=Ri(this.environment);return Wn(this.getThemeValueFromStorage(),this.window,t,this.logger)}getBootTypeInternal(){const t=this.config?.build,r=this.config?.experienceName;if(!t)return this.logger?.errorNoPii("build number is missing"),v.Unknown;if(!r)return this.logger?.errorNoPii("experience name is missing"),v.Unknown;const n=this.window.localStorage.getItem(Tn(Fi,r)),i=this.getAppBootType(t,n);return i===v.Unknown?this.logger?.errorNoPii(`Build Number Format Is Invalid. CurrentBuildNumber: ${t}, PreviousBuildNumber: ${n}`):this.logger?.logNoPii(`App boot type: ${i}`),i}getAppBootType(t,r){if(t&&t.toLowerCase().startsWith("local"))return v.Local;if(t&&t.toLowerCase().includes("oncdn"))return v.Container;if(r){if(r.toLowerCase().startsWith("local"))return v.Cold;if(r.toLowerCase().includes("oncdn"))return v.Cold}if(!Fe(this.window))return v.Cold;if(!r)return v.Warm;const n=Number(t),i=Number(r);return isNaN(n)||isNaN(i)?v.Unknown:ni?v.Update:v.Warm}getindexVersionQSP(){let t="";const r=new URL(this.window.location.href);return r.searchParams.get("container")&&(t=`${t};container`),r.searchParams.get("version")&&(t=`${t};version`),r.searchParams.get("ring")&&(t=`${t};ring`),r.searchParams.get("clearcontainer")&&(t=`${t};clearcontainer`),t.length>0?t.substring(1):""}getHashItem(t){if(this._urlSearchParams===void 0){let r=this.window.location.hash||"";r.startsWith("#")&&(r=r.substr(1)),this._urlSearchParams=new URLSearchParams(decodeURIComponent(r))}return this._urlSearchParams.get(t)}setInitConsoleLogLevel(){this.window.defaultConsoleLogLevel||(this.window.defaultConsoleLogLevel={userConsoleLogLevel:this.userConsoleLogLevel,preECSConsoleLogLevel:this.preECSConsoleLogLevel})}getThemeValueFromStorage(){const t="local-user-preferences",r=`tmp.${this.config?.experienceName}.${t}`;if(r){const n=this.window.localStorage.getItem(r);if(n)return JSON.parse(n).theme}return{}}setUpNetworkStateListener(){this._networkState=this.window.navigator.onLine?"suspectedOnline":"suspectedOffline",this.window.addEventListener("online",this.onlineHandler),this.window.addEventListener("offline",this.offlineHandler)}getRingFromQSP(){const t=this.window.location.search;return!this._headConfig?.isInternalUser||!t?null:new URLSearchParams(t).get("ring")}readSettingsFromUrlHash(){try{const t=this.getHashItem("theme");this._theme=t||void 0;const r=this.getHashItem("language");this._migratedLocale=r||void 0,this.logger?.logNoPii(`${this._migratedLocale} locale and ${this._theme} theme parsed from URL hash`)}catch(t){this.logger?.errorNoPii(`Failed to parse theme and language settings from URL hash - ${t.message}`)}}setServiceWorkerVersion(){this.window.navigator.serviceWorker?.controller?(this._getServiceWorkerVersionPromise=Tr(this.window,this.window.navigator.serviceWorker?.controller,this.logger),this._getServiceWorkerVersionPromise.then(r=>{this._activeServiceWorkerVersion=r})):this._activeServiceWorkerVersion=""}setPlatformIdCookie(){try{const t=new Date;t.setFullYear(t.getFullYear()+1),this.window.document.cookie=`platformId=${this.platformId}; expires=${t.toUTCString()}`,this.logger?.logNoPii?.(`Setting platformId cookie ${this.platformId}.`)}catch{this.logger?.errorNoPii?.("Setting platformId cookie failed.")}}constructor(t,r,n){F(this,"window",void 0),F(this,"config",void 0),F(this,"logger",void 0),F(this,"_appIconLabel",void 0),F(this,"_bootType",void 0),F(this,"_deeplinkId",void 0),F(this,"_deeplinkTarget",void 0),F(this,"_environment",void 0),F(this,"_headConfig",void 0),F(this,"_isMaglev",void 0),F(this,"_locale",void 0),F(this,"_migratedLocale",void 0),F(this,"_platformId",void 0),F(this,"_theme",void 0),F(this,"_urlSearchParams",void 0),F(this,"_viewportContext",void 0),F(this,"_preECSConsoleLogLevel",void 0),F(this,"_userConsoleLogLevel",void 0),F(this,"_networkState",void 0),F(this,"_activeServiceWorkerVersion",void 0),F(this,"_indexVersionQSP",void 0),F(this,"_getServiceWorkerVersionPromise",void 0),F(this,"_isTeams2025IconPackEnabled",void 0),F(this,"detectLocale",void 0),F(this,"onlineHandler",void 0),F(this,"offlineHandler",void 0),this.window=t,this.config=r,this.logger=n,this._appIconLabel=void 0,this._bootType=void 0,this._deeplinkId=void 0,this._deeplinkTarget=void 0,this._environment=void 0,this._headConfig=void 0,this._isMaglev=void 0,this._locale=void 0,this._migratedLocale=void 0,this._platformId=void 0,this._theme=void 0,this._urlSearchParams=void 0,this._viewportContext=void 0,this._preECSConsoleLogLevel=void 0,this._userConsoleLogLevel=void 0,this._networkState="unknown",this._activeServiceWorkerVersion=void 0,this._indexVersionQSP=void 0,this._getServiceWorkerVersionPromise=void 0,this._isTeams2025IconPackEnabled=!1,this.detectLocale=()=>this.window.localStorage.getItem("localeCode")||this._migratedLocale&&qr(this._migratedLocale).locale||qr(this.window.navigator.language).locale,this.onlineHandler=()=>{this._networkState==="suspectedOffline"&&(this._networkState="unstable",this.cleanUpNetworkStateListener())},this.offlineHandler=()=>{this._networkState==="suspectedOnline"&&(this._networkState="unstable",this.cleanUpNetworkStateListener())},this._headConfig=L(t,n),this._bootType=this.getBootTypeInternal(),this.setInitConsoleLogLevel(),this.setUpNetworkStateListener(),this.readSettingsFromUrlHash(),this.setServiceWorkerVersion(),this.logger?.logNoPii(`Index with QSP: ${this.indexVersionQSP}`),this.setPlatformIdCookie()}}const Vi=e=>{try{const t=Rn();if(t!==void 0)return t}catch(t){e.error(`Failed to get experience loader settings from local storage: ${t}`)}try{const t=document.head.getAttribute("data-config");return(t?JSON.parse(decodeURIComponent(t)):{}).experienceLoaderSettings||{}}catch(t){return e.error(`Failed to get experience loader settings from element: ${t}`),{}}},Mn=e=>`tmp.${e}.experience-loader-ecs-flags`,Rn=()=>{const e=Mn(globalThis.loaderConfig.experienceName),t=globalThis.localStorage.getItem(e);return t?JSON.parse(t):void 0},Dn=e=>{const t=Mn(globalThis.loaderConfig.experienceName);globalThis.localStorage.setItem(t,JSON.stringify(e))},Ko=(e,t)=>{try{const r=Rn()||{},n=Gi(r,e);return n.length>0?(Dn(e),n):[]}catch(r){return t.error(`SetExperienceLoaderSettings - Failed to get experience loader settings in local storage: ${r}`),Dn(e),Object.keys(e)}},$i=(e,t)=>Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((r,n)=>r===t[n]):e===t,Gi=(e,t)=>{const r=[];for(const n of Object.keys(e)){const i=e[n],o=t[n];!$i(i,o)&&!(i===!1&&o===void 0)&&r.push(n)}for(const n of Object.keys(t)){const i=e[n],o=t[n];i===void 0&&o!==void 0&&o!==!1&&r.push(n)}return r};function z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const en={Created:"Created",CriticalError:"CriticalError",HostNotified:"HostNotified"};class ji{getLogsProvider(){return this.diagnosticsService}clearLoaderMarks(){this.telemetryService.clearLoaderMarks()}async execute(){try{if(li(this.globalWindow,this.logger,this.platformService),ui(this.globalWindow,this.logger),this.redirectToOcdi(),di(this.globalWindow,this.logger,this.platformService,this.telemetryService),this.preLoadCacheStorage(),this.config.loadingScreenDelayInMs||this.setExpLoaderTimer(),this.logger.logNoPii(en.HostNotified),await this.platformService.loadHostCapabilities(this.hostCommunication),this.diagnosticsService.setSessionId(this.telemetryService.sessionId||""),this.globalWindow?.performance?.mark("exp_loader_init"),this.telemetryService.addUxStatus("SplashScreenDisplayed"),this.uiManager.showLoadingScreen(),this.checkInput(),this.logger.logNoPii(`Loading build version: ${this.config.build}`),this.config.preInitWorker&&this.precoreWorkers.initPrecoreWorker(this.getProperties()),this.config.preInitSharedWorker&&this.precoreWorkers.initPrecoreSharedWorker(this.getProperties()),this.config.loadingScreenDelayInMs&&await vn(this.config.loadingScreenDelayInMs),this.globalWindow?.performance?.mark("show_loading_screen"),this.config?.manifest?.chunks&&this.config?.manifest?.chunks?.length>0)this.globalWindow.performance.mark(_.ConfigLoaded),this.loadingBundlesPromise=this.buildLoader.loadBuild(this.config.manifest),this.sendStepsToMaglev("exp_loader_steps_config_loaded"),await this.loadingBundlesPromise;else return this.globalWindow.performance.mark("exp_loader_err_manifest_chunks_empty"),this.showCriticalErrorScreen("ExpLoaderBuildDownloadFailure",new Error("Loader manifest is not valid"))}catch(t){return this.globalWindow.performance.mark("exp_loader_err_download_general_error"),this.sendStepsToMaglev("exp_loader_steps_general_error"),this.showCriticalErrorScreen("ExpLoaderBuildDownloadFailure",t)}try{this.diagnosticsService.persistDiagnostics(),this.globalWindow.performance.mark("exp_loader_before_core_init_start"),this.errorHappened?this.globalWindow.performance.mark("exp_loader_err_general_error_handler"):await this.waitForCoreInitStarted()}catch(t){return this.globalWindow.performance.mark("exp_loader_err_wait_for_core_init"),this.showCriticalErrorScreen("CoreInitBeginTimeout",t)}}async redirectToOcdi(){if(!this.ecsSettings.enableOCDIRedirects){this.logger.warnNoPii("OCDI redirect: Not redirecting - not enabled");return}const t=new URL(this.globalWindow.location.href),r=this.ecsSettings.ocdiRedirectCookieName||_t,n=this.ecsSettings.ocdiRedirectCookieAdditionalOptions||Ar;if(t.searchParams.has(tt)){this.globalWindow.document.cookie=`${r}=; expires=${Or}${n}`,this.logger.warnNoPii("OCDI redirect: Not redirecting - we arrived here due to a client redirect.");return}for(const p of this.ecsSettings.ocdiNoRedirectQSPs||[])if(t.searchParams.has(p)){this.logger.warnNoPii(`OCDI redirect: Not redirecting - URL contains '${p}', which is a no-redirect QSP`);return}if(!this.globalWindow.document.cookie.split("; ").find(p=>p.startsWith(`${r}=`))){this.logger.logNoPii("OCDI redirect: Not redirecting - cookie not set");return}const o=this.ecsSettings.ocdiRedirectPath||"";let s;try{s=new URL(o,this.ecsSettings.ocdiRedirectBaseUri)}catch{this.logger.errorNoPii(`OCDI redirect: Not redirecting - could not parse assigned URL. assignedBaseUri: ${this.ecsSettings.ocdiRedirectBaseUri}, assignedPath: ${o}`);return}if(t.hostname===s.hostname&&t.pathname===s.pathname){this.logger.warnNoPii("OCDI redirect: Not redirecting - already on assigned URL");return}this.logger.warnNoPii("OCDI redirect: Redirecting to assigned URL");const d=new URL(this.globalWindow.location.href);d.hostname=s.hostname,d.pathname=s.pathname,d.searchParams.set(tt,"index"),this.globalWindow.location.replace(d.href)}async preLoadCacheStorage(){const t=["provider-cache-storage","teams-labs-service-cache-storage"];for(const r of t)try{await(await caches.open(r)).keys()}catch{this.logger.warnNoPii(`Failed to pre-load CacheStorage: ${r}`)}}openWindow(t,r,n){return this.windowManager.openWindowRequest(t,r,n)}getLoadingWindow(){return this.windowManager.getLoadingWindow()}getErrorWindow(){return this.windowManager.getWindow(kt.Error)}getClientStartTelemetrySteps(){return this.telemetryService.getSuccessClientStartTelemetrySteps()}getProperties(){return{activeServiceWorkerVersion:this.platformService.activeServiceWorkerVersion,bootType:this.platformService.bootType,buildVersion:this.platformService.buildVersion,deeplinkId:this.platformService.deeplinkId,deeplinkTarget:this.platformService.deeplinkTarget,environment:this.platformService.environment,experienceName:this.config.experienceName,headConfig:this.platformService.headConfig,indexVersionQSP:this.platformService.indexVersionQSP,isMaglev:this.platformService.isMaglev,isPwa:this.platformService.isPwa,locale:this.platformService.locale,ring:this.platformService.ring,sessionId:this.telemetryService.sessionId,deviceId:this.telemetryService.deviceId,pdsEnvironment:this.platformService.pdsEnvironment,deviceInfo:this.telemetryService.deviceInfo,RelaunchReason:this.telemetryService.RelaunchReason,preAuthUserId:this.telemetryService.preAuthUserId,preCoreHostCommunication:this.hostCommunication,experienceLoaderSettings:this.ecsSettings,enableEarlyServiceWorkerRegistration:this.platformService.enableEarlyServiceWorkerRegistration,swCacheStatus:this.telemetryService.getSWCacheStatus()}}getInitConsoleLogLevel(){return{preECSConsoleLogLevel:this.platformService.preECSConsoleLogLevel,userConsoleLogLevel:this.platformService.userConsoleLogLevel}}getWorkerId(){return this.precoreWorkers.getWorkerId()}getWorker(){return this.precoreWorkers.getWorker()}getWorkerErrorBuffer(){return this.precoreWorkers.getWorkerErrorBuffer()}getSharedWorker(){return this.precoreWorkers.getSharedWorker()}getCdlWorkerUrl(){return this.precoreWorkers.getCdlWorkerUrl()}getCdlSharedWorkerUrl(){return this.precoreWorkers.getCdlSharedWorkerUrl()}getWorkerInitializationTime(){return this.precoreWorkers.getWorkerInitializationTime()}clearWorker(){this.precoreWorkers.clearWorker()}signalCoreInitStarted(){this.sendStepsToMaglev("exp_loader_steps_received_core_started"),this.logger.logNoPii("Received signal indicating core init started."),this.unregisterErrorHandlers(),this.waitForExpLoaderCompleteTimeout&&this.globalWindow.clearTimeout(this.waitForExpLoaderCompleteTimeout),this.waitForCoreInitStartTimeout&&this.globalWindow.clearTimeout(this.waitForCoreInitStartTimeout),this.coreInitStarted=!0,this.markIndexPageStop(),this.uiManager.hideErrorScreen(),this.resolveHandshakePromise&&(this.resolveHandshakePromise(),this.resolveHandshakePromise=void 0)}stopPieTimer(){this.waitForPieTimeout&&(this.logger.logNoPii("Stop the timer waiting for sending client_start events via PIE api."),this.globalWindow.clearTimeout(this.waitForPieTimeout),this.waitForPieTimeout=void 0,this.pieTimerStopped=!0,this.globalWindow.performance.mark("exp_loader_stop_pie_timer"),this.diagnosticsService.completeDiagnostics())}async onErrorHandler(t,r){this.unregisterErrorHandlers();let n=typeof t=="string"?t:[`Message: ${t?.message}`,`Filename: ${this.removeAllQSPandHash(t?.filename)}`,`Line: ${t?.lineno}`,`Column: ${t?.colno}`,`Error object: ${JSON.stringify(t?.error)}`].join(" - ");n=this.scrubQspEmailEuii(n)||"",this.globalWindow.performance.mark("exp_loader_err_global_window_error"),this.platformService.platformId===U.Web&&t?.message&&t.message.indexOf("Script error")>=0&&this.globalWindow.localStorage.setItem(Oe,"true"),await this.handleGeneralError(n,t,r)}async flushTelemetry(){return this.loadingBundlesPromise?(await this.loadingBundlesPromise,!0):!1}persistLoaderLogsAsPreviousSession(){this.diagnosticsService?.persistDiagnosticsAsPreviousSessionLogs()}async checkClientStartFailureCount(){if(this.clientStartFailureCountChecked||!this.platformService.headConfig.enableUnregisterSWWhenClientStartFail)return;this.clientStartFailureCountChecked=!0,Bn(this.globalWindow,this.config.experienceName,this.logger)&&(await $t(this.globalWindow,this.logger),zn(this.globalWindow),this.telemetryService.sendNewScenarioThroughONEDS(Be.ClearSWForClientStartFailure,{Scenario_Status:"success"},"clear_sw_for_multiple_start_failure"))}checkInput(){if(this.platformService.isMaglev&&!this.platformService.deeplinkTarget){this.globalWindow.performance.mark(_.MissingDeepLink);const t="missing_deeplink";this.logger.errorNoPii(t),this.telemetryService.sendNewScenarioThroughONEDS(Be.WebClientInputInvalid,{reason:t},"miss_deeplink")}}markIndexPageStop(){or(_.MainChunksLoadingStop,this.globalWindow.performance),this.globalWindow.performance.mark(_.IndexPageStop)}async loadCoreModule(){return this.coreModule?this.coreModule:this.hostCommunication?.loadModule("core")}async loadScenarioModule(){return this.scenarioModule||(this.scenarioModule=await this.hostCommunication?.loadModule("scenario")),this.scenarioModule}async sendStepsToMaglev(t){(await this.loadScenarioModule())?.setScenarioMarks?.("client_start",[{stepName:t,eventData:[{name:"scenarioPhase",value:"ExpLoader"}]}])}loadConfigOverrides(){try{const t=this.globalWindow.localStorage.getItem(M);if(t){const r=JSON.parse(t);this.config=Object.assign(this.config,r)}}catch(t){this.logger.logNoPii("Failed to load config overrides:",t)}}waitForCoreInitStarted(){return new Promise((t,r)=>{this.coreInitStarted?(this.logger.logNoPii("Core initialization has started."),this.pieTimerStopped||this.waitForPie(),t()):(this.logger.logNoPii("Waiting for core init start."),this.resolveHandshakePromise=t,this.waitForCoreInitStartTimeout=this.globalWindow.setTimeout(()=>{const n=`Core init hasn't started within ${sr} ms.`;this.logger.warnNoPii(n),this.telemetryService.failClientStartScenarioWithMarks([],le.Timeout,{reason:n}),r(new Error(n))},sr),this.pieTimerStopped||this.waitForPie())})}waitForPie(){this.waitForPieTimeout=this.globalWindow.setTimeout(()=>{const t=`Core init hasn't finished within ${Ot} ms.`;this.logger.warnNoPii(t),this.telemetryService.failClientStartScenarioWithMarks([],le.Timeout,{reason:t})},Ot)}setExpLoaderTimer(){this.waitForExpLoaderCompleteTimeout=this.globalWindow.setTimeout(()=>this.expLoaderTimeoutHandler(),lr)}expLoaderTimeoutHandler(){this.waitForCoreInitStartTimeout&&this.globalWindow.clearTimeout(this.waitForCoreInitStartTimeout),this.waitForPieTimeout&&(this.globalWindow.clearTimeout(this.waitForPieTimeout),this.pieTimerStopped=!0);const t=`ExpLoader hasn't finished within ${lr} ms.`;this.logger.warnNoPii(t),this.showCriticalErrorScreen("ExpLoaderBuildDownloadTimeout",new Error(t))}isTrustedTypeError(t){return t?t.indexOf("TrustedScriptURL")>=0||t.indexOf("TrustedHTML")>=0||t.indexOf("TrustedScript")>=0:!1}registerErrorHandlers(){this.onErrorHandlerCallback=t=>t&&`${t.message}${t.filename}`.indexOf("-extension://")>=0?(this.logger.log("onErrorHandlerCallback: Error is from extension, skip handling"),!0):this.isTrustedTypeError(t?.message)?(this.logger.errorNoPii(`onErrorHandlerCallback: TrustedTypeError: ${t?.message}.`),!0):(this.onErrorHandler(t).catch(r=>{this.logger.errorNoPii(`onErrorHandlerCallback: Error handling error: ${r?.message}.`)}),!0),this.globalWindow.addEventListener("error",this.onErrorHandlerCallback),this.unhandledRejectionHandlerCallback=t=>{this.unhandledRejectionHandler(t).catch(r=>{this.logger.errorNoPii(`unhandledRejectionHandlerCallback: Error handling unhandled rejection: ${r?.message}.`)})},this.globalWindow.addEventListener("unhandledrejection",this.unhandledRejectionHandlerCallback)}async unhandledRejectionHandler(t){this.unregisterErrorHandlers();let r="";if(t?.reason){let n="";try{n=JSON.stringify(t.reason)}catch{}n&&n!=="{}"?r=n:typeof t.reason=="object"&&(r=`${t.reason.message??""} ${t.reason.stack??""}`.trim())}r=r||"ExpLoaderUnhandledRejection",await this.handleGeneralError(r,t)}async handleGeneralError(t,r,n){this.errorHappened=!0,this.loadingBundlesPromise&&await this.loadingBundlesPromise,this.logger?.errorNoPii(t,"webclient_framework_exp_loader_event");const i=await this.checkIsChunkLoadingErrorFromSWCache(t);await this.telemetryService.failClientStartScenarioWithMarks(void 0,le.Failure,{reason:t,errorCode:N.ExpLoaderFailure,isLoadedFromServiceWorkerCache:i}),this.showCriticalErrorScreen(n||"CoreInitUnhandledPromiseRejectionFailure",new Error(t)),n==="CoreInitFailure"&&await this.checkClientStartFailureCount(),r?.preventDefault?.()}async showCriticalErrorScreen(t,r){this.waitForExpLoaderCompleteTimeout&&this.globalWindow.clearTimeout(this.waitForExpLoaderCompleteTimeout),this.waitForCoreInitStartTimeout&&this.globalWindow.clearTimeout(this.waitForCoreInitStartTimeout),this.logger.errorNoPii(en.CriticalError,r),await this.telemetryService.failClientStartScenarioWithMarks([],t==="ExpLoaderBuildDownloadTimeout"?le.Timeout:le.Failure,{reason:`Web critical error - ${r.message}`}),this.diagnosticsService?.persistDiagnosticsAsPreviousSessionLogs();const n=await this.loadCoreModule();if(n?.reportCriticalError)return n.reportCriticalError({type:t});let i;switch(t){case"ExpLoaderBuildDownloadFailure":case"ExpLoaderBuildDownloadTimeout":i=ie.loadingApp;break;case"CoreInitBeginTimeout":case"CoreInitFailure":case"CoreInitGlobalWindowErrorFailure":case"CoreInitUnhandledPromiseRejectionFailure":i=ie.coreInit;break}this.uiManager.showErrorScreen(i)}unregisterErrorHandlers(){this.onErrorHandlerCallback&&(this.globalWindow.removeEventListener("error",this.onErrorHandlerCallback),this.onErrorHandlerCallback=void 0),this.unhandledRejectionHandlerCallback&&(this.globalWindow.removeEventListener("unhandledrejection",this.unhandledRejectionHandlerCallback),this.unhandledRejectionHandlerCallback=void 0),this.platformService.cleanUpNetworkStateListener()}scrubQspEmailEuii(t){if(!t)return t;const r=new RegExp("=+[a-zA-Z0-9.!#$%&'*+\\/?^_`{|}~-]+(@|_(A|a)(T|t)_|%40)(?!(T|t)(H|h)(R|r)(E|e)(A|a)(D|d).(V|v)2)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*","g");let n=t;n=n.replace(r,"=email-euii");const i=new RegExp(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/,"g");return n=n.replace(i,"=email-euii"),n}removeAllQSPandHash(t){if(!t)return t;try{const r=new URL(t);return r.search||r.hash?(r.search="",r.hash="",r.toString()):r.href}catch{const r=t.indexOf("?"),n=t.indexOf("#");let i=-1;return r>=0&&n>=0?i=r=0?i=r:n>=0&&(i=n),i===-1?t:t.substring(0,i)}}createHostCommunications(){if(this.globalWindow.nativeModules){const{Core:t,Osutils:r,Windowcontrols:n,Scenario:i,Telemetry:o,Hostcapabilities:s,Logscollection:l}=this.globalWindow.nativeModules;return{loadModule:async d=>{switch(d){case"core":return t;case"windowcontrols":return n;case"osutils":return r;case"scenario":return i;case"telemetry":return o;case"hostcapabilities":return s;case"logscollection":return l;default:return}}}}}async checkIsChunkLoadingErrorFromSWCache(t){let r="";try{if(t&&t.indexOf('"message":"Loading chunk')>=0){const n=JSON.parse(t.replace(/[\u0000-\u001F\u007F-\u009F]/g,""));n&&"request"in n&&n.request&&"name"in n&&n.name==="ChunkLoadError"&&(r=(await mt(n.request,this.globalWindow)).toString())}}catch{this.logger.errorNoPii("Parsing IsChunkLoadingErrorFromSWCache fail.")}return r}async registerSW(){try{if(this.platformService.platformId!==U.Web||!this.platformService.enableEarlyServiceWorkerRegistration||!this.globalWindow.navigator.serviceWorker||this.globalWindow.navigator.serviceWorker.controller)return;const t=window.trustedTypes?.createPolicy("@msteams/frameworks-loader#register-service-worker-early",{createScriptURL:this.createSWURL.bind(this)});if(t){this.globalWindow.performance.mark(_.RegisterServiceWorker);const r=new URL("serviceworker.js",this.globalWindow.location.href).pathname,n="all",i=await this.globalWindow.navigator.serviceWorker.register(t.createScriptURL(r),{updateViaCache:n}),o=i.installing||i.waiting||i.active;o&&(this.globalWindow.performance.mark(_.TriggerSWCacheMainChunks),this.requestSWToPreCacheMainChunks(o))}else this.logger.warnNoPii("trustedScriptURl for sw is NOT created")}catch(t){this.logger.error(`sw registration fail in expLoader: ${t}`)}}createSWURL(t){const r=new URL(t,this.globalWindow.location.origin);if(r.origin===this.globalWindow.location.origin)return r;throw new Error(`invalid swURL: ${r.href}`)}requestSWToPreCacheMainChunks(t){try{const r=this.getPreCacheChunkList();if(r&&r.length>0){const n=new MessageChannel;t.postMessage({message:"preCacheMainChunks",mainChunksArray:r},[n.port2])}this.globalWindow.localStorage.setItem(`${it}${ot}`,wt)}catch{this.logger.error("Failed on triggering Service Worker preCacheMain chunks")}}getPreCacheChunkList(){const t=[];if(this.config?.manifest){const{asyncEntry:r,chunks:n,buildTimeConfigs:i}=this.config.manifest;if(i){const o=`config-${this.platformService.environment}`,s=i.filter(l=>l.path.indexOf(o)>=0);if(s.length>0){const l=s[0];t.push({url:l.path,integrity:l.integrity})}}if(n){r?.chunks?.length&&r.chunks.forEach(s=>t.push({url:s.path,integrity:s.integrity}));let o=n;this.platformService.enableSriForDynamicImports||(o=n.filter(s=>!s.isIntegritiesManifest)),o.forEach(s=>t.push({url:s.path,integrity:s.integrity}))}}return this.globalWindow.location.search||t.push({url:`${this.globalWindow.location.origin}${this.globalWindow.location.pathname}`}),t}constructor(t,r,n,i,o,s,l){z(this,"globalWindow",void 0),z(this,"config",void 0),z(this,"diagnosticsService",void 0),z(this,"logger",void 0),z(this,"platformService",void 0),z(this,"hostCommunication",void 0),z(this,"coreModule",void 0),z(this,"scenarioModule",void 0),z(this,"telemetryService",void 0),z(this,"windowManager",void 0),z(this,"uiManager",void 0),z(this,"buildLoader",void 0),z(this,"coreInitStarted",void 0),z(this,"pieTimerStopped",void 0),z(this,"errorHappened",void 0),z(this,"waitForCoreInitStartTimeout",void 0),z(this,"waitForPieTimeout",void 0),z(this,"waitForExpLoaderCompleteTimeout",void 0),z(this,"resolveHandshakePromise",void 0),z(this,"onErrorHandlerCallback",void 0),z(this,"unhandledRejectionHandlerCallback",void 0),z(this,"loadingBundlesPromise",void 0),z(this,"precoreWorkers",void 0),z(this,"ecsSettings",void 0),z(this,"clientStartFailureCountChecked",void 0),this.globalWindow=t,this.coreInitStarted=!1,this.pieTimerStopped=!1,this.errorHappened=!1,this.clientStartFailureCountChecked=!1,this.config=Object.assign(dt,r),this.diagnosticsService=new Ii(t,this.config),this.logger=this.diagnosticsService.newLogger("ExperienceLoader"),this.loadConfigOverrides(),this.platformService=new Hi(t,this.config,this.logger),this.platformService.isMaglev&&(this.hostCommunication=this.createHostCommunications()),this.telemetryService=i(t,this.diagnosticsService,this.platformService,this.hostCommunication,this.config),this.windowManager=o(t,this.config,n,this.diagnosticsService,this.platformService,this.hostCommunication),this.ecsSettings=Vi(this.logger),this.uiManager=s(this.diagnosticsService,this.windowManager,this.platformService,this.telemetryService,this.ecsSettings,this.hostCommunication),this.buildLoader=l(t,this.diagnosticsService,this.telemetryService,this.diagnosticsService,this.platformService),this.precoreWorkers=new bi(this.globalWindow,this.config,this.platformService,this.logger,this.ecsSettings),this.registerErrorHandlers(),this.logger.logNoPii(en.Created),this.registerSW()}}async function Yi(e){try{console.log("[ExpLoader] Getting things ready...");const t=window;await Zi(t);const r=new ji(t,t.loaderConfig,e,ii,oi,ai,si);t.loader=r,await r.execute()}catch(t){throw console.error("[ExpLoader] Unhandled Exception:",t),t}}async function Zi(e){try{if(Te(e)&&"nativeModules"in e){e.performance.mark(_.NotifyDesktop);const t=e.nativeModules;t?.Core?.notifyLoaderStarted&&(await t.Core.notifyLoaderStarted(),console.log("[ExpLoader] notify loader started signal sent to desktop"))}}catch(t){console.error("[ExpLoader] notify loader started fail:",t)}}function Ki(e){var t,r="",n=Array.prototype.join;function i(){r+=n.call(arguments,"")}return r+=`
`,e.titleBar&&(r+=`
`),r+=`
Loading...
`,r}function Ji(e){var t,r="";return r+=``,r}function Qi(e){var t,r="";return r+=``,r}function Xi(e){var t,r="",n=Array.prototype.join;function i(){r+=n.call(arguments,"")}return r+=`
`,osPlatform==="windows"&&(r+=`
`),r+=`
`,r}function qi(e){var t,r="",n=Array.prototype.join;function i(){r+=n.call(arguments,"")}return r}const eo={splashStyles:Ji,favicons:Qi,splash:Ki,preloadTitleBar:Xi,devtools:qi};function to(e){var t,r="",n=Array.prototype.join;function i(){r+=n.call(arguments,"")}r+=` `,e.htmlWebpackPlugin.options.isMainWindow&&(r+=`