(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21441,36973,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let n=["en","zh"],o={en:{app:{name:"NextResume",tagline:"Your Next Job Starts Here",navHome:"Home",navHistory:"History",navPricing:"Pricing",navReview:"Review",privacy:"Privacy Policy",language:"Language",menu:"Menu",login:"Sign in",logout:"Sign out",redeem:"Redeem code"},home:{heroTitle:"Your Next Job Starts Here",heroSubtitle:"Upload a PDF or DOCX resume, review the extracted text, then generate two focused improvement versions.",uploadTitle:"Upload resume",uploadHint:"PDF and DOCX files are supported.",uploadButton:"Choose file",selectedFile:"Selected file",parseButton:"Parse resume",parsedTitle:"Parsed resume content",parsedHint:"Line breaks and paragraphs are preserved.",optimizeButton:"Start optimization",parsing:"Parsing...",optimizing:"Optimizing...",optimizationGoal:"Optimization direction",optimizationGoals:{more_interviews:"Get more interview opportunities",project_results:"Highlight project results",technical_skills:"Highlight technical skills",management:"Highlight management capabilities"},outputLanguage:"Output language",outputLanguages:{original:"Keep the resume's current language",zh:"Chinese",en:"English",ja:"Japanese",ko:"Korean",de:"German",fr:"French",es:"Spanish"},enhancements:"Additional enhancements",enhancementsHint:"Select up to 2 options.",enhancementOptions:{ats_keywords:"Strengthen ATS keywords",star_expression:"Improve STAR expression",quantified_results:"Quantify achievements",concise:"Make wording concise",professional:"Use polished professional language",leadership:"Strengthen leadership",business_value:"Strengthen business value"},loginRequired:"Sign in to continue optimizing.",featureOne:"ATS matching",featureOneBody:"Improve keyword clarity and section structure.",featureTwo:"Truthful wording",featureTwoBody:"Refine expression without inventing experience.",featureThree:"Version history",featureThreeBody:"Every AI generation is saved as a new record.",seoGuideTitle:"Chinese resume optimization guide",seoGuidePages:{"chinese-resume-optimization-guide":{title:"Chinese resume optimization guide",description:"Learn how to improve structure, project experience, ATS keywords, and truthful wording for Chinese resumes."},"resume-optimization-tool":{title:"Resume optimization tool",description:"Parse PDF or DOCX resumes, improve wording, strengthen ATS keywords, and generate focused resume versions."},"ai-resume-optimization":{title:"AI resume optimization",description:"Use AI to improve resume structure, keywords, achievements, and professional expression before applying."},"ats-resume-optimization":{title:"ATS resume optimization",description:"Make resume keywords, section structure, skills, and project results easier for ATS and recruiters to read."},"programmer-resume-optimization":{title:"Software engineer resume optimization",description:"Highlight technical stack, engineering challenges, project impact, and business results for technical roles."},"fresh-graduate-resume":{title:"Fresh graduate resume optimization",description:"Organize internships, campus projects, skills, and limited experience into a clearer resume for job applications."}},uploadRequired:"Please choose a PDF or DOCX file first.",parseSuccess:"Resume text parsed successfully."},auth:{title:"Email sign in",email:"Email",code:"Verification code",sendCode:"Send code",resendCountdown:"Resend in {seconds}s",login:"Sign in",devCode:"Development code",signedIn:"Signed in",cancel:"Cancel",trialRule:"New users get 1 free resume optimizations after signing in.",emailRequired:"Enter a valid email.",codeRequired:"Enter the verification code."},redeem:{title:"Redeem code",code:"Redemption code",submit:"Redeem",cancel:"Cancel",loginRequired:"Sign in before redeeming a code.",success:"Added {added} optimizations. You now have {remaining} optimizations remaining."},review:{title:"Resume Review",original:"Original content",optimized:"Optimized versions",versionA:"Version A",versionB:"Version B",regenerateA:"Regenerate A",regenerateB:"Regenerate B",regenerateAll:"Regenerate all",noContent:"No resume result is available yet.",backHome:"Upload a resume",remaining:"Remaining optimizations",copy:"Copy",copied:"Copied",copyFailed:"Copy failed.",switchContent:"Switch preview content",optimizationSettings:"Regenerate settings",optimizationSettingsHint:"These settings are saved for this resume. You can change them before regenerating."},history:{title:"History",uploads:"Uploaded resumes",optimizations:"Optimization records",empty:"No history records yet.",fileName:"File name",createdAt:"Created at",version:"Version",model:"Model",view:"View"},pricing:{title:"Pricing",subtitle:"Choose a plan and keep optimizing resumes whenever you need a stronger version.",regionChina:"China pricing",regionGlobal:"Global pricing",detectedRegion:"Detected region",currentMode:"Current pricing",chinaComingSoon:"Best value plan selected",optimizations:"optimizations",thirtyDays:"30 days",buy:"Buy now",paymentReserved:"Secure checkout is handled by Alipay.",paymentReturned:"Payment completed. Confirming the order status.",paymentProcessing:"Payment completed. Waiting for Alipay confirmation.",paymentSuccess:"Payment confirmed. Added {added} optimizations. You now have {remaining} remaining.",paymentSuccessSubscription:"Payment confirmed. Your plan is active.",paymentDelayed:"Payment completed, but the confirmation is still processing. Please refresh later.",paymentCheckFailed:"Payment completed, but the order status could not be checked. Please refresh later."},privacy:{title:"Privacy Policy",updatedAt:"Last updated: May 30, 2026",intro:"NextResume helps users parse and optimize resumes. This policy explains the basic data we collect and how we use it.",sectionOneTitle:"Information we collect",sectionOneBody:"We collect your email address, uploaded resume file name, parsed resume text, AI-generated optimization results, login session data, and usage records such as remaining optimization count.",sectionTwoTitle:"How we use information",sectionTwoBody:"We use this information to provide resume parsing, AI optimization, login, history, and purchase-related features. Resume content is used only to generate and display your optimization results.",sectionThreeTitle:"Data storage",sectionThreeBody:"Resume originals and optimization history are stored so you can review previous versions. Verification codes are temporary and expire after a short period.",sectionFourTitle:"Third-party services",sectionFourBody:"We may use email delivery, AI model, database hosting, and payment service providers to operate the product. These providers process data only as needed to support the service.",sectionFiveTitle:"Your choices",sectionFiveBody:"You can choose not to upload a resume or not to sign in. For data access or deletion requests, contact the service operator.",disclaimer:"This MVP privacy policy is a simple product notice and is not legal advice."},api:{requestFailed:"Request failed.",requestNotSupported:"Not supported at present."}},zh:{app:{name:"NextResume",tagline:"AI 简历优化工具",navHome:"首页",navHistory:"历史",navPricing:"购买次数",navReview:"预览",privacy:"隐私政策",language:"语言",menu:"菜单",login:"登录",logout:"退出登录",redeem:"兑换码"},home:{heroTitle:"你的下一份工作,从这里开始",heroSubtitle:"上传 PDF 或 DOCX 简历,先确认解析文本,再生成两个不同侧重点的优化版本。",uploadTitle:"上传简历",uploadHint:"支持 PDF 和 DOCX 文件。",uploadButton:"选择文件",selectedFile:"已选择文件",parseButton:"解析简历",parsedTitle:"解析后的简历内容",parsedHint:"保留换行和段落结构。",optimizeButton:"开始优化",parsing:"解析中...",optimizing:"优化中...",optimizationGoal:"优化方向",optimizationGoals:{more_interviews:"获得更多面试机会",project_results:"突出项目成果",technical_skills:"突出技术能力",management:"突出管理能力"},outputLanguage:"生成语言",outputLanguages:{original:"保持简历当前语言",zh:"中文",en:"英文",ja:"日文",ko:"韩文",de:"德文",fr:"法文",es:"西班牙文"},enhancements:"额外增强",enhancementsHint:"最多选择 2 项。",enhancementOptions:{ats_keywords:"ATS 关键词强化",star_expression:"STAR 表达优化",quantified_results:"成果量化",concise:"简洁精炼",professional:"专业高级表达",leadership:"领导力强化",business_value:"商业价值强化"},loginRequired:"请先登录后继续优化。",featureOne:"ATS 匹配",featureOneBody:"提升关键词清晰度和简历结构。",featureTwo:"真实表达",featureTwoBody:"只优化表达,不虚构经历。",featureThree:"历史记录",featureThreeBody:"每次 AI 生成都会保存为新记录。",seoGuideTitle:"中文简历优化指南",seoGuidePages:{"chinese-resume-optimization-guide":{title:"中文简历优化指南",description:"系统梳理中文简历结构、项目经历、ATS 关键词和真实表达,帮助提升投递质量。"},"resume-optimization-tool":{title:"简历优化工具",description:"支持中文简历解析、AI 简历润色、ATS 关键词优化和项目经历表达优化。"},"ai-resume-optimization":{title:"AI 简历优化",description:"快速改进中文简历的结构、关键词、成果表达和专业度,生成多个可对比版本。"},"ats-resume-optimization":{title:"ATS 简历优化",description:"强化岗位关键词、技能结构和项目成果,让简历更容易通过初筛。"},"programmer-resume-optimization":{title:"程序员简历优化",description:"帮助技术岗位突出技术栈、项目难点、业务结果和工程能力。"},"fresh-graduate-resume":{title:"应届生简历优化",description:"整理校园经历、实习经历、项目经历和技能表达,提升简历投递质量。"}},uploadRequired:"请先选择 PDF 或 DOCX 文件。",parseSuccess:"简历文本解析成功。"},auth:{title:"邮箱登录",email:"邮箱",code:"验证码",sendCode:"发送验证码",resendCountdown:"{seconds} 秒后重发",login:"登录",devCode:"开发验证码",signedIn:"已登录",cancel:"取消",trialRule:"新用户登录后可享受 1 次免费简历优化。",emailRequired:"请输入有效邮箱。",codeRequired:"请输入验证码。"},redeem:{title:"兑换码",code:"请输入兑换码",submit:"立即兑换",cancel:"取消",loginRequired:"请先登录后再兑换。",success:"已增加 {added} 次优化,当前剩余 {remaining} 次。"},review:{title:"简历预览",original:"原始简历内容",optimized:"优化版本",versionA:"Version A",versionB:"Version B",regenerateA:"重新生成 A",regenerateB:"重新生成 B",regenerateAll:"重新生成全部",noContent:"暂无可预览的优化结果。",backHome:"上传简历",remaining:"剩余优化次数",copy:"复制",copied:"已复制",copyFailed:"复制失败。",switchContent:"切换预览内容",optimizationSettings:"重新生成设置",optimizationSettingsHint:"这些设置会保存到当前简历,你可以在重新生成前修改。"},history:{title:"历史记录",uploads:"上传记录",optimizations:"优化记录",empty:"暂无历史记录。",fileName:"文件名",createdAt:"创建时间",version:"版本",model:"模型",view:"查看"},pricing:{title:"购买次数",subtitle:"选择适合你的套餐,随时继续生成更有竞争力的简历版本。",regionChina:"中国区域价格",regionGlobal:"海外区域价格",detectedRegion:"识别区域",currentMode:"当前价格",chinaComingSoon:"已为你推荐高性价比套餐",optimizations:"次优化",thirtyDays:"30 天",buy:"立即购买",paymentReserved:"安全收款由支付宝提供。",paymentReturned:"支付已完成,正在确认订单状态。",paymentProcessing:"支付已完成,正在等待支付宝确认到账。",paymentSuccess:"支付已确认,已增加 {added} 次优化,当前剩余 {remaining} 次。",paymentSuccessSubscription:"支付已确认,套餐已生效。",paymentDelayed:"支付已完成,但到账确认仍在处理中。请稍后刷新查看。",paymentCheckFailed:"支付已完成,但暂时无法查询订单状态。请稍后刷新查看。"},privacy:{title:"隐私政策",updatedAt:"最后更新:2026 年 5 月 30 日",intro:"NextResume 用于帮助用户解析和优化简历。本政策说明我们会收集哪些基础数据,以及这些数据如何被使用。",sectionOneTitle:"我们收集的信息",sectionOneBody:"我们会收集你的邮箱地址、上传简历的文件名、解析后的简历文本、AI 生成的优化结果、登录会话数据,以及剩余优化次数等使用记录。",sectionTwoTitle:"信息如何使用",sectionTwoBody:"我们使用这些信息提供简历解析、AI 优化、登录、历史记录和购买相关功能。简历内容仅用于生成和展示你的优化结果。",sectionThreeTitle:"数据存储",sectionThreeBody:"原始简历内容和优化历史会被保存,方便你查看历史版本。验证码为临时数据,会在较短时间后过期。",sectionFourTitle:"第三方服务",sectionFourBody:"产品运行可能会使用邮件发送、AI 模型、数据库托管和支付服务提供商。这些服务商只会在支持产品功能所需范围内处理数据。",sectionFiveTitle:"你的选择",sectionFiveBody:"你可以选择不上传简历或不登录。如需访问或删除数据,请联系服务运营方。",disclaimer:"这份 MVP 隐私政策是简单的产品说明,不构成法律建议。"},api:{requestFailed:"请求失败。",requestNotSupported:"暂不支持。"}}};e.s(["defaultLocale",0,"zh","locales",0,n,"messages",0,o],36973);let r=(0,i.createContext)(null),a="appLocale",s="appLocale";function l(e){return n.includes(e)}e.s(["I18nProvider",0,function({children:e,initialLocale:n="zh"}){let[d,u]=(0,i.useState)(n);(0,i.useEffect)(()=>{let e,t,i,n=(l(t=(e=new URLSearchParams(window.location.search)).get("lang")||e.get("locale"))?t:null)||(l(i=document.cookie.split("; ").find(e=>e.startsWith(`${s}=`))?.split("=")[1])?i:null)||window.localStorage.getItem(a);if(l(n)){let e=window.setTimeout(()=>u(n),0);return()=>window.clearTimeout(e)}},[]);let c=(0,i.useMemo)(()=>({locale:d,setLocale:e=>{window.localStorage.setItem(a,e),document.cookie=`${s}=${e}; path=/; max-age=31536000; SameSite=Lax`,u(e)},t:e=>{var t;return t=o[d],e.split(".").reduce((e,t)=>{if(e&&"object"==typeof e&&t in e)return e[t]},t)??e}}),[d]);return(0,t.jsx)(r.Provider,{value:c,children:e})},"useI18n",0,function(){let e=(0,i.useContext)(r);if(!e)throw Error("useI18n must be used inside I18nProvider");return e}],21441)},59909,15205,14322,3404,92886,50193,87023,75822,84244,77141,53646,e=>{"use strict";e.i(47167);var t=e.i(71645),i=e.i(7670),n=e.i(1447),o=e.i(55323),r=e.i(51221),a=e.i(78564),s=e.i(24603);let l=function(e){return"string"==typeof e};e.s(["default",0,l],15205);let d=function(e,t,i){return void 0===e||l(e)?t:{...t,ownerState:{...t.ownerState,...i}}};e.s(["default",0,d],14322);let u=function(e,t,i){return"function"==typeof e?e(t,i):e};function c(e,t){let i=e.charCodeAt(2);return"o"===e[0]&&"n"===e[1]&&i>=65&&i<=90&&"function"==typeof t}e.s(["default",0,u],3404),e.s(["default",0,c],92886);let p=function(e){if(void 0===e)return{};let t={};for(let i of Object.keys(e))c(i,e[i])&&(t[i]=e[i]);return t};e.s(["default",0,p],50193);let m=function(e){if(void 0===e)return{};let t={};return Object.keys(e).filter(t=>!(t.match(/^on[A-Z]/)&&"function"==typeof e[t])).forEach(i=>{t[i]=e[i]}),t},f=function(e){let{getSlotProps:t,additionalProps:n,externalSlotProps:o,externalForwardedProps:r,className:a}=e;if(!t){let e=(0,i.default)(n?.className,a,r?.className,o?.className),t={...n?.style,...r?.style,...o?.style},s={...n,...r,...o};return e.length>0&&(s.className=e),Object.keys(t).length>0&&(s.style=t),{props:s,internalRef:void 0}}let s=p({...r,...o}),l=m(o),d=m(r),u=t(s),c=(0,i.default)(u?.className,n?.className,a,r?.className,o?.className),f={...u?.style,...n?.style,...r?.style,...o?.style},g={...u,...n,...d,...l};return c.length>0&&(g.className=c),Object.keys(f).length>0&&(g.style=f),{props:g,internalRef:u.ref}};function g(e,t){let{className:i,elementType:n,ownerState:o,externalForwardedProps:r,internalForwardedProps:a,shouldForwardComponentProp:l=!1,...c}=t,{component:p,slots:m={[e]:void 0},slotProps:g={[e]:void 0},...h}=r,y=m[e]||n,v=u(g[e],o),{props:{component:S,...x},internalRef:z}=f({className:i,...c,externalForwardedProps:"root"===e?h:void 0,externalSlotProps:v}),T=(0,s.default)(z,v?.ref,t.ref),b="root"===e?S||p:S,w=d(y,{..."root"===e&&!p&&!m[e]&&a,..."root"!==e&&!m[e]&&a,...x,...b&&!l&&{as:b},...b&&l&&{component:b},ref:T},o);return[y,w]}e.s(["default",0,f],87023),e.s(["default",0,g],75822);var h=e.i(55702),y=e.i(42830),v=e.i(66052),S=e.i(64719),x=e.i(69072);function z(e){return(0,x.default)("MuiAlert",e)}let T=(0,S.default)("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","outlined","standard"]);var b=e.i(56192),w=e.i(1839),C=e.i(68874);function R(e){return(0,x.default)("MuiIconButton",e)}let E=(0,S.default)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge","loading","loadingIndicator","loadingWrapper"]);var k=e.i(43476);let A=(0,o.styled)(w.default,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:i}=e;return[t.root,i.loading&&t.loading,"default"!==i.color&&t[`color${(0,h.default)(i.color)}`],i.edge&&t[`edge${(0,h.default)(i.edge)}`],t[`size${(0,h.default)(i.size)}`]]}})((0,r.default)(({theme:e})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),variants:[{props:e=>!e.disableRipple,style:{"--IconButton-hoverBg":e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity),"&:hover":{backgroundColor:"var(--IconButton-hoverBg)","@media (hover: none)":{backgroundColor:"transparent"}}}},{props:{edge:"start"},style:{marginLeft:-12}},{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:{edge:"end"},style:{marginRight:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}}]})),(0,r.default)(({theme:e})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(e.palette).filter((0,y.default)()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main,"--IconButton-hoverBg":e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${E.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled},[`&.${E.loading}`]:{color:"transparent"}}))),I=(0,o.styled)("span",{name:"MuiIconButton",slot:"LoadingIndicator"})(({theme:e})=>({display:"none",position:"absolute",visibility:"visible",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:(e.vars||e).palette.action.disabled,variants:[{props:{loading:!0},style:{display:"flex"}}]})),O=t.forwardRef(function(e,t){let o=(0,a.useDefaultProps)({props:e,name:"MuiIconButton"}),{edge:r=!1,children:s,className:l,color:d="default",disabled:u=!1,disableFocusRipple:c=!1,size:p="medium",id:m,loading:f=null,loadingIndicator:g,...y}=o,v=(0,b.unstable_useId)(m),S=g??(0,k.jsx)(C.default,{"aria-labelledby":v,color:"inherit",size:16}),x={...o,edge:r,color:d,disabled:u,disableFocusRipple:c,loading:f,loadingIndicator:S,size:p},z=(e=>{let{classes:t,disabled:i,color:o,edge:r,size:a,loading:s}=e,l={root:["root",s&&"loading",i&&"disabled","default"!==o&&`color${(0,h.default)(o)}`,r&&`edge${(0,h.default)(r)}`,`size${(0,h.default)(a)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]};return(0,n.default)(l,R,t)})(x);return(0,k.jsxs)(A,{id:f?v:m,className:(0,i.default)(z.root,l),centerRipple:!0,internalNativeButton:!0,focusRipple:!c,disabled:u||f,ref:t,...y,ownerState:x,children:["boolean"==typeof f&&(0,k.jsx)("span",{className:z.loadingWrapper,style:{display:"contents"},children:(0,k.jsx)(I,{className:z.loadingIndicator,ownerState:x,children:f&&S})}),s]})});function P(e){return(0,x.default)("MuiSvgIcon",e)}e.s(["default",0,O],84244),(0,S.default)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);let N=(0,o.styled)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:i}=e;return[t.root,"inherit"!==i.color&&t[`color${(0,h.default)(i.color)}`],t[`fontSize${(0,h.default)(i.fontSize)}`]]}})((0,r.default)(({theme:e})=>({userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:e.transitions?.create?.("fill",{duration:(e.vars??e).transitions?.duration?.shorter}),variants:[{props:e=>!e.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:e.typography?.pxToRem?.(20)||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:e.typography?.pxToRem?.(24)||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:e.typography?.pxToRem?.(35)||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,e])=>e&&e.main).map(([t])=>({props:{color:t},style:{color:(e.vars??e).palette?.[t]?.main}})),{props:{color:"action"},style:{color:(e.vars??e).palette?.action?.active}},{props:{color:"disabled"},style:{color:(e.vars??e).palette?.action?.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}))),j=t.forwardRef(function(e,o){let r=(0,a.useDefaultProps)({props:e,name:"MuiSvgIcon"}),{children:s,className:l,color:d="inherit",component:u="svg",fontSize:c="medium",htmlColor:p,inheritViewBox:m=!1,titleAccess:f,viewBox:g="0 0 24 24",...y}=r,v=t.isValidElement(s)&&"svg"===s.type,S={...r,color:d,component:u,fontSize:c,instanceFontSize:e.fontSize,inheritViewBox:m,viewBox:g,hasSvgAsChild:v},x={};m||(x.viewBox=g);let z=(e=>{let{color:t,fontSize:i,classes:o}=e,r={root:["root","inherit"!==t&&`color${(0,h.default)(t)}`,`fontSize${(0,h.default)(i)}`]};return(0,n.default)(r,P,o)})(S);return(0,k.jsxs)(N,{as:u,className:(0,i.default)(z.root,l),focusable:"false",color:p,"aria-hidden":!f||void 0,role:f?"img":void 0,ref:o,...x,...y,...v&&s.props,ownerState:S,children:[v?s.props.children:s,f?(0,k.jsx)("title",{children:f}):null]})});function B(e,i){function n(t,i){return(0,k.jsx)(j,{"data-testid":void 0,ref:i,...t,children:e})}return n.muiName=j.muiName,t.memo(t.forwardRef(n))}j.muiName="SvgIcon",e.s(["default",0,B],77141);let M=B((0,k.jsx)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),D=B((0,k.jsx)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),L=B((0,k.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),F=B((0,k.jsx)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),H=B((0,k.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),$=(0,o.styled)(v.default,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:i}=e;return[t.root,t[i.variant]]}})((0,r.default)(({theme:e})=>{let t="light"===e.palette.mode?e.darken:e.lighten,i="light"===e.palette.mode?e.lighten:e.darken;return{...e.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter((0,y.default)(["light"])).map(([n])=>({props:{colorSeverity:n,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${n}Color`]:t(e.palette[n].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${n}StandardBg`]:i(e.palette[n].light,.9),[`& .${T.icon}`]:e.vars?{color:e.vars.palette.Alert[`${n}IconColor`]}:{color:e.palette[n].main}}})),...Object.entries(e.palette).filter((0,y.default)(["light"])).map(([i])=>({props:{colorSeverity:i,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${i}Color`]:t(e.palette[i].light,.6),border:`1px solid ${(e.vars||e).palette[i].light}`,[`& .${T.icon}`]:e.vars?{color:e.vars.palette.Alert[`${i}IconColor`]}:{color:e.palette[i].main}}})),...Object.entries(e.palette).filter((0,y.default)(["dark"])).map(([t])=>({props:{colorSeverity:t,variant:"filled"},style:{fontWeight:e.typography.fontWeightMedium,...e.vars?{color:e.vars.palette.Alert[`${t}FilledColor`],backgroundColor:e.vars.palette.Alert[`${t}FilledBg`]}:{backgroundColor:"dark"===e.palette.mode?e.palette[t].dark:e.palette[t].main,color:e.palette.getContrastText(e.palette[t].main)}}}))]}})),q=(0,o.styled)("div",{name:"MuiAlert",slot:"Icon"})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),W=(0,o.styled)("div",{name:"MuiAlert",slot:"Message"})({padding:"8px 0",minWidth:0,overflow:"auto"}),G=(0,o.styled)("div",{name:"MuiAlert",slot:"Action"})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),V={success:(0,k.jsx)(M,{fontSize:"inherit"}),warning:(0,k.jsx)(D,{fontSize:"inherit"}),error:(0,k.jsx)(L,{fontSize:"inherit"}),info:(0,k.jsx)(F,{fontSize:"inherit"})},_=t.forwardRef(function(e,t){let o=(0,a.useDefaultProps)({props:e,name:"MuiAlert"}),{action:r,children:s,className:l,closeText:d="Close",color:u,icon:c,iconMapping:p=V,onClose:m,role:f="alert",severity:y="success",slotProps:v={},slots:S={},variant:x="standard",...T}=o,b={...o,color:u,severity:y,variant:x,colorSeverity:u||y},w=(e=>{let{variant:t,color:i,severity:o,classes:r}=e,a={root:["root",`color${(0,h.default)(i||o)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return(0,n.default)(a,z,r)})(b),C={slots:S,slotProps:v},[R,E]=g("root",{ref:t,shouldForwardComponentProp:!0,className:(0,i.default)(w.root,l),elementType:$,externalForwardedProps:{...C,...T},ownerState:b,additionalProps:{role:f,elevation:0}}),[A,I]=g("icon",{className:w.icon,elementType:q,externalForwardedProps:C,ownerState:b}),[P,N]=g("message",{className:w.message,elementType:W,externalForwardedProps:C,ownerState:b}),[j,B]=g("action",{className:w.action,elementType:G,externalForwardedProps:C,ownerState:b}),[M,D]=g("closeButton",{elementType:O,externalForwardedProps:C,ownerState:b}),[L,F]=g("closeIcon",{elementType:H,externalForwardedProps:C,ownerState:b});return(0,k.jsxs)(R,{...E,children:[!1!==c?(0,k.jsx)(A,{...I,children:c||p[y]||V[y]}):null,(0,k.jsx)(P,{...N,children:s}),null!=r?(0,k.jsx)(j,{...B,children:r}):null,null==r&&m?(0,k.jsx)(j,{...B,children:(0,k.jsx)(M,{size:"small","aria-label":d,title:d,color:"inherit",onClick:m,...D,children:(0,k.jsx)(L,{fontSize:"small",...F})})}):null]})});async function U(e,t){let i="string"==typeof e&&e.startsWith("/")?`${e}`:e,n=await fetch(i,t),o=await n.json();if(!n.ok||o.error)throw Error(function(e){if(!e)return"Request failed.";let t=e.trim();return t.startsWith("[")||t.startsWith("{")||t.includes("ZodError")||t.includes("at ")||t.includes("stack")||t.includes("Resend")||t.includes("Lemon Squeezy")?"Request failed.":t}(o.error));return o.data}e.s(["default",0,_],59909),e.s(["apiRequest",0,U,"clearAuthToken",0,function(){window.localStorage.removeItem("authToken"),window.dispatchEvent(new Event("auth-token-changed"))},"getAuthToken",0,function(){return window.localStorage.getItem("authToken")},"setAuthToken",0,function(e){window.localStorage.setItem("authToken",e),window.dispatchEvent(new Event("auth-token-changed"))}],53646)},6586,41322,e=>{"use strict";e.i(47167);var t=e.i(15874),i=e.i(54402),n=e.i(71645),o=e.i(74080),r=e.i(52883),a="unmounted",s="exited",l="entering",d="entered",u="exiting",c=function(e){function c(t,i){var n,o=e.call(this,t,i)||this,r=i&&!i.isMounting?t.enter:t.appear;return o.appearStatus=null,t.in?r?(n=s,o.appearStatus=l):n=d:n=t.unmountOnExit||t.mountOnEnter?a:s,o.state={status:n},o.nextCallback=null,o}(0,i.default)(c,e),c.getDerivedStateFromProps=function(e,t){return e.in&&t.status===a?{status:s}:null};var p=c.prototype;return p.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},p.componentDidUpdate=function(e){var t=null;if(e!==this.props){var i=this.state.status;this.props.in?i!==l&&i!==d&&(t=l):(i===l||i===d)&&(t=u)}this.updateStatus(!1,t)},p.componentWillUnmount=function(){this.cancelNextCallback()},p.getTimeouts=function(){var e,t,i,n=this.props.timeout;return e=t=i=n,null!=n&&"number"!=typeof n&&(e=n.exit,t=n.enter,i=void 0!==n.appear?n.appear:t),{exit:e,enter:t,appear:i}},p.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===l){if(this.props.unmountOnExit||this.props.mountOnEnter){var i=this.props.nodeRef?this.props.nodeRef.current:o.default.findDOMNode(this);i&&i.scrollTop}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===s&&this.setState({status:a})},p.performEnter=function(e){var t=this,i=this.props.enter,n=this.context?this.context.isMounting:e,r=this.props.nodeRef?[n]:[o.default.findDOMNode(this),n],a=r[0],s=r[1],u=this.getTimeouts(),c=n?u.appear:u.enter;(e||i)&&1?(this.props.onEnter(a,s),this.safeSetState({status:l},function(){t.props.onEntering(a,s),t.onTransitionEnd(c,function(){t.safeSetState({status:d},function(){t.props.onEntered(a,s)})})})):this.safeSetState({status:d},function(){t.props.onEntered(a)})},p.performExit=function(){var e=this,t=this.props.exit,i=this.getTimeouts(),n=this.props.nodeRef?void 0:o.default.findDOMNode(this);t?(this.props.onExit(n),this.safeSetState({status:u},function(){e.props.onExiting(n),e.onTransitionEnd(i.exit,function(){e.safeSetState({status:s},function(){e.props.onExited(n)})})})):this.safeSetState({status:s},function(){e.props.onExited(n)})},p.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},p.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},p.setNextCallback=function(e){var t=this,i=!0;return this.nextCallback=function(n){i&&(i=!1,t.nextCallback=null,e(n))},this.nextCallback.cancel=function(){i=!1},this.nextCallback},p.onTransitionEnd=function(e,t){this.setNextCallback(t);var i=this.props.nodeRef?this.props.nodeRef.current:o.default.findDOMNode(this),n=null==e&&!this.props.addEndListener;if(!i||n)return void setTimeout(this.nextCallback,0);if(this.props.addEndListener){var r=this.props.nodeRef?[this.nextCallback]:[i,this.nextCallback],a=r[0],s=r[1];this.props.addEndListener(a,s)}null!=e&&setTimeout(this.nextCallback,e)},p.render=function(){var e=this.state.status;if(e===a)return null;var i=this.props,o=i.children,s=(i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef,(0,t.default)(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return n.default.createElement(r.default.Provider,{value:null},"function"==typeof o?o(e,s):n.default.cloneElement(n.default.Children.only(o),s))},c}(n.default.Component);function p(){}c.contextType=r.default,c.propTypes={},c.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:p,onEntering:p,onEntered:p,onExit:p,onExiting:p,onExited:p},c.UNMOUNTED=a,c.EXITED=s,c.ENTERING=l,c.ENTERED=d,c.EXITING=u,e.s(["Transition",0,c],6586),e.s(["getTransitionChildStyle",0,function(e,t,i,n,o,r){let a="exited"!==e||t?i[e]||i.exited:n;return o||r?{...a,...o,...r}:a},"getTransitionProps",0,function(e,t){let{timeout:i,easing:n,style:o={}}=e;return{duration:o.transitionDuration??("number"==typeof i?i:i[t.mode]||0),easing:o.transitionTimingFunction??("object"==typeof n?n[t.mode]:n),delay:o.transitionDelay}},"normalizedTransitionCallback",0,function(e,t){return i=>{if(t){let n=e.current;void 0===i?t(n):t(n,i)}}},"reflow",0,e=>e.scrollTop],41322)},2092,28724,e=>{"use strict";e.s(["default",0,function(e){return e&&e.ownerDocument||document}],2092);var t=e.i(71645);e.s(["default",0,function(e){return parseInt(t.version,10)>=19?e?.props?.ref||null:e?.ref||null}],28724)},11840,e=>{"use strict";e.s(["default",0,function(e,t){if(!e||!t)return!1;if(e.contains(t))return!0;let i=t.getRootNode?.();if(i&&i instanceof ShadowRoot){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode??i.host??null}}return!1}])},94141,e=>{"use strict";var t=e.i(71645),i=e.i(33314),n=e.i(28724),o=e.i(6586),r=e.i(89088),a=e.i(41322),s=e.i(73129),l=e.i(43476);function d(e){return`scale(${e}, ${e**2})`}let u={entering:{opacity:1,transform:d(1)},entered:{opacity:1,transform:"none"},exiting:{opacity:0,transform:d(.75)},exited:{opacity:0,transform:d(.75)}},c={opacity:0,transform:d(.75),visibility:"hidden"},p=t.forwardRef(function(e,p){let{addEndListener:m,appear:f=!0,children:g,easing:h,in:y,onEnter:v,onEntered:S,onEntering:x,onExit:z,onExited:T,onExiting:b,style:w,timeout:C="auto",...R}=e,E=(0,i.default)(),k=t.useRef(),A=(0,r.useTheme)(),I=t.useRef(null),O=(0,s.default)(I,(0,n.default)(g),p),P=(0,a.normalizedTransitionCallback)(I,x),N=(0,a.normalizedTransitionCallback)(I,(e,t)=>{let i;(0,a.reflow)(e);let{duration:n,delay:o,easing:r}=(0,a.getTransitionProps)({style:w,timeout:C,easing:h},{mode:"enter"});"auto"===C?k.current=i=A.transitions.getAutoHeightDuration(e.clientHeight):i=n,e.style.transition=[A.transitions.create("opacity",{duration:i,delay:o}),A.transitions.create("transform",{duration:.666*i,delay:o,easing:r})].join(","),v&&v(e,t)}),j=(0,a.normalizedTransitionCallback)(I,S),B=(0,a.normalizedTransitionCallback)(I,b),M=(0,a.normalizedTransitionCallback)(I,e=>{let t,{duration:i,delay:n,easing:o}=(0,a.getTransitionProps)({style:w,timeout:C,easing:h},{mode:"exit"});"auto"===C?k.current=t=A.transitions.getAutoHeightDuration(e.clientHeight):t=i,e.style.transition=[A.transitions.create("opacity",{duration:t,delay:n}),A.transitions.create("transform",{duration:.666*t,delay:n||.333*t,easing:o})].join(","),e.style.opacity=0,e.style.transform=d(.75),z&&z(e)}),D=(0,a.normalizedTransitionCallback)(I,e=>{e.style.transition="",T&&T(e)});return(0,l.jsx)(o.Transition,{appear:f,in:y,nodeRef:I,onEnter:N,onEntered:j,onEntering:P,onExit:M,onExited:D,onExiting:B,addEndListener:e=>{"auto"===C&&E.start(k.current||0,e),m&&m(I.current,e)},timeout:"auto"===C?null:C,...R,children:(e,{ownerState:i,...n})=>{let o=(0,a.getTransitionChildStyle)(e,y,u,c,w,g.props.style);return t.cloneElement(g,{style:o,ref:O,...n})}})});p&&(p.muiSupportAuto=!0),e.s(["default",0,p])}]);