import{af as e,eY as t,eZ as n,e_ as a,e$ as i,f0 as s,f1 as r,f2 as o,bB as c,f3 as d,ck as l,f4 as p,f5 as u,ag as g,b8 as m,N as h,u as v,f6 as f,eI as _,f7 as y,f8 as I,f9 as S,fa as b,bM as C,fb as T,fc as E,fd as w,fe as k,ff as A,fg as P,fh as q,fi as F,fj as U,fk as M,fl as O,fm as N,fn as x,fo as z,fp as L,fq as j,fr as G,fs as D,ft as R,fu as $,fv as B,fw as V,fx as H,fy as W,fz as Q,fA as J,fB as Z,fC as X,fD as Y,fE as K,fF as ee,fG as te,fH as ne,fI as ae,fJ as ie,fK as se,fL as re,fM as oe,fN as ce,fO as de,fP as le,fQ as pe,S as ue,R as ge,p as me,f as he,a7 as ve,c0 as fe,W as _e,L as ye,ax as Ie,Q as Se,aG as be,cA as Ce,aW as Te,fR as Ee,aT as we,D as ke,X as Ae,fS as Pe,fT as qe,fU as Fe,fV as Ue,fW as Me,j as Oe,b0 as Ne,E as xe,fX as ze,es as Le,U as je,aB as Ge,e6 as De,fY as Re,aX as $e,Y as Be,bT as Ve,fZ as He,f_ as We,_ as Qe,f$ as Je,g0 as Ze,g1 as Xe,g2 as Ye,g3 as Ke,g4 as et,eo as tt,g5 as nt,g6 as at,g7 as it,g8 as st,g9 as rt,a as ot,eE as ct,eG as dt,ga as lt,et as pt,eA as ut,d$ as gt,gb as mt,gc as ht,gd as vt,ge as ft,gf as _t,gg as yt,gh as It,gi as St,l as bt,gj as Ct,gk as Tt,gl as Et,c2 as wt,gm as kt,an as At,ai as Pt,am as qt,gn as Ft,go as Ut,gp as Mt,gq as Ot,gr as Nt,gs as xt,gt as zt,a9 as Lt,gu as jt,eF as Gt,aC as Dt,gv as Rt,gw as $t,gx as Bt,gy as Vt,gz as Ht,gA as Wt,C as Qt,av as Jt,a6 as Zt,a8 as Xt,aF as Yt,gB as Kt,aU as en,gC as tn,gD as nn,bW as an,gE as sn,gF as rn,gG as on,gH as cn,gI as dn,gJ as ln,gK as pn,gL as un,gM as gn,dV as mn,gN as hn,gO as vn,gP as fn,a0 as _n,s as yn,gQ as In,gR as Sn,gS as bn,gT as Cn,e as Tn,gU as En,gV as wn,gW as kn,gX as An,b7 as Pn,gY as qn,gZ as Fn,g_ as Un,b3 as Mn,b4 as On,h as Nn,g$ as xn,F as zn,H as Ln,y as jn,cj as Gn,$ as Dn,b5 as Rn,h0 as $n,I as Bn,O as Vn,a3 as Hn,a5 as Wn,h1 as Qn,h2 as Jn,cu as Zn,dU as Xn,K as Yn,h3 as Kn,h4 as ea,cs as ta,b6 as na,B as aa,h5 as ia,aw as sa,h6 as ra}from"./0.CA-0OlvF.chunk.js";import{n as oa,l as ca,f as da,w as la,c as pa,t as ua,h as ga,i as ma}from"./2.pu7iWzia.chunk.js";import{be as ha,bf as va,bg as fa,bh as _a,f as ya,g as Ia,p as Sa}from"./16.Mn4CHqb3.chunk.js";import{n as ba,k as Ca,c as Ta,f as Ea}from"./3.CJvEkDRx.chunk.js";import{v as wa,c as ka,t as Aa}from"./15.B-FVb6qL.chunk.js";import{i as Pa}from"./17.qYTqns9Q.chunk.js";import{g as qa,a as Fa,b as Ua,l as Ma,c as Oa,m as Na,d as xa,u as za,e as La,h as ja,i as Ga,j as Da,k as Ra,n as $a,o as Ba,p as Va,q as Ha,t as Wa,f as Qa}from"./6.rNtyIg16.chunk.js";import{z as Ja,i as Za,a4 as Xa,A as Ya,k as Ka,f as ei,a5 as ti,d as ni}from"./7.DaJJFJ3Z.chunk.js";import{c as ai,g as ii,a as si,r as ri,b as oi}from"./1.CYmTgLyG.chunk.js";import{i as ci}from"./11.DYv5DkRF.chunk.js";import"./10.BORa1An7.chunk.js";import"./9.DNzTqRPk.chunk.js";import"./8.al-9NYxR.chunk.js";function di(e,t){return[e,t]}function li(e,t){if(0===e){var n=!1;t(0,function(e){2===e&&(n=!0)}),n||t(2)}}const pi=(ui=()=>li,e=>(t,n)=>{if(0!==t)return;let a,i=!1;const s=(e,t)=>{a(e,t)},r=(e,t)=>{if(0===e)return a=t,i?void s(1):void n(e,s);if(2===e&&t&&!i){i=!0;try{ui(t)(0,r)}catch(o){n(2,o)}}else n(e,t)};e(t,r)});var ui,gi=function(){};function mi(e,t){0===e&&t(0,gi)}function hi(){for(var e=arguments.length,t=new Array(e),n=0;n{const t={};return"string"==typeof e.customId&&(t.custom_id=e.customId),Ja(e.properties)&&(t.properties=e.properties),t},fi=e=>{switch(e.type){case r:{const t={...vi(e),type:e.type,text:e.text};return e.postback&&(t.postback={id:e.postback.id,thread_id:e.postback.threadId,event_id:e.postback.eventId,type:e.postback.type,value:e.postback.value}),t}case s:return{...vi(e),type:e.type,url:e.url,alternative_text:e.alternativeText};case i:return{...vi(e),type:e.type,form_id:e.formId,...e.formType&&{form_type:e.formType},fields:e.fields.map(e=>{if("group_chooser"===e.type){if(!e.answer)return e;const{groupId:t,...n}=e.answer;return{...e,answer:{...n,group_id:t}}}return e})};case a:{const t={...vi(e),type:e.type,text:e.text,system_message_type:e.systemMessageType};return e.recipients&&(t.recipients=e.recipients),t}case n:{const t={...vi(e),type:e.type};return e.content&&(t.content=e.content),t}}},_i=e=>{let{active:t=!0,chat:n,welcomeMessageId:a,continuous:i}=e;const s={active:t,chat:{}};if("boolean"==typeof i&&(s.continuous=i),a&&"string"==typeof a&&(s.welcome_message_id=a),!n)return s;const{access:r,thread:o,properties:c}=n;return r&&r.groupIds&&(s.chat.access={group_ids:r.groupIds}),c&&(s.chat.properties=c),o&&(s.chat.thread=(e=>{const t={},{events:n,properties:a}=e;return n&&(t.events=n.map(fi)),a&&(t.properties=a),t})(o)),s},yi=e=>t(e).map(e=>{let[t,n]=e;return{[t]:n}}),Ii=t=>{const n=e(["avatar","name","email"],t);return t.phoneNumber&&(n.phone_number=t.phoneNumber),t.sessionFields&&(n.session_fields=yi(t.sessionFields)),t.suggestedEmail&&(n.suggested_email=t.suggestedEmail),"boolean"==typeof t.nameIsDefault&&(n.name_is_default=t.nameIsDefault),n},Si="change_region",bi="check_goals",Ci="destroy",Ti="fail_all_requests",Ei="login_success",wi="pause_connection",ki="prefetch_token",Ai="push_received",Pi="push_response_received",qi="reconnect",Fi="request_failed",Ui="response_received",Mi="send_request",Oi="set_chat_active",Ni="set_self_id",xi="socket_connected",zi="socket_disconnected",Li="socket_recovered",ji="socket_unstable",Gi="start_connection",Di="update_customer_page",Ri="clear_sensitive_session_state",$i="identity_changed",Bi=e=>({type:Ci,payload:{reason:e}}),Vi=e=>({type:wi,payload:{reason:e}}),Hi=function(e){return void 0===e&&(e=!1),{type:ki,payload:{fresh:e}}},Wi=e=>({type:qi,payload:{delay:e}}),Qi=(e,t,n)=>({type:Mi,payload:{request:{action:e,payload:t},...n&&{source:n}}}),Ji=(e,t)=>({type:Oi,payload:{id:e,active:t}}),Zi=e=>({type:Ni,payload:{id:e}}),Xi="CONNECTION_LOST",Yi="MISDIRECTED_CONNECTION",Ki="MISSING_CHAT_THREAD",es="SDK_DESTROYED",ts="connected",ns="destroyed",as="disconnected",is="customer_banned",ss="product_version_changed",rs="logged_out_remotely";function os(e){let{message:t,code:n}=e;const a=new Error(t);return a.code=n,a}const cs=e=>e.connection.status,ds=(e,t)=>e.requests[t],ls=e=>e.users.self.id,ps=(e,t)=>{const n=e.chats[t];return!!n&&n.active},us=e=>cs(e)===ts,gs=e=>({"x-region":e.region??""}),ms=e=>`${(e=>{const{region:t}=e;return`https://api${!t||"fra"!==t&&"eu-west3"!==t?"":"-fra"}${(e=>{let{env:t}=e;return"production"===t?"":`.${t}`})(e)}.livechatinc.com`})(e)}/v3.6/customer`,hs=(e,t)=>{let{id:n}=t;const{[n]:a,...i}=e.requests;return{...e,requests:i}},vs=(e,t)=>({...t,connection:{...t.connection,status:e}});function fs(e){const t=ci,n=ha(),a=va((i=(e=>{const{application:t={},organizationId:n,groupId:a=null,env:i,page:s=null,region:r=null,referrer:o=null,tabId:c=null,uniqueGroups:l=!1,mobile:p=!1}=e;return{application:{...t,name:"chat_widget",version:"d8c4784a91ecfc0a8e0d3646e18ba18e0e07eecf"},organizationId:n,env:i,groupId:a,chats:{},connection:{status:as},page:s,region:r,referrer:o,tabId:c,requests:{},users:{self:{id:null,type:d},others:{}},uniqueGroups:l,mobile:p}})(e),c(i,{[Si]:(e,t)=>{let{region:n}=t;return{...e,region:n}},[Ci]:e=>vs(ns,e),[Ei]:e=>vs(ts,e),[wi]:e=>vs("paused",e),[Fi]:hs,[Ui]:hs,[Pi]:hs,[Mi]:(e,t)=>{let{promise:n,resolve:a,reject:i,id:s,request:r}=t;return{...e,requests:{...e.requests,[s]:{id:s,promise:n,resolve:a,reject:i,request:r}}}},[Oi]:(e,t)=>{let{id:n,active:a}=t;return{...e,chats:{...e.chats,[n]:{...e.chats[n],active:a}}}},[Ni]:(e,t)=>({...e,users:{...e.users,self:{...e.users.self,id:t.id}}}),[zi]:e=>{const t=cs(e);return{...vs(t===as?as:"reconnecting",e),requests:{}}},[Di]:(e,t)=>({...e,page:{...e.page,...t}}),[Ri]:e=>({...e,chats:{},users:{self:{id:null,type:d},others:{}},requests:{}}),[$i]:e=>e})),t(fa(n)));var i;return a.addSideEffectsHandler=n.add,a}const _s=e=>{let{env:t,organizationId:n,eventName:a}=e;return Promise.resolve()},ys=(e,t)=>{t.payload.id=g(e.getState().requests);const{resolve:n,reject:a,promise:i}=m();return t.payload.promise=i,t.payload.resolve=n,t.payload.reject=a,e.dispatch(t),i},Is=e=>{const{organizationId:t,groupId:n,uniqueGroups:a}=e.getState();return`side_storage_${t}`+(a?`:${n}`:"")},Ss=(e,t)=>{const n=h(t),a=Is(e);return n.getItem(a).catch(ba).then(e=>JSON.parse(e||"{}")).catch(ba)},bs=(e,t)=>{let{getState:n,dispatch:a}=e;const i=(e=>e.requests)(n());a({type:Ti,payload:{rejects:Object.keys(i).map(e=>i[e].reject),reason:t}})},Cs=(e,t,n)=>{let{getState:a,dispatch:i}=e;const s=t.payload.id;i({type:Fi,payload:{id:s,reject:a().requests[s].reject,error:n}})},Ts=(e,t,n)=>ys(e,Qi(t,n,"login"));function Es(e,t,n){let a,i,s=null;const r={min:300,max:6e4,jitter:.3},o=_a(r),c=_a({...r,min:1e3});let d=o;const l=e=>a.dispatch(Bi(e)),p=()=>a.dispatch(Wi(d.duration())),u=()=>Promise.all([e.getToken(),Ss(a,n)]),g=e=>{let[t,i]=e;const s=ls(a.getState());if(null===s)a.dispatch(Zi(t.entityId));else if(s!==t.entityId)return n&&((e,t)=>{h(t).removeItem(Is(e)).catch(ba)})(a,n),a.dispatch({type:Ri}),a.dispatch(Zi(t.entityId)),a.dispatch((r={previousId:s,newId:t.entityId},{type:$i,payload:r})),[t,{}];var r;return[t,i]},m=e=>{let[n,i]=e;const r=a.getState(),{application:o,groupId:c,page:d,referrer:l,mobile:p,tabId:u}=r,g={token:`${n.tokenType} ${n.accessToken}`,customer:"function"==typeof t?Ii(t()):{},customer_side_storage:i,is_mobile:p,application:_(["name","version"],o)};return g.c=(e=>{let[t,n]=e;return Array.from(`${t}${n}`).reduce((e,t)=>e+t["tAedoCrahc".split("").reverse().join("")](0),0)%1024})((e=>[e.organizationId,e.users.self.id])(r)),"number"==typeof c&&(g.group_id=c),o.channelType&&(g.application.channel_type=o.channelType),null!==d&&(s=d,g.customer_page=d),null!==l&&(g.referrer=l),null!==u&&(g.tab_id=u),Promise.race([Ts(a,y,g),(m=15e3,new Promise(e=>{setTimeout(e,m)})).then(()=>Promise.reject(os({message:"Request timed out.",code:"REQUEST_TIMEOUT"})))]);var m};return{sendLogin:t=>{a=t,null==i||i.cancel(),i=((e,t,n)=>{let[...a]=e,i=!1;const s=e=>{const r=a.shift();la(()=>r(e)).then(e=>{i||(a.length?s(e):t(e))},e=>{i||n(e)})};return s(),{cancel(){i=!0}}})([u,g,m],e=>{i=null,o.reset(),c.reset(),d=o,(()=>{const{page:e}=a.getState();s!==e&&Ts(a,I,e).catch(ba),s=null})(),a.dispatch({type:Ei,payload:e})},t=>{switch(i=null,t.code){case"AUTHENTICATION":return e.getFreshToken(),void p();case Xi:case Yi:case es:return;case"SSO_IDENTITY_EXCEPTION":case"SSO_OAUTH_EXCEPTION":return"server_error"===t.message||"temporarily_unavailable"===t.message?void p():void l(t.message);case"USERS_LIMIT_REACHED":return void a.dispatch(Vi(t.code.toLowerCase()));case"CUSTOMER_BANNED":case"WRONG_PRODUCT_VERSION":return void l(t.code.toLowerCase());case"SERVICE_TEMPORARILY_UNAVAILABLE":return d=c,void p();default:return void p()}})},cancel:()=>{null==i||i.cancel()}}}const ws={[Xi]:"Connection lost.",[Yi]:"Connected to wrong region."},ks=(e,t)=>{const n=e.getState();switch(t.type){case Pi:case Ai:switch(t.payload.action){case k:return void e.dispatch(Ji(t.payload.payload.chatId,!1));case w:return void e.dispatch(Ji(t.payload.payload.chat.id,!0));default:return}case Ui:return t.payload.action===E?void t.payload.payload.chatsSummary.filter(e=>{let{id:t,active:a}=e;return ps(n,t)!==a}).forEach(t=>{let{id:n,active:a}=t;e.dispatch(Ji(n,a))}):void 0}},As=(e,t)=>{t.forEach(t=>{if("present"in t){const{present:n,...a}=t;return void e("user_data",a)}if(t.type===d){const{statistics:n,...a}=t;return void e("user_data",a)}e("user_data",t)})},Ps=(e,t,n)=>{let{emit:a,store:i}=e,{payload:s}=t;switch(s.action){case z:return s.payload.properties.lc2&&"queue_pos"in s.payload.properties.lc2&&a(L,{chatId:s.payload.chatId,threadId:s.payload.threadId,queue:{position:s.payload.properties.lc2.queue_pos,waitTime:s.payload.properties.lc2.queue_waiting_time}}),void a("thread_properties_updated",s.payload);case x:return void((e,t,n)=>{h(n).setItem(Is(e),JSON.stringify(t)).catch(ba)})(i,s.payload.customer_side_storage,n);case b:switch(s.payload.reason){case"access_token_expired":i.dispatch(Hi(!0)),i.dispatch(Wi(100)),a("disconnected",s.payload);break;case is:case"customer_temporarily_blocked":case"license_not_found":case ss:case"too_many_connections":case"unsupported_version":case rs:i.dispatch(Bi(s.payload.reason));break;case"misdirected_connection":bs(i,Yi),i.dispatch({type:Si,payload:s.payload.data});break;case"service_temporarily_unavailable":case"too_many_unauthorized_connections":bs(i,s.payload.reason.toUpperCase());break;default:i.dispatch(Wi(100)),a("disconnected",s.payload)}return;case N:{const[e]=s.payload.groups;return void a("availability_updated",{availability:S(e.status)})}case w:return As(a,s.payload.chat.users),void a(s.action,s.payload);case A:if(null===s.payload.event)return;return void a(s.action,s.payload);case O:case M:case U:return void a(s.action,s.payload);case F:return As(a,[s.payload.user]),void a(s.action,s.payload);default:return void a(s.action,s.payload)}},qs=(e,t)=>{let{emit:n}=e,{payload:a}=t;switch(a.action){case k:return void a.resolve(q);case P:return As(n,a.payload.users),void a.resolve(a.payload);case w:return As(n,a.payload.chat.users),void a.resolve(a.payload);case A:return void a.resolve(a.payload.event);case E:return As(n,a.payload.users),void a.resolve(a.payload);default:return void a.resolve(a.payload)}},Fs=e=>{let{auth:t,customerDataProvider:n,emitter:a,socket:i,parentStorage:s}=e;const{emit:r}=a,o=Es(t,n,s);return(e,n)=>{switch(e.type){case Si:return void i.reinitialize();case bi:return void((e,t,n)=>t.getToken().then(t=>{const a=e.getState();null===ls(a)&&e.dispatch(Zi(t.entityId));const{page:i}=a;if(!i||!i.url||Za(n??{}))return;const s=l({organization_id:a.organizationId,...gs(a)}),r={session_fields:yi(n||{}),group_id:a.groupId||0,page_url:i.url};return v(`${ms(a)}/action/${f}?${s}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`${t.tokenType} ${t.accessToken}`},body:JSON.stringify(r)}).then(()=>{})}))(n,t,e.payload.sessionFields).catch(ba);case Ci:{const{payload:t}=e;switch(o.cancel(),i.destroy(),t.reason){case"manual":bs(n,es);break;case is:case"license_expired":case ss:case rs:bs(n,Xi),r("disconnected",t);break;default:r("disconnected",t)}return void a.off()}case Ti:{const{reason:t,rejects:n}=e.payload,a={message:ws[t],code:t};return void n.forEach(e=>{e(os(a))})}case Ei:{const{dynamicConfig:t,customer:n,chats:a,greeting:i,availability:s}=e.payload,o={customer:n,availability:s,...i&&{greeting:i}};return Object.defineProperty(o,"__unsafeDynamicConfig",{value:t}),Object.defineProperty(o,"__unsafeChats",{value:a}),void r("connected",o)}case wi:{const{payload:t}=e;return i.disconnect(),void("manual"!==t.reason&&r("disconnected",t))}case ki:return e.payload.fresh?void t.getFreshToken().catch(ba):void t.hasToken().then(e=>e?t.getToken().then(e=>{let{creationDate:n,expiresIn:a}=e;if(!(n+a-Date.now()>36e5))return t.invalidate().then(t.getFreshToken)}):t.getToken()).catch(ba);case Ai:return e.payload.action===b||ks(n,e),void Ps({emit:r,store:n},e,s);case Pi:return ks(n,e),void qs({emit:r},e);case qi:return bs(n,Xi),void i.reconnect(e.payload.delay);case Fi:{const{reject:t,error:n}=e.payload;return void t(os(n))}case Ui:return ks(n,e),void qs({emit:r},e);case Mi:{const t=n.getState();if((e=>cs(e)===ns)(t))return void Cs(n,e,{code:es,message:"SDK destroyed."});if(!us(t)&&"login"!==e.payload.source)return void Cs(n,e,{code:"NO_CONNECTION",message:"No connection."});((e,t)=>{let{payload:{id:n,request:a}}=t;const i={request_id:n,...a};if(i.action===y){const t={3.6:C(T).filter(e=>e!==b)};return void e.emit({...i,version:"3.6",payload:{...i.payload,pushes:t}})}e.emit(i)})(i,e)}return;case Ni:return void r("customer_id",e.payload.id);case zi:return void r("disconnected",{reason:"connection_lost"});case xi:return void o.sendLogin(n);case Li:if(!us(n.getState()))return;return void r("connection_recovered");case ji:if(!us(n.getState()))return;return void r("connection_unstable");case Gi:return i.connect(),void n.dispatch(Hi());case Di:if(!us(n.getState()))return;return void ys(n,Qi(I,e.payload)).then(e=>{var t;if(null==(t=null==e?void 0:e.groups)?void 0:t.length){const[t]=e.groups,n=S(t.status);r("availability_updated",{availability:n})}}).catch(ba);case $i:return void r("identity_changed",e.payload);default:return}}},Us=function(e,t){let{query:n={}}=void 0===t?{}:t;const a=l(n),i=a?`${e}?${a}`:e,s=pa(),r=_a({min:1e3,max:5e3,jitter:.5});let o,c=3,d=null;const p=()=>{c=1,r.reset(),s.emit("connect")},u=()=>{m(),v(),s.emit("disconnect")},g=e=>{let{data:t}=e;s.emit("message",t)},m=()=>{var e;(clearTimeout(o),c=3,d)&&((e=d).removeEventListener("open",p),e.removeEventListener("close",u),e.removeEventListener("message",g),d.close(),d=null)},h=()=>{var e;c=0,d=new WebSocket(i),(e=d).addEventListener("open",p),e.addEventListener("close",u),e.addEventListener("message",g)},v=function(e){void 0===e&&(e=r.duration()),m(),0!==e?o=setTimeout(h,e):h()};return{connect(){if(3!==c)throw new Error("Socket is already open or connecting.");clearTimeout(o),h()},destroy(){s.off(),m()},disconnect:m,reconnect:v,emit(e){if(1!==c)throw new Error("Socket is not connected.");d.send(e)},getReadyState:()=>c,on:s.on,off:s.off}},Ms=function(e,t){let{query:n={},emitter:a=pa()}=void 0===t?{}:t;const i=Us(e,{query:n}),s=(()=>{let e,t=ba;return{cancel:()=>{clearTimeout(e),t=ba},check(){const n=m();return t=n.resolve,e=setTimeout(()=>{const e=new Error("Timeout.");e.code="TIMEOUT",n.reject(e)},2e3),n.promise},resolve(){clearTimeout(e),t()}}})(),r=()=>1===i.getReadyState(),o=()=>{s.cancel()};var c,d;return c=i,d=a,["connect","disconnect"].forEach(e=>{c.on(e,t=>{d.emit(e,t)})}),i.on("disconnect",o),i.on("message",e=>{s.resolve();const t=JSON.parse(e);a.emit("message",t)}),"undefined"!=typeof window&&void 0!==window.addEventListener&&(window.addEventListener("online",()=>{r()&&s.check().then(()=>{s.cancel(),a.emit("connection_recovered")},e=>{if(s.cancel(),"TIMEOUT"!==e.code)throw e;i.reconnect()})}),window.addEventListener("offline",()=>{s.cancel(),r()&&a.emit("connection_unstable")})),{...i,destroy(){o(),i.destroy()},disconnect(){o(),i.disconnect()},reconnect(e){o(),i.reconnect(e)},emit:e=>{i.emit(JSON.stringify(e))},on:a.on,off:a.off}},Os=(e,t)=>{const n=e.getState(),a=`${ms(n)}/rtm/ws`.replace(/^https/,"wss");return Ms(a,{query:{organization_id:n.organizationId,...gs(n)},emitter:t})},Ns=(e,t)=>{const{dispatch:n}=e;return t.on("connect",()=>{n({type:xi})}),t.on("message",t=>{if("response"===t.type){if(!t.success)return void((e,t)=>{let{dispatch:n,getState:a}=e;const{request_id:i,payload:s}=t,r=ds(a(),i);if(!r)return;const{reject:o}=r;n({type:Fi,payload:{id:i,reject:o,error:D(s.error)}})})(e,t);switch(t.action){case G:case o:case j:return;default:return void((e,t)=>{let{dispatch:n,getState:a}=e;const{request_id:i}=t,s=ds(a(),i);if(!s)return;const{promise:r,resolve:o,request:c}=s,d=R({request:c,response:t});n({type:Ui,payload:{id:i,promise:r,resolve:o,...d}})})(e,t)}}if("request_id"in t)switch(t.action){case w:case A:return void((e,t)=>{let{dispatch:n,getState:a}=e;const{request_id:i}=t,s=ds(a(),i);if(!s)return;const{promise:r,resolve:o}=s,c=$(t);n({type:Pi,payload:{id:i,promise:r,resolve:o,...c}})})(e,t)}((e,t)=>{const n=$(t);n&&e.dispatch({type:Ai,payload:n})})(e,t)}),t.on("disconnect",()=>{bs(e,Xi),cs(e.getState())===ts&&e.dispatch({type:zi})}),t.on("connection_unstable",()=>{n({type:ji})}),t.on("connection_recovered",()=>{n({type:Li})}),t.off},xs="UPLOAD_FAILED",zs=function(e,t,n){let{headers:a,method:i="POST",onProgress:s,withCredentials:r=!1}=void 0===n?{}:n;const o=new XMLHttpRequest;return{promise:new Promise((n,c)=>{"function"==typeof s&&(o.upload.onprogress=e=>{s(e.loaded/e.total)}),o.onload=()=>{let e;try{e=JSON.parse(o.response)}catch(a){e=o.response}if(o.status>=200&&o.status<300)return void n(e);const t=new Error("Upload failed.");t.code=xs,t.response=e,c(t)},o.onerror=()=>{const e=new Error("Upload failed.");e.code=xs,c(e)},o.onabort=()=>{const e=new Error("Upload canceled.");e.code="UPLOAD_CANCELED",c(e)},o.open(i,e),o.withCredentials=r,a&&Object.keys(a).forEach(e=>o.setRequestHeader(e,a[e])),o.send((e=>{const t=new FormData;return Object.keys(e).forEach(n=>t.append(n,e[n])),t})(t))}),cancel(){o.abort()}}},Ls=10485760,js=function(e,t){void 0===t&&(t=2);return`${(e/1024/1024).toFixed(t)} MB`},Gs=(e,t)=>{let n,{auth:a,store:i}=e,{file:s,onProgress:r}=t,o=!1;return{promise:new Promise((e,t)=>{(e=>{if(e.size>Ls)throw os({message:`The file is too big (max size is ${js(Ls)}).`,code:"TOO_BIG_FILE"})})(s);const c=i.getState(),d=l({organization_id:c.organizationId,...gs(c)}),p=`${ms(c)}/action/${B}?${d}`,u={file:s};a.getToken().then(a=>{o?t(new Error("Upload cancelled.")):(n=zs(p,u,{headers:{Authorization:`${a.tokenType} ${a.accessToken}`},onProgress:r}),n.promise.then(e,e=>{if(!e.response)return void t(e);const{type:n,message:a}=e.response.error;t(os({message:a,code:n.toUpperCase()}))}))})}),cancel(){o||(o=!0,n&&n.cancel())}}},Ds=t=>{wa(t);const{autoConnect:n=!0,customerDataProvider:a,identityProvider:i,parentStorage:s,env:r,...c}=t,d=r&&["labs","staging"].includes(r)?r:"production",g=fs({...c,env:d}),m=pa(),h=(e=>{const t=pa();let n=Os(e,t);return{...Object.keys(n).reduce((e,t)=>(e[t]=function(){return n[t](...arguments)},e),{}),reinitialize(){n.disconnect(),n=Os(e,t),n.connect()}}})(g),v="function"==typeof i?i():ka({...c,env:d},s);g.addSideEffectsHandler(Fs({emitter:m,socket:h,auth:v,customerDataProvider:a,parentStorage:s})),Ns(g,h);const f=ys.bind(null,g),_=()=>{g.dispatch({type:Gi})},y=Object.freeze({acceptGreeting(e){let{greetingId:t,uniqueId:n}=e;return f(Qi(le,{greeting_id:t,unique_id:n}))},auth:v,cancelGreeting(e){let{uniqueId:t}=e;return f(Qi(de,{unique_id:t}))},cancelRate(e){const{chatId:t,properties:n=["score"]}=e;return y.listThreads({chatId:t}).then(e=>{let{threads:a}=e;if(!a.length)throw os({message:`There is no thread in "${t}".`,code:Ki});return y.deleteThreadProperties({chatId:t,threadId:a[0].id,properties:{rating:n}})})},connect:_,deactivateChat(e){let{id:t}=e;return f(Qi(ce,{id:t}))},deleteChatProperties(e){let{id:t,properties:n}=e;return f(Qi(oe,{id:t,properties:n}))},deleteEventProperties(e){let{chatId:t,threadId:n,eventId:a,properties:i}=e;return f(Qi(re,{chat_id:t,thread_id:n,event_id:a,properties:i}))},deleteThreadProperties(e){let{chatId:t,threadId:n,properties:a}=e;return f(Qi(se,{chat_id:t,thread_id:n,properties:a}))},destroy(){g.dispatch(Bi("manual"))},disconnect(){g.dispatch(Vi("manual"))},getChat(e){let{chatId:t,threadId:n}=e;return f(Qi(P,{chat_id:t,thread_id:n}))},getChatHistory(e){let{chatId:t}=e;return((e,t)=>{const n={status:"idle",queuedTasks:[],nextPageId:null},a=(i,s)=>{switch(n.status){case"idle":return n.status="fetching",void e.listThreads(n.nextPageId?{chatId:t,pageId:n.nextPageId}:{chatId:t,minEventsCount:25}).then(e=>{let{threads:t,nextPageId:s}=e;n.nextPageId=s,n.nextPageId?(n.status="idle",i({value:{threads:[...t].reverse()},done:!1})):(n.status="done",i({value:{threads:[...t].reverse()},done:!0}));const r=n.queuedTasks.shift();r&&a(r.resolve,r.reject)},e=>{const{queuedTasks:t}=n;n.status="idle",n.queuedTasks=[],s(e),t.forEach(t=>t.reject(e))});case"fetching":return void n.queuedTasks.push({resolve:i,reject:s});case"done":return void i({value:void 0,done:!0})}};return{next:()=>new Promise(a)}})(y,t)},getCustomer:()=>f(Qi(ie,{})),getForm(e){let{groupId:t,type:n}=e;return f(Qi(ae,{group_id:t,type:n}))},getUrlInfo(e){let{url:t}=e;return f(Qi(ne,{url:t}))},listChats:e=>(void 0===e&&(e={}),"limit"in e&&"number"==typeof e.limit&&e.limit>25?Promise.reject(new Error("Specified limit is too high (max 25).")):f(Qi(E,void 0===e.pageId?{limit:e.limit||10}:{page_id:e.pageId}))),listGroupStatuses(e){let{groupIds:t}=void 0===e?{}:e;return f(Qi(te,t?{group_ids:t}:{all:!0}))},listThreads:e=>f(Qi(W,void 0===e.pageId?{chat_id:e.chatId,sort_order:e.sortOrder,limit:e.limit,min_events_count:e.minEventsCount}:{chat_id:e.chatId,page_id:e.pageId})),markEventsAsSeen(e){let{chatId:t,seenUpTo:n}=e;return f(Qi(ee,{chat_id:t,seen_up_to:n}))},on:m.on,once:m.once,off:m.off,rateChat(e){const{chatId:t,rating:n}=e;return y.listThreads({chatId:t}).then(e=>{let{threads:a}=e;if(!a.length)throw os({message:`There is no thread in "${t}".`,code:Ki});return y.updateThreadProperties({chatId:t,threadId:a[0].id,properties:{rating:n}})})},requestWelcomeMessage(e){let{id:t,aiAgentResponseScope:n}=void 0===e?{}:e;return f(Qi(K,{...t?{id:t}:{},...n?{ai_agent_response_scope:n}:{}}))},resumeChat:e=>(_s({env:d,organizationId:t.organizationId,eventName:"chat_started"}),f(Qi(G,(e=>{const t=_i(e);return{...t,chat:{...t.chat,id:e.chat.id}}})(e)))),sendEvent:e=>f((e=>{let{chatId:t,event:n,attachToLastThread:a}=e;const i={chat_id:t,event:fi(n)};return a&&(i.attach_to_last_thread=!0),Qi(o,i)})(e)),sendGreetingButtonClicked:e=>((e,t)=>{let{auth:n,store:a}=e,{greetingUniqueId:i,buttonId:s}=t;return n.getToken().then(e=>{const t=a.getState(),n=l({organization_id:t.organizationId,...gs(t)}),r=`${ms(t)}/action/${u}?${n}`;return fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`${e.tokenType} ${e.accessToken}`},body:JSON.stringify({greeting_unique_id:i,button_id:s}),keepalive:!0}).then(ba)})})({auth:v,store:g},e),sendCustomerActions:e=>((e,t)=>{let{auth:n,store:a}=e,{actions:i}=t;return n.getToken().then(e=>{const t=a.getState(),n=l({organization_id:t.organizationId,...gs(t)}),s=`${ms(t)}/action/${p}?${n}`;return fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`${e.tokenType} ${e.accessToken}`},body:JSON.stringify({actions:i}),keepalive:!0}).then(ba)})})({auth:v,store:g},e),sendRichMessagePostback(e){let{chatId:t,threadId:n,eventId:a,postback:i}=e;return f(Qi(Y,{chat_id:t,event_id:a,thread_id:n,postback:i}))},setCustomerSessionFields(e){let{sessionFields:t}=e;return f(Qi(H,{session_fields:yi(t)}))},setSneakPeek:e=>{let{chatId:t,sneakPeekText:n}=e;const a=g.getState();ps(a,t)&&us(a)&&f(Qi(X,{chat_id:t,sneak_peek_text:n})).catch(ba)},startChat:e=>(void 0===e&&(e={}),_s({env:d,organizationId:t.organizationId,eventName:"chat_started"}),f(Qi(j,_i(e)))),updateChatProperties(e){let{id:t,properties:n}=e;return f(Qi(Z,{id:t,properties:n}))},updateCustomer:e=>f(Qi(V,Ii(e))),updateCustomerPage(t){g.dispatch({type:Di,payload:e(["title","url"],t)})},updateEventProperties(e){let{chatId:t,threadId:n,eventId:a,properties:i}=e;return f(Qi(J,{chat_id:t,event_id:a,thread_id:n,properties:i}))},updateThreadProperties(e){let{chatId:t,threadId:n,properties:a}=e;return f(Qi(Q,{chat_id:t,thread_id:n,properties:a}))},uploadFile:e=>Gs({auth:v,store:g},e)});return n?_():g.dispatch({type:bi,payload:{sessionFields:"function"==typeof a?a().sessionFields:{}}}),y},Rs=e=>{try{e.connect()}catch{}},$s=(e,t)=>{const n=me(he(e,e=>e.application.destroyed),da(Boolean),ua(1)),a=oa(me(he(e,e=>e.application.pageFocused),da(Boolean)),me(he(e,e=>e.application.pageVisible),da(Boolean)));me(a,ve(n),ga(()=>((e,t)=>{const n=e.getConnectionState();if(n===pe)return e.setConnectionState(ue),void Rs(t);n===ge&&Rs(t)})(e,t)))},Bs=(e,t)=>`@@lc_privacy_policy:${e}${_e()&&void 0!==t?`:${t}`:""}`,Vs="CANCEL",Hs="NOTHING",Ws="SET",Qs=(e,t)=>ai((()=>{switch(t.code){case"TOO_BIG_FILE":return e.localize("cannot_upload_a_file_over_10mb");case"VALIDATION":return"No active chat thread"===t.message?e.localize("closed_chat_upload_failed"):t.message.includes("File type is forbidden")?e.localize("prohibited_file_type"):e.localize("upload_failed");default:return e.localize("upload_failed")}})()),Js=e=>{const{properties:{rate:t,rateComment:n,queued:a,upsellGoal:i}}=e.getChat(ye),s=e.getView("Chat/queue");return{rate:t,rateComment:n,queue:a?{position:s.numberInQueue,waitingTime:s.waitingTime}:null,upsellGoal:i}},Zs=e=>e.getChat(ye).properties.lastThread,Xs=e=>{const t=e.getChat(ye).properties.group,n=e.getApplicationState("group");return"number"==typeof t?t:n},Ys=(e,t)=>!!t&&-1!==t.indexOf(e.getApplicationState("group")),Ks=e=>{const t=e.getChat(ye);return(!t.active||t.properties.queued)&&!t.properties.starting&&!t.properties.ended},er=(e,t,n)=>{if(t!==Ce(e))return!1;const a=Te(ye,e);return!!a&&a.id===n},tr=e=>0===Ee(e).length,nr=(e,t)=>{let{group:n}=t;const{store:a}=e;if(Pe(a))return{};const i=Ae(a)?n:Xs(a);return{postchatForm:Ua(e,i).catch(()=>({enabled:!1}))}},ar=(e,t)=>{let{active:n,chatId:a,lastThreadId:i,becameInactive:s}=t;const{store:r}=e;if(Ae(r))return{fetchedHistory:qa(e,a)};if(s){const t=r.getChat(ye);return{fetchedThread:Fa(e,{chatId:a,threadId:t.properties.lastThread})}}return n?{fetchedThread:Fa(e,{chatId:a,threadId:i})}:void 0},ir=e=>{"livechat"===e.getApplicationState("defaultWidget")&&(Ue(ye,e)||e.getApplicationState().destroyed)&&(Me(e),e.updateView("minimized",{hidden:!0}))},sr=(e,t)=>{const n=Js(e),a={};if("rate"in t&&n.rate!==t.rate&&(a.rate=t.rate),"rateComment"in t&&n.rateComment!==t.rateComment&&(a.rateComment=t.rateComment),"upsellGoal"in t&&n.upsellGoal!==t.upsellGoal&&(a.upsellGoal=t.upsellGoal),"timestamp"in t&&void 0!==t.timestamp&&(a.timestamp=t.timestamp),"queue"in t&&!we(n.queue,t.queue)){const{queue:n}=t,{ended:i}=e.getChat(ye).properties;!i&&n?((e,t)=>{let{thread:n,numberInQueue:a,waitingTime:i}=t;const s={active:!0,properties:{queued:!0}};n&&(s.properties.lastThread=n),e.updateChat(ye,s),e.updateView("Chat/queue",{numberInQueue:a,waitingTime:i})})(e,{numberInQueue:n.position,waitingTime:n.waitingTime}):a.queued=!1}e.updateChat(ye,{properties:a})},rr=function(e,t){let{withSystemMessage:n=!1,reason:a="users_limit_reached"}=void 0===t?{}:t;if(e.setApplicationState({limitReached:!0,clientLimitExceededLifted:!1}),Re(e),n){const t=ut(e)?"Sorry we couldn't connect you with an agent, but you can still leave us a ticket":"Sorry, but we couldn't connect you with an agent. Try refreshing the page or come back later.";gt(e,ye,{text:t})}ut(e)&&mt(e,a)},or=e=>{Ue(ye,e)?Me(e):e.getApplicationState("wasActivated")&&Oe(e,"hidden")&&Ne(e,!0),e.setApplicationState({readyState:xe})},cr=e=>{const{store:t}=e;return Ga(e,t.getApplicationState("group")).then(e=>{e.enabled&&(t.updateView("Chat/ticketForm",e.form),mt(t,"groups_offline"))})},dr=(e,t)=>{const{store:n}=e,a=((e,t)=>{const{properties:{rate:n,rateComment:a}}=e.getChat(ye),i={comment:Hs,score:Hs};t.rating!==n&&(i.score=null===t.rating?Vs:Ws);const s="string"==typeof t.rateComment&&""!==t.rateComment;return a&&!s||i.score===Vs&&a?i.comment=Vs:!s||a&&t.rateComment===a||(i.comment=Ws),i})(n,t),{testGroup:i}=n.getApplicationState();if(a.score===Hs&&a.comment===Hs)return Promise.resolve(null);ft({testGroup:i,chatRating:a.score===Vs?"canceled":t.rating,chatRatingSource:"postchat"});const s=[];return a.score===Ws&&a.comment===Ws?(s.push(za(e,t)),_t(n,t.rating),yt(n,t.rateComment)):a.score===Vs&&a.comment===Vs?s.push(La(e,["comment","score"])):(a.score===Vs?s.push(La(e,["score"])):a.score===Ws&&(s.push(za(e,{rating:t.rating})),_t(n,t.rating)),a.comment===Vs?s.push(La(e,["comment"])):a.comment===Ws&&(s.push(za(e,{rateComment:t.rateComment})),yt(n,t.rateComment))),Promise.all(s.map(e=>e.catch(ba)))},lr=e=>{e.updateView("minimized",{hidden:!1})},pr=e=>{const{sdk:t,store:n}=e;t.destroy(),n.setApplicationState({destroyed:!0}),ir(n)},ur=(e,t)=>{const{store:n}=e,a=rt(n,t);if(!a)return;"form"!==a.type||a.properties.answered||"ask_for_email"!==a.properties.formId||(Math.random()<.01&&ot("ask_for_email_form_received",{}),n.hasEvent(ye,ct)&&n.removeEvent(ye,ct));const i=Ee(n).find(e=>e.properties.customId===a.properties.customId);if(i)((e,t,n)=>{const{store:a}=e,i=n.seen;a.updateEvent(ye,n.id,{properties:{...n.properties,...t.properties,isPreview:!1}}),a.setEventServerId(ye,n.id,t.serverId),i&&(Oa.updateLatestSeen(t.timestamp),ja(e,Oa.getLatestSeen())),Ct(a,t.properties.serverType,n.id)})(e,a,i);else{if("form"===a.type&&dt(a))return;He(n,a)}"product_cards"===a.type&<(n)&&(pt(n),n.setApplicationState({ecommerceAutoExpanded:!0})),Oe(n,"minimized")&&n.emit("render-minimized")},gr=(e,t)=>{const{store:n}=e,{id:a,active:i,group:s,thread:r,previousThread:o,agent:c,events:d,properties:l}=t,p=!!l.queue;if(Na(e,a),d.forEach(e=>He(n,e)),et(n,{id:a,active:i,thread:r,previousThread:o,group:s,queued:p,agent:c,timestamp:l.timestamp}),sr(n,{upsellGoal:l.upsellGoal}),tt(n)){const{position:e,waitingTime:t}=l.queue;n.updateView("Chat/queue",{numberInQueue:e,waitingTime:t})}},mr=e=>"form"===e.type&&!e.properties.answered&&wt(e.properties.formType),hr=function(e,t,n){let{filterUnfilledCustomForms:a=!1}=void 0===n?{}:n;const i=Et(mr,t);return t.filter((t,n)=>{const s=e.hasEvent(ye,t.id),r=!!t.properties.customId&&e.hasEvent(ye,t.properties.customId),o=mr(t)&&(a||n!==i);return!(s||r||"form"===t.type&&"ticket"===t.properties.formType||o||"form"===t.type&&dt(t))})},vr=(e,t,n)=>{hr(e,t,n).forEach(t=>He(e,t))},fr=(e,t,n)=>{let{eagerFetchingMode:a,group:i}=t,{thread:s,eventsSeenUpToMap:r}=n;if(!s)return;const{id:o,active:c,agent:d,events:l,properties:p}=s,u=e.getChat(ye),g=!c&&u.active,m=e.getLastEvent(ye);Le(e,"postchat")&&l.find(e=>e.properties.answered&&e.properties.formId===m.properties.formId)&&Xe(e),g&&Ye(e),e.updateChat(ye,{active:c,properties:{ended:u.properties.ended,lastThread:o,group:i,eventsSeenUpToMap:r,...g&&{ended:!0,queued:!1,agentActivity:null}}}),c&&Ke(e,d),sr(e,{rate:null,...p,queue:c&&"queue"in p?p.queue:null,...!a&&!c&&{rate:null,rateComment:null}}),vr(e,l,{filterUnfilledCustomForms:!c})},_r=(e,t)=>{null===Be(e,ye)&&e.updateChat(ye,{properties:{hasMoreHistory:t}})},yr=e=>{var t;null==(t=Oa.getHistoryIterator())||t.next().then(t=>{let{value:n,done:a}=t;const i=e.getTimeline(ye).length,s=n.filter(Boolean),r=hr(e,Ze(e=>e.events.map(e=>({...e,seen:!0})),s),{filterUnfilledCustomForms:!0});r.length>0&&e.addHistoryEvents(ye,r);i!==e.getTimeline(ye).length||a?e.updateChat(ye,{properties:{loadingHistory:!1,hasMoreHistory:!a}}):yr(e)},()=>{e.updateChat(ye,{properties:{loadingHistory:!1}})})},Ir=(e,t,n)=>{let{id:a,timestamp:i,threadId:s}=n;It(e,t,i),e.setEventServerId(ye,t.id,a),e.updateEvent(ye,t.id,{delivered:!0,serverTimestamp:i,thread:s})},Sr=(e,t)=>{e.updateEvent(ye,t.id,{failed:!0})},br=e=>{Promise.resolve().then(()=>{"image"===e.properties.fileType&&URL.revokeObjectURL(e.properties.url)});const t=e.properties.uploadSource;("clipboard"===t||Math.random()<.1)&&ot("file_upload_sent",{uploadSource:t})},Cr=(e,t)=>{let{event:n,meta:a}=t;const{sdk:i,store:s}=e;if("file"===n.type){if(!n.properties.finished){const e=i.uploadFile({file:a.file,onProgress:e=>s.updateEvent(ye,n.id,{properties:{progress:e}})});return Oa.setUploadInProgress(n.id,e),e.promise.then(e=>{let{url:t}=e;s.updateEvent(ye,n.id,{properties:{serverUrl:t,finished:!0}})},e=>{"UPLOAD_CANCELED"!==e.code&&s.updateEvent(ye,n.id,{properties:{failed:!0,failReason:Qs(s,e)}})}).finally(()=>{Oa.removeUploadInProgress(n.id)})}return i.sendEvent({chatId:Ce(s),event:Tt(s,n)}).then(t=>{s.updateEvent(ye,n.id,{delivered:!0}),ur(e,t),br(n)},()=>{Sr(s,n)})}if(Ka(n.type,["message","emoji"]))return i.sendEvent({chatId:Ce(s),event:Tt(s,n)}).then(e=>{Ir(s,n,e)},()=>{Sr(s,n)});if("custom_system_message"===n.type)return i.sendEvent({chatId:Ce(s),event:Tt(s,n)}).then(t=>ur(e,t),ba);if("rich_message_postback"===n.type){const{eventId:e,postback:t}=n.properties;return i.sendRichMessagePostback({chatId:Ce(s),threadId:s.getEvent(ye,e).thread,eventId:e,postback:t}).catch(ba)}if("url_preview"===n.type){const e=i.getUrlInfo({url:n.properties.url}).catch(()=>null);return i.sendEvent({chatId:Ce(s),event:Tt(s,n)}).then(t=>{Ir(s,n,t),e.then(e=>{const{title:a,description:r,url:o,imageUrl:c}=e;return s.updateEvent(ye,n.id,{properties:{title:a,description:r,image:{url:c,link:o}}}),i.updateEventProperties({chatId:Ce(s),threadId:t.thread,eventId:t.id,properties:{url_details:{title:a,description:r,url:o,image_url:c,image_width:null==e?void 0:e.imageWidth,image_height:null==e?void 0:e.imageHeight}}})}).catch(ba)},()=>{Sr(s,n)})}},Tr=(e,t)=>{let{events:n,...a}=t;const{store:i}=e,s=i.getSessionUser().id;Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1),n.forEach(e=>{i.getEvent(ye,e.id)?e.author===s?((e,t)=>{const n=t.timestamp;"message"===t.properties.serverType&&It(e,t,n),e.setEventServerId(ye,t.id,t.serverId);const a={delivered:!0,serverTimestamp:n,thread:t.thread};"form"===t.type&&(a.properties={answered:!0,fields:t.properties.fields}),e.updateEvent(ye,t.id,a)})(i,e):e.properties.welcomeMessage||e.properties.invitation?((e,t)=>{const n=St(e,ye);e.setEventServerId(ye,n.id,t.serverId);const a=n.author!==t.author;a&&e.setEventData(ye,n.id,{author:t.author});const i={delivered:!0,thread:t.thread,serverTimestamp:t.timestamp,properties:{}};n.properties.text!==t.properties.text&&(i.properties.text=t.properties.text),e.updateEvent(ye,n.id,i),a&&(Ke(e,t.author),e.recalculateTimeline(ye))})(i,e):He(i,e):He(i,e)}),gr(e,{...a,events:[]})},Er=(e,t)=>{const{store:n}=e;return n.updateChat(ye,{properties:{starting:!0}}),ht(n),xa(e,t).catch(a=>{if(a.message===vt)return qe(n,ye,{forced:!0}),Er(e,t);throw n.updateChat(ye,{properties:{starting:!1}}),a})},wr=(e,t)=>{const{author:n,event:a}=t;kt(e,n);const{serverId:i,properties:{ended:s}}=e.getChat(ye);s&&qe(e,ye,{chatId:i}),At("hideOnInit",e).enabled&&e.setApplicationState({wasActivated:!0});const r=St(e,ye);if(r)if(Pt(e)){if(Ie(e))return;qt(e,r)?e.removeEvent(ye,r.id):Ft(e,r.id)}else e.removeEvent(ye,r.id);Ut(e,a)},kr=e=>{const{store:t}=e,{availability:n,postponedGreeting:a}=t.getApplicationState();return"online"===n&&a?Promise.resolve().then(()=>(t.setApplicationState({postponedGreeting:null}),Oa.setPendingAsyncFlow("acceptingGreeting",!0),Da(e,a).then(e=>{Oa.setPendingAsyncFlow("acceptingGreeting",!1),wr(t,e)},()=>{Oa.setPendingAsyncFlow("acceptingGreeting",!1)}))):Promise.resolve(null)},Ar=(e,t)=>{const{store:n}=e;if(!t.event.properties.isExitIntent)if(n.getApplicationState("isExitIntentShadeDisplayed")&&(n.setApplicationState({isExitIntentShadeDisplayed:!1}),n.emit("remove_exit_intent_shade")),n.getApplicationState("pendingGreetingHide"))n.setApplicationState({pendingGreetingHide:!1});else if(!Oa.getIsPendingAsyncFlow("requestingPredictedWelcomeMessage"))if(Le(n,"postchat"))n.setApplicationState({postponedGreeting:t});else if(Ot(ye,n)){if(!t.event.properties.accepted)return n.getApplicationState("greetingsMuted")&&!Oe(n,"maximized")?(n.updateChat(ye,{properties:{mutedGreeting:t}}),void wr(n,t)):(Oa.setPendingAsyncFlow("acceptingGreeting",!0),Da(e,t).then(e=>{Oa.setPendingAsyncFlow("acceptingGreeting",!1),wr(n,e)},()=>{Oa.setPendingAsyncFlow("acceptingGreeting",!1)}));wr(n,t)}},Pr=(e,t)=>{let{active:n,availability:a,connected:i,hasFakeAgentMessage:s,startChatAgainPending:r,limitReached:o,hasMutedGreeting:c}=t;return la(()=>{var t,d;const{store:l}=e;if(o)return{type:"nothing"};if(n||Nt(ye,l))return{type:"nothing"};if("offline"===a)return je(l)?r&&Ge(l)?{type:"show_prechat"}:{type:"nothing"}:$e(l)?xt(l)?{type:"nothing"}:{type:"show_ticket_form"}:{type:"hide_prechat_form"};if(c)return{type:"accept_muted_greeting"};const p="questions_only"===l.getApplicationState("welcomeMessageScope"),u="suggested_questions_minimized"===(null==(t=zt(l,ye))?void 0:t.properties.source);if(p&&u)return{type:"show_prechat"};if(s){const e=St(l,ye);if(!p||!(null==e?void 0:e.properties.welcomeMessage))return{type:"hide_ticket_form"};l.removeEvent(ye,e.id)}return Te(ye,l)&&Ge(l)&&!p?{type:"show_prechat"}:Oe(l,"maximized")?!i||Oa.getIsPendingAsyncFlow("acceptingGreeting")||Oa.getIsPendingAsyncFlow("requestingPredictedWelcomeMessage")?{type:"nothing"}:(Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!0),null==(d=Oa.getLocalizationPromise())?void 0:d.then(()=>Ra(e,"message_and_questions")).then(e=>{let{agent:t,groupHasQueue:n,welcomeMessageId:a}=e;a&&l.setApplicationState({welcomeMessageId:a,welcomeMessageScope:"message_and_questions"});const i=[{type:"hide_ticket_form"},{type:"predicted_welcome_message",payload:{agent:t,groupHasQueue:n}}];return Ge(l)?i.push({type:"show_prechat"}):r&&t.isBot&&"ai_agent"!==t.botType&&i.push({type:"start_chat"}),i},e=>(Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1),"offline"===l.getApplicationState("availability")||"GROUP_OFFLINE"===e.code?{type:"nothing"}:{type:"panic"}))):{type:"nothing"}}).then(Lt)},qr=(e,t)=>t.forEach(t=>{const{store:n}=e;switch(t.type){case"panic":return void pr(e);case"chat_activated":return void Tr(e,t.payload);case"predicted_welcome_message":{const{agent:e,groupHasQueue:a}=t.payload;return kt(n,e),Ke(n,e.id),void(Ge(n)||($t(n)||jt(n,ye)||(n.setApplicationState({disableSendingMessage:!0}),n.updateChat(ye,{properties:{agentActivity:{type:"typing"},awaitingWelcomeMessage:!0}})),n.updateChat(ye,{properties:{groupHasProbableQueue:a}})))}case"show_ticket_form":return t.payload&&n.updateView("Chat/ticketForm",t.payload),void mt(n,"offline");case"hide_prechat_form":return void Re(n);case"hide_ticket_form":return void(Le(n,"ticket")&&Rt(n));case"show_prechat":return void De(n);case"accept_muted_greeting":return void(e=>{const{store:t}=e,n=t.getLastEvent(ye),{mutedGreeting:a}=t.getChat(ye).properties;t.updateEvent(ye,n.id,{seen:!0}),Oa.setPendingAsyncFlow("acceptingGreeting",!0),Da(e,a).then(e=>{let{event:n}=e;t.updateChat(ye,{properties:{mutedGreeting:void 0}}),Mt(t,n)},ba).finally(()=>{Oa.setPendingAsyncFlow("acceptingGreeting",!1)})})(e);case"start_chat":return void Dt(n);default:return}}),Fr=e=>{const t=e.getChat(ye);return{active:t.active,availability:e.getApplicationState("availability"),connected:Gt(e),hasFakeAgentMessage:jt(e,ye),startChatAgainPending:t.properties.startChatAgainPending,limitReached:e.getApplicationState("limitReached"),hasMutedGreeting:!!t.properties.mutedGreeting}},Ur=e=>{const t=Object.keys(e);return Promise.all(C(e)).then(e=>Xa(function(e,t,n){return t.map((t,a)=>e(t,n[a]))}(di,t,e)))},Mr=(t,n)=>({threadPropertiesDeleted:e=>{let{threadId:n,properties:a}=e;if(n!==Zs(t))return;"rating"in a&&Ka("score",a.rating)&&sr(t,{...Js(t),rate:null});Ka(un,a.dd0cb976ba03903db60900542bdf7b13??[])&&sr(t,{upsellGoal:null})},threadPropertiesUpdated:e=>{let{threadId:n,properties:a}=e;if(n!==Zs(t))return;"rating"in a&&sr(t,{...Js(t),...pn(a.rating)});void 0!==en(["dd0cb976ba03903db60900542bdf7b13",un],a)&&sr(t,{upsellGoal:gn(a)})},queuePositionUpdated:e=>{let{threadId:n,queue:a}=e;if(n!==Zs(t))return;const i=t.getChat(ye);Te(ye,t)?Math.random()<.01&&ot("queue_position_updated_agent_present",{chatId:i.serverId||"",alreadyQueued:i.properties.queued}):sr(t,{...Js(t),queue:ln(a)})},chatTransferred:e=>{if(!("groupIds"in e.transferredTo))return;const n=e.transferredTo.groupIds[0];t.updateChat(ye,{properties:{group:n}}),e.queue&&sr(t,{...Js(t),queue:ln(e.queue)})},customerUpdated:n=>{const a=t.getSessionUserId();t.updateUser(a,e(["name","email","suggestedEmail","phoneNumber"],n)),n.sessionFields&&t.setUserProperties(a,n.sessionFields),t.emit("customer_updated")},eventPropertiesUpdated:e=>{let{chatId:n,threadId:a,eventId:i,properties:s}=e;if(n===Ce(t)&&a===Zs(t)){if("translation"in s){const e=t.getEventByServerId(ye,i);if(!e)return;t.updateEvent(ye,e.id,{properties:{translation:cn(s.translation)}})}if("bb9e5b2f1ab480e4a715977b7b1b4279"in s){const e=t.getEventByServerId(ye,i);if(!e)return;const a=s.bb9e5b2f1ab480e4a715977b7b1b4279.message_reaction;t.updateEvent(ye,e.id,{properties:{reaction:a}}),e.own&&(dn(t)||Math.random()<.1)&&ot("message_reaction_received",{reaction:a,messageType:e.type,chatId:n}),a&&t.emit("reaction_received",{event:e})}}},eventUpdated:e=>{let{chatId:n,threadId:a,event:i}=e;if(n!==Ce(t)||a!==Zs(t))return;if(!en("properties.lc2.welcome_message",i))return;const s=t.getEventByServerId(ye,i.id);i.authorId!==s.author&&(t.setEventData(ye,s.id,{author:i.authorId}),t.recalculateTimeline(ye)),s.properties.invitation&&"quick_replies"===s.properties.type&&(i.text=i.elements[0].title),i.text!==s.properties.text&&t.updateEvent(ye,s.id,{properties:{text:i.text}})},disconnected:e=>{var a;let{reason:i}=e;switch(i){case"access_denied":case"too_many_connections":return bt(i),void pr({store:t,sdk:n});case"customer_banned":case"license_not_found":case"unsupported_version":case"inactivity_timeout":return void(t.getApplicationState("pageFocused")||(t.setConnectionState(pe),n.disconnect()));case"users_limit_reached":return rr(t,{withSystemMessage:!1}),t.setConnectionState(on),void(null==(a=Oa.getLocalizationPromise())||a.then(()=>{or(t)}));default:return"connection_timeout"===i&&Math.random()<=.1?rn("connection_timeout",{}):Math.random()<=1e-4&&rn("disconnected",{reason:i}),void t.setConnectionState(ue)}},userAddedToChat:e=>{let{chatId:n,user:a,present:i}=e;if(!i||n!==Ce(t)||t.getSessionUser().serverId===a.id)return;const s=Te(ye,t);s&&s.id===a.id||(sr(t,{...Js(t),queue:null}),Ke(t,a.id))},userRemovedFromChat:e=>{let{chatId:n,userId:a,reason:i}=e;if(n!==Ce(t))return;t.removeParticipant(ye,a);const s=t.getChat(ye).properties.agentActivity;if("thinking"===(null==s?void 0:s.type)&&s.authorId===a&&t.updateChat(ye,{properties:{agentActivity:null}}),t.getSessionUser().serverId===a)return;const r=Te(ye,t);r&&r.id===a&&"chat_deactivated"!==i&&Ke(t,null)},greetingCanceled:e=>{let{uniqueId:n}=e;const a=t.getEvents(ye),i=an(e=>e.properties.uniqueId===n,a);i&&sn(t,i.id)},eventsMarkedAsSeen:e=>{let{chatId:n,userId:a,seenUpTo:i}=e;if(n!==Ce(t))return;t.updateChat(ye,{properties:{eventsSeenUpToMap:{...t.getChat(ye).properties.eventsSeenUpToMap,[a]:i}}});const s=new Date(i).getTime();(t.getSessionUser().serverId===a?tn:nn)(ye,s,t).forEach(e=>{t.updateEvent(ye,e.id,{seen:!0})})},incomingEvent:e=>{let{chatId:a,event:i}=e;if(a!==Ce(t))return;t.getChat(ye).properties.lastThread!==i.threadId&&t.updateChat(ye,{properties:{lastThread:i.threadId}}),"postchat"===en("properties.lc2.form_type",i)&&Xe(t);const s=i.formType||en("properties.lc2.form_type",i);s&&wt(s)&&("form"!==i.type&&"filled_form"!==i.type||Ye(t)),Nt(ye,t)&&bt("received_event_during_chat_starting"),ur({sdk:n,store:t},i)},incomingEventPreview:e=>{let{chatId:n,event:a}=e;n===Ce(t)&&((e,t)=>{const n=it(e,t),a=Ee(e).find(e=>e.properties.customId===t.customId);if(a)return e.updateEvent(ye,a.id,{properties:{...a.properties,...n.properties}}),void st(e);ze(e,ye,n)})(t,a)},chatDeactivated:e=>{let{chatId:a}=e;a===Ce(t)&&(e=>{const{store:t}=e;nt(t),Pe(t)||Ua(e,Xs(t)).then(e=>{let{enabled:n,form:a}=e;n&&at(t,a)},ba)})({store:t,sdk:n})},incomingGreeting:e=>{if(!Ht(t))return;const a=Wt(t,e);Gt(t)?Ar({sdk:n,store:t},a):Oa.updateConnectionStateFetcherContext({greeting:a})},availabilityUpdated:e=>{let{availability:n}=e;Gt(t)?t.setApplicationState({availability:n}):Oa.updateConnectionStateFetcherContext({availability:n})},incomingChat:e=>{Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1),qe(t,ye,{chatId:e.chat.id});const a=Kt(t,e);gr({sdk:n,store:t},a)},connected:e=>{let{__unsafeDynamicConfig:a,__unsafeChats:i,greeting:s,availability:r,customer:o}=e;const c=Oa.getReportConnectionUnsuccessfulTimerId();c&&(clearTimeout(c),Oa.setReportConnectionUnsuccessfulTimerId(null));const d={sdk:n,store:t},{limitReached:l}=t.getApplicationState();l&&t.setApplicationState({limitReached:!1});const p=((e,t)=>{const n=e.getSessionUser(),a={};return n.name&&t.name!==n.name&&(a.name=n.name),n.email&&t.email!==n.email&&(a.email=n.email),n.phoneNumber&&t.phoneNumber!==n.phoneNumber&&(a.phoneNumber=n.phoneNumber),!n.email&&n.suggestedEmail&&t.suggestedEmail!==n.suggestedEmail&&(a.suggestedEmail=n.suggestedEmail),Za(n.properties)||we(n.properties,t.sessionFields)||(a.sessionFields=Za(t.sessionFields)?n.properties:Xa(ke(n.properties).reduce((e,n)=>{let[a,i]=n;return a in t.sessionFields?e:[].concat(e,[[a,i]])},[]))),Za(a)?null:a})(t,o);let u;p&&((e,t)=>{let{customerData:n,usedSessionFieldsNumber:a}=t;const i=t=>{e.updateCustomer(t).catch(e=>bt("update_customer_request_failed",e))};n.sessionFields?ke(n.sessionFields).slice(0,We-a).reduce((e,t)=>(Za(e)||Qe(e).length>=Je?e.push([t]):Qe(e).push(t),e),[]).map(Xa).reduce((e,t,a)=>e.then(()=>i({...0===a&&n,sessionFields:t})),Promise.resolve()):i(n)})(n,{customerData:p,usedSessionFieldsNumber:Ca(o.sessionFields||{}).length}),kt(t,o),"boolean"!=typeof t.getApplicationState().isReturning&&t.setApplicationState({isReturning:o.statistics.visitsCount>1}),t.setApplicationState({clientChatNumber:o.statistics.threadsCount||0,clientVisitNumber:o.statistics.visitsCount||0,clientLastVisitTimestamp:a.customer_data.last_visit_timestamp,clientPageViewsCount:o.statistics.pageViewsCount||0}),Oa.setConnectionStateFetcherContext({availability:r,greeting:Ht(t)&&s&&Wt(t,s)}),Promise.resolve().then(()=>{if(!i.length)return;const[{id:e,active:n,hasUnreadEvents:s}]=i;Ae(t)&&t.setApplicationState({hasUnseenEvents:s});const r=!n&&t.getChat(ye).active;u={active:n,chatId:e,becameInactive:r,dynamicConfig:a},null===t.getChat(ye).serverId&&t.setChatServerId(ye,e);const{eagerFetchingMode:o}=t.getApplicationState();return n||Oe(t,"maximized")||o?$a(d):void 0}).then(e=>e?(u.group=e.group,u.lastThreadId=e.lastThreadId,u.becameInactive?Ur({chatSummary:e,...nr(d,u),...ar(d,u)}):Ur({chatSummary:e,...ar(d,u)})):Ur({})).then(e=>{const n=!!e.chatSummary&&e.chatSummary.active,a=Boolean(Oa.getConnectionStateFetcherContext().greeting&&!Oa.getConnectionStateFetcherContext().greeting.event.properties.isExitIntent);return n?e:Ur({...e,maximizedDecisionActions:Ks(t)?Pr(d,{active:!1,availability:Oa.getConnectionStateFetcherContext().availability,connected:!0,hasFakeAgentMessage:jt(t,ye)||a}):null})}).then(e=>{let{queueTemplate:n,chatSummary:a,postchatForm:i,maximizedDecisionActions:s,...r}=e;const o=Oa.getConnectionStateFetcherContext();if(Oa.clearConnectionStateFetcherContext(),n&&t.setLocalization({user_in_queue:n}),t.setApplicationState({availability:o.availability}),!a)return s&&qr(d,s),o.greeting?Ar(d,o.greeting):void 0;const c={chatId:a.id,group:a.group,eagerFetchingMode:t.getApplicationState().eagerFetchingMode};t.setApplicationState({eagerFetchingMode:!0});const l=Zs(t)&&a.lastThreadId!==Zs(t);if(Ae(t)){const{fetchedHistory:e}=r;((e,t)=>{const n=e.getChat(ye).properties.lastThread;return!!n&&!t.some(e=>{let{id:t}=e;return n===t})})(t,e.threads)&&bt("threads_gap",void 0,{meta:JSON.stringify({stateLastThreadId:t.getChat(ye).properties.lastThread,fetchedThreads:e.threads.map(e=>{let{id:t}=e;return t})})}),l&&qe(t,ye,{chatId:t.getChat(ye).serverId}),((e,t,n)=>{const{store:a}=e;Na(e,t.chatId,n.iterator),_r(a,n.hasMore);const[i,[s]]=(r=-1,[(o=n.threads).slice(0,r),o.slice(r,o.length)]);var r,o;vr(a,Ze(e=>{let{events:t}=e;return t},i),{filterUnfilledCustomForms:!0}),fr(a,t,{thread:s,eventsSeenUpToMap:n.eventsSeenUpToMap})})(d,c,e)}else r.fetchedThread&&(l&&a.active&&qe(t,ye,{chatId:t.getChat(ye).serverId}),fr(t,c,r.fetchedThread));if(s&&qr(d,s),!a.active)if(i&&i.enabled)at(t,i.form);else if(o.greeting)return Ar(d,o.greeting)}).then(()=>{const e=t.getConnectionState()===ge;return t.setConnectionState(Qt),t.setApplicationState({pendingGreetingHide:!1}),ir(t),t.getChat(ye).active&&Oe(t,"hidden")&&Ne(t,!0),e}).then(e=>{var n;const a=t.getChat(ye),{availability:i,readyState:s}=t.getApplicationState();s!==xe&&(null==(n=Oa.getLocalizationPromise())||n.then(()=>{or(t)})),Jt(t)&&t.setApplicationState({showTextSelectionTracking:!0});const{state:r,deferred:o}=t.getApplicationState("minimizedMessageInput"),c="hidden"!==r||o;if(Jt(t)&&!c){const e=Zt(),n=t.getApplicationState("isNonScrollablePage"),a=e||n;Xt(t,{state:a?"hidden":"classic",deferred:a},{render:!1})}e||!je(t)||!Ge(t)||a.active||"offline"!==i&&!a.properties.ended||De(t)}).catch(e=>{switch(Oa.clearConnectionStateFetcherContext(),e.code){case"CONNECTION_LOST":return;case"REQUEST_TIMEOUT":case"MISSING_USER":return n.disconnect(),void n.connect();case"INTERNAL":return void Yt("connection_fetcher_internal_error");default:return void bt("connection_fetcher_error",e)}})},incomingRichMessagePostback:e=>{let{eventId:n,userId:a,postback:i}=e;Vt(t,{eventId:n,userId:a,postbackId:i.id})}}),Or="incorrect requester structure",Nr=(e,t)=>e.length?`${e}\n${t}`:t,xr=(e,t,n)=>{let{filledForm:a,groupId:i,organizationId:s,timeZone:r,page:o}=t;return e.getToken().then(e=>{const t=n.getApplicationState(),c=`${si(t)}/v2/tickets/new`,d=(e=>{let{fields:t,customerId:n,groupId:a,organizationId:i,timeZone:s,page:r,additionalInfo:o}=e;const c={organization_id:i,ticket_message:"",offline_message:"",visitor_id:n,requester:{},..."number"==typeof a&&{group:a},...r&&{source:{url:r}},...s&&{timezone:s},...o&&{additional_info:{reason:o.lastDisplayedReason,displayed_at:o.lastDisplayedAt}}};return t.reduce((e,t)=>{switch(t.type){case"subject":{const n=t.answer,a=n?`${t.label} ${n}`:t.label;return n&&(e.subject=n),e.offline_message=Nr(e.offline_message,a),e}case"name":{const n=t.answer,a=n?`${t.label} ${n}`:t.label;return n&&(e.requester.name=n),e.offline_message=Nr(e.offline_message,a),e}case"email":{const n=t.answer,a=n?`${t.label} ${n}`:t.label;return e.requester.mail=n,e.offline_message=Nr(e.offline_message,a),e}case"question":case"textarea":{const n=t.answer,a=n?`${t.label} ${n}`:t.label;return e.offline_message=Nr(e.offline_message,a),e.ticket_message=Nr(e.ticket_message,a),e}case"radio":case"select":{const n=t.answer&&t.answer.label,a=n?`${t.label} ${n}`:t.label;return e.offline_message=Nr(e.offline_message,a),e.ticket_message=Nr(e.ticket_message,a),e}case"checkbox":{const n=t.answers&&t.answers.map(e=>e.label).join(", "),a=n?`${t.label} ${n}`:t.label;return e.offline_message=Nr(e.offline_message,a),e.ticket_message=Nr(e.ticket_message,a),e}default:return e}},c)})({fields:a.fields,customerId:e.entityId,groupId:i,organizationId:s,timeZone:r,page:o,additionalInfo:t.config.features.ticketForm.additionalInfo});return v(c,{method:"POST",headers:{"Content-Type":"application/json","X-Region":t.region??""},body:JSON.stringify(d)}).then(e=>{if(e.ok)return e.json().then(e=>({...e,text:d.ticket_message}));if(400===e.status||422===e.status){const t=e=>{if(!e||!e.errors)throw new Error;const t=e.errors[0];if(Object.keys(t)[0]===Or){const e=new Error(t[Or][0]);throw e.code="VALIDATION",e}throw new Error};return e.json().then(t,t)}throw new Error})})},zr=e=>"file"===e.type&&!e.properties.finished,Lr=e=>Promise.all(e).then(()=>{}),jr=(e,t)=>{const{store:n}=e;return Er(e,{startingEvents:t,agentFakeEvent:St(n,ye)}).then(a=>{Tr(e,a),t.forEach(e=>{"file"===e.type&&(n.updateEvent(ye,e.id,{delivered:!0}),br(e))}),Oa.clearEventQueue().forEach(t=>Cr(e,t)),wn(n)},n=>Gr(e,t,n))},Gr=(e,t,n)=>{const{store:a}=e;switch(t.forEach(e=>a.updateEvent(ye,e.id,{failed:!0})),Oa.clearEventQueue().forEach(e=>{a.updateEvent(ye,e.event.id,{failed:!0})}),n.code){case"SERVICE_UNAVAILABLE":return void rr(a,{withSystemMessage:!0,reason:"service_unavailable"});case"CUSTOMER_BANNED":return void pr(e);case"GROUPS_OFFLINE":return void cr(e)}},Dr=(e,t,n)=>{const a={store:e,sdk:t},{events:i,meta:s}=(e=>e?"events"in e?{events:e.events,meta:e.meta}:{events:e.event?[e.event]:[],meta:e.meta}:{events:[]})(n),r=i.filter(zr),o=i.filter(e=>!zr(e)),c=r.map(e=>Cr(a,{event:e,meta:s})),d=o.length>0||0===i.length;if(Nt(ye,e))return o.forEach(e=>Oa.addToEventQueue({event:e,meta:s})),Lr(c);if(!e.getChat(ye).active&&d)return Lr([jr(a,o)].concat(c));if(0===o.length)return Lr(c);const l=o.map(e=>Cr(a,{event:e,meta:s}));return Lr([].concat(l,c)).then(()=>{wn(e)})},Rr=function(e,t){return void 0===t&&(t=1e3),"string"!=typeof e?"":e.replace(/\s+/g," ").trim().slice(0,t)},$r=function(e,t){void 0===t&&(t=1e3);const n=Rr(e,t);return n||void 0},Br=e=>e.toISOString().replace("Z","000Z"),Vr=e=>{const t="string"==typeof e?new Date(e):new Date;return Number.isNaN(t.getTime())?Br(new Date):Br(t)},Hr=e=>"click"===e.type?(e=>{var t;const n=(null==(t=e.properties)?void 0:t.element)||{},a=$r(n.text),i=$r(n.aria_label),s=$r(n.id);return{type:"click",timestamp:Vr(e.timestamp),properties:{element:{tag:Rr(n.tag),role:Rr(n.role),href:null!=n.href?Rr(n.href):null,...a&&{text:a},...i&&{aria_label:i},...s&&{id:s}}}}})(e):"submit"===e.type?(e=>{var t,n,a,i,s;const r=Array.isArray(null==(t=e.properties)?void 0:t.fields)?e.properties.fields.filter(e=>{const t="string"==typeof(null==e?void 0:e.type)?e.type.toLowerCase():"",n="string"==typeof(null==e?void 0:e.name)?e.name:"";return ti(t,n)}).slice(0,10).map(e=>{const t=$r(null==e?void 0:e.aria_label,100),n=$r(null==e?void 0:e.text,100);return{tag:Rr(null==e?void 0:e.tag),type:Rr(null==e?void 0:e.type),id:Rr(null==e?void 0:e.id),name:Rr(null==e?void 0:e.name,100),...t&&{aria_label:t},...n&&{text:n}}}):[],o=$r(null==(n=e.properties)?void 0:n.action_path),c=$r(null==(a=e.properties)?void 0:a.form_name);return{type:"submit",timestamp:Vr(e.timestamp),properties:{...o&&{action_path:o},method:Rr(null==(i=e.properties)?void 0:i.method).toLowerCase(),form_id:Rr(null==(s=e.properties)?void 0:s.form_id),...c&&{form_name:c},...r.length?{fields:r}:{}}}})(e):null,Wr=e=>{let t=[],n=null;const a=()=>{if(null!==n&&(clearTimeout(n),n=null),!t.length)return;const a=t;t=[],e.sendCustomerActions({actions:a}).catch(ba)};return{track(e){const i=Hr(e);i&&(t.push(i),t.length>=20?a():null===n&&(n=setTimeout(()=>{n=null,a()},1e3)))},flush:a}},Qr=(e,t,n)=>{const a=!t.getApplicationState("clientLimitExceeded")||!t.getApplicationState("embedded")||t.getApplicationState("actingAsDirectLink")||t.getApplicationState("isInCustomContainer");let i=((e,t)=>{let{organizationId:n,requestedGroup:a,group:i,region:s,uniqueGroups:r,autoConnect:o,mobile:c,identityProvider:d,parentStorage:l}=t;const p=e.getApplicationState("page"),u={organizationId:n,clientId:"c5e4f61e1a6c3b1521b541bc5c5a2ac5",mobile:c,region:s,page:_(["url","title"],p),referrer:p.referrer,autoConnect:o,application:{channelType:Bt(e)},uniqueGroups:r,identityProvider:d,customerDataProvider:()=>{const t=e.getSessionUser(),n={};return t.name&&(n.name=t.name),t.email?n.email=t.email:t.suggestedEmail&&(n.suggestedEmail=t.suggestedEmail),t.phoneNumber&&(n.phoneNumber=t.phoneNumber),t.properties&&!Za(t.properties)&&(n.sessionFields=Ca(t.properties).length<=Je?t.properties:Xa(ke(t.properties).slice(0,Je))),n},parentStorage:l};return r?u.groupId=i:null!==a&&(u.groupId=a),u.env="production",Ds(u)})(t,{...e,autoConnect:a});const s=Mr(t,i),r=Wr(i),o=((e,t)=>{const n=`https://api${ii()}.text.com/ecommerce-tracker/v2/event`;return{track:a=>{t.auth.getToken().then(t=>{var i;let{entityId:s,accessToken:r}=t;return v(n,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({customer_id:s,organization_id:e.getApplicationState("organizationId"),page_url:null==(i=e.getApplicationState("page"))?void 0:i.url,platform:a.platform,occurred_at:(new Date).toISOString(),event:{name:a.name,data:a.data},...a.websiteId?{website_id:a.websiteId}:{}})})}).then(ba).catch(ba)}}})(t,i),c=((e,t)=>({requestUpdateChat:n=>{let{resolve:a,reject:i,meta:s,data:{properties:r={},...o}}=n;if(r.rateComment){const{rateComment:n}=r;yt(e,n),t.rateChat({chatId:Ce(e),rating:{comment:n}}).then(a,i)}else if(void 0!==r.rate){_t(e,r.rate);const{testGroup:n}=e.getApplicationState();if(ft({testGroup:n,chatRating:null===r.rate?"canceled":r.rate,chatRatingSource:(null==s?void 0:s.source)||"other"}),null===r.rate)return void t.cancelRate({chatId:Ce(e)}).then(()=>{e.updateChat(ye,{properties:{rateComment:null}}),a()},i);t.rateChat({chatId:Ce(e),rating:{score:ri(r.rate)??void 0}}).then(a,i)}else if(r.transcriptSentTo){const n=r.transcriptSentTo;t.updateThreadProperties({chatId:Ce(e),threadId:Zs(e),properties:{routing:{transcript_email:n}}}).then(e=>(t.updateCustomer({email:n}).catch(ba),e)).then(a,i)}else!1===o.active&&t.deactivateChat({id:Ce(e)}).then(a,i)},requestUpdateEvent:n=>{var a;const i=e.getEvent(ye,n.id),s={store:e,sdk:t};if(n.data.seen){const t=i.properties.isPreview;n.resolve(),t||(Oa.updateLatestSeen(e.getEvent(ye,n.id).timestamp),ja(s,Oa.getLatestSeen()))}else if("ticket"===i.properties.formType){const{answers:t}=n.data.properties,{fields:o}=i.properties,{fields:c}=hn(o,t),d=e.getApplicationState();let l=null,p=null,u=null;switch(At("ticketForm",e).mode){case"helpdesk":{const t=Pn(),n=fn({hdLicenseID:null==(a=d.config.properties.license[t])?void 0:a.hdLicenseID,organizationId:d.organizationId,isTextAppEnabled:_n(e),group:d.group,pageUrl:d.page.url,form:(r=i.properties,kn(An(r))),answers:c,additionalInfo:d.config.features.ticketForm.additionalInfo});l=yn(s.sdk.auth.getToken,n),p=e=>qn(e.id,n),u=Fn;break}case"offline_message":{const{filledForm:e}=vn(i,t);l=Er(s,{customerStartingEvent:e,group:d.group}).then(e=>(Tr(s,e),e)),p=t=>{var n,a;const i=ei(e=>"subject"===e.type,e.fields);return{id:t.thread,text:oi(e),visitor:{name:(null==(n=ei(e=>"name"===e.type,e.fields))?void 0:n.answer)||null,email:(null==(a=ei(e=>"email"===e.type,e.fields))?void 0:a.answer)||null},...(null==i?void 0:i.answer)&&{subject:i.answer}}},u=(e,t,n)=>{Ha(e)?n({phone:t("invalid_phone")}):n()};break}default:{const{filledForm:n}=vn(i,t),{timeZone:a}=(new Intl.DateTimeFormat).resolvedOptions();l=xr(s.sdk.auth,{filledForm:n,groupId:d.group,organizationId:d.organizationId,timeZone:"string"!=typeof a||/^Etc\//.test(a)||-1===a.indexOf("/")&&"UTC"!==a?null:a,page:d.page.url},e),p=e=>{var t,a;const i=ei(e=>"subject"===e.type,n.fields);return{id:e.id,text:e.text,visitor:{name:(null==(t=ei(e=>"name"===e.type,n.fields))?void 0:t.answer)||null,email:(null==(a=ei(e=>"email"===e.type,n.fields))?void 0:a.answer)||null},...(null==i?void 0:i.answer)&&{subject:i.answer}}},u=(e,t,n)=>{e&&"VALIDATION"===e.code?/name must be at most \d+ characters long/.test(e.message)?n({name:e.message}):"mail must be a valid e-mail address"!==e.message?n():n({email:t("invalid_email")}):n()};break}}l.then(t=>{const{fields:a}=i.properties;In(e,a,c,null==p?void 0:p(t)),n.resolve(),Sn(e,n.id,void 0)},t=>{null==u||u(t,e.localize,n.reject)})}else if("prechat"===i.properties.formType){const{answers:t}=n.data.properties,{fields:a}=i.properties;bn(e,a,hn(a,t).fields);const{filledForm:r,choosenGroup:o}=vn(i,t),c=t=>{if(Ha(t))n.reject({phone:e.localize("invalid_phone")});else switch(t.code){case"SERVICE_UNAVAILABLE":return void rr(e,{withSystemMessage:!0,reason:"service_unavailable"});case"GROUPS_OFFLINE":return void cr(s).then(n.resolve,n.reject);case"CUSTOMER_BANNED":case"GROUP_NOT_FOUND":return void pr(s);default:n.reject()}},d=()=>Er(s,{customerStartingEvent:r,agentFakeEvent:St(e,ye),group:o}).then(e=>{Tr(s,e)}).catch(e=>c(e));if(void 0!==o)return void Ba(s,{groupId:o}).then(e=>{if("not_found"===e){const e=new Error(`Group "${o}" not found (most likely it has been removed).`);throw e.code="GROUP_NOT_FOUND",e}return e}).then(t=>{const a=e.getApplicationState().group;if(e.setApplicationState({group:o}),"online"!==t)return je(e)?void d().then(()=>{e.setApplicationState({availability:"offline"})},c):void Promise.all([Ga(s,o),a!==o&&Va(s,{groupId:o})].filter(Boolean)).then(t=>{let[n,a]=t;n.enabled?(Tn(e,"ticketForm",a?{mode:a}:{}),e.updateView("Chat/ticketForm",n.form)):Cn(e,"ticketForm"),e.setApplicationState({availability:"offline"})},e=>{"CONNECTION_LOST"!==e.code?pr(s):n.reject()});d().catch(c)},e=>{"CONNECTION_LOST"!==e.code?pr(s):n.reject()});d()}else if("postchat"===i.properties.formType){const{answers:a}=n.data.properties,{fields:r}=i.properties;En(e,r,hn(r,a).fields);const{filledForm:o}=vn(i,a);t.sendEvent({chatId:Ce(e),event:o,attachToLastThread:!0}).then(t=>{n.resolve(),Sn(e,n.id,rt(e,t)),"rating"in a?dr(s,a).finally(()=>kr(s)):kr(s)}).catch(t=>{if(t.message===vt)return qe(e,ye,{forced:!0}),Pr(s,Fr(e)).then(e=>qr(s,e));n.reject()})}else if("ask_for_email"===i.properties.formId){const{answers:a}=n.data.properties,{filledForm:r}=vn(i,a);t.sendEvent({chatId:Ce(e),event:r,attachToLastThread:!0}).then(e=>{n.resolve(),ur(s,e)}).catch(()=>n.reject())}else{const{answers:a}=n.data.properties,{filledForm:s}=vn(i,a);t.sendEvent({chatId:Ce(e),event:s}).then(t=>{n.resolve(),Sn(e,n.id,rt(e,t))}).catch(()=>n.reject())}var r},requestCustomerToken:()=>{t.auth.getToken().then(t=>e.emit("customer_token_response",t)).catch(t=>e.emit("customer_token_error",t))},requestUpdateUser:n=>{let{resolve:a,id:i,data:{properties:s,...r}}=n;if(e.getSessionUserId()===i){if(Gt(e)){const n=Boolean(e.getSessionUser().email),a=Ta({name:r.name,email:r.email,phoneNumber:r.phoneNumber,sessionFields:s,suggestedEmail:n?void 0:r.suggestedEmail}),i=Object.keys(a);i.length>0&&t.updateCustomer(a).then(()=>e.emit("customer_update_succeeded",{fields:i}),t=>{bt("update_customer_request_failed",t),e.emit("customer_update_failed",{error:t,fields:i})})}a()}},requestSetUserProperties:n=>{let{resolve:a,id:i,properties:s}=n;e.getSessionUserId()===i&&(Gt(e)&&t.setCustomerSessionFields({sessionFields:s}).catch(ba),a())},sendFileEvents:()=>{const n=mn(e);n.filter(e=>e.properties.failed).forEach(t=>e.updateEvent(ye,t.id,{properties:{canceled:!0}}));const a=n.filter(e=>e.properties.finished);0!==a.length&&(e.setApplicationState({isSendingFileEvents:!0}),Dr(e,t,{events:a}).finally(()=>{e.setApplicationState({isSendingFileEvents:!1})}))},cancelUpload:t=>{let{eventId:n}=t;const a=e.getEvent(ye,n);e.updateEvent(ye,n,{properties:{canceled:!0}});const i=Oa.getUploadInProgress(n);i&&i.cancel(),Promise.resolve().then(()=>{"image"===a.properties.fileType&&URL.revokeObjectURL(a.properties.url)})},addMessageReaction:n=>{let{eventId:a,reaction:i}=n;const s=e.getEvent(ye,a);t.updateEventProperties({chatId:Ce(e),threadId:s.thread,eventId:s.serverId,properties:{bb9e5b2f1ab480e4a715977b7b1b4279:{message_reaction:i}}}),(dn(e)||Math.random()<.1)&&ot("message_reaction_sent",{reaction:i,messageType:s.type,chatId:Ce(e)})},startThreadOrSendEvent:n=>{Dr(e,t,n)},requestCancelGreeting:n=>{Oe(e,"maximized")&&Ne(e),sn(e,n.id,{force:!0}),t.cancelGreeting({uniqueId:n.properties.uniqueId}).catch(ba)},richGreetingButtonClicked:e=>{var n;let{button:a,event:i}=e;(null==(n=null==i?void 0:i.properties)?void 0:n.uniqueId)&&a.buttonId&&t.sendGreetingButtonClicked({greetingUniqueId:i.properties.uniqueId,buttonId:a.buttonId}).catch(ba)}}))(t,i),d={sdk:i,store:t};!0===n.__unsafeProperties.s&&t.setApplicationState({s:!0}),"boolean"==typeof n.aiAgentActive&&t.setApplicationState({aiAgentActive:n.aiAgentActive}),n.prechatForm&&t.updateView("Chat/prechat",Un("prechat",n.prechatForm)),n.ticketForm&&t.updateView("Chat/ticketForm",Mn(n.ticketForm)),n.__unsafeProperties.group.chatBoosters&&On(t,n.__unsafeProperties.group.chatBoosters);const l=me(ya(i,"greeting_accepted"),da(e=>{var n,a,i;return e.uniqueId===(null==(i=null==(a=null==(n=t.getApplicationState("postponedGreeting"))?void 0:n.event)?void 0:a.properties)?void 0:i.uniqueId)}));me(oa(ya(i,"incoming_greeting"),me(ya(i,"connected"),da(e=>"greeting"in e),Nn(e=>e.greeting))),da(e=>Ht(t)&&e.isExitIntent&&!e.accepted),xn(e=>{t.setApplicationState({postponedGreeting:Wt(t,e)}),t.emit("register_exit_intent_listener")}),zn(()=>ya(t,"exit_intent_detected")),ve(l),ua(1),da(()=>(e=>{const{mobile:t,availability:n}=e.getApplicationState(),{active:a}=e.getChat(ye);return!t&&!a&&"online"===n&&!Ie(e)})(t)),zn(()=>Ln(kr(d))),da(()=>(e=>"bar"!==Se(e)&&be(e))(t)),ga(()=>t.emit("apply_exit_intent_shade"))),i.on("thread_properties_deleted",s.threadPropertiesDeleted),i.on("thread_properties_updated",s.threadPropertiesUpdated),i.on("queue_position_updated",s.queuePositionUpdated),i.on("chat_transferred",s.chatTransferred),i.on("customer_updated",s.customerUpdated),i.on("event_properties_updated",s.eventPropertiesUpdated),i.on("event_updated",s.eventUpdated),i.on("disconnected",s.disconnected),i.on("user_added_to_chat",s.userAddedToChat),i.on("user_removed_from_chat",s.userRemovedFromChat),i.on("user_data",e=>kt(t,e)),((e,t)=>{e.on("send_snapshot",n=>{const{requestId:a,snapshot:i,screen:s}=n;t.uploadFile({file:new Blob([i],{type:"text/plain;charset=utf-8"})}).promise.then(n=>{t.sendEvent({chatId:Ce(e),event:{type:"custom",customId:`cyber-finger-snapshot-${a}`,content:{url:n.url,screen:s}}}),ot("snapshot_sent",{chatId:Ce(e)})}).catch(ba)})})(t,i),$s(t,i),i.on("greeting_canceled",s.greetingCanceled),i.on("connected",s.connected),jn(n,t),"modern"===Gn(t)&&"Homescreen"===t.getCurrentView()&&t.setCurrentView("Chat");const p=t.getApplicationState("defaultWidget");Dn(t)&&"openwidget"!==p&&(Rn(t,e=>yn(d.sdk.auth.getToken,e)),!t.getCurrentView()&&$n(t)&&t.setCurrentView("Homescreen")),i.once("customer_id",e=>Fe(t,e)),i.on("identity_changed",e=>{let{newId:n}=e;((e,t)=>{let{newId:n}=t;e.clearChatServerId(ye),qe(e,ye,{forced:!0}),e.updateChat(ye,{active:!1,properties:{ended:!1,queued:!1,currentAgent:null}}),Fe(e,n);const a=e.getSessionUserId();e.updateUser(a,{name:null,email:null,phoneNumber:null}),e.setUserProperties(a,{});const i={messageDraft:null,invitationHiddenIds:[],invitationDisplayedIds:[],greetingsMuted:!1,postponedGreeting:null};e.setApplicationState({hasUnseenEvents:!1,invitation:{current:null,hiddenIds:i.invitationHiddenIds,displayedIds:i.invitationDisplayedIds,displayedAt:null},messageDraft:i.messageDraft,greetingsMuted:i.greetingsMuted,postponedGreeting:i.postponedGreeting,isReturning:!1,clientChatNumber:0,clientVisitNumber:0,clientLastVisitTimestamp:null,clientPageViewsCount:0})})(t,{newId:n})});const u=Bn(t,xe),g=e=>me(u,zn(e)),m=me(he(t,e=>Vn(e,"maximized")),da(Boolean),Nn(()=>({type:"maximized"})),Hn),h=me(he(t,e=>e.localization),da(e=>Object.keys(e).length>1),ua(1),ma);Oa.setLocalizationPromise(h);const f=me(he(t,()=>t.getSessionUser().serverId),da(Boolean),ua(1),ma);if(a){if(Math.random()<=.01&&"onLine"in navigator){const e=setTimeout(()=>{navigator.onLine&&rn("unsuccessful_first_connect",{})},3e4);Oa.setReportConnectionUnsuccessfulTimerId(e)}t.setApplicationState({clientLimitExceededLifted:!0})}else Promise.all([h,f]).then(e=>{let[a]=e;t.setLocalization(a),((e,t)=>{e.setApplicationState({availability:Ys(e,t)?"online":"offline"})})(t,n.onlineGroupIds),t.setConnectionState(on),ir(t),or(t);const s=(r=document,oa(...["click","touchstart"].map(e=>ca(r,e))));var r;me(oa(s,m),ua(1),ga(()=>{t.setApplicationState({clientLimitExceededLifted:!0}),i.connect()}))});"ononline"in window&&(i.on("connection_unstable",()=>{t.setConnectionState(ue)}),i.on("connection_recovered",()=>{t.setConnectionState(Qt)})),i.on("incoming_greeting",s.incomingGreeting),i.on("availability_updated",s.availabilityUpdated),i.on("events_marked_as_seen",s.eventsMarkedAsSeen),i.on("incoming_event",s.incomingEvent),i.on("incoming_event_preview",s.incomingEventPreview),i.on("chat_deactivated",s.chatDeactivated),i.on("incoming_chat",s.incomingChat),i.on("incoming_rich_message_postback",s.incomingRichMessagePostback);const y=me(ya(i,"incoming_typing_indicator"),da(e=>{if(!e.typingIndicator.isTyping||!er(t,e.chatId,e.typingIndicator.authorId))return!1;const n=t.getChat(ye).properties.agentActivity;return"thinking"!==(null==n?void 0:n.type)}),Nn(()=>({type:"typing"}))),I=me(ya(i,"incoming_typing_indicator"),da(e=>{if(e.typingIndicator.isTyping||!er(t,e.chatId,e.typingIndicator.authorId))return!1;const n=t.getChat(ye).properties.agentActivity;return"thinking"!==(null==n?void 0:n.type)}),zn(()=>me(Aa(ni?0:200),Nn(()=>null)))),S=me(ya(i,"incoming_thinking_indicator"),da(e=>er(t,e.chatId,e.authorId)),Nn(e=>({type:"thinking",customId:e.customId,title:e.title,description:e.description,authorId:e.authorId}))),b=me(oa(ya(i,"incoming_event"),ya(i,"incoming_event_preview")),da(e=>{let{chatId:n,event:a}=e;return n===Ce(t)&&a.authorId!==t.getSessionUser().serverId&&"system"!==a.authorId&&er(t,n,a.authorId)}),Nn(e=>{let{event:n}=e;const a=t.getChat(ye).properties.agentActivity;return"typing"===(null==a?void 0:a.type)?null:"thinking"===(null==a?void 0:a.type)&&a.customId?n.customId===a.customId?null:a:null}));me(oa(me(y,da(()=>(e=>!e.getApplicationState("messageDraft"))(t)),da(()=>tr(t))),I,me(S,da(()=>tr(t))),b),zn(e=>"typing"===(null==e?void 0:e.type)?((...e)=>(t,n)=>{if(0!==t)return;const a=e.length;if(0===a)return n(0,()=>{}),void n(2);let i,s=0;const r=(e,t)=>{i(e,t)};!function t(){s!==a?e[s](0,(e,a)=>{0===e?(i=a,0===s?n(0,r):i(1)):2===e&&a?n(2,a):2===e?(s++,t()):n(e,a)}):n(2)}()})(hi(e),me(Aa(1e4),Nn(()=>null))):hi(e)),Wn(),ga(e=>{t.updateChat(ye,{properties:{agentActivity:e}})})),me(ya(i,"incoming_welcome_message"),Nn(e=>Qn(t,e)),zn(e=>me(he(t,()=>t.hasUser(e.author)),da(Boolean),ua(1),Nn(()=>e))),ga(e=>{Jn(t,e),Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1)})),me(he(t,()=>t.getChat(ye).properties.loadingHistory),da(Boolean),ga(()=>yr(t))),t.on("request_update_chat",c.requestUpdateChat),t.on("request_update_event",c.requestUpdateEvent),t.on("request_customer_token",c.requestCustomerToken),t.on("request_update_user",c.requestUpdateUser),t.on("request_set_user_properties",c.requestSetUserProperties),t.on("send_file_events",c.sendFileEvents),t.on("cancel_upload",c.cancelUpload),t.on("add_message_reaction",c.addMessageReaction),t.on("start_thread",c.startThreadOrSendEvent),t.on("send_event",c.startThreadOrSendEvent),t.on("request_cancel_greeting",c.requestCancelGreeting),t.on("rich_greeting_button_clicked",c.richGreetingButtonClicked),t.on("track_user_action",e=>{r.track(e);const n=(e=>{var t;if("submit"!==e.type)return;const n=(Array.isArray(null==(t=e.properties)?void 0:t.fields)?e.properties.fields:[]).find(e=>"email"===(null==e?void 0:e.type)&&"string"==typeof(null==e?void 0:e.text)&&e.text.trim());return n?n.text.trim():void 0})(e);n&&Zn(t,{suggestedEmail:n})}),t.on("flush_user_actions",()=>r.flush()),t.on("track_sales_event",e=>o.track(e)),me(m,ga(()=>lr(t))),me(he(t,e=>e.application.isLargeWidget),da(e=>!e),da(()=>t.getApplicationState("ecommerceAutoExpanded")),ua(1),ga(()=>{t.setApplicationState({ecommerceExpansionCollapsed:!0,ecommerceAutoExpanded:!1})}));const C=me(he(t,e=>e.application.destroyed),da(Boolean),ua(1),Hn);me(u,ua(1),Nn(()=>{const e=Ia(_(["organizationId","group","requestedGroup"],t.getApplicationState()));return[Xn("session")&&window.sessionStorage.getItem(e),e]}),da(e=>{let[t]=e;return Boolean(t)}),ga(e=>{let[n,a]=e;((e,t)=>{let n;const a=Zs(e);try{n=JSON.parse(t)}catch(i){return}n&&a&&n.forEach(t=>{e.getEvent(ye,t.id)||ze(e,ye,{thread:a,id:t.id,type:"file",own:!0,author:e.getSessionUser().id,delivered:!1,failed:!1,properties:t})})})(t,n),window.sessionStorage.removeItem(a)}));const[T,E]=me(he(t,e=>e.application.availability),Yn(1),Ea,Nn(e=>({type:e})),(w=e=>{let{type:t}=e;return"online"===t},function(e){return[da(w)(e),da((t=w,function(e){return!t(e)}))(e)];var t}));var w,k;me(g(()=>E),da(()=>Ks(t)),ga(()=>(e=>{!Le(e,"prechat")&&je(e)&&Ge(e)&&"offline"===e.getApplicationState().availability&&!e.getChat(ye).active&&De(e),Le(e,"prechat")&&(Re(e),je(e)&&De(e)),ir(e)})(t))),me(T,da(()=>Ks(t)),ga(()=>(e=>{e.getView("minimized").hidden&&lr(e),!$e(e)&&be(e)&&Oe(e,"hidden")&&!e.getApplicationState("isMinimizedForcefullyDisabled")&&Ne(e)})(t))),me(g(()=>{if(!Ge(t))return mi;const e=he(t,()=>Le(t,"prechat"));return me(oa(m,e),da(()=>Le(t,"prechat")),zn(()=>{const e=t.getLastEvent(ye);return me(Ln(((e,t)=>{const n=Ya(e=>"groupSelect"===e.meta,t);if(-1===n)return Promise.resolve(null);const a=t[n],i=a.options.map(e=>e.groupId);return i.length>20?Promise.resolve(null):Ma(e,{groupIds:i}).then(e=>Ve(n,{...a,options:a.options.map(t=>({...t,meta:{online:"online"===e[t.groupId]}}))},t))})(d,e.properties.fields)),pi)}))}),da(e=>e&&Le(t,"prechat")),ga(e=>{const{id:n}=t.getLastEvent(ye);return t.updateEvent(ye,n,{properties:{fields:e}})})),me(g(()=>me(he(t,()=>t.getChat(ye).properties.startChatAgainPending),da(Boolean))),zn(()=>Ln(Pr(d,Fr(t)))),ga(e=>{qe(t,ye,{chatId:t.getChat(ye).serverId}),qr(d,e)})),me(oa(m,T,E),(k=u,function(e){return function(t,n){if(0===t){var a,i,s=!1;e(0,function(e,t){0===e&&(a=t,k(0,function(e,t){0===e?(i=t)(1):1===e&&(s=!0,i(2))})),1===e?s?n(1,t):a(1):n(e,t)})}}}),da(()=>Ks(t)&&t.getApplicationState().eagerFetchingMode),Kn(()=>Ln(Pr(d,Fr(t)))),ve(C),ga(e=>qr(d,e))),me(g(()=>me(m,da(()=>!t.getApplicationState().eagerFetchingMode))),zn(()=>{const e=t.getChat(ye).serverId;return Ln(Promise.all([Pr(d,Fr(t)),Ae(t)&&e&&qa(d,e)].filter(Boolean)))}),ve(C),ga(e=>{let[n,a]=e;if(a){Na(d,t.getChat(ye).serverId,a.iterator),_r(t,a.hasMore);const e=a.threads,n=Ze(e=>{let{events:t}=e;return t},e).filter(e=>!t.hasEvent(ye,e.id));n.length>0&&t.addHistoryEvents(ye,n);const i=t.getChat(ye).properties.previousThread,s=e.length?Qe(e).id:null,r=!(i&&i===s);t.updateChat(ye,{properties:{eventsSeenUpToMap:a.eventsSeenUpToMap,...r&&{lastThread:s}}})}t.setApplicationState({eagerFetchingMode:!0}),qr(d,n)})),me(he(t,e=>({connectionState:e.session.connectionState,page:e.application.page})),da(e=>{let{connectionState:t}=e;return t===Qt}),da(()=>ea(t)),Nn(e=>{let{page:t}=e;return ta(t.url)}),Wn(),zn(e=>{const n=t.getApplicationState("minimizedWelcomeMessageIdsByPath");return Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!0),t.setApplicationState({welcomeMessageId:n[e]??null,welcomeMessageScope:"questions_only"}),Ln(Ra(d,"questions_only").catch(()=>null))}),ve(C),ga(e=>{if(Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1),null==e?void 0:e.welcomeMessageId){t.setApplicationState({welcomeMessageId:e.welcomeMessageId,welcomeMessageScope:"questions_only"});const n=ta(t.getApplicationState("page").url);t.setApplicationState({minimizedWelcomeMessageIdsByPath:{...t.getApplicationState("minimizedWelcomeMessageIdsByPath"),[n]:e.welcomeMessageId}})}(null==e?void 0:e.agent)&&(kt(t,e.agent),Ke(t,e.agent.id)),Oe(t,"maximized")&&me(Ln(Pr(d,Fr(t))),ga(e=>qr(d,e)))})),me(he(t,e=>e.application.page),Yn(1),ve(C),ga(e=>{let{url:t,title:n}=e;i.updateCustomerPage({url:t,title:n})})),me(he(t,()=>t.getUnseenCount(ye)>0),da(Pa),ga(()=>{clearTimeout(Oa.getMinimizedTimeouts().indicatorNotAnimated),t.updateView("minimized",{...t.getView("minimized"),animateUnseenEventIndicator:!0}),t.emit("render-minimized");const e=setTimeout(()=>{t.updateView("minimized",{...t.getView("minimized"),animateUnseenEventIndicator:!1}),t.emit("render-minimized")},500);Oa.setMinimizedTimeout("indicatorNotAnimated",e)}));const A=Wa(ra,e=>{i.setSneakPeek({chatId:Ce(t),sneakPeekText:e})});me(he(t,e=>e.application.messageDraft),Wn(),da(()=>t.getChat(ye).active),ga(e=>{"string"!=typeof e?A.cancel():A(e)})),na(t)&&me(m,ua(1),ga(()=>{var e;const n=Pn(),a=null==(e=t.getApplicationState("config").properties.license[n])?void 0:e.hdLicenseID,i=t.getApplicationState("group")??0;Sa(()=>Qa(a,i),{retriesCount:ni?2:10,minTime:ni?100:1e3,maxTime:ni?1e3:15e3}).then(e=>{t.updateView("HelpdeskTicketForm",{helpdeskFormConfiguration:e,isLoading:!1})},e=>{t.updateView("HelpdeskTicketForm",{isLoading:!1,hasFetchingError:!0}),bt("helpdesk_form_fetching_failed",e)})})),me(he(t,()=>t.getConnectionState()),da(e=>e===ue),ga(()=>{t.setApplicationState({disableSendingMessage:!0}),me(oa(me(Aa(ni?500:8e3),Nn(()=>({reason:"timeout"}))),me(ya(t,aa),Nn(()=>({reason:"message_send_attempt"}))),me(he(t,()=>t.getConnectionState()),da(e=>e!==ue),Nn(()=>({reason:"connection_state_change"})))),ua(1),ga(e=>{let{reason:n}=e;t.setApplicationState({disableSendingMessage:!1}),t.getConnectionState()===ue&&t.setConnectionState(ge),me(he(t,()=>t.getConnectionState()),da(e=>e===Qt),ua(1),ga(()=>{Math.random()<.1&&ot("scheduled_reconnecting_ended",{reason:n})}))}))})),me(he(t,()=>t.getConnectionState()),da(e=>e===pe||e===ge),ga(()=>{const e=ia(t);e&&!Oe(t,"maximized")&&sn(t,e.id,{force:!0,preventMute:!0,skipAnimations:!0}),Oa.getIsPendingAsyncFlow("requestingPredictedWelcomeMessage")&&Oa.setPendingAsyncFlow("requestingPredictedWelcomeMessage",!1)})),me(he(t,e=>e.application.privacyPolicyBannerState),da(e=>"closing"!==e),Wn(),ga(e=>{const{organizationId:n,group:a}=t.getApplicationState();if("unset"===e){const e=((e,t)=>{try{const n=fe.getItem(Bs(e,t));return n?JSON.parse(n):{hidden:!1}}catch(n){return console.error("Error getting privacy policy state:",n),{hidden:!1}}})(n,a);t.setApplicationState({privacyPolicyBannerState:e.hidden?"hidden":"visible"})}else((e,t,n)=>{fe.setItem(Bs(e,t),JSON.stringify(n))})(n,a,{hidden:"hidden"===e})})),me(he(t,e=>e.application.websiteTextSelection),da(e=>{let{state:t}=e;return"visible"!==t&&"hidden"!==t}),Wn(),ga(()=>{const{state:e,deferred:n}=t.getApplicationState("minimizedMessageInput");"hidden"===e&&!n||sa(t)||setTimeout(()=>t.emit("render-minimized"),0)}))};export{Qr as default};