1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6194],{2384:(e,t,r)=>{r.d(t,{Ee:()=>c,SJ:()=>n,ZV:()=>d,cn:()=>s,lc:()=>o});var a=r(14042),i=r(78942);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,i.QP)((0,a.$)(t))}let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"es-ES";return new Intl.NumberFormat(e,{style:"currency",currency:"EUR",minimumFractionDigits:2,maximumFractionDigits:2})};n("es-ES");let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es-ES";return"number"!=typeof e||Number.isNaN(e)?"â":new Intl.NumberFormat(t,{style:"currency",currency:"EUR",notation:"compact",minimumFractionDigits:2,maximumFractionDigits:2}).format(e)},c=e=>"number"!=typeof e||Number.isNaN(e)?"â":"".concat(e>=0?"+":"").concat(e.toFixed(2),"%"),d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es-ES";return"number"!=typeof e||Number.isNaN(e)?"â":new Intl.NumberFormat(t,{notation:"compact",minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}},45187:(e,t,r)=>{r.d(t,{$:()=>c});var a=r(56459),i=r(92571),s=r(5548),n=r(2384);let o=(0,s.F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:(0,n.cn)("bg-primary-600 text-white dark:bg-primary-500","shadow-[0_2px_12px_rgba(59,130,246,0.3)] dark:shadow-[0_2px_16px_rgba(59,130,246,0.4)]","hover:bg-primary-700 dark:hover:bg-primary-600","hover:shadow-[0_4px_20px_rgba(59,130,246,0.4)] hover:-translate-y-0.5","dark:hover:shadow-[0_4px_24px_rgba(59,130,246,0.5)]","active:translate-y-0 active:shadow-[0_1px_8px_rgba(59,130,246,0.25)]"),destructive:(0,n.cn)("bg-red-600 text-white dark:bg-red-500","shadow-[0_2px_12px_rgba(220,38,38,0.3)] dark:shadow-[0_2px_16px_rgba(239,68,68,0.4)]","hover:bg-red-700 dark:hover:bg-red-600","hover:shadow-[0_4px_20px_rgba(220,38,38,0.4)] hover:-translate-y-0.5","dark:hover:shadow-[0_4px_24px_rgba(239,68,68,0.5)]","active:translate-y-0 active:shadow-[0_1px_8px_rgba(220,38,38,0.25)]"),outline:(0,n.cn)("border border-gray-300 bg-transparent dark:border-gray-600","shadow-[0_1px_8px_rgba(0,0,0,0.04)] dark:shadow-[0_1px_12px_rgba(0,0,0,0.2)]","hover:bg-surface-nav dark:hover:bg-gray-800","hover:shadow-[0_2px_12px_rgba(0,0,0,0.08)] hover:-translate-y-0.5","dark:hover:shadow-[0_2px_16px_rgba(0,0,0,0.3)]","active:translate-y-0 active:shadow-[0_1px_6px_rgba(0,0,0,0.04)]"),secondary:(0,n.cn)("bg-surface-nav text-gray-900 dark:bg-gray-800 dark:text-gray-100","shadow-[0_1px_10px_rgba(0,0,0,0.06)] dark:shadow-[0_1px_14px_rgba(0,0,0,0.25)]","hover:bg-gray-200 dark:hover:bg-gray-700","hover:shadow-[0_2px_14px_rgba(0,0,0,0.1)] hover:-translate-y-0.5","dark:hover:shadow-[0_2px_18px_rgba(0,0,0,0.35)]","active:translate-y-0 active:shadow-[0_1px_6px_rgba(0,0,0,0.05)]"),ghost:(0,n.cn)("hover:bg-surface-nav hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-100","transition-colors duration-200"),link:(0,n.cn)("text-primary-600 underline-offset-4 hover:underline dark:text-primary-400","transition-colors duration-200")},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),c=i.forwardRef((e,t)=>{let{className:r,variant:i,size:s,asChild:c,...d}=e;return(0,a.jsx)("button",{className:(0,n.cn)(o({variant:i,size:s,className:r})),ref:t,...d})});c.displayName="Button"},46379:(e,t,r)=>{r.d(t,{gU:()=>n,FH:()=>m,sw:()=>g,CE:()=>y,Ax:()=>_,fw:()=>k,CX:()=>f,Hm:()=>w,Wg:()=>R,EU:()=>C,Fp:()=>v,I1:()=>x,gJ:()=>S,a9:()=>b,lf:()=>i,tO:()=>A,ft:()=>q});var a=r(59198);async function i(e){let{service:t,action:r,sessionId:i,estimatedDuration:s}=e,n=a.auth.currentUser;if(!n)throw Error("Usuario no autenticado");let o=await n.getIdToken(),c=await fetch("/api/usage/track",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(o)},body:JSON.stringify({service:t,action:r,sessionId:i,estimatedDuration:s})});if(!c.ok)throw Error("Error tracking usage: ".concat(c.statusText));return c.json()}let s=r(73124).env.NEXT_PUBLIC_FIREBASE_FUNCTIONS_URL||"https://us-central1-".concat("brujula-cripto",".cloudfunctions.net/analyzeFileRecovery"),n=async(e,t)=>{let r=a.auth.currentUser;if(!r)throw Error(t?t("error.unauthenticated"):"User not authenticated");let i=await r.getIdToken();try{let r=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(i)},body:JSON.stringify(e)}),a=await r.json();if(!r.ok){var n;let e="error.generic";if("object"==typeof a.error&&(null==(n=a.error)?void 0:n.code))switch(a.error.code){case"INSUFFICIENT_CREDITS":e="error.insufficientCredits";break;case"UNAUTHENTICATED":case"UNAUTHORIZED":e="error.unauthenticated";break;case"RATE_LIMIT_EXCEEDED":e="error.rateLimitExceeded";break;case"NO_TOOLS_FOUND":e="error.noToolsFound"}throw Error(t?t(e):"Could not analyze your case. Please try again.")}return a}catch(e){if(console.error("[DEBUG] Error analyzing file recovery:",e),e instanceof Error)throw e;throw Error(t?t("error.unexpected"):"An unexpected error occurred. Please try again.")}};var o=r(73124);let c=e=>{if("string"!=typeof e)return;let t=e.trim();try{t=decodeURIComponent(t)}catch(e){}for(t=t.replace(/\\[nrt]/gi,"").replace(/[\r\n\t]/g,"").replace(/%0A/gi,"").replace(/%0D/gi,"").replace(/%09/gi,"");t.endsWith("/n")||t.endsWith("\\n");)t=t.slice(0,-2);let r=t.replace(/\/+$/,"");return r.length>0?r:void 0},d=c(o.env.NEXT_PUBLIC_FIREBASE_FUNCTIONS_URL),u=c("https://us-central1-brujula-cripto.cloudfunctions.net\r\n"),h=d||u||"https://us-central1-brujula-cripto.cloudfunctions.net",p={"/chatbot":"https://chatbot-rmiirtipeq-uc.a.run.app","/articles":"https://getarticles-rmiirtipeq-uc.a.run.app","/articles/create":"https://createarticle-rmiirtipeq-uc.a.run.app","/articles/update":"https://updatearticle-rmiirtipeq-uc.a.run.app","/articles/delete":"https://deletearticle-rmiirtipeq-uc.a.run.app","/articles/publish":"https://publisharticle-rmiirtipeq-uc.a.run.app","/articles/like":"https://togglearticlelike-rmiirtipeq-uc.a.run.app","/toggleArticleLike":"https://togglearticlelike-rmiirtipeq-uc.a.run.app","/articles/list":"https://listarticles-rmiirtipeq-uc.a.run.app","/articles/slug":"https://getarticlebyslug-rmiirtipeq-uc.a.run.app","/payments/checkout":"https://createcheckout-rmiirtipeq-uc.a.run.app","/payments/portal":"https://createstripeportalsession-rmiirtipeq-uc.a.run.app","/payments/webhook":"https://stripewebhooks-rmiirtipeq-uc.a.run.app","/blockchain/wallet":"https://analyzewallet-rmiirtipeq-uc.a.run.app","/blockchain/transaction":"https://gettransactionstatus-rmiirtipeq-uc.a.run.app","/blockchain/audit":"https://auditcontractsecurity-rmiirtipeq-uc.a.run.app","/blockchain/recovery":"https://analyzefilerecovery-rmiirtipeq-uc.a.run.app","/blockchain/cost":"https://calculatecost-rmiirtipeq-uc.a.run.app","/user/profile":"https://getuserprofile-rmiirtipeq-uc.a.run.app","/user/update":"https://updateuserprofile-rmiirtipeq-uc.a.run.app","/user/credits":"https://getusercredits-rmiirtipeq-uc.a.run.app","/user/usage":"https://trackusage-rmiirtipeq-uc.a.run.app","/admin/role":"https://setadminrole-rmiirtipeq-uc.a.run.app","/admin/homepage":"https://gethomepagecontent-rmiirtipeq-uc.a.run.app","/admin/homepage/update":"https://updatehomepagecontent-rmiirtipeq-uc.a.run.app","/admin/homepage/reset":"https://resethomepagecontent-rmiirtipeq-uc.a.run.app","/admin/pricing":"https://getpricingconfig-rmiirtipeq-uc.a.run.app","/admin/pricing/update":"https://updatepricingconfig-rmiirtipeq-uc.a.run.app","/admin/pricing/reset":"https://resetpricingtodefault-rmiirtipeq-uc.a.run.app","/admin/budget":"https://fetchbudgetalerts-rmiirtipeq-uc.a.run.app","/admin/budget/update":"https://updatebudgetconfig-rmiirtipeq-uc.a.run.app","/admin/budget/trigger":"https://triggerbudgetmonitor-rmiirtipeq-uc.a.run.app","/services":"https://listservices-rmiirtipeq-uc.a.run.app","/services/create":"https://createservice-rmiirtipeq-uc.a.run.app","/services/update":"https://updateservice-rmiirtipeq-uc.a.run.app","/services/delete":"https://deleteservice-rmiirtipeq-uc.a.run.app","/services/get":"https://getservice-rmiirtipeq-uc.a.run.app","/contact":"https://handlecontactform-rmiirtipeq-uc.a.run.app","/admin/freshness":"https://freshnesschecker-rmiirtipeq-uc.a.run.app"};class l{normalizeHeaders(e){return e?e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?e.reduce((e,t)=>
1{let[r,a]=t;return e[r]=a,e},{}):{...e}:{}}buildUrl(e){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/api/"))return e;let t=e.startsWith("/")?e:"/".concat(e);for(let[e,r]of Object.entries(p))if(t.startsWith(e)){let a=t.slice(e.length);return"".concat(r).concat(a)}let r=h.replace(/\\n/gi,"").replace(/[\r\n\t]/g,"");return"".concat(r).concat(t)}async makeRequest(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{let r={"Content-Type":"application/json",...this.normalizeHeaders(t.headers)},a=await fetch(this.buildUrl(e),{...t,headers:r}),i=await a.json();if(!a.ok){if(i&&"object"==typeof i){let e="string"==typeof i.errorCode?i.errorCode:void 0,t="string"==typeof i.error?i.error:"string"==typeof i.errorMessage?i.errorMessage:"string"==typeof i.message?i.message:"Error desconocido";return{success:!1,error:t,errorCode:e}}return{success:!1,error:"Error desconocido"}}let s=i;return i&&"object"==typeof i&&"data"in i&&void 0!==i.data&&(s=i.data),{success:!0,data:s}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Error de conexi\xf3n"}}}async makeAuthedRequest(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a.auth.currentUser;if(!r)return{success:!1,error:"auth.notAuthenticated",errorCode:"auth/not-authenticated"};let i=await r.getIdToken(),s=this.normalizeHeaders(t.headers);return s.Authorization="Bearer ".concat(i),this.makeRequest(e,{...t,headers:s})}async getArticles(){let e=await this.makeRequest("/getArticles");return e.success?{success:!0,data:(e=>{if(!e)return[];if(Array.isArray(e))return e;if("object"==typeof e){if(Array.isArray(e.articles))return e.articles;let t=e.data;if(t&&"object"==typeof t&&Array.isArray(t.articles))return t.articles}return[]})(e.data)}:{success:!1,error:e.error,errorCode:e.errorCode}}getArticleById(e){return this.makeRequest("/getArticle?id=".concat(e))}getArticleBySlug(e){return this.makeRequest("/getArticleBySlug?slug=".concat(e))}createArticle(e){return this.makeAuthedRequest("/createArticle",{method:"POST",body:JSON.stringify(e)})}updateArticle(e,t){return this.makeAuthedRequest("/updateArticle",{method:"PATCH",body:JSON.stringify({slug:e,updateData:t})})}deleteArticle(e){return this.makeAuthedRequest("/deleteArticle",{method:"DELETE",body:JSON.stringify({slug:e})})}toggleArticleLike(e,t){return this.makeAuthedRequest("/toggleArticleLike",{method:"POST",body:JSON.stringify({slug:e,isLiked:t})})}getPublicServices(){return this.makeRequest("/getPublicServices")}submitServiceRequest(e){return this.makeRequest("/submitServiceRequest",{method:"POST",body:JSON.stringify(e)})}listServiceRequests(e){return this.makeAuthedRequest("/listServiceRequests".concat(e?"?status=".concat(e):""))}approveServiceRequest(e){return this.makeAuthedRequest("/approveServiceRequest",{method:"POST",body:JSON.stringify({requestId:e})})}rejectServiceRequest(e,t){return this.makeAuthedRequest("/rejectServiceRequest",{method:"POST",body:JSON.stringify({requestId:e,rejectionReason:t})})}getUserProfile(){return this.makeAuthedRequest("/getUserProfile")}updateUserProfile(e){return this.makeAuthedRequest("/updateUserProfile",{method:"PUT",body:JSON.stringify(e)})}updateBudgetConfig(e){return this.makeAuthedRequest("/updateBudgetConfig",{method:"POST",body:JSON.stringify(e)})}fetchBudgetAlerts(e){let t=new URLSearchParams;(null==e?void 0:e.userId)&&t.set("userId",e.userId);let r=t.toString()?"/fetchBudgetAlerts?".concat(t.toString()):"/fetchBudgetAlerts";return this.makeAuthedRequest(r)}triggerBudgetMonitor(e){return this.makeAuthedRequest("/triggerBudgetMonitor",{method:"POST",body:JSON.stringify(e)})}createCheckoutSession(e,t,r){return this.makeAuthedRequest("/createCheckout",{method:"POST",body:JSON.stringify({hours:e,successUrl:t,cancelUrl:r})})}createStripePortalSession(){return this.makeAuthedRequest("/createStripePortalSession",{method:"POST"})}signOut(){return this.makeRequest("/auth/signout",{method:"POST"})}deleteUserAccount(){return this.makeRequest("/auth/delete-account",{method:"DELETE"})}submitContactForm(e){return this.makeRequest("/handleContactForm",{method:"POST",body:JSON.stringify(e)})}setAdminRole(e){return this.makeAuthedRequest("/setAdminRole",{method:"POST",body:JSON.stringify({email:e})})}
1getHomepageContent(e){return this.makeRequest("/api/admin/homepage",{headers:e?{Authorization:"Bearer ".concat(e)}:void 0})}getPublicHomepageContent(){return this.makeRequest("/admin/homepage")}updateHomepageContent(e,t){return this.makeRequest("/api/admin/homepage",{method:"POST",headers:{Authorization:"Bearer ".concat(t)},body:JSON.stringify(e)})}resetHomepageContent(e){return this.makeRequest("/api/admin/homepage",{method:"DELETE",headers:{Authorization:"Bearer ".concat(e)}})}submitFeedback(e,t){return this.makeRequest("/api/feedback",{method:"POST",headers:{Authorization:"Bearer ".concat(t)},body:JSON.stringify(e)})}getWalletAnalysis(e,t){let r=new URLSearchParams({address:e});return t&&r.set("chain",t),this.makeAuthedRequest("/blockchain/wallet?".concat(r.toString()))}getTransactionStatus(e,t){let r=new URLSearchParams({hash:e});return t&&r.set("chain",t),this.makeAuthedRequest("/blockchain/transaction?".concat(r.toString()))}auditContractSecurity(e,t){let r=new URLSearchParams({contractAddress:e});return t&&r.set("chain",t),this.makeAuthedRequest("/blockchain/audit?".concat(r.toString()))}getUserFeedback(e,t,r){let a=new URLSearchParams;return t&&a.append("page",t.toString()),r&&a.append("limit",r.toString()),this.makeRequest("/api/feedback?".concat(a.toString()),{headers:{Authorization:"Bearer ".concat(e)}})}getChatbotUsage(){return this.makeAuthedRequest("/chatbot/usage")}getChatConversations(){return this.makeAuthedRequest("/chatbot/conversations")}createChatConversation(e){return this.makeAuthedRequest("/chatbot/conversations",{method:"POST",body:JSON.stringify(e)})}updateChatConversation(e,t){return this.makeAuthedRequest("/chatbot/conversations/".concat(e),{method:"PUT",body:JSON.stringify(t)})}deleteChatConversation(e){return this.makeAuthedRequest("/chatbot/conversations/".concat(e),{method:"DELETE"})}sendChatMessage(e,t){return this.makeAuthedRequest("/chatbot/conversations/".concat(e,"/messages"),{method:"POST",body:JSON.stringify(t)})}async streamChatMessage(e,t,r){try{let r=await fetch(this.buildUrl("/chatbot/conversations/".concat(e,"/messages/stream")),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw Error("HTTP error! status: ".concat(r.status));return r.body}catch(e){return console.error("Error in stream chat message:",e),null}}async setBudgetLimits(e){let t=await this.updateBudgetConfig(e);if(!t.success||!t.data){var r;throw Error(null!=(r=t.error)?r:"budget.updateFailed")}return t.data}async getBudgetAlerts(e){let t=await this.fetchBudgetAlerts({userId:e});if(!t.success){var r;throw Error(null!=(r=t.error)?r:"budget.alertsFetchFailed")}return Array.isArray(t.data)?t.data:[]}async submitChatbotFeedback(e,t){await this.makeAuthedRequest("/api/chatbot/feedback",{method:"POST",body:JSON.stringify({messageId:e,rating:t})})}async getAdminUsers(){return(await this.makeAuthedRequest("/api/admin/users")).data||{users:[]}}async updateUserCredits(e,t){await this.makeAuthedRequest("/api/admin/users/".concat(e,"/credits"),{method:"PATCH",body:JSON.stringify({credits:t})})}async updateUserRole(e,t){await this.makeAuthedRequest("/api/admin/users/".concat(e,"/role"),{method:"PATCH",body:JSON.stringify({role:t})})}async exportUsers(){return(await fetch("/api/admin/users/export",{method:"GET",headers:{"Content-Type":"application/json"}})).blob()}getAdminArticle(e,t){return this.makeRequest("/api/admin/articles/".concat(e),{headers:t?{Authorization:"Bearer ".concat(t)}:void 0})}async uploadFile(e){let t=await fetch("/api/admin/upload",{method:"POST",body:e});return await t.json()}async getAdminFeedback(){return(await this.makeAuthedRequest("/api/admin/feedback")).data}async deleteAdminFeedback(e){await this.makeAuthedRequest("/api/admin/feedback/".concat(e),{method:"DELETE"})}async bulkDeleteFeedback(e){await this.makeAuthedRequest("/api/admin/feedback/bulk-delete",{method:"POST",body:JSON.stringify({ids:e})})}async markFeedbackAsRead(e){await this.makeAuthedRequest("/api/admin/feedback/".concat(e,"/mark-read"),{method:"PATCH"})}async getAdminComments(){return(await this.makeAuthedRequest("/api/admin/comments")).data}async moderateComment(e,t){await this.makeAuthedRequest("/api/admin/comments/".concat(e,"/moderate"),{method:"POST",body:JSON.stringify({action:t})})}
1async enableAiModeration(){await this.makeAuthedRequest("/api/admin/comments/ai-moderation",{method:"POST"})}async getAdminDashboard(){return(await this.makeAuthedRequest("/api/admin/dashboard")).data}getPricingConfig(){return this.makeAuthedRequest("/admin/pricing")}updatePricingConfig(e){return this.makeAuthedRequest("/admin/pricing/update",{method:"PATCH",body:JSON.stringify(e)})}resetPricingToDefault(){return this.makeAuthedRequest("/admin/pricing/reset",{method:"POST"})}adminListServices(){return this.makeAuthedRequest("/services",{method:"GET"})}adminGetService(e){return this.makeAuthedRequest("/services/get?serviceId=".concat(e),{method:"GET"})}adminCreateService(e){return this.makeAuthedRequest("/services/create",{method:"POST",body:JSON.stringify(e)})}adminUpdateService(e,t){return this.makeAuthedRequest("/services/update",{method:"PATCH",body:JSON.stringify({serviceId:e,...t})})}adminDeleteService(e){return this.makeAuthedRequest("/services/delete",{method:"DELETE",body:JSON.stringify({serviceId:e})})}async trackError(e){await this.makeRequest("/api/analytics/error",{method:"POST",body:JSON.stringify(e)})}async trackBehavior(e){await this.makeRequest("/api/analytics/behavior",{method:"POST",body:JSON.stringify(e)})}async trackPerformance(e){await this.makeRequest("/api/analytics/performance",{method:"POST",body:JSON.stringify(e)})}}let m=new l;async function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=await function(){let e=a.auth.currentUser;if(!e)throw Error("auth.notAuthenticated");return e.getIdToken()}(),i=new Headers(t.headers);i.set("Authorization","Bearer ".concat(r));let s=t.body;return void 0!==t.jsonBody?(i.set("Content-Type","application/json"),s=JSON.stringify(t.jsonBody)):!s||s instanceof FormData||i.has("Content-Type")||i.set("Content-Type","application/json"),fetch(e,{...t,headers:i,body:s})}async function y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=await g(e,t);if(!r.ok){let e=await r.text(),t=r.headers.get("content-type");if((null==t?void 0:t.includes("application/json"))&&e)try{let t=JSON.parse(e);throw Error(t.error||t.message||"Request failed: ".concat(r.status))}catch(e){}throw Error(e||"Request failed: ".concat(r.status))}return await r.json()}let b=(e,t)=>m.toggleArticleLike(e,t),f=()=>m.createStripePortalSession(),k=(e,t,r)=>m.createCheckoutSession(e,t,r),v=()=>m.getChatConversations(),_=e=>m.createChatConversation(e),A=(e,t)=>
1m.updateChatConversation(e,t),w=e=>m.deleteChatConversation(e),S=(e,t)=>m.sendChatMessage(e,t),x=e=>m.getHomepageContent(e),q=(e,t)=>m.updateHomepageContent(e,t),R=(e,t)=>m.getAdminArticle(e,t),C=()=>m.getAdminDashboard()},59198:(e,t,r)=>{r.d(t,{Cn:()=>l,auth:()=>h,db:()=>p});var a=r(7954),i=r(35008),s=r(74552),n=r(64627),o=r(92451);let c=e=>"string"==typeof e?e.trim().replace(/\\[rnt]/g,"").replace(/[\r\n\t]/g,""):void 0,d={apiKey:c("AIzaSyDzJaHoJ4AuNn28nH4v0gZGb4wRD3ZlEMw"),authDomain:c("brujula-cripto.firebaseapp.com"),projectId:c("brujula-cripto"),storageBucket:c("brujula-cripto.firebasestorage.app"),messagingSenderId:c("442091888028"),appId:c("1:442091888028:web:3d32e54527f7b784797c59")},u=(0,a.Wp)(d),h=(0,i.xI)(u),p=(0,s.aU)(u);(0,o.c7)(u);let l=(0,n.Uz)(u)},74721:(e,t,r)=>{r.d(t,{Zp:()=>n});var a=r(56459),i=r(92571),s=r(2384);let n=i.forwardRef((e,t)=>{let{className:r,variant:i="default",hover:n=!1,...o}=e,c=(0,s.cn)("rounded-lg border bg-white dark:bg-gray-900","shadow-lg dark:shadow-2xl","transition-all duration-300 ease-out"),d={default:(0,s.cn)("border-gray-200 dark:border-gray-700","shadow-[0_4px_20px_rgba(0,0,0,0.08)] dark:shadow-[0_4px_30px_rgba(0,0,0,0.3)]",n&&"hover:shadow-[0_8px_30px_rgba(0,0,0,0.12)] hover:-translate-y-1 dark:hover:shadow-[0_8px_40px_rgba(0,0,0,0.4)]"),interactive:(0,s.cn)("border-interactive-border-default dark:border-gray-700","shadow-[0_4px_24px_rgba(59,130,246,0.15)] dark:shadow-[0_4px_32px_rgba(59,130,246,0.25)]","card-interactive",n&&"hover:border-interactive-border-hover hover:shadow-[0_8px_36px_rgba(59,130,246,0.25)] hover:-translate-y-1 dark:hover:shadow-[0_8px_48px_rgba(59,130,246,0.35)]"),feature:(0,s.cn)("border-primary-200 dark:border-primary-800","bg-gradient-to-br from-white to-primary-50/30 dark:from-gray-900 dark:to-primary-950/20","shadow-[0_4px_28px_rgba(59,130,246,0.18)] dark:shadow-[0_4px_36px_rgba(59,130,246,0.28)]","card-interactive",n&&"hover:shadow-[0_8px_40px_rgba(59,130,246,0.28)] hover:-translate-y-1 dark:hover:shadow-[0_8px_52px_rgba(59,130,246,0.38)]"),stat:(0,s.cn)("border-gray-200 dark:border-gray-700","shadow-[0_2px_16px_rgba(0,0,0,0.06)] dark:shadow-[0_2px_24px_rgba(0,0,0,0.25)]","transition-all duration-200","hover:bg-gray-50 dark:hover:bg-gray-800","hover:shadow-[0_4px_20px_rgba(0,0,0,0.1)] hover:-translate-y-0.5 dark:hover:shadow-[0_4px_28px_rgba(0,0,0,0.35)]")};return(0,a.jsx)("div",{ref:t,className:(0,s.cn)(c,d[i],"p-6",r),...o})});n.displayName="Card",i.forwardRef((e,t)=>{let{className:r,...i}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",r),...i})}).displayName="CardHeader",i.forwardRef((e,t)=>{let{className:r,...i}=e;return(0,a.jsx)("h3",{ref:t,className:(0,s.cn)("text-2xl font-semibold leading-none tracking-tight text-gray-900 dark:text-gray-100",r),...i})}).displayName="CardTitle",i.forwardRef((e,t)=>{let{className:r,...i}=e;return(0,a.jsx)("p",{ref:t,className:(0,s.cn)("text-sm text-gray-600 dark:text-gray-400",r),...i})}).displayName="CardDescription",i.forwardRef((e,t)=>{let{className:r,...i}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("p-6 pt-0",r),...i})}).displayName="CardContent",i.forwardRef((e,t)=>{let{className:r,...i}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("flex items-center p-6 pt-0",r),...i})}).displayName="CardFooter"}}]);
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.