PageSourceSearch

https://freeguardvpn.com/_nuxt/CnbdEBEz.js

js freeguardvpn.com collected 2026-10-02 00:31:25 UTC 10,472 bytes, 1 lines download raw bytes

1import{f as e,$ as t,b as a,d as s,G as i,o,ae as l,af as n,ag as u,k as r,l as c,a2 as d,ah as v,O as p,al as m,W as f,u as g}from"./mcRfthuO.js";import{u as h,a as b,b as y,c as k,d as x,i as C,e as _,s as w,T as $,f as A,h as z,_ as S}from"./9Rn022Mn.js";import{d as B,e as T,f as D,n as I,k as P,o as q,p as U,g as j,q as F,b as N}from"./n4ctGcyV.js";import"./BHIFuwK2.js";import"./BR5T7_RU.js";const V={class:"tv-auth-title text-h5 text-center font-weight-bold mb-2"},L={class:"text-center text-body-2 text-medium-emphasis mb-6"},W={key:0},M={key:1},R={class:"text-body-1"},G={class:"text-h6 font-weight-bold mt-2"},E={class:"text-body-2 text-medium-emphasis mt-1"},O={key:0},H={key:1},K={key:2},J={key:3},Q={key:1},X={key:2},Y={key:2},Z={class:"text-center py-6"},ee={class:"success-icon-wrapper mb-5"},te={class:"text-h5 font-weight-bold mb-3"},ae={class:"text-body-1 text-medium-emphasis mb-6"},se={class:"d-flex align-center mb-3"},ie={class:"text-body-2"},oe={class:"d-flex align-center mb-3"},le={class:"text-body-2"},ne={class:"d-flex align-center"},ue={class:"text-body-2"},re={key:3},ce={key:4,class:"text-center py-8"},de={class:"mt-4 text-body-1 text-medium-emphasis"},ve=S(e({__name:"tv",setup(e){const{t:S}=t(),ve=h(),pe=b(),me=y(),fe=k();x((()=>({title:S("tv.title"),meta:[{name:"description",content:S("tv.subtitle")},{name:"robots",content:"noindex, nofollow"}]})));const ge=a("input"),he=a(""),be=a(!1),ye=a(""),ke=a(""),xe=a(!1),Ce=a(!1),_e=a({deviceName:"",loginPlatform:"",expiresIn:0}),we=s((()=>me.hasSessionCandidate||!!localStorage.getItem("auth_token"))),$e=s((()=>"confirm"===ge.value&&(!me.sessionBootstrapComplete&&(xe.value&&!Ce.value)))),Ae=s((()=>"confirm"===ge.value&&!me.isAuthenticated&&(!(!we.value||!me.getToken)&&(Ce.value||"stale"===me.sessionStatus)))),ze=s((()=>"stale"===me.sessionStatus?S("tv.sessionCheckUnavailable","We could not verify your current sign-in right now. Sign in again to continue TV authorization."):S("tv.sessionCheckSlow","We found an existing sign-in, but it is taking too long to verify. Sign in again to continue TV authorization."))),Se=s((()=>me.activeDeviceAuthorizationProvider)),Be=s((()=>me.hasFreshDeviceAuthorizationCredential(Se.value))),Te=s((()=>!("confirm"!==ge.value||!me.isAuthenticated)&&(C(Se.value)&&!Be.value))),De=s((()=>"google"===Se.value?S("tv.confirmWithGoogle"):"ios"===Se.value?S("tv.confirmWithApple"):S("tv.confirmButton"))),Ie=s((()=>"google"===Se.value?S("tv.providerReauthGoogle"):"ios"===Se.value?S("tv.providerReauthApple"):""));function Pe(){return fe("/tv")+`?code=${he.value}`}async function qe(){if(Ce.value=!1,!me.sessionBootstrapComplete){xe.value=!0;try{const{timedOut:e}=await w(me.restoreValidatedSession({bypassTTL:!0,on401:"logout-only",redirectPath:Pe()}),$);e&&!me.sessionBootstrapComplete&&(Ce.value=!0)}catch(e){}finally{xe.value=!1}}}function Ue(e){const t=e,a=t.data||t.response?._data;return{errData:a,statusCode:t.statusCode||t.status||t.response?.status||a?.code}}async function je(){me.sessionBootstrapComplete&&me.isAuthenticated&&A({isAuthenticated:me.isAuthenticated,activeProvider:Se.value,hasFreshCredential:Be.value})&&await Ne("standard")}async function Fe(){if(!he.value||he.value.length<4)ye.value=S("tv.invalidCode");else{be.value=!0,ye.value="",ke.value="",ge.value="loading";try{const e=await _("/v2/user/device/authorize/lookup",{userCode:he.value.toUpperCase()},{authMode:"none",on401:"ignore"});200===e.code&&e.data?(_e.value={deviceName:e.data.device_name||S("tv.defaultDeviceName"),loginPlatform:e.data.login_platform||"unknown",expiresIn:e.data.expires_in||0},ge.value="confirm",await qe(),await je()):(ye.value=e.msg||S("tv.codeExpired"),ge.value="error")}catch(e){const{errData:t}=Ue(e);ye.value=t?.msg||S("tv.codeExpired"),ge.value="error"}finally{be.value=!1}}}async function Ne(e="standard"){if(await async function(){const e=we.value;return me.sessionBootstrapComplete||await qe(),!!me.isAuthenticated||("stale"===me.sessionStatus?(ye.value=S("tv.authFailed"),ge.value="error",!1):(me.sessionBootstrapComplete&&Ve(e?"expired":void 0),!1))}()){be.value=!0,ye.value="",ke.value="";try{if(!me.isAuthenticated)return void Ve();const t=Se.value;if(!t)return void(ke.value=S("tv.providerSessionUnavailable"));const a=await me.resolveDeviceAuthorizationCredential({expectedType:t,interactive:"interactive"===e}),s="string"==typeof a.idToken?a.idToken.trim():"";if(z(t,s))return void(await async function(e){try{const t=await _("/v2/user/device/authorize/confirm",{userCode:he.value.toUpperCase(),idToken:e},{authMode:"required",on401:"logout-and-redirect",redirectPath:Pe()});200===t.code?(me.clearDeviceAuthorizationCredential(),ge.value="success"):(ye.value=t.msg||S("tv.authFailed"),ge.value="error")}catch(t){const{errData:e,statusCode:a}=Ue(t);409===a||409===e?.code?(me.clearDeviceAuthorizationCredential(),ge.value="success"):(ye.value=e?.msg||S("tv.authFailed"),ge.value="error")}}(s));if(a.requiresInteraction&&C(t))return;ke.value=function(e){switch(e){case"popup-blocked":return S("tv.popupBlocked");case"popup-cancelled":return S("tv.popupCancelled");case"popup-closed":return S("tv.popupClosed");case"missing-provider-token":return S("tv.providerTokenMissing");case"firebase-user-missing":return S("tv.providerSessionUnavailable");case"interaction-required":return S("tv.providerInteractionRequired");default:return S("tv.authFailed")}}(a.errorCode)}finally{be.value=!1}}}function Ve(e){pe.push({path:fe("/login"),query:{redirect:Pe(),...e?{reason:e}:{}}})}function Le(){ge.value="input",ye.value="",ke.value="",xe.value=!1,Ce.value=!1,_e.value={deviceName:"",loginPlatform:"",expires
1In:0}}return i((async()=>{const e=ve.query.code;e&&(he.value=e.toUpperCase(),await Fe())})),o((()=>[me.sessionStatus,me.sessionBootstrapComplete,me.isAuthenticated]),(async([e,t,a],s=[])=>{const i=s[0];t&&"validated"===e&&"validated"!==i&&a&&"confirm"===ge.value&&he.value&&await je()})),(e,t)=>(n(),l(N,{fluid:"",class:"login-page-bg fill-height pa-4"},{default:u((()=>[r(B,{justify:"center",align:"center"},{default:u((()=>[r(T,{cols:"12",sm:"10",md:"8",lg:"6",xl:"4"},{default:u((()=>[r(D,{class:"mx-auto pa-4 pa-sm-6 login-card",elevation:"8"},{default:u((()=>[c("h1",V,p(e.$t("tv.title")),1),c("p",L,p(e.$t("tv.subtitle")),1),"input"===ge.value?(n(),d("div",W,[r(I,{modelValue:he.value,"onUpdate:modelValue":t[0]||(t[0]=e=>he.value=e),label:e.$t("tv.codeInputLabel"),placeholder:e.$t("tv.codeInputPlaceholder"),variant:"outlined",density:"comfortable","prepend-inner-icon":"mdi-television","error-messages":ye.value,class:"mb-4",maxlength:"6",autofocus:"",onKeyup:m(Fe,["enter"])},null,8,["modelValue","label","placeholder","error-messages"]),r(P,{block:"",loading:be.value,class:"py-3 text-subtitle-1 font-weight-bold auth-button",disabled:he.value.length<4,onClick:Fe},{default:u((()=>[f(p(e.$t("tv.verifyButton")),1)])),_:1},8,["loading","disabled"])])):"confirm"===ge.value?(n(),d("div",M,[r(q,{type:"info",variant:"tonal",class:"mb-4"},{default:u((()=>[c("div",R,p(e.$t("tv.authorizingDevice")),1),c("div",G,p(_e.value.deviceName||e.$t("tv.defaultDeviceName")),1),c("div",E,p(e.$t("tv.deviceInfoLine",{platform:_e.value.loginPlatform,code:he.value})),1)])),_:1}),$e.value?(n(),d("div",O,[r(q,{type:"info",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(e.$t("common.loading")),1)])),_:1}),r(U,{indeterminate:"",color:"primary",class:"mb-3"})])):Ae.value?(n(),d("div",H,[r(q,{type:"warning",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(ze.value),1)])),_:1}),r(P,{block:"",color:"success",loading:be.value,class:"py-3 text-subtitle-1 font-weight-bold mb-3",onClick:t[1]||(t[1]=e=>Ve("expired"))},{default:u((()=>[f(p(e.$t("tv.goLogin")),1)])),_:1},8,["loading"])])):g(me).isAuthenticated?(n(),d("div",J,[r(q,{type:"success",variant:"tonal",class:"mb-4",density:"compact"},{default:u((()=>[f(p(e.$t("tv.currentAccount",{email:g(me).email})),1)])),_:1}),ke.value?(n(),l(q,{key:0,type:"error",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(ke.value),1)])),_:1})):v("",!0),Te.value?(n(),d("div",Q,[r(q,{type:"info",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(Ie.value),1)])),_:1}),r(P,{block:"",color:"success",loading:be.value,class:"py-3 text-subtitle-1 font-weight-bold mb-3",onClick:t[2]||(t[2]=e=>Ne("interactive"))},{default:u((()=>[f(p(De.value),1)])),_:1},8,["loading"])])):(n(),d("div",X,[r(P,{block:"",color:"success",loading:be.value,class:"py-3 text-subtitle-1 font-weight-bold mb-3",onClick:t[3]||(t[3]=e=>Ne("standard"))},{default:u((()=>[f(p(e.$t("tv.confirmButton")),1)])),_:1},8,["loading"])])),r(P,{block:"",variant:"text",color:"error",class:"text-body-2",onClick:Le},{default:u((()=>[f(p(e.$t("tv.cancelButton")),1)])),_:1})])):(n(),d("div",K,[r(q,{type:"warning",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(e.$t("tv.loginRequired")),1)])),_:1}),r(P,{block:"",class:"py-3 text-subtitle-1 font-weight-bold auth-button mb-3",onClick:Ve},{default:u((()=>[f(p(e.$t("tv.goLogin")),1)])),_:1})]))])):"success"===ge.value?(n(),d("div",Y,[c("div",Z,[c("div",ee,[r(j,{size:"80",color:"success"},{default:u((()=>[...t[5]||(t[5]=[f("mdi-check-circle",-1)])])),_:1})]),c("div",te,p(e.$t("tv.successTitle")),1),c("div",ae,p(e.$t("tv.successMessage")),1),r(D,{variant:"tonal",color:"surface",class:"pa-4 text-left mb-4"},{default:u((()=>[c("div",se,[r(j,{color:"success",size:"20",class:"mr-2"},{default:u((()=>[...t[6]||(t[6]=[f("mdi-check",-1)])])),_:1}),c("span",ie,p(e.$t("tv.successStep1")),1)]),c("div",oe,[r(j,{color:"success",size:"20",class:"mr-2"},{default:u((()=>[...t[7]||(t[7]=[f("mdi-check",-1)])])),_:1}),c("span",le,p(e.$t("tv.successStep2")),1)]),c("div",ne,[r(j,{color:"info",size:"20",class:"mr-2"},{default:u((()=>[...t[8]||(t[8]=[f("mdi-information",-1)])])),_:1}),c("span",ue,p(e.$t("tv.successStep3")),1)])])),_:1}),r(P,{block:"",variant:"outlined",class:"py-3 mt-2",onClick:t[4]||(t[4]=e=>g(pe).push(g(fe)("/")))},{default:u((()=>[f(p(e.$t("tv.backToHome")),1)])),_:1})])])):"error"===ge.value?(n(),d("div",re,[r(q,{type:"error",variant:"tonal",class:"mb-4"},{default:u((()=>[f(p(ye.value),1)])),_:1}),r(P,{block:"",variant:"outlined",class:"py-3",onClick:Le},{default:u((()=>
1[f(p(e.$t("tv.retryButton")),1)])),_:1})])):v("",!0),be.value&&"loading"===ge.value?(n(),d("div",ce,[r(F,{indeterminate:"",color:"primary",size:"48"}),c("div",de,p(e.$t("tv.verifying")),1)])):v("",!0)])),_:1})])),_:1})])),_:1})])),_:1}))}}),[["__scopeId","data-v-709b7aa5"]]);export{ve as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.