1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7924],{40073:(e,r,a)=>{a.d(r,{$:()=>n});var t=a(36347),o=a(95704);class s{async loadTeamData(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"116";try{let{data:r,error:a}=await this.supabase.from("team_data_view").select("*").eq("Liga",e).order("Data",{ascending:!1});if(a)return console.error("Erro ao carregar dados do Supabase:",a),[];return r||[]}catch(e){return console.error("Erro na consulta ao Supabase:",e),[]}}async getTeamPrevNextAvgs(e,r){try{let a=(r??"").toString().trim().toUpperCase(),{data:t,error:o}=await this.supabase.rpc("get_team_prev_next_avgs",{p_league_id:e,p_team_name:a});if(o)return console.error("Erro na RPC get_team_prev_next_avgs:",o),null;return Array.isArray(t)?t[0]??null:t??null}catch(e){return console.error("Erro em getTeamPrevNextAvgs:",e),null}}async getTeamFirstSecondAvgs(e,r){try{let a=(r??"").toString().trim().toUpperCase(),{data:t,error:o}=await this.supabase.rpc("get_team_first_second_avgs",{p_league_id:e,p_team_name:a});if(o)return console.error("Erro na RPC get_team_first_second_avgs:",o),null;return Array.isArray(t)?t[0]??null:t??null}catch(e){return console.error("Erro em getTeamFirstSecondAvgs:",e),null}}async getTeamHomeAwayPoints(e,r){try{var a,t,o,s;let n=(r??"").toString().trim().toUpperCase(),[l,i]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:n,league_id:e,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:n,league_id:e,is_home:!1})]);if(l.error||i.error)return console.error("Erro em getTeamHomeAwayPoints:",l.error||i.error),null;let m=(null==(t=l.data)||null==(a=t[0])?void 0:a.media_pontos)??0,u=(null==(s=i.data)||null==(o=s[0])?void 0:o.media_pontos)??0;return{home:m,away:u}}catch(e){return console.error("Erro em getTeamHomeAwayPoints:",e),null}}async getTeamHomeAwayWinRates(e,r){try{var a,t,o,s,n,l,i,m;let u=(r??"").toString().trim().toUpperCase(),[c,_]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:u,league_id:e,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:u,league_id:e,is_home:!1})]);if(c.error||_.error)return console.error("Erro em getTeamHomeAwayWinRates:",c.error||_.error),null;let d=Number((null==(t=c.data)||null==(a=t[0])?void 0:a.total_jogos)??0),p=Number((null==(s=c.data)||null==(o=s[0])?void 0:o.total_vitorias)??0),g=Number((null==(l=_.data)||null==(n=l[0])?void 0:n.total_jogos)??0),h=Number((null==(m=_.data)||null==(i=m[0])?void 0:i.total_vitorias)??0);return{home:d>0?p/d:0,away:g>0?h/g:0}}catch(e){return console.error("Erro em getTeamHomeAwayWinRates:",e),null}}async getTeamHomeAwayWinShares(e,r){try{var a,t,o,s;let n=(r??"").toString().trim().toUpperCase(),[l,i]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:n,league_id:e,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:n,league_id:e,is_home:!1})]);if(l.error||i.error)return console.error("Erro em getTeamHomeAwayWinShares:",l.error||i.error),null;let m=Number((null==(t=l.data)||null==(a=t[0])?void 0:a.total_vitorias)??0),u=Number((null==(s=i.data)||null==(o=s[0])?void 0:o.total_vitorias)??0),c=m+u;return{home:c>0?m/c:0,away:c>0?u/c:0}}catch(e){return console.error("Erro em getTeamHomeAwayWinShares:",e),null}}async getTeamHomeAwayWinsLossesCounts(e,r){try{var a,t,o,s,n,l,i,m;let u=(r??"").toString().trim().toUpperCase(),[c,_]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:u,league_id:e,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:u,league_id:e,is_home:!1})]);if(c.error||_.error)return console.error("Erro em getTeamHomeAwayWinsLossesCounts:",c.error||_.error),null;let d=Number((null==(t=c.data)||null==(a=t[0])?void 0:a.total_jogos)??0),p=Number((null==(s=c.data)||null==(o=s[0])?void 0:o.total_vitorias)??0),g=Number((null==(l=_.data)||null==(n=l[0])?void 0:n.total_jogos)??0),h=Number((null==(m=_.data)||null==(i=m[0])?void 0:i.total_vitorias)??0),b=Math.max(d-p,0),y=Math.max(g-h,0);return{homeWins:p,homeLosses:b,awayWins:h,awayLosses:y,totalGames:d+g}}catch(e){return console.error("Erro em getTeamHomeAwayWinsLossesCounts:",e),null}}async getTeamOutcomePercentages(e){try{let{data:r,error:a}=await this.supabase.rpc("get_team_outcome_percentages",{p_league_id:e});if(a)return console.error("Erro ao obter percentuais de resultados por time:",a),null;return Array.isArray(r)?r[0]??null:r??null}catch(e){return console.error("Erro na RPC get_team_outcome_percentages:",e),null}}async getLeagueHomeAwayWinsLossesPct(e){try{let{data:r,error:a}=await this.supabase.rpc("get_league_home_away_wins_losses_pct",{p_league_id:e});if(a)return console.error("Erro na RPC get_league_home_away_wins_losses_pct:",a),null;return r??null}catch(e){return console.error("Erro em getLeagueHomeAwayWinsLossesPct:",e),null}}async getTopHomeAwayWinImprovementDiff(e){try{let{data:r,error:a}=await this.supabase.rpc("get_top10_home_away_win_improvement_diff",{p_league_id:e});if(a)return console.error("Erro ao obter Top 10 diferen\xe7a de melhora de vit\xf3rias Casa vs Fora:",a),null;return Array.isArray(r)?r[0]??null:r??null}catch(e){return console.error("Erro na RPC get_top10_home_away_win_improvement_diff:",e),null}}async getTeamConsistency(e){try{let{data:r,error:a}=await this.supabase.rpc("get_team_consistency",{league_id_param:e});if(a)return console.error("Erro ao obter consist\xeancia dos times:",a),null;return Array.isArray(r)?r:r?[r]:null}catch(e){return console.error("Erro na RPC get_team_consistency:",e),null}}async getSingleTeamConsistency(e,r,a){try{let t=(r??"").toString().trim().toUpperCase(),o={league_id_param:e,team_name_param:t};void 0!==a&&(o.is_home=a);let{data:s,error:n}=await this.supabase.rpc("get_single_team_consistency",o);if(n)return console.error("Erro ao obter consist\xeancia do time:",n),null;return Array.isArray(s)?s[0]??null:s??null}catch(e){return console.error("Erro na RPC get_single_team_consistency:",e),null}}async getLeagueAnalysis(e){try{let{data:r,error:a}=await this.supabase.rpc("get_league_analysis",{league_id:e});if(a)return console.error("Erro ao obter an\xe1lise da liga:",a),null;return(Array.isArray(r)?r[0]??null:r)??null}catch(e){return console.error("Erro na consulta de an\xe1lise da liga:",e),null}}async getTeamsList(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"116";try{let{data:r,error:a}=await this.supabase.rpc("get_teams_list",{league_id:e});if(a)return console.error("Erro ao obter lista de times:",a),[];return(null==r?void 0:r.map(e=>e.team_name))||[]}catch(e){return console.error("Erro na consulta de times:",e),[]}}async getTeamPointsList(e,r,a){try{let{data:t,error:o}=await this.supabase.rpc("get_team_points_list",{p_league_id:e,p_team_name:r,p_is_home:a});if(o)return console.error("Erro ao obter lista de pontos do time:",o),[];if(!t)return[];return Array.isArray(t)?t:[]}catch(e){return console.error("Erro na consulta de pontos do time:",e),[]}}async analyzeTeamPerformance(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"116";try{let a=(e??"").toString().trim().toUpperCase(),[t,o]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:a,league_id:r,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:a,league_id:r,is_home:!1})]);if(t.error||o.error)return console.error("Erro ao obter estat\xedsticas:",t.error||o.error),null;let s=t.data[0],n=o.data[0],l=(s.porcentagem_vitorias>60||s.porcentagem_vitorias>n.porcentagem_vitorias+15||Math.abs(s.second_half_gt_first_half_pct-n.second_half_gt_first_half_pct)>10)&&s.total_jogos>=5;return{casa:s,visitante:n,vantagem_casa:l}}catch(e){return console.error("Erro na an\xe1lise de performance:",e),null}}async compareTeams(e,r){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"116";try{var t,o;let[s,n,l,i,m]=await Promise.all([this.supabase.rpc("get_team_stats",{team_name:e,league_id:a,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:e,league_id:a,is_home:!1}),this.supabase.rpc("get_team_stats",{team_name:r,league_id:a,is_home:!0}),this.supabase.rpc("get_team_stats",{team_name:r,league_id:a,is_home:!1}),this.supabase.rpc("get_head_to_head",{team1:e,team2:r,league_id:a})]);if(s.error||n.error||l.error||i.error||m.error)return console.error("Erro ao buscar dados para compara\xe7\xe3o:",{team1HomeStats:s.error,team1AwayStats:n.error,team2HomeStats:l.error,team2AwayStats:i.error,confrontosDirectos:m.error}),null;let u=m.data||[],c=u.length>0?u[0]:null;return{time1:{casa:s.data[0],visitante:n.data[0],vantagem_casa:(null==(t=s.data[0])?void 0:t.porcentagem_vitorias)>60},time2:{casa:l.data[0],visitante:i.data[0],vantagem_casa:(null==(o=l.data[0])?void 0:o.porcentagem_vitorias)>60},confrontos_diretos:u.length,confrontos_lista:u,ultimo_confronto:c}}catch(e){return console.error("Erro na compara\xe7\xe3o de times:",e),null}}async getTopQ34Comparison(e){try{let{data:r,error:a}=await this.supabase.rpc("get_top10_q34",{p_league_id:e});if(a)return console.error("Erro ao obter Top 10 Q3 vs Q4:",a),null;return Array.isArray(r)?r[0]??null:r??null}catch(e){return console.error("Erro na RPC get_top10_q34:",e),null}}async getTopFirstSecondHalfComparison(e){try{let{data:r,error:a}=await this.supabase.rpc("get_top10_first_second_half",{p_league_id:e});if(a)return console.error("Erro ao obter Top 10 1\xaa vs 2\xaa metade:",a),null;return Array.isArray(r)?r[0]??null:r??null}catch(e){return console.error("Erro na RPC get_top10_first_second_half:",e),null}}async getTopHomeAwayImprovementDiff(e){try{let{data:r,error:a}=await this.supabase.rpc("get_top10_home_away_improvement_diff",{p_league_id:e});if(a)return console.error("Erro ao obter Top 10 diferen\xe7a de melhora Casa vs Fora:",a),null;return Array.isArray(r)?r[0]??null:r??null}catch(e){return console.error("Erro na RPC get_top10_home_away_improvement_diff:",e),null}}async getTeamBoxStats(e,r){try{let{data:a,error:t}=await this.supabase.rpc("get_basketball_team_box_stats",{p_team
1:r,p_league_id:e});if(t)return console.error("Erro na RPC get_basketball_team_box_stats:",t),null;return(Array.isArray(a)?a[0]??null:a??null)??null}catch(e){return console.error("Erro em getTeamBoxStats:",e),null}}async getLeagueBoxStats(e){try{let{data:r,error:a}=await this.supabase.rpc("get_basketball_league_box_stats",{p_league_id:e});if(a)return console.error("Erro na RPC get_basketball_league_box_stats:",a),null;return(Array.isArray(r)?r[0]??null:r??null)??null}catch(e){return console.error("Erro em getLeagueBoxStats:",e),null}}async insertGameData(e){try{let r=e.map(e=>({league_id:e.Liga,game_date:new Date(e.Data).toISOString(),season:e.Temporada,home_team:(e["Time Casa"]??"").toString().trim().toUpperCase(),away_team:(e["Time Visitante"]??"").toString().trim().toUpperCase(),q1_home:e["Q1 Casa"]||0,q2_home:e["Q2 Casa"]||0,q3_home:e["Q3 Casa"]||0,q4_home:e["Q4 Casa"]||0,q1_away:e["Q1 Visitante"]||0,q2_away:e["Q2 Visitante"]||0,q3_away:e["Q3 Visitante"]||0,q4_away:e["Q4 Visitante"]||0,points_home:e["Pontos Casa"],points_away:e["Pontos Visitante"]}));for(let e=0;e<r.length;e+=1e3){let a=r.slice(e,e+1e3),t=new Date().toISOString(),{error:o}=await this.serviceSupabase.from("basketball_games").upsert(a,{onConflict:"league_id,season,home_team,away_team,game_date"});if(o)return console.error("Erro ao inserir dados:",o),!1;let s=a.map(e=>({league_id:e.league_id,home_team:e.home_team,away_team:e.away_team,game_date:e.game_date,final_score_home:e.points_home,final_score_away:e.points_away,winner_side:e.points_home>e.points_away?"HOME":e.points_away>e.points_home?"AWAY":"DRAW",status:"FINAL",settled_at:t,result_source:"historical-sync",updated_at:t})),{error:n}=await this.serviceSupabase.from("game_results").upsert(s,{onConflict:"league_id,game_date,home_team,away_team"});if(n)return console.error("Erro ao sincronizar resultados finais:",n),!1}return!0}catch(e){return console.error("Erro na inser\xe7\xe3o de dados:",e),!1}}async hasDataForLeague(e){try{let{count:r,error:a}=await this.supabase.from("basketball_games").select("*",{count:"exact",head:!0}).eq("league_id",e);if(a)return console.error("Erro ao verificar dados:",a),!1;return(r||0)>0}catch(e){return console.error("Erro na verifica\xe7\xe3o de dados:",e),!1}}constructor(){this.supabase=(0,t.UU)("https://nbqlopjwttebegugyhun.supabase.co","sb_publishable_DX4489LTuD07Wuy6S_qfbw_QW5V57YB"),this.serviceSupabase=(0,t.UU)("https://nbqlopjwttebegugyhun.supabase.co",o.env.SUPABASE_SERVICE_ROLE_KEY||"sb_publishable_DX4489LTuD07Wuy6S_qfbw_QW5V57YB")}}let n=new s},82160:(e,r,a)=>{a.d(r,{Ay:()=>u,B2:()=>c,vy:()=>m});var t=a(95155),o=a(22952),s=a(18955),n=a(38437);let l=e=>(e??"").toLowerCase().replace(/\b\w/g,e=>e.toUpperCase());function i(){let e=(0,s.c)("BlurredPremiumOverlay"),r=(0,n.c)().isTrialEligible;return{t:e,showTrialCta:r,badgeLabel:e(r?"trialBadge":"badge"),ctaLabel:e(r?"startTrialButton":"upgradeButton")}}function m(e){let{game:r}=e,{t:a,badgeLabel:s,ctaLabel:n}=i();return(0,t.jsxs)("div",{className:"flex items-center gap-3 p-3 bg-[#FFBE1A]/10 border border-[#FFBE1A]/30 rounded-lg",children:[(0,t.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full bg-[#FFBE1A]/20 text-[#FFBE1A] text-xs font-medium",children:s}),(0,t.jsx)("p",{className:"text-sm text-slate-900 dark:text-white/80 flex-1",children:a("previewBanner",{homeTeam:l(r.homeTeam),awayTeam:l(r.awayTeam)})}),(0,t.jsx)(o.N_,{href:"/pricing",className:"shrink-0 bg-[#FFBE1A] hover:bg-[#FFBE1A]/90 text-black px-3 py-1.5 rounded-lg font-medium text-xs transition-colors",children:n})]})}function u(e){let{children:r,message:a,highlightedLabel:s,blurPx:n=6,active:l=!0,className:m="",compact:u=!1}=e,{t:c,badgeLabel:_,ctaLabel:d}=i();return l?(0,t.jsxs)("div",{className:`relative ${m}`,children:[(0,t.jsx)("div",{className:"select-none pointer-events-none",style:{filter:`blur(${n}px)`},"aria-hidden":"true",children:r}),(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center z-10",children:u?(0,t.jsx)(o.N_,{href:"/pricing",className:"inline-flex items-center rounded-full border border-[#FFBE1A]/35 bg-black/78 px-3 py-1.5 text-[11px] font-medium text-[#FFBE1A] backdrop-blur-sm shadow-lg",children:_}):(0,t.jsxs)("div",{className:"premium-overlay-card bg-black/70 backdrop-blur-sm border border-[#FFBE1A]/30 text-center shadow-lg rounded-xl px-6 py-4 max-w-xs",children:[(0,t.jsx)("div",{className:"inline-flex items-center rounded-full bg-[#FFBE1A]/15 text-[#FFBE1A] font-medium mb-2 px-3 py-1 text-xs",children:_}),s&&(0,t.jsxs)("div",{className:"mb-3 inline-flex items-center gap-1.5 rounded-full border border-amber-500/30 bg-amber-500/10 px-3 py-1 text-[11px] font-semibold uppercase tracking-wide text-amber-300",children:[(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"11",height:"11",viewBox:"0 0 24 24",fill:"
1currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M12 2.25l2.91 5.89 6.5.95-4.7 4.58 1.11 6.48L12 17.1l-5.82 3.05 1.11-6.48-4.7-4.58 6.5-.95L12 2.25z"})}),s]}),(0,t.jsx)("p",{className:"premium-overlay-message text-white mb-3 text-sm font-medium leading-relaxed",children:a||c("defaultMessage")}),(0,t.jsx)(o.N_,{href:"/pricing",className:"inline-block bg-[#FFBE1A] hover:bg-[#FFBE1A]/90 text-black rounded-lg font-medium transition-colors px-4 py-2 text-sm",children:d})]})})]}):(0,t.jsx)(t.Fragment,{children:r})}function c(e){let{children:r,message:a,highlightedLabel:s,blurPx:n=5,compact:l=!1,actionLabel:m,onAction:u,align:c="center"}=e,{t:_,ctaLabel:d}=i(),p=!!(m&&u);return(0,t.jsxs)("div",{className:`relative overflow-hidden rounded-lg ${l?p?"min-h-[184px]":"min-h-[148px]":p?"min-h-[220px]":"min-h-[176px]"}`,children:[(0,t.jsx)("div",{className:"pointer-events-none select-none opacity-40",style:{filter:`blur(${n}px)`},"aria-hidden":"true",children:r}),(0,t.jsx)("div",{className:`absolute inset-0 z-10 flex justify-center p-3 ${"top"===c?"items-start pt-4":"items-center"}`,children:(0,t.jsxs)("div",{className:`w-full rounded-xl border border-[#FFBE1A]/30 bg-black/74 text-center shadow-lg backdrop-blur-sm ${l?"max-w-[17rem] px-4 py-3":"max-w-xs px-5 py-4"}`,children:[s&&(0,t.jsxs)("div",{className:"mb-2 inline-flex items-center gap-1.5 rounded-full border border-amber-500/30 bg-amber-500/10 px-3 py-1 text-[11px] font-semibold uppercase tracking-wide text-amber-300",children:[(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M12 2.25l2.91 5.89 6.5.95-4.7 4.58 1.11 6.48L12 17.1l-5.82 3.05 1.11-6.48-4.7-4.58 6.5-.95L12 2.25z"})}),s]}),(0,t.jsx)("p",{className:`text-white ${l?"mb-2 text-xs font-medium leading-relaxed":"mb-3 text-sm font-medium leading-relaxed"}`,children:a||_("unlockPredictionSection")}),p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:u,className:`inline-flex w-full items-center justify-center rounded-lg bg-emerald-500 font-semibold text-black transition-colors hover:bg-emerald-400 ${l?"px-3 py-1.5 text-xs":"px-4 py-2 text-sm"}`,children:m}),(0,t.jsx)(o.N_,{href:"/pricing",className:"mt-2 inline-block text-[10px] font-medium text-[#FFBE1A]/90 underline-offset-2 hover:underline",children:d})]}):(0,t.jsx)(o.N_,{href:"/pricing",className:`inline-flex items-center justify-center rounded-lg bg-[#FFBE1A] font-medium text-black transition-colors hover:bg-[#FFBE1A]/90 ${l?"px-3 py-1.5 text-xs":"px-4 py-2 text-sm"}`,children:d})]})})]})}}}]);
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.