1"use strict";(self.webpackChunkhost=self.webpackChunkhost||[]).push([[2267],{26160:(e,t,o)=>{o.r(t),o.d(t,{AUTH_ID:()=>d,AUTH_NONCE:()=>_,AuthContext:()=>N,CheckAuth:()=>y,REFRESH_TOKEN:()=>m,REWARDS_COOKIES:()=>L,RedirectToOnlineBankingV2:()=>F,SESSION_ID:()=>p,TOKEN:()=>g,WithAuthApi:()=>l,WithAuthContext:()=>D,WithRouterAuthApi:()=>u,WithRouterAuthContext:()=>M,getBaseUrl:()=>O,getCookieValue:()=>A,getCustomerOnBoardingUrl:()=>Y,getLegacyOlbBaseUrl:()=>V,getLegacyOlbUrl:()=>W,initialiseUnbluVisitorApi:()=>z,logoutUnblu:()=>G,navigateToOnlineBankingV1:()=>K,navigateToOnlineBankingV2:()=>H,redirectToOnboarding:()=>q,remoteTokenCookie:()=>x,removeCookie:()=>w,removeRewardsCookies:()=>U,setAccountTopUpDataPrivacyCookie:()=>B,setTokenCookie:()=>v,setUserDataCookies:()=>k,useAuth:()=>E,useAuthApi:()=>h,useAuthContext:()=>R});var n=o(62101),s=o.n(n),i=o(77285);const a=(0,i.createContext)(void 0);var r=o(76386),c=o(52322);const u=()=>(0,c.jsx)(l,{children:(0,c.jsx)(r.Outlet,{})}),l=({children:e})=>{const t=s().create({baseURL:"https://auth-dev.ariefinance.com",headers:{"Content-Type":"application/x-www-form-urlencoded"}});return(0,c.jsx)(a.Provider,{value:{authApi:t},children:e})},h=()=>{const e=(0,i.useContext)(a);if(void 0===e)throw new Error("useAuthApi must be within AuthApiContext Provider");return e},d="auth_id",_="auth_nonce",g="token",m="refreshToken",p="session_id";var C=o(13378),f=o(70486),I=o.n(f);const L=["businessRewardsAccountCustomerEmail","businessRewardsAccountCustomerId","businessRewardsAccountCustomerUserName"];function w(e){document.cookie=`${e}=; domain=.${window.location.hostname}; path=/; SameSite=None; Secure; max-age=0`}function U(){L.forEach(w)}function A(e){var t;return null==(t=document.cookie.split("; ").find((t=>t.startsWith(`${e}=`))))?void 0:t.split("=")[1]}function S(e,t,o){if(A(e)!==t){let n="";if(o){const e=new Date;e.setUTCDate(e.getUTCDate()+o),n=e.toUTCString()}document.cookie=`${e}=${t}; expires=${n}; domain=.${window.location.hostname}; path=/; SameSite=None; Secure`}}function k(e){S("businessRewardsAccountCustomerEmail",e.email),S("businessRewardsAccountCustomerId",e.id),S("businessRewardsAccountCustomerUserName",e.username)}function v(e,t){S("token",e),S("refreshToken",e)}function x(){w("token"),w("refreshToken")}function B(e="0"){S("accountTopUpDataPrivacyModal",e,365)}const O=e=>{const t=window.location.href,o="/online-banking",n=null==t?void 0:t.search(o);return-1===n?e:null==t?void 0:t.substring(0,n+15)};var P=o(91516);const E=()=>{const{olbBaseUrl:e,authClientId:t}=(0,P.useConfigurationContext)(),[o,n]=(0,i.useState)(!1),[s,a]=(0,i.useState)(!1),{authApi:r}=h(),c=t,u=async()=>{try{await l()}catch(e){sessionStorage.clear(),U(),x()}},l=async()=>{n(!0);const e=sessionStorage.getItem(m);e&&await(async e=>{await r.post("as/revoke_token.oauth2",new URLSearchParams({token:e,client_id:c,token_type_hint:"refresh_token"}))})(e),sessionStorage.clear(),U(),window.location.replace("https://auth-dev.ariefinance.com/idp/startSLO.ping?TargetResource=https://www.ariefinance.com/logout/")};return{initLogin:()=>{const t=(()=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";return[...Array(44)].reduce((t=>t+e.charAt(Math.floor(62*Math.random()))),"")})(),o=(0,C.v1)(),n=(0,C.v1)();sessionStorage.setItem(d,t),sessionStorage.setItem(_,o),sessionStorage.setItem(p,n),window.location.replace(((t,o)=>{const n=O(e);return`https://auth-dev.ariefinance.com/as/authorization.oauth2?code_challenge=${t}&client_id=${c}&response_type=code&scope=openid&redirect_uri=${n}/auth&nonce=${o}`})(t,o))},logout:l,isLoggingOut:o,login:async(t,o,n)=>{if(t&&sessionStorage.getItem(g))o();else{const l=O(e);try{const e=sessionStorage.getItem(d)||"",a=sessionStorage.getItem(_)||"",h=(await r.post("as/token.oauth2",new URLSearchParams({grant_type:"authorization_code",client_id:c,code:t,code_verifier:e,redirect_uri:`${l}/auth`,nonce:a}))).data,p=I()(h.id_token);p&&sessionStorage.getItem(_)===p.nonce?(s=h.access_token,i=h.refresh_token,sessionStorage.removeItem("auth_id"),sessionStorage.removeItem("auth_nonce"),sessionStorage.setItem(g,s),sessionStorage.setItem(m,i),{NX_PUBLIC_AUTH_URL:"https://auth-dev.ariefinance.com",NX_PUBLIC_LEGACY_OLB_BASE_URL:"http://online.ariefinance.com",NX_PUBLIC_APP_
1VERSION:"1.980.2"}.NX_PUBLIC_SHARE_TOKEN_WITH_OLB_PAYMENTS&&v(s),o()):(await u(),n())}catch(a){await u(),n()}}var s,i},refreshAccessToken:async()=>{a(!0);if("true"==={NX_PUBLIC_AUTH_URL:"https://auth-dev.ariefinance.com",NX_PUBLIC_LEGACY_OLB_BASE_URL:"http://online.ariefinance.com",NX_PUBLIC_APP_VERSION:"1.980.2"}.NX_PUBLIC_OFFLINE_MODE)return new Promise((e=>{setTimeout((()=>{a(!1),e()}),1500)}));const e=sessionStorage.getItem(m);if(!e)throw a(!1),new Error("Unable to retrieve new access token, no refresh token exists");{const t=(await r.post("as/token.oauth2",new URLSearchParams({grant_type:"refresh_token",client_id:c,refresh_token:e}))).data;t.refresh_token&&sessionStorage.setItem("refreshToken",t.refresh_token),sessionStorage.setItem("token",t.access_token),a(!1)}},isRefreshingToken:s}},N=(0,i.createContext)(void 0),R=()=>{const e=(0,i.useContext)(N);if(void 0===e)throw new Error("useAuthContext must be within AuthContext Provider");return e};var T=o(99296);const y=()=>{const[e,t]=(0,i.useState)(!0),o=(0,r.useLocation)(),{initLogin:n}=E();return(0,i.useEffect)((()=>{const e=sessionStorage.getItem(g);({NX_PUBLIC_AUTH_URL:"https://auth-dev.ariefinance.com",NX_PUBLIC_LEGACY_OLB_BASE_URL:"http://online.ariefinance.com",NX_PUBLIC_APP_VERSION:"1.980.2"}).NX_PUBLIC_OFFLINE_MODE||e?t(!1):(n(),localStorage.setItem("redirectUrl",o.pathname+o.search))}),[o.pathname,n,o.search]),e?(0,c.jsx)(T.PageLoading,{}):(0,c.jsx)(r.Outlet,{})};var b=o(22254),j=o(11871),X=o(73659);const $=({isOpen:e,onCloseModal:t,onLogout:o,onStayLoggedIn:n})=>(0,c.jsxs)(j.Modal,{isCentered:!0,isOpen:e,onClose:t,size:"2xl",closeOnOverlayClick:!1,children:[(0,c.jsx)(j.ModalOverlay,{}),(0,c.jsx)(j.ModalContent,{"data-testid":"cancel-modal",children:(0,c.jsx)(j.ModalBody,{p:"3.2rem",children:(0,c.jsxs)(j.Box,{children:[(0,c.jsx)(j.Box,{mt:"0.8rem",children:(0,c.jsx)(X.Heading,{textAlign:"center",size:"h2",children:"Are you still there?"})}),(0,c.jsx)(j.Box,{mt:"0.8rem",children:(0,c.jsx)(X.Text,{textAlign:"center",color:"$fg.tertiary",textStyle:"body-02-regular",children:"For security reasons we\u2019ll log you off in 30 seconds"})}),(0,c.jsx)(j.Button,{mt:"3.2rem",w:"100%",variant:"danger",onClick:o,"data-testid":"log-out-button",children:"Log out"}),(0,c.jsx)(j.Button,{mt:"1.6rem",w:"100%",variant:"ghost",id:"stay-logged-in-button",onClick:n,children:"I'm still here"})]})})})]}),M=()=>(0,c.jsx)(D,{children:(0,c.jsx)(r.Outlet,{})}),D=({children:e})=>{const[t,o]=(0,i.useState)(!1),{logout:n,isLoggingOut:s,initLogin:a}=E(),r=(0,b.useIdleTimer)({onIdle:()=>n(),onPrompt:()=>o(!0),timeout:27e4,promptBeforeIdle:3e4}),u=sessionStorage.getItem(g)||"",l=()=>(0,c.jsx)($,{isOpen:t,onCloseModal:()=>o(!1),onLogout:()=>n(),onStayLoggedIn:()=>{r.reset(),o(!1)}});return{NX_PUBLIC_AUTH_URL:"https://auth-dev.ariefinance.com",NX_PUBLIC_LEGACY_OLB_BASE_URL:"http://online.ariefinance.com",NX_PUBLIC_APP_VERSION:"1.980.2"}.NX_PUBLIC_OFFLINE_MODE||u?(0,c.jsxs)(N.Provider,{value:{token:u,logout:n,isLoggingOut:s},children:[t&&(0,c.jsx)(l,{}),e]}):(a(),null)},H=e=>{window.location.replace(`${O(e)}/accounts`)},F=({heapEvent:e})=>{const{olbBaseUrl:t}=(0,P.useConfigurationContext)();return(0,i.useEffect)((()=>{window.heap&&e&&window.heap.track(e.heapId,e.heapPayload),H(t)}),[]),null},V=()=>{const e="http://online.ariefinance.com";return e},W=()=>`${V()}/online-banking`,Y=()=>`${V()}/open`,z=()=>new Promise((e=>{let t=0;const o=setInterval((()=>{if(t<20){var n;t+=1;const{unblu:s}=window;null!=s&&null!=(n=s.floating)&&n.api&&(clearInterval(o),s.floating.api.initialize().then((t=>{e(t)})))}else e(null)}),1e3)})),G=async()=>{if("true"!=={NX_PUBLIC_AUTH_URL:"https://auth-dev.ariefinance.com",NX_PUBLIC_LEGACY_OLB_BASE_URL:"http://online.ariefinance.com",NX_PUBLIC_APP_VERSION:"1.980.2"}.NX_PUBLIC_OFFLINE_MODE)try{const t=await z();if(t)try{await t.logout()}catch(e){console.error("Unable to logout Unblu",e)}}catch(t){console.error("Unable to retrieve Unblu visitor API",t)}},K=()=>window.location.replace(W()),q=()=>window.location.replace(Y())}}]);
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.