PageSourceSearch

https://pragmaz.ai/assets/AdminExtTelemetria-PPgnOi5y.js

js pragmaz.ai collected 2026-09-24 14:08:31 UTC 46,461 bytes, 1 lines download raw bytes

1import{r,j as e,e as H,aw as De,a1 as We,a2 as ve,T as me,bI as Be,aV as Qe}from"./app-BEDoDvHI.js";let ue=null,de=null;function Ue(){return ue?Promise.resolve(ue):de||(de=fetch("/maps/world-countries.json").then(o=>{if(!o.ok)throw new Error("malha "+o.status);return o.json()}).then(o=>(ue=o,o)),de)}const te=83,ne=1e3,K=460;function be(o,u){const l=(o+180)/360*ne,v=Math.max(-te,Math.min(te,u)),j=(te-v)/(te*2)*K;return[l,j]}function Te(o){let u="";for(let l=0;l<o.length;l++){const[v,j]=be(o[l][0],o[l][1]);u+=(l?"L":"M")+v.toFixed(1)+" "+j.toFixed(1)}return u+"Z"}function Ve(o){return o.tipo==="Polygon"?o.coords.map(Te).join(""):o.coords.map(u=>u.map(Te).join("")).join("")}function Ge({pontos:o=[],porPais:u=[],altura:l=400,claro:v=!1,selecionado:j,onSelect:b,onSelectCidade:z,cidadeSel:s,metricaRotulo:q="online",pulsos:w=[]}){const[S,t]=r.useState(ue),[C,g]=r.useState(""),[F,i]=r.useState(null),[x,f]=r.useState({k:1,x:0,y:0}),y=r.useRef(null),d=r.useRef(null);r.useEffect(()=>{let n=!0;return Ue().then(h=>{n&&t(h)}).catch(h=>{n&&g(h.message)}),()=>{n=!1}},[]);const M=r.useMemo(()=>{if(!S)return[];const n={};for(const h of u)n[h.k]=h.v;return S.paises.map(h=>({cc:h.cc,nome:h.nome,d:Ve(h),v:n[h.cc]||0}))},[S,u]),c=r.useMemo(()=>{if(!o.length)return[];const n=Math.max(...o.map(h=>h.v))||1;return o.map(h=>{const[A,I]=be(h.lng,h.lat),R=h.aprox&&h.raio?h.raio/111*(K/(te*2)):0;return{...h,x:A,y:I,r:2.2+Math.sqrt(h.v/n)*16,rInc:R}}).sort((h,A)=>A.r-h.r)},[o]),N=r.useMemo(()=>c.filter(n=>!n.aprox),[c]),$=r.useMemo(()=>c.filter(n=>n.aprox),[c]),k=r.useMemo(()=>c.find(n=>n.lat+","+n.lng===F)||null,[c,F]),E=r.useCallback(n=>{var R;n.preventDefault();const h=(R=d.current)==null?void 0:R.getBoundingClientRect();if(!h)return;const A=(n.clientX-h.left)/h.width*ne,I=(n.clientY-h.top)/h.height*K;f(D=>{const Q=Math.min(12,Math.max(1,D.k*(n.deltaY<0?1.25:.8)));if(Q===D.k)return D;const he=A-(A-D.x)*(Q/D.k),ie=I-(I-D.y)*(Q/D.k);return Q===1?{k:1,x:0,y:0}:{k:Q,x:he,y:ie}})},[]);r.useEffect(()=>{const n=d.current;if(n)return n.addEventListener("wheel",E,{passive:!1}),()=>n.removeEventListener("wheel",E)},[E,S]);const V=n=>{y.current={x:n.clientX,y:n.clientY,vx:x.x,vy:x.y}},X=n=>{var R;if(!y.current)return;const h=(R=d.current)==null?void 0:R.getBoundingClientRect();if(!h)return;const A=(n.clientX-y.current.x)/h.width*ne,I=(n.clientY-y.current.y)/h.height*K;f(D=>({...D,x:y.current.vx+A,y:y.current.vy+I}))},Y=()=>{y.current=null},W=v?"#e8e8ee":"#191a20",Z=v?"#d6d6de":"#24252e",ee=v?"#dcdce6":"#212430",L=v?"#4f46e5":"#7c78ff";if(C)return e.jsxs("div",{className:"cx-vazio",children:["Mapa indisponível (",C,")."]});if(!S)return e.jsx("div",{className:"cx-vazio",style:{height:l},children:"Carregando o mundo…"});const G=`translate(${x.x} ${x.y}) scale(${x.k})`;return e.jsxs("div",{className:"cx-mapa",style:{position:"relative"},children:[e.jsx("svg",{ref:d,viewBox:`0 0 ${ne} ${K}`,style:{height:l,cursor:y.current?"grabbing":"grab"},onMouseDown:V,onMouseMove:X,onMouseUp:Y,onMouseLeave:()=>{Y(),i(null)},role:"img","aria-label":`Mapa de ${q}`,children:e.jsxs("g",{transform:G,children:[M.map(n=>e.jsx("path",{d:n.d,fill:j===n.cc?v?"#c7c7f0":"#2c2d50":n.v?ee:W,stroke:Z,strokeWidth:.5/x.k,style:{cursor:n.v?"pointer":"default"},onClick:()=>n.v&&b&&b(j===n.cc?null:n.cc)},n.cc)),w.map((n,h)=>{const[A,I]=be(n.lng,n.lat);return e.jsxs("circle",{cx:A,cy:I,r:"2",fill:"none",stroke:L,strokeWidth:1.4/x.k,children:[e.jsx("animate",{attributeName:"r",from:"2",to:"22",dur:"1.5s",fill:"freeze"}),e.jsx("animate",{attributeName:"stroke-opacity",from:".85",to:"0",dur:"1.5s",fill:"freeze"})]},`${A}-${I}-${h}`)}),$.map(n=>n.rInc>2&&e.jsx("circle",{cx:n.x,cy:n.y,r:n.rInc,fill:L,fillOpacity:.05,stroke:L,strokeOpacity:.28,strokeDasharray:`${4/x.k} ${3.4/x.k}`,strokeWidth:.9/x.k,style:{pointerEvents:"none"}},"h"+n.lat+","+n.lng)),[...N,...$].map(n=>{const h=n.lat+","+n.lng,A=n.cidade&&n.cidade===s,I=!!(n.cidade?z:b),R=F===h;return e.jsx("circle",{cx:n.x,cy:n.y,r:(n.aprox?Math.min(n.r,6):n.r)/Math.sqrt(x.k),fill:n.aprox?v?"#fff":"#0d0e13":L,fillOpacity:n.aprox?.9:R||A?.95:.55,stroke:L,strokeDasharray:n.aprox?`${2.6/x.k} ${2/x.k}`:void 0,strokeWidth:(R||A?1.9:n.aprox?1.3:.7)/x.k,style:{cursor:
1I?"pointer":"default"},onMouseEnter:()=>i(h),onMouseLeave:()=>i(null),onClick:()=>{n.cidade&&z?z(A?null:n.cidade):n.pais&&b&&b(j===n.pais?null:n.pais)}},h)})]})}),k&&e.jsxs("div",{className:"cx-serie-dica",style:{left:`${Math.min(86,(k.x*x.k+x.x)/ne*100)}%`,top:`${Math.max(2,Math.min(80,(k.y*x.k+x.y)/K*100))}%`},children:[e.jsxs("div",{children:[e.jsx("b",{children:Number(k.v).toLocaleString("pt-BR")})," ",q]}),e.jsx("div",{style:{fontWeight:600},children:k.cidade?`${k.cidade}${k.pais?" · "+k.pais:""}`:`em algum lugar de ${k.pais||"lugar desconhecido"}`}),k.aprox&&e.jsxs("div",{style:{opacity:.68,fontSize:10},children:["o provedor só revela o país",k.raio?` — pode estar em qualquer ponto a até ${k.raio} km daqui`:""]}),e.jsx("div",{style:{opacity:.55,fontSize:10},children:k.cidade?"clique para filtrar esta cidade":"clique para filtrar este país"})]}),x.k>1&&e.jsx("button",{className:"cx-btn",style:{position:"absolute",right:8,top:8,padding:"3px 9px"},onClick:()=>f({k:1,x:0,y:0}),children:"ver o mundo"})]})}const Ie={tela:{settings:"Opções",privacy:"Privacidade",non_contact:"Msg p/ não-contato",status:"Status",broadcast:"Disparo",calls:"Ligações",chatbot_flow:"Chatbot",group_cloner:"Clonar grupo",backup:"Backup",link_grouper:"Link único",public_groups:"Grupos públicos",reports:"Relatórios",sticker:"Figurinhas",webhooks:"Webhooks",webhooks_devs:"Webhooks devs",webhooks_smart:"Webhook inteligente",contacts_exporter:"Exportar contatos",group_tools:"Ferramentas de grupo",schedule_single:"Agendar mensagem",scheduled_list:"Agendadas",plans:"Planos",whats_new:"Novidades",rating:"Avaliação",share_chat:"Compartilhar",share_context:"Compartilhar pelo menu do chat",chat_export:"Exportar conversa",ai_panel:"Painel da IA",accounts:"Contas na mesma aba"},publico:{spreadsheet:"Planilha",all_contacts:"Todos os contatos",all_groups:"Todos os grupos",all_contacts_groups:"Contatos e grupos",group_members:"Membros de grupo",labels:"Etiquetas",selected:"Selecionados",scheduled:"Agendado",pgma:"Motor novo",excel:"Planilha",etiquetas:"Etiquetas",selecionados:"Selecionados",colados:"Colados",participantes:"Membros de grupo","todos-contatos":"Todos os contatos","todos-grupos":"Todos os grupos",todos:"Contatos e grupos",unknown:"Origem não informada",pasted:"Números colados à mão"}
1,viewers:{all_contacts:"Todos os contatos",except:"Todos, exceto alguns",only:"Somente escolhidos",unknown:"Não identificado"},plano:{0:"Sem plano (grátis)",4:"TranscriptAI",5:"Status PRO",6:"Básico",7:"Intermediário",8:"Avançado",9:"Atendente I.A."},tipoMsg:{text:"Texto",texto:"Texto",image:"Imagem",video:"Vídeo",audio:"Áudio",link:"Link",vcard:"Contato",pix:"Pix",arquivo:"Arquivo",buttons:"Botões",tts:"Voz sintetizada"},funcao:{resumir:"Resumir conversa",resumir_grupo:"Resumir grupo",sugerir:"Sugerir resposta",reescrever:"Reescrever",perguntar:"Perguntar",ler_imagem:"Ler imagem",ouvir_audio:"Transcrever áudio",decisoes:"Decisões",pedidos:"Pedidos",panorama:"Panorama"},motivo:{timelock:"Freio de tempo",cota:"Cota esgotada",sem_motor:"Motor indisponível",template_vazio:"Modelo vazio",mestre_off:"IA desligada",funcao_off:"Função desligada",chat_fora:"Conversa marcada como fora da IA",excecao:"Deu um erro inesperado",parcial:"Concluiu em parte",cancelado:"Cancelado no meio",save_cancelled:"Desistiu ao salvar o arquivo",save_failed:"O navegador não conseguiu salvar",teto_tamanho:"Imagem acima de 4 MB",teto_duracao:"Áudio acima de 15 min",plano:"O plano do cliente não inclui"},evento:{"screen.opened":"Abriu uma tela","broadcast.messages_sent":"Disparou mensagens","broadcast.started":"Começou um disparo","ai.requested":"Pediu à IA","ai.responded":"IA respondeu","ai.cache_hit":"IA veio do cache","ai.blocked":"IA bloqueada","ai.unavailable":"IA indisponível (motor fora)","state.snapshot":"Retrato do estado","menu.item_clicked":"Clicou num item do menu","account.changed":"Mexeu nas contas","account.created":"Criou uma conta","account.removed":"Apagou uma conta","account.renamed":"Renomeou uma conta","account.switched":"Trocou de conta","account.favorited":"Definiu a conta favorita","chat.exported":"Exportou uma conversa","contacts.exported":"Exportou contatos","settings.saved":"Salvou as opções","group.member_banned":"Baniu alguém do grupo","group.admin_granted":"Tornou alguém administrador do grupo","group.admin_removed":"Tirou o administrador do grupo","group.settings_saved":"Salvou opções do grupo","group.commands_saved":"Salvou comandos do grupo","group.bulk_edited":"Editou vários grupos de uma vez","group.tagged_all":"Marcou todos no grupo","group.info_requested":"Pediu info do grupo","sticker.sent":"Mandou figurinha","schedule.saved":"Agendou mensagem","contact.list_saved":"Salvou lista de contatos","feedback.rated":"Avaliou a extensão","theme.changed":"Trocou de tema","status.posted":"Postou Status","crm.card_moved":"Moveu card no CRM","call.campaign_finished":"Campanha de ligações","extension.installed":"Instalou a extensão","group.cloned":"Clonou um grupo","group.joined":"Entrou num grupo","group.destroyed":"Destruiu um grupo","group.bulk_edited":"Editou vários grupos de uma vez","contact.non_contact_opened":"Abriu conversa com quem não é contato","webhook.message_sent":"Webhook enviou mensagem","webhook.status_sent":"Webhook enviou status","webhook.created":"Criou um webhook","webhook.deleted":"Apagou um webhook","webhook.updated":"Atualizou um webhook","webhook.tested":"Testou o webhook","webhook.enabled":"Ligou o webhook","webhook.disabled":"Desligou o webhook","webhook.url_copied":"Copiou a URL do webhook","webhook.key_regenerated":"Regenerou a chave do webhook","webhook.mapping_saved":"Salvou o mapeamento do webhook","chatbot.mode_changed":"Mudou o modo do chatbot","group.directory_searched":"Buscou grupos públicos","theme.dark_toggled":"Ligou o modo escuro","Open-Webhooks2":"Abriu Webhooks","Open-WebhookDevs":"Abriu Webhooks devs","Open-WebhookInligente":"Abriu Webhook inteligente","Salvei-Mapeamento-Webhook2":"Salvou o mapeamento do webhook","Testei-Webhook2":"Testou o webhook","Apaguei-Webhook2":"Apagou um webhook","Liguei-Webhook2":"Ligou o webhook","Desliguei-Webhook2":"Desligou o webhook","Copiei-URL-Webhook2":"Copiou a URL do webhook","Regenerei-Webhook2":"Regenerou a chave do webhook","Chatbot-Funnel":"Abriu o funil do chatbot"},idioma:{pt:"Português","pt-BR":"Português","pt-PT":"Português (Portugal)",en:"Inglês","en-US":"Inglês",es:"Espanhol","es-ES":"Espanhol",fr:"Francês",it:"Italiano",de:"Alemão",ru:"Russo",ar:"Árabe",hi:"Híndi",id:"Indonésio",tr:"Turco",zh:"Chinês",ja:"Japonês",bn:"Bengali",fil:"Filipino",ur:"Urdu",ta:"Tâmil",te:"Télugo",mr:"Marati",ms:"Malaio",he:"Hebraico"},detalhe:{devs:"Webhook para desenvolvedores",custom:"Webhook personalizado",inbound:"Webhook de entrada",grouper:"Agrupador de webhooks",buttons:"Mensagem com botões",personal:"Webhook pessoal",servidor:"Chatbot rodando na nuvem",local:"Chatbot rodando no computador",chip:"Mudou pelo celular",cloud_panel:"Mudou pelo painel da nuvem",address_book:"Contatos da agenda",chats:"Contatos das conversas",unsaved:"Contatos que não estão salvos na agenda",group_members:"Membros de grupos",past_group_members:"Quem já saiu dos grupos",labels:"Contatos das etiquetas",chatbot_started:"Quem iniciou o chatbot",chatbot_data:"Dados coletados pelo chatbot",handpicked:"Contatos escolhidos um a um",auto_link:"Entrou por link automático",link_batch:"Entrou por lote de links",public_directory:"Entrou pelo diretório de grupos públicos",reply:"Respondendo a uma mensagem",tag:"Marcando a pessoa (@)",adm:"Comando dado por administrador",group:"Comando dado dentro do grupo",individual:"Comando dado na conversa privada",auto:"A extensão abriu a tela sozinha",manual:"O próprio usuário abriu a tela",sem_resposta:"O servidor não respondeu",scheduled:"Disparo que estava agendado",pgma_novo:"Disparo 2.0 — montar disparo",pgma_hist:"Disparo 2.0 — histórico",pgma_agenda:"Disparo 2.0 — agenda",pgma_tpl:"Disparo 2.0 — templates",pgma:"Disparo pelo motor 2.0","abre-ia":"Menu → Painel da IA","abre-crm":"Menu → Kanban CRM","abre-temas":"Menu → Temas","cria-minha-ia":"Menu → Minha IA","abre-sessoes":"Menu → Contas","cria-status":"Menu → Status","cria-msgauto":"Menu → Disparo","cria-opcoes":"Menu → Opções","cria-ligacoes":"Menu → Ligações","cria-webhook":"Menu → Webhooks","cria-exportador":"Menu → Exportar contatos",abreflow:"Menu → Chatbot Flow","cria-opcoesgrupos":"Menu → Ferramentas de grupo","abre-agendadas":"Menu → Agendadas","cria-exportarconversa":"Menu → Exportar conversa","cria-exportadorconfig":"Menu → Backup",to500:"Texto curto (até 500 letras)","500-2k":"Texto médio (500 a 2 mil letras)","2k-8k":"Texto longo (2 mil a 8 mil letras)",over8k:"Texto muito longo (mais de 8 mil letras)",listened_0:"Ninguém ouviu a ligação até o fim","listened_1-25":"Até 25% ouviram a ligação até o fim","listened_26-50":"De 26% a 50% ouviram a ligação até o fim","listened_51-75":"De 51% a 75% ouviram a ligação até o fim","listened_76-99":"De 76% a 99% ouviram a ligação até o fim",listened_100:"Todos ouviram a ligação até o fim",new:"Instalou agora",week:"Instalou nos últimos 7 dias",month:"Instalou nos últimos 30 dias",year:"Instalou no último ano",over_year:"Instalou há mais de um ano",chat_group:"Exportou conversa de grupo",chat_individual:"Exportou conversa individual","chat_group+media":"Exportou conversa de grupo, com as mídias","chat_individual+media":"Exportou conversa individual, com as mídias","chat_group+locked":"Exportou conversa de grupo, protegida por senha","chat_individual+locked":"Exportou conversa individual, protegida por senha","chat_group+media+locked":"Exportou conversa de grupo, com mídias e senha","chat_individual+media+locked":"Exportou conversa individual, com mídias e senha"},tema:{native:"Sem tema Pragmaz (WhatsApp puro)","padrao-escuro":"WhatsApp Escuro","padrao-claro":"WhatsApp Claro",forest:"Forest",slate:"Slate",cyberdark:"Cyberdark","purple-haze":"Purple Haze","holographic-aura":"Holographic Aura",blossom:"Blossom","dracula-noir":"Dracula Noir",ufonet:"UFONET",apex:"APEX",teia:"NEBULOSA"},pais:{},cidade:{},versao:{},app:{}},He={naolidastopo:"Não lidas no topo",seloonline:"Selo de online",mostraetiquetas:"Etiquetas à vista",downloadstatus:"Baixar status",habilitafixartodos:"Fixar sem limite",habilitashareall:"Compartilhar em massa",mostradispositivo:"Mostrar dispositivo",rejeitarchamadas:"Rejeitar chamadas",notificaoneoff:"Notificação uma vez"},Xe=o=>He[o]||fe(o),Ye=/^(disparo\.|tema\.|sessao\.|presenca\.|contas\.|retrato\.|extensao\.|prova\.|ok\.teste$|^[xy]$)/,Je=[["Criei-Webhook2-",o=>`Criou um webhook (${o})`],["Chatbot-Modo-",o=>`Mudou o chatbot para ${o==="servidor"?"a nuvem":"o computador"}`]],Ke="lpbkofhnclhhlaibcklkgaonbbmhjeco",Ze="lddaflngpimiapnbfaindmghndbnjcgm",Re=o=>
1o===Ke?"Genuína (Web Store)":o===Ze?"Clone conhecido (bloqueado)":`Cópia · ${String(o).slice(0,8)}…`,fe=o=>{const u=String(o).replace(/^Open-/,"").replace(/[._-]+/g," ").trim();return u?u.charAt(0).toUpperCase()+u.slice(1):"—"},ea=new Set(["evento","tela","funcao","publico","tipoMsg","motivo","tema","idioma","detalhe","viewers"]),_=(o,u)=>{const l=Ie[o]&&Ie[o][u];if(l)return l;if(o==="evento"){for(const[v,j]of Je)if(String(u).startsWith(v))return j(String(u).slice(v.length));if(Ye.test(String(u)))return`${fe(u)} (sistema antigo)`}return o==="app"?Re(u):ea.has(o)?fe(u):String(u)},aa=[["evento","O que fizeram"],["tela","Telas abertas"],["pais","Países"],["cidade","Cidades"],["funcao","Tarefas de IA"],["publico","Público do disparo"],["tipoMsg","Tipo de mensagem"],["tema","Temas"],["versao","Versão da extensão"],["idioma","Idioma"],["motivo","Motivo de falha"],["detalhe","Detalhe do que foi feito"],["viewers","Quem vê o Status"],["app","Origem (genuína × clone)"],["plano","Plano de quem usou"]],ge=[["online","online agora","instalações online"],["instalacoes","instalações","instalações"],["pessoas","pessoas","pessoas"],["assinantes","assinantes","assinantes"],["acoes","ações","ações"],["disparos","disparos","mensagens disparadas"]],je=[["1h","última hora",36e5,6e4],["6h","6 horas",6*36e5,3e5],["24h","24 horas",24*36e5,9e5],["tudo","tudo",0,36e5]],p=o=>Number(o||0).toLocaleString("pt-BR"),re=o=>new Date(o).toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"});function sa(){const o=()=>{var v;return typeof document>"u"?!1:((v=document.querySelector(".dash-shell"))==null?void 0:v.getAttribute("data-cv2-theme"))==="light"},[u,l]=r.useState(o);return r.useEffect(()=>{const v=document.querySelector(".dash-shell");if(!v)return;const j=new MutationObserver(()=>l(o()));return j.observe(v,{attributes:!0,attributeFilter:["data-cv2-theme"]}),l(o()),()=>j.disconnect()},[]),u}function oa({pontos:o=[],altura:u=130}){const[l,v]=r.useState(null);if(!o.length)return e.jsx("div",{className:"cx-vazio",children:"Sem eventos no recorte."});const j=1e3,b=u,z=Math.max(...o.map(t=>t.n))||1,s=Math.max(o.length,24),q=j/s,w=[],S=Math.max(1,Math.floor((o.length-1)/4));for(let t=0;t<o.length;t+=S)w.push({t:o[t].t,pct:Math.min(96,t/s*100)});return e.jsxs("div",{className:"cx-serie",onMouseLeave:()=>v(null),children:[e.jsx("svg",{viewBox:`0 0 ${j} ${b}`,style:{height:u},preserveAspectRatio:"none",children:o.map((t,C)=>{const g=Math.max(1,t.n/z*(b-12));return e.jsx("rect",{x:C*q,y:b-g,width:Math.max(1,q-1.5),height:g,rx:Math.min(2,q/3),fill:l===C?"var(--cx-ac2)":"var(--cx-ac)",opacity:l===null||l===C?1:.45,onMouseEnter:()=>v(C)},t.t)})}),e.jsx("div",{className:"cx-serie-eixo","aria-hidden":"true",children:w.map(t=>e.jsx("span",{style:{left:`${t.pct}%`},children:re(t.t)},t.t))}),l!==null&&o[l]&&e.jsxs("div",{className:"cx-serie-dica",style:{left:`${Math.min(88,l/o.length*100)}%`,top:4},children:[re(o[l].t)," · ",e.jsx("b",{children:p(o[l].n)})," eventos"]})]})}function ta({dim:o,titulo:u,itens:l=[],ativo:v,onFiltrar:j,total:b,filtros:z,onAbrirTudo:s,onVerQuem:q}){const[w,S]=r.useState(""),[t,C]=r.useState("v"),g=r.useMemo(()=>{let d=0,M=0,c=0;for(const E of l)d+=E.v||0,M+=E.pago||0,(E.v||0)>c&&(c=E.v||0);let N=0,$=0;const k=[...l].sort((E,V)=>(V.v||0)-(E.v||0));for(const E of k)if(N+=E.v||0,$++,N>=d*.8)break;return{soma:d,pago:M,maior:c,oitenta:$,pctPago:d?Math.round(M/d*100):0}},[l]),F=r.useMemo(()=>{const d=w.trim().toLowerCase();let M=l;return d&&(M=M.filter(c=>String(_(o,c.k)).toLowerCase().includes(d)||String(c.k).toLowerCase().includes(d))),t==="pago"&&(M=[...M].sort((c,N)=>(N.pago||0)-(c.pago||0))),M},[l,w,t,o]),i=l.some(d=>d.pessoas),x=l.some(d=>d.pago!==void 0),f=o==="cidade"||o==="pais",y=b>l.length;return e.jsxs("section",{className:"cx-p cx-p-av",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:u}),e.jsxs("span",{className:"meta",children:[p(l.length),y?` de ${p(b)}`:""," ",l.length===1?"opção":"opções"]}),s&&e.jsx("button",{className:"cx-vertudo",onClick:()=>s(o,u),title:"Abrir em tela cheia",children:e.jsx(Qe,{size:11})})]}),l.length>0&&e.jsxs("div",{className:"cx-p-est",children:[e.jsxs("span",{title:i?"Instalações somadas neste bloco":"Total de ações somadas neste bloco",children:[e.jsx("b",{className:"num",children:p(g.soma)})," ",i?"instalações":"ações"]}),x&&e.jsxs("span",{title:`${p(g.pago)} de quem paga · ${p(g.soma-g.pago)} de quem usa de graça`,children:[e.jsxs("b",{className:"num cx-pg",children:[g.pctPago,"%"]})," pago"]}),l.length>2&&e.jsxs("span",{title:`${g.oitenta} ${g.oitenta===1?"opção responde":"opções respondem"} por 80% do uso deste bloco`,children:[e.jsx("b",{className:"num",children:g.oitenta})," fazem 80%"]})]}),l.length>12&&e.jsxs("div",{className:"cx-p-ferr",children:[e.jsx("input",{className:"cx-inp cx-inp-min",placeholder:`Buscar entre ${p(l.length)}…`,value:w,onChange:d=>S(d.target.value)}),x&&e.jsx("button",{className:`cx-ord${t==="pago"?" on":""}`,onClick:()=>C(t==="pago"?"v":"pago"),title:"Ordenar pelo que quem PAGA mais usa",children:"$"})]}),e.jsx("div",{className:"cx-p-corpo",children:F.length?e.jsx("div",{className:`cx-av-lista${f?" com-quem":""}`,children:F.map(d=>{const M=d._dim||o,c=d._dim?(z||{})[M]===d.k:v===d.k,N=d._rot||_(M,d.k),$=g.soma?d.v/g.soma*100:0,k=d.v?(d.pago||0)/d.v*100:0;return e.jsxs("div",{className:`cx-av-l${c?" on":""}`,children:[e.jsxs("button",{className:"cx-av-bt",onClick:()=>j(M,c?null:d.k),title:c?"Clique para remover o filtro":`${N} — ${p(d.v)} (${$.toFixed(1)}% do bloco)`+(x?` · ${p(d.pago||0)} pago / ${p(d.gratis||0)} grátis`:""),children:[e.jsx("span",{className:"cx-av-n",children:N}),e.jsxs("span",{className:"cx-av-pct num",children:[$<.1?"<0,1":$.toFixed(1),"%"]}),e.jsx("span",{className:"cx-av-v num",children:p(d.v)}),e.jsx("span",{className:"cx-av-b",title:x?`${Math.round(k)}% deste item vem de quem paga`:void 0,children:e.jsx("i",{style:{width:`${d.v/(g.maior||1)*100}%`},children:x&&e.jsx("em",{style:{width:`${k}%`}})})})]}),f&&q&&e.jsx("button",{className:"cx-av-quem",onClick:()=>q(o,d.k),title:`Quem está em ${N}: número, assinatura e plano`,children:"quem?"})]},M+":"+d.k)})}):e.jsx("div",{className:"cx-vazio",children:w?"Nada com esse nome.":"Nada neste recorte."})})]})}function na({dim:o,titulo:u,filtros:l,janela:v,onFiltrar:j,onFechar:b,onVerQuem:z}){const[s,q]=r.useState(null),[w,S]=r.useState(""),[t,C]=r.useState(!1),[g,F]=r.useState(""),[i,x]=r.useState(!0);r.useEffect(()=>{let c=!0;
1return x(!0),H.get("/admin/ext-telemetria/faceta",{params:{...v(),dim:o,porPlano:t?1:0,limite:5e3}}).then(N=>{c&&(q(N.data),F(""))}).catch(()=>{c&&F("Não foi possível carregar a lista.")}).finally(()=>{c&&x(!1)}),()=>{c=!1}},[o,t,v]);const f=r.useMemo(()=>{const c=(s==null?void 0:s.itens)||[],N=w.trim().toLowerCase();return N?c.filter($=>String(_(o,$.k)).toLowerCase().includes(N)||String($.k).toLowerCase().includes(N)):c},[s,w,o]),y=Math.max(...f.map(c=>c.v),1),d=f.some(c=>c.pessoas),M=o==="cidade"||o==="pais";return e.jsx("div",{className:"cx-tudo-fundo",onClick:c=>{c.target===c.currentTarget&&b()},children:e.jsxs("div",{className:"cx-tudo",role:"dialog","aria-modal":"true",children:[e.jsxs("header",{className:"cx-tudo-cab",children:[e.jsxs("div",{children:[e.jsx("h3",{children:u}),e.jsxs("span",{className:"meta",children:[i?"carregando…":`${p(f.length)}${f.length!==((s==null?void 0:s.distintos)||0)?` de ${p((s==null?void 0:s.distintos)||0)}`:""} ${d?"em instalações":"itens"}`,(s==null?void 0:s.ms)!==void 0&&` · ${s.ms.toFixed(1)} ms`]})]}),e.jsx("button",{className:"cx-btn",onClick:b,"aria-label":"Fechar",children:e.jsx(me,{size:16})})]}),e.jsxs("div",{className:"cx-tudo-barra",children:[e.jsx("input",{className:"cx-inp",placeholder:"Buscar nesta lista…",value:w,onChange:c=>S(c.target.value),autoFocus:!0}),!d&&e.jsx("button",{className:`cx-btn${t?" on":""}`,onClick:()=>C(!t),title:"Separa cada linha entre quem paga e quem usa de graça",children:"grátis × pago"})]}),e.jsxs("div",{className:"cx-tudo-corpo",children:[g&&e.jsx("div",{className:"cx-vazio",children:g}),!g&&!i&&!f.length&&e.jsx("div",{className:"cx-vazio",children:"Nada neste recorte."}),!g&&f.map(c=>{const N=_(o,c.k),$=(l||{})[o]===c.k;return e.jsxs("div",{className:`cx-tudo-l${$?" on":""}`,children:[e.jsxs("button",{className:"cx-tudo-b",onClick:()=>{j(o,$?null:c.k),b()},title:$?"Remover o filtro":`Filtrar por ${N}`,children:[e.jsx("span",{className:"cx-f-n",children:N}),t&&e.jsxs("span",{className:"cx-tudo-pp",children:[e.jsx("b",{title:"Quem paga",children:p(c.pago||0)}),e.jsx("i",{children:"/"}),e.jsx("em",{title:"Quem usa de graça",children:p(c.gratis||0)})]}),e.jsx("span",{className:"cx-f-v num",children:p(c.v)}),e.jsx("span",{className:"cx-f-b",children:t?e.jsxs(e.Fragment,{children:[e.jsx("i",{className:"pago",style:{width:`${(c.pago||0)/y*100}%`}}),e.jsx("i",{className:"gratis",style:{width:`${(c.gratis||0)/y*100}%`}})]}):e.jsx("i",{style:{width:`${c.v/y*100}%`}})})]}),M&&e.jsx("button",{className:"cx-tudo-quem",onClick:()=>z(o,c.k),title:`Quem está em ${N}`,children:"quem?"})]},c.k)})]})]})})}function ra({onde:o,valor:u,onFechar:l,onAbrirFicha:v}){const[j,b]=r.useState(null),[z,s]=r.useState(0),[q,w]=r.useState(""),[S,t]=r.useState(""),[C,g]=r.useState(!0);r.useEffect(()=>{let i=!0;return g(!0),H.get("/admin/ext-telemetria/usuarios",{params:{[o]:u,n:300}}).then(x=>{var d;if(!i)return;const f=((d=x.data)==null?void 0:d.usuarios)||{},y=Array.isArray(f)?f:f.itens||[];b(y),s(Array.isArray(f)?f.length:f.achados||0),t("")}).catch(()=>{i&&t("Não foi possível carregar.")}).finally(()=>{i&&g(!1)}),()=>{i=!1}},[o,u]);const F=r.useMemo(()=>{const i=q.trim().toLowerCase();return i?(j||[]).filter(x=>String(x.num||"").includes(i)||String(x.ch||"").toLowerCase().includes(i)):j||[]},[j,q]);return e.jsx("div",{className:"cx-tudo-fundo",onClick:i=>{i.target===i.currentTarget&&l()},children:e.jsxs("div",{className:"cx-tudo cx-tudo-largo",role:"dialog","aria-modal":"true",children:[e.jsxs("header",{className:"cx-tudo-cab",children:[e.jsxs("div",{children:[e.jsxs("h3",{children:["Quem está em ",u]}),e.jsxs("span",{className:"meta",children:[C?"carregando…":`${p(F.length)} de ${p(z)} ${z===1?"pessoa":"pessoas"}`,z>((j==null?void 0:j.length)||0)&&" · mostrando as 300 mais recentes"]})]}),e.jsx("button",{className:"cx-btn",onClick:l,"aria-label":"Fechar",children:e.jsx(me,{size:16})})]}),e.jsx("div",{className:"cx-tudo-barra",children:e.jsx("input",{className:"cx-inp",placeholder:"Buscar por número ou chave…",value:q,onChange:i=>w(i.target.value),autoFocus:!0})}),e.jsxs("div",{className:"cx-tudo-corpo",children:[S&&e.jsx("div",{className:"cx-vazio",children:S}),!S&&!C&&!F.length&&e.jsx("div",{className:"cx-vazio",children:"Ninguém neste recorte."}),!S&&F.map(i=>e.jsxs("button",{className:"cx-quem-l",onClick:()=>v(i.num),title:"Abrir a ficha completa",children:[e.jsx("span",{className:`cx-quem-pt${i.online?" on":""}`}),e.jsx("span",{className:"cx-quem-num num",children:i.num}),e.jsx("span",{className:`cx-quem-tag${i.ch?" pago":""}`,children:i.ch?`assinante · plano ${i.plano}`:"grátis"}),i.ch&&e.jsx("span",{className:"cx-quem-ch num",title:"Chave da assinatura",children:i.ch}),e.jsxs("span",{className:"cx-quem-meta",children:[i.cidade||"—",i.pais?` · ${i.pais}`:"",i.v?` · v${i.v}`:"",i.tema?` · ${_("tema",i.tema)}`:""]}),e.jsx("span",{className:"cx-quem-fez",children:(i.top||[]).map(x=>
1_("evento",x.k)).filter(Boolean).slice(0,2).join(" · ")}),e.jsx("span",{className:"cx-quem-n num",children:p(i.n)})]},i.num))]})]})})}function ca(){var ke,Ce,Me,_e,ye,$e,Ae,we,Se,qe,Ee,Pe;const o=sa(),[u,l]=r.useState({}),[v,j]=r.useState("24h"),[b,z]=r.useState(""),[s,q]=r.useState(null),[w,S]=r.useState([]),[t,C]=r.useState(null),[g,F]=r.useState("online"),[i,x]=r.useState(null),[f,y]=r.useState([]),d=r.useRef(new Map),[M,c]=r.useState(""),[N,$]=r.useState(!0),[k,E]=r.useState(null),[V,X]=r.useState(null),Y=r.useRef(null),W=je.find(a=>a[0]===v)||je[2],Z=r.useMemo(()=>{const a={...u,balde:W[3]};return b!==""&&(a.assinante=b),a},[u,W,b]),ee=r.useCallback(()=>W[2]?{...Z,desde:Date.now()-W[2]}:Z,[Z,W]),L=r.useCallback(async a=>{var m,T,P,U;a||$(!0);try{const O=ee(),[ce,le,J]=await Promise.all([H.get("/admin/ext-telemetria/explora",{params:O}),H.get("/admin/ext-telemetria/usuarios",{params:{n:60}}),H.get("/admin/ext-telemetria/pontos",{params:{...O,metrica:g}})]),se=(m=le.data)==null?void 0:m.usuarios;if(q(ce.data),S(Array.isArray(se)?se:(se==null?void 0:se.itens)||[]),c(""),(T=J.data)!=null&&T.ok){const Le=J.data.pontos||[],xe=[];for(const oe of Le){const ze=`${oe.lat},${oe.lng}`,Fe=d.current.get(ze);Fe!==void 0&&oe.v>Fe&&xe.push(oe),d.current.set(ze,oe.v)}x(J.data),xe.length&&(y(xe.slice(0,12)),setTimeout(()=>y([]),1600))}}catch(O){c(((U=(P=O==null?void 0:O.response)==null?void 0:P.data)==null?void 0:U.erro)==="coletor_indisponivel"?"O coletor está fora do ar. Nada se perdeu: a extensão guarda os eventos e reenvia quando ele voltar.":"Não foi possível carregar.")}finally{$(!1)}},[ee,g]);r.useEffect(()=>{L()},[L]),r.useEffect(()=>{const a=()=>{clearInterval(Y.current),document.hidden||(Y.current=setInterval(()=>L(!0),2e4))};return a(),document.addEventListener("visibilitychange",a),()=>{clearInterval(Y.current),document.removeEventListener("visibilitychange",a)}},[L]),r.useEffect(()=>{const a=m=>{m.key==="Escape"&&C(null)};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[]);const G=r.useCallback((a,m)=>{l(T=>{const P={...T};return m==null?delete P[a]:P[a]=m,P})},[]),n=r.useCallback(async a=>{var m,T,P;C({num:a,carregando:!0});try{const[U,O]=await Promise.all([H.get("/admin/ext-telemetria/usuario",{params:{num:a}}),H.get("/admin/ext-telemetria/historico",{params:{num:a,n:120}})]);C({num:a,...((m=U.data)==null?void 0:m.usuario)||{},historico:((T=O.data)==null?void 0:T.historico)||[],presenca:((P=U.data)==null?void 0:P.presenca)||[],carregando:!1})}catch{C({num:a,erro:!0,carregando:!1})}},[]),h=(s==null?void 0:s.dimensoes)||{},A=h.evento||[],I=h.tela||[],R=I.length>0&&A.some(a=>a.k==="screen.opened"),D=R?[...A.filter(a=>a.k!=="screen.opened"),...I.map(a=>({k:a.k,v:a.v,_dim:"tela",_rot:`Abriu a tela ${_("tela",a.k)}`}))].sort((a,m)=>m.v-a.v):A,Q=(s==null?void 0:s.dimensoesTotais)||{},he=R?(Q.evento||0)-1+(Q.tela||0):Q.evento,ie=((i==null?void 0:i.pontos)||[]).reduce((a,m)=>a+(m.aprox?1:0),0),pe=Object.entries(u),B=(s==null?void 0:s.disparos)||{},ae=(s==null?void 0:s.ia)||{},Ne=s!=null&&s.abertos?Math.round(s.ativos/s.abertos*100):0,Oe=B.n?B.falha/B.n*100:0;return e.jsxs("div",{className:"cx",children:[e.jsxs("header",{className:"cx-topo",children:[e.jsxs("div",{children:[e.jsxs("h1",{children:[e.jsx(De,{}),"Central da Extensão"]}),e.jsxs("p",{children:["Tudo o que as pessoas ",e.jsx("b",{children:"fazem"})," na extensão, explorável.",e.jsx("b",{children:" Clique em qualquer valor"})," para filtrar a tela inteira por ele."]})]}),e.jsxs("div",{className:"cx-topo-dir",children:[e.jsxs("span",{className:"cx-vivo",children:[e.jsx("i",{}),"ao vivo"]}),e.jsxs("button",{className:"cx-btn",onClick:()=>L(),children:[e.jsx(We,{size:12}),"Atualizar"]})]})]}),M&&e.jsxs("div",{className:"cx-nota alerta",children:[e.jsx(ve,{size:14}),e.jsx("div",{children:M})]}),e.jsxs("div",{className:"cx-filtros",children:[e.jsx("span",{className:"cx-filtros-lbl",children:"Período"}),e.jsx("span",{className:"cx-seg",children:je.map(([a,m])=>e.jsx("button",{className:v===a?"on":"",onClick:()=>j(a),children:m},a))}),e.jsx("span",{className:"cx-filtros-lbl",style:{marginLeft:6},children:"Quem"}),e.jsx("span",{className:"cx-seg",children:[["","todos"],["1","assinantes"],["0","não assinantes"]].map(([a,m])=>e.jsx("button",{className:b===a?"on":"",onClick:()=>z(a),children:m},a))}),e.jsx("span",{style:{width:1,height:18,background:"var(--cx-linha2)",margin:"0 2px"}}),e.jsx("span",{className:"cx-filtros-lbl",children:"Filtros"}),pe.length===0&&e.jsx("span",{className:"cx-filtros-vazio",children:"nenhum — clique num valor abaixo"}),pe.map(([a,m])=>e.jsxs("span",{className:"cx-chip",children:[e.jsxs("b",{children:[{pais:"país",cidade:"cidade",tela:"tela",funcao:"tarefa",evento:"evento",tema:"tema",versao:"versão",idioma:"idioma",publico:"público",tipoMsg:"tipo",motivo:"motivo",app:"origem"}[a]||a,":"]}),e.jsx("span",{children:_(a,m)}),e.jsx("button",{onClick:()=>G(a,null),"aria-label":"Remover filtro",children:e.jsx(me,{size:12})})]},a)),pe.length>0&&e.jsx("button",{className:"cx-btn",style:{padding:"3px 9px"},onClick:()=>l({}),children:"limpar tudo"}),s&&e.jsxs("span",{className:"meta",style:{marginLeft:"auto",fontSize:10.5,color:"var(--cx-t4)"},children:[p(s.varridas)," eventos varridos em ",s.ms," ms"]})]}),(()=>{var ce,le,J;const a=(ce=s==null?void 0:s.armazem)==null?void 0:ce.acoes,m=(le=s==null?void 0:s.armazem)==null?void 0:le.presenca,T=((J=s==null?void 0:s.armazem)==null?void 0:J.saturados)||[];
1if(!a)return null;const P=a.teto?100*a.linhas/a.teto:0,U=m&&m.teto?100*m.linhas/m.teto:0,O=!!a.cheio||!!(m&&m.cheio)||T.length>0;return!O&&P<85&&U<85?null:e.jsxs("div",{className:`cx-nota${O?" alerta":""}`,style:{marginBottom:14},children:[e.jsx(ve,{size:14,style:{flexShrink:0,marginTop:1}}),e.jsx("span",{children:O?e.jsxs(e.Fragment,{children:[e.jsx("b",{children:"O recorte já não cobre tudo o que diz."})," ",a.cheio&&e.jsxs(e.Fragment,{children:["O anel de ações encheu (",p(a.teto)," linhas) e passou a sobrescrever o mais antigo. "]}),m&&m.cheio&&e.jsxs(e.Fragment,{children:["O anel de presença encheu (",p(m.teto)," intervalos). "]}),T.length>0&&e.jsxs(e.Fragment,{children:["Dicionário saturado: ",e.jsx("b",{children:T.join(", ")})," — a contagem dessa dimensão parou de crescer. "]}),"Períodos longos mostram menos do que o rótulo promete."]}):e.jsxs(e.Fragment,{children:[e.jsx("b",{children:"Memória perto do fim."})," Ações em ",P.toFixed(0),"% de ",p(a.teto)," linhas",m?e.jsxs(e.Fragment,{children:[" · presença em ",U.toFixed(0),"% de ",p(m.teto)," intervalos"]}):null,". Ao encher, o mais antigo começa a ser sobrescrito e a janela encolhe sozinha."]})})]})})(),e.jsxs("div",{className:"cx-numeros",children:[e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Com o WhatsApp aberto"}),e.jsx("div",{className:"cx-n-v destaque num",children:p(s==null?void 0:s.abertos)}),e.jsx("div",{className:"cx-n-h",children:"aba viva nos últimos 5 min — inclui a esquecida"})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Em uso de verdade"}),e.jsx("div",{className:"cx-n-v num",children:p(s==null?void 0:s.ativos)}),e.jsx("div",{className:"cx-n-barra",children:e.jsx("i",{style:{width:`${Ne}%`}})}),e.jsxs("div",{className:"cx-n-h",children:[Ne,"% dos abertos"]})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Pessoas"}),e.jsx("div",{className:"cx-n-v num",children:p(s==null?void 0:s.pessoas)}),e.jsx("div",{className:"cx-n-h",children:"números distintos no recorte"})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Assinantes"}),e.jsx("div",{className:"cx-n-v num",children:p(s==null?void 0:s.assinantes)}),e.jsx("div",{className:"cx-n-h",children:"chaves distintas"})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Ações"}),e.jsx("div",{className:"cx-n-v num",children:p(s==null?void 0:s.eventos)}),e.jsxs("div",{className:"cx-n-h",children:["o que as pessoas fizeram",s!=null&&s.sinais?e.jsxs(e.Fragment,{children:[" · ",p(s.sinais)," sinais de presença fora da conta"]}):null]})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Mensagens disparadas"}),e.jsx("div",{className:"cx-n-v num",children:p(B.n)}),e.jsxs("div",{className:"cx-n-h",children:[B.falha?e.jsxs(e.Fragment,{children:[p(B.falha)," falharam (",Oe.toFixed(1),"%)"]}):"sem falha registrada",B.n?B.comVeredito?e.jsxs(e.Fragment,{children:[e.jsx("br",{}),Math.round(B.comVeredito/B.n*100),"% com desfecho confirmado por destino; o resto é tentativa"]}):e.jsxs(e.Fragment,{children:[e.jsx("br",{}),"todas são ",e.jsx("b",{children:"tentativas"})," — nenhuma passou pelo motor que confirma por destino"]}):null]})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"Pedidos de IA"}),e.jsx("div",{className:"cx-n-v num",children:p(ae.pedidas)}),e.jsxs("div",{className:"cx-n-h",children:[p(ae.cache)," do cache · ",ae.msMedio||0," ms"]})]}),e.jsxs("div",{className:"cx-n",children:[e.jsx("div",{className:"cx-n-k",children:"IA bloqueada"}),e.jsx("div",{className:`cx-n-v num${ae.bloqueadas?" ruim":""}`,children:p(ae.bloqueadas)}),e.jsx("div",{className:"cx-n-h",children:"o próprio usuário desligou"})]})]}),e.jsxs("section",{className:"cx-p",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:"Ritmo"}),e.jsxs("span",{className:"meta",children:[W[1]," · barra de ",W[3]>=36e5?"1h":`${W[3]/6e4} min`]}
1)]}),e.jsx("div",{className:"cx-p-corpo",children:e.jsx(oa,{pontos:(s==null?void 0:s.serie)||[]})})]}),e.jsxs("div",{className:"cx-grade cx-g21",children:[e.jsxs("section",{className:"cx-p",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:"Onde estão"}),e.jsx("span",{className:"cx-seg",style:{marginLeft:"auto"},children:ge.map(([a,m])=>e.jsx("button",{className:g===a?"on":"",onClick:()=>F(a),children:m},a))})]}),e.jsxs("div",{className:"cx-p-corpo",children:[e.jsx(Ge,{pontos:(i==null?void 0:i.pontos)||[],porPais:h.pais||[],altura:380,claro:o,pulsos:f,selecionado:u.pais,onSelect:a=>G("pais",a),cidadeSel:u.cidade,onSelectCidade:a=>G("cidade",a),metricaRotulo:(ge.find(a=>a[0]===g)||[])[2]||""}),e.jsxs("div",{className:"cx-mapa-leg",children:[e.jsxs("span",{children:["● bolha = ",e.jsx("b",{children:(ge.find(a=>a[0]===g)||[])[2]})," na posição real (área ∝ valor)"]}),ie>0&&e.jsxs("span",{title:"O provedor de internet desses acessos só revela o país, não a cidade — o GeoIP devolve o centro do país. Marcá-los como bolha cheia seria inventar uma cidade.",children:["◌ tracejado = só o país é conhecido (",ie," de ",i.celulas,")"]}),i&&e.jsxs("span",{children:[i.celulas," lugares · ",p(i.total)," no total"]}),e.jsx("span",{children:"rolar = zoom · arrastar = mover · clique na bolha = filtrar o lugar"})]})]})]}),e.jsxs("section",{className:"cx-p",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:"Pessoas"}),e.jsx("span",{className:"meta",children:"clique para a ficha"})]}),e.jsx("div",{className:"cx-p-corpo",style:{padding:"4px 6px"},children:e.jsx("div",{className:"cx-tw",style:{maxHeight:372,overflowY:"auto"},children:e.jsxs("table",{className:"cx-tb",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Número"}),e.jsx("th",{children:"Plano"}),e.jsx("th",{className:"n",children:"Eventos"})]})}),e.jsxs("tbody",{children:[w.filter(a=>!u.pais||a.pais===u.pais).map(a=>e.jsxs("tr",{onClick:()=>n(a.num),style:{cursor:"pointer"},children:[e.jsxs("td",{children:[e.jsx("span",{className:"tel",children:a.num})," ",a.online&&e.jsx("span",{className:"cx-selo vivo",children:"agora"})]}),e.jsx("td",{children:a.ch&&a.plano>=4&&a.plano<=8?e.jsxs("span",{className:"cx-selo pago",children:["plano ",a.plano]}):a.plano===9?e.jsx("span",{className:"cx-selo pago",children:"IA"}):e.jsx("span",{className:"cx-selo",children:"grátis"})}),e.jsx("td",{className:"n num",children:p(a.n)})]},a.num)),!w.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:3,children:e.jsx("div",{className:"cx-vazio",children:"Ninguém visto ainda."})})})]})]})})})]})]}),e.jsxs("div",{className:"cx-nota",children:[e.jsx(Be,{size:14,style:{marginTop:2,flexShrink:0}}),e.jsxs("div",{children:["Cada linha abaixo é um ",e.jsx("b",{children:"filtro"}),". Combine quantas quiser — país + cidade + tarefa de IA + versão + plano ao mesmo tempo. O servidor varre os eventos de verdade a cada clique (",s?`${p(s.varridas)} linhas em ${s.ms} ms`:"—","); não há combinação pré-calculada, então ",e.jsx("b",{children:"nenhuma pergunta é privilegiada"}),". A batida de presença e o retrato de estado ficam de fora: eles medem ",e.jsx("b",{children:"quem está online"})," e ",e.jsx("b",{children:"em que estado"}),", não o que alguém fez.",s!=null&&s.ruido?e.jsxs(e.Fragment,{children:[" Outros ",e.jsx("b",{children:p(s.ruido)})," eventos ficaram de fora por serem do"," ",e.jsx("b",{children:"sistema de eventos antigo"})," ou sondas de teste — continuam gravados e aparecem na ficha de cada pessoa, mas não contam como uso."]}):null]})]}),e.jsx("div",{className:"cx-grade cx-g4",children:aa.map(([a,m])=>e.jsx(ta,{dim:a,titulo:m,itens:a==="evento"?D:h[a]||[],ativo:u[a],onFiltrar:G,filtros:u,total:a==="evento"?he:((s==null?void 0:s.dimensoesTotais)||{})[a],onAbrirTudo:(T,P)=>E({dim:T,titulo:P}),onVerQuem:(T,P)=>X({onde:T,valor:P})},a))}),e.jsxs("div",{className:"cx-nota",children:[e.jsx(ve,{size:14,style:{marginTop:2,flexShrink:0}}),e.jsxs("div",{children:[e.jsx("b",{children:"Sinal não é ação"})," — a batida de 60 s dispara ~480 vezes numa aba aberta o dia todo; se entrasse na conta, venceria qualquer coisa que alguém realmente fizesse.",e.jsx("b",{children:" Aberto não é online"}),' — a aba esquecida conta em "aberto" e não em "em uso".',e.jsx("b",{children:" Disparo conta tentativa"}),", menos no motor novo, que sabe o desfecho por destino (é dele que vem o motivo da falha). ",e.jsx("b",{children:"Cache de IA não é 
1chamada"})," — somados, o número não fecha com a cota. E ",e.jsx("b",{children:"mensal/anual/trial não existe na extensão"}),": ela só conhece o plano numérico."]})]}),e.jsx("div",{className:`cx-veu${t?" on":""}`,onClick:()=>C(null)}),e.jsx("aside",{className:`cx-ficha${t?" on":""}`,"aria-hidden":!t,children:t&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"cx-ficha-cab",children:[e.jsxs("div",{style:{minWidth:0},children:[e.jsx("div",{className:"tel",children:t.num}),e.jsx("div",{className:"sub",children:t.carregando?"carregando…":t.erro?"não encontrado":`${p(t.n)} eventos · v${t.v||"—"}${t.pais?` · ${t.pais}`:""}${t.cidade?` · ${t.cidade}`:""}`}),e.jsxs("div",{className:"cx-ficha-selos",children:[t.online&&e.jsx("span",{className:"cx-selo vivo",children:"com o WhatsApp aberto"}),t.ch&&t.plano>=4&&t.plano<=8?e.jsxs("span",{className:"cx-selo pago",children:["assinante · plano ",t.plano]}):t.ch?e.jsx("span",{className:"cx-selo",children:"chave sem plano"}):e.jsx("span",{className:"cx-selo",children:"não assinante"}),t.ch&&e.jsx("span",{className:"cx-chave",children:t.ch})]})]}),e.jsx("button",{className:"cx-ficha-x",onClick:()=>C(null),"aria-label":"Fechar",children:e.jsx(me,{size:13})})]}),e.jsxs("div",{className:"cx-ficha-corpo",children:[!t.carregando&&!t.erro&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"cx-p",children:[e.jsx("header",{className:"cx-p-cab",children:e.jsx("h2",{children:"Como ele usa"})}),e.jsx("div",{className:"cx-p-corpo",children:e.jsxs("dl",{className:"cx-kv",children:[e.jsx("dt",{children:"Tema"}),e.jsx("dd",{children:(ke=t.estado)!=null&&ke.theme?_("tema",t.estado.theme):"—"}),e.jsx("dt",{children:"Contas de WhatsApp"}),e.jsxs("dd",{children:[((Ce=t.estado)==null?void 0:Ce.accounts)??"—",typeof((Me=t.estado)==null?void 0:Me.accounts_numbers)=="string"&&t.estado.accounts_numbers&&e.jsx("div",{className:"cx-subnum",children:t.estado.accounts_numbers.split(",").map((a,m)=>e.jsx("span",{children:a?`+${a}`:"(sem QR)"},m))})]}),e.jsx("dt",{children:"Contatos no chatbot"}),e.jsx("dd",{children:((_e=t.estado)==null?void 0:_e.chatbot_contacts)==null?"—":p(t.estado.chatbot_contacts)}),e.jsx("dt",{children:"Apagadas recuperadas"}),e.jsx("dd",{children:p(((ye=t.estado)==null?void 0:ye.recovered_messages)??0)}),e.jsx("dt",{children:"Recuperação ligada"}),e.jsx("dd",{children:($e=t.estado)!=null&&$e.recovery_enabled?"sim":"não"}),e.jsx("dt",{children:"Opções ligadas"}),e.jsxs("dd",{children:[((Ae=t.estado)==null?void 0:Ae.settings_on)??"—",typeof((we=t.estado)==null?void 0:we.settings_list)=="string"&&t.estado.settings_list&&e.jsx("div",{className:"cx-subnum",children:t.estado.settings_list.split(",").map(a=>e.jsx("span",{children:Xe(a)},a))})]}),e.jsx("dt",{children:"Idioma"}),e.jsx("dd",{children:(Se=t.estado)!=null&&Se.language?_("idioma",t.estado.language):"—"}),e.jsx("dt",{children:"Origem"}),e.jsx("dd",{children:t.app?Re(t.app):"—"})]})})]}),((qe=t.presenca)==null?void 0:qe.length)>0&&e.jsxs("section",{className:"cx-p",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:"Quando esteve online"}),e.jsxs("span",{className:"meta",children:[t.presenca.length," ",t.presenca.length===1?"sessão":"sessões"," · ",(t.presenca.reduce((a,m)=>a+(m.minutos||0),0)/60).toFixed(1)," h"]})]}),e.jsx("div",{className:"cx-p-corpo",children:e.jsx("div",{className:"cx-tl",children:t.presenca.map((a,m)=>e.jsxs("div",{className:"cx-tl-i",children:[re(a.ini)," → ",re(a.fim),a.aberto&&e.jsx("b",{style:{color:"var(--cx-ok)"},children:" · agora"}),e.jsxs("span",{className:"h",children:[a.minutos," min"]}),e.jsxs("div",{className:"det",children:[a.minutosEmUso," min em uso",[a.cidade,a.pais].filter(Boolean).length?` · ${[a.cidade,a.pais].filter(Boolean).join("/")}`:"",a.versao?` · v${a.versao}`:""]})]},m))})})]}),e.jsxs("section",{className:"cx-p",children:[e.jsxs("header",{className:"cx-p-cab",children:[e.jsx("h2",{children:"Linha do tempo"}),e.jsxs("span",{className:"meta",children:[((Ee=t.historico)==null?void 0:Ee.length)||0," ações"]})]}),e.jsx("div",{className:"cx-p-corpo",children:(Pe=t.historico)!=null&&Pe.length?e.jsx("div",{className:"cx-tl",children:t.historico.map((a,m)=>e.jsxs("div",{className:"cx-tl-i",children:[a.n==="screen.opened"&&a.tela?`Abriu a tela ${_("tela",a.tela)}`:_("evento",a.n),e.jsx("span",{className:"h",children:re(a.t)}),(a.funcao||a.publico||a.tema||a.motivo||a.detalhe||a.viewers||a.n!=="screen.opened"&&a.tela)&&e.jsxs("div",{className:"det",children:[a.n!=="screen.opened"&&a.tela&&`tela: ${_("tela",a.tela)} `,a.funcao&&`tarefa: ${_("funcao",a.funcao)} `,a.publico&&`público: ${_("publico",a.publico)} `,a.detalhe&&`· ${_("detalhe",a.detalhe)} `,a.viewers&&`quem vê: ${_("viewers",a.viewers)} `,a.tipoMsg&&`· ${_("tipoMsg",a.tipoMsg)} `,a.qtd>1&&`· ${p(a.qtd)} msgs `,a.falha>0&&`· ${a.falha} falharam `,a.tema&&`tema: ${_("tema",a.tema)} `,a.motivo&&`motivo: ${_("motivo",a.motivo)}`]})]},m))}):e.jsx("div",{className:"cx-vazio",children:"Sem histórico na janela quente."})})]})]}),t.carregando&&e.jsx("div",{className:"cx-vazio",children:"Carregando…"}),t.erro&&e.jsx("div",{className:"cx-nota alerta",children:"Este número não está na janela de eventos."})]})]})}),N&&!s&&e.jsx("div",{className:"cx-vazio",children:"Carregando a central…"}),k&&e.jsx(na,{dim:k.dim,titulo:k.titulo,filtros:u,janela:ee,onFiltrar:G,onFechar:()=>E(null),onVerQuem:(a,m)=>X({onde:a,valor:m})}),V&&e.jsx(ra,{onde:V.onde,valor:V.valor,onFechar:()=>X(null),onAbrirFicha:a=>{X(null),E(null),n(a)}})]})}export{ca 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.