1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[818],{99813:function(e,r,t){Promise.resolve().then(t.bind(t,77658)),Promise.resolve().then(t.bind(t,25745)),Promise.resolve().then(t.bind(t,78709)),Promise.resolve().then(t.bind(t,332)),Promise.resolve().then(t.bind(t,68533)),Promise.resolve().then(t.bind(t,5138)),Promise.resolve().then(t.bind(t,14916)),Promise.resolve().then(t.bind(t,34931)),Promise.resolve().then(t.bind(t,76328)),Promise.resolve().then(t.bind(t,20443)),Promise.resolve().then(t.bind(t,90797)),Promise.resolve().then(t.bind(t,89140)),Promise.resolve().then(t.bind(t,48422)),Promise.resolve().then(t.bind(t,10521)),Promise.resolve().then(t.bind(t,12107)),Promise.resolve().then(t.bind(t,91553)),Promise.resolve().then(t.bind(t,48645)),Promise.resolve().then(t.bind(t,10892)),Promise.resolve().then(t.bind(t,63449)),Promise.resolve().then(t.bind(t,62947)),Promise.resolve().then(t.bind(t,60528)),Promise.resolve().then(t.bind(t,88749)),Promise.resolve().then(t.bind(t,56154)),Promise.resolve().then(t.bind(t,32701)),Promise.resolve().then(t.bind(t,45168)),Promise.resolve().then(t.bind(t,32472)),Promise.resolve().then(t.bind(t,24937)),Promise.resolve().then(t.bind(t,33015)),Promise.resolve().then(t.bind(t,98211)),Promise.resolve().then(t.bind(t,85174)),Promise.resolve().then(t.bind(t,39946)),Promise.resolve().then(t.bind(t,62213)),Promise.resolve().then(t.bind(t,92374)),Promise.resolve().then(t.bind(t,53341)),Promise.resolve().then(t.bind(t,42478)),Promise.resolve().then(t.bind(t,43063)),Promise.resolve().then(t.bind(t,73681)),Promise.resolve().then(t.bind(t,34072)),Promise.resolve().then(t.bind(t,77665)),Promise.resolve().then(t.bind(t,10980)),Promise.resolve().then(t.bind(t,84676)),Promise.resolve().then(t.bind(t,63681)),Promise.resolve().then(t.t.bind(t,55623,23)),Promise.resolve().then(t.t.bind(t,57878,23))},33015:function(e,r,t){"use strict";t.d(r,{ContactForm:function(){return x}});var n=t(84403),s=t(65104),i=t(34608),l=t(55758),o=t(97129),a=t(98495),d=t(79066),u=t(6950),c=t(65685);let m=i.forwardRef((e,r)=>{let{className:t,...s}=e;return(0,n.jsxs)("div",{className:"relative rounded-md",children:[(0,n.jsx)("textarea",{className:(0,a.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",s["aria-invalid"]&&"pr-10",t),ref:r,...s}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3",children:s["aria-invalid"]&&(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:"h-5 w-5 fill-red-500",children:(0,n.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})})]})});m.displayName="Textarea",t(8358);var f=(0,t(69553).$)("e952d9a4a6e53fc2b6429cb9fb7f78fedac1675f"),v=t(99990);let h=v.z.object({name:v.z.string({required_error:"Name is required."}).min(1,"Name is required."),email:v.z.string({required_error:"Email is required."}).email("Please provide a valid email.").min(1,"Email is required."),message:v.z.string({required_error:"Message is required."}).min(1,"Message is required.")}),x=()=>{let e=(0,l.cI)({resolver:(0,s.F)(h)}),[r,t]=(0,i.useState)("pending"),v=async e=>{t("loading");try{await f(e),t("fullfilled")}catch(e){t("rejected")}};return(0,n.jsx)(u.l0,{...e,children:(0,n.jsxs)("form",{onSubmit:(0,a.xI)(e.handleSubmit(v)),className:"flex flex-col gap-6 sm:gap-8",children:[(0,n.jsxs)("div",{className:"flex w-full flex-col gap-6 md:flex-row",children:[(0,n.jsx)(u.Wi,{control:e.control,name:"name",render:r=>{let{field:t}=r;return(0,n.jsxs)(u.xJ,{className:"grow",children:[(0,n.jsx)(u.lX,{className:"sm:text-base",children:"Name"}),(0,n.jsx)(u.NI,{children:(0,n.jsx)(c.I,{placeholder:"John",...t,className:(0,a.cn)("sm:h-14 sm:px-6",e.formState.errors.email&&"sm:pr-10")})}),(0,n.jsx)(u.zG,{className:"ml-1"})]})}}),(0,n.jsx)(u.Wi,{control:e.control,name:"email",render:r=>{let{field:t}=r;return(0,n.jsxs)(u.xJ,{className:"grow",children:[(0,n.jsx)(u.lX,{className:"sm:text-base",children:"Email"}),(0,n.jsx)(u.NI,{children:(0,n.jsx)(c.I,{placeholder:"[email protected]",...t,className:(0,a.cn)("sm:h-14 sm:px-6",e.formState.errors.email&&"sm:pr-10")})}),(0,n.jsx)(u.zG,{className:"ml-1"})]})}})]}),(0,n.jsx)(u.Wi,{control:e.control,name:"message",render:r=>{let{field:t}=r;return(0,n.jsxs)(u.xJ,{children:[(0,n.jsx)(u.lX,{className:"sm:text-base",children:"Message"}),(0,n.jsx)(u.NI,{children:(0,n.jsx)(m,{placeholder:"Cool stuff, thanks for it! \uD83C\uDF89",className:(0,a.cn)("resize-none sm:px-6 sm:py-4",e.formState.errors.email&&"sm:pr-10"),rows:8,...t})}),(0,n.jsx)(u.zG,{className:"ml-1"})]})}}),(0,n.jsx)(d.z,{type:"submit",disabled:"pending"!==r,className:(0,a.cn)("sm:py-6","fullfilled"===r&&"bg-success !opacity-100 dark:text-primary","rejected"===r&&"bg-destructive !opacity-100 dark:text-primary"),children:"loading"===r?(0,n.jsx)(o.P.Loader2,{className:"animate-spin"}):"fullfilled"===r?"Thanks for your message!":"rejected"===r?"Oops, maybe try again later?":"Send!"})]})})}},98211:function(e,r,t){"use strict";t.d(r,{Question:function(){return a}});var n=t(84403),s=t(51570),i=t(31579),l=t(34608),o=t(97129);let a=(0,l.memo)(e=>{let{question:r,answer:t}=e,[a,d]=(0,l.useState)(!1);return(0,n.jsx)("div",{className:"flex flex-col bg-background",children:(0,n.jsxs)("button",{className:"flex items-start justify-start gap-2 md:gap-3",onClick:()=>d(e=>!e),children:[a?(0,n.jsx)(o.P.Minus,{className:"h-6 w-6 shrink-0 text-muted-foreground md:h-7 md:w-7"}):(0,n.jsx)(o.P.Plus,{className:"h-6 w-6 shrink-0 text-muted-foreground md:h-7 md:w-7"}),(0,n.jsxs)("div",{className:"flex flex-col items-start overflow-hidden",children:[(0,n.jsx)("span",{className:"md:text-lg",children:r}),(0,n.jsx)(s.M,{children:a&&(0,n.jsx)(i.E.p,{className:"text-left text-sm text-muted-foreground md:text-base",initial:{height:0,marginTop:0},animate:{height:"auto",marginTop:6},exit:{height:0,marginTop:0},transition:{duration:.3},children:t},r)})]})]})})});a.displayName="Question"},85174:function(e,r,t){"use strict";t.d(r,{InstallButton:function(){return o}});var n=t(84403),s=t(34608),i=t(79066);let l=()=>
1{let[e,r]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let e=e=>{r(e)};return window.addEventListener("beforeinstallprompt",e),()=>{window.removeEventListener("beforeinstallprompt",e)}},[]),{installPrompt:e}},o=(0,s.memo)(e=>{let{variant:r,text:t}=e,{installPrompt:s}=l();return(0,n.jsx)(i.z,{onClick:()=>{var e;return null==s?void 0:null===(e=s.prompt)||void 0===e?void 0:e.call(s)},variant:r,children:t})});o.displayName="InstallButton"},43063:function(e,r,t){"use strict";t.d(r,{Heading:function(){return o}});var n=t(84403),s=t(34608),i=t(98495);let l=["web","articles","books","feeds","docs","web"],o=()=>{var e;let r=(0,s.useRef)(null),[t,o]=(0,s.useState)(0),[a,d]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(r.current){var e,n,s;d(null!==(s=null===(n=r.current)||void 0===n?void 0:null===(e=n.children[t])||void 0===e?void 0:e.getBoundingClientRect())&&void 0!==s?s:null)}},[t]),(0,s.useEffect)(()=>{let e=setInterval(()=>{o(e=>(e+1)%l.length)},2e3);return()=>clearInterval(e)},[]),(0,n.jsxs)("h1",{className:"lg:leading-tighter max-w-4xl animate-gradient text-pretty bg-gradient-to-r from-primary via-muted-foreground via-20% to-primary bg-[length:200%_auto] bg-clip-text text-center text-5xl font-bold tracking-tighter text-transparent sm:text-6xl md:text-7xl lg:text-8xl",children:[(0,n.jsx)("div",{children:"One place for"}),(0,n.jsxs)("div",{className:"flex items-baseline justify-center gap-3 sm:gap-4 md:gap-5",children:["your",(0,n.jsxs)("span",{className:"relative flex px-1.5 py-0.5 text-background sm:px-2 md:px-3 md:py-1",children:[(0,n.jsx)("span",{className:"duration-[3500ms] absolute inset-0 -z-10 -rotate-1 animate-gradient rounded-sm bg-gradient-to-r from-primary via-muted-foreground via-30% to-primary bg-[length:200%_auto]"}),(0,n.jsxs)("span",{className:"relative inline-block overflow-hidden transition-[width,height] duration-500",style:{width:null==a?void 0:a.width,height:null==a?void 0:a.height},children:[(0,n.jsx)("span",{className:"pointer-events-none relative -z-20 select-none px-1",children:l[t]}),(0,n.jsx)("div",{className:(0,i.cn)("absolute left-0 top-0 flex flex-col items-start",{"transition-transform duration-500":0!==t}),"aria-hidden":"true",style:{transform:"translateY(-".concat((null!==(e=null==a?void 0:a.height)&&void 0!==e?e:0)*t,"px)")},ref:r,children:l.map((e,r)=>(0,n.jsx)("span",{className:(0,i.cn)("inline-block px-1 text-left text-background selection:bg-background selection:text-primary",{"pointer-events-none select-none":r!==t}),children:e},r))})]})]})]})]})}},6950:function(e,r,t){"use strict";t.d(r,{l0:function(){return m},NI:function(){return g},pf:function(){return N},Wi:function(){return v},xJ:function(){return p},lX:function(){return b},zG:function(){return j}});var n=t(84403),s=t(38124),i=t(34608),l=t(55758),o=t(48265),a=t(14284),d=t(98495);let u=(0,a.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=i.forwardRef((e,r)=>{let{className:t,...s}=e;return(0,n.jsx)(o.f,{ref:r,className:(0,d.cn)(u(),t),...s})});c.displayName=o.f.displayName;let m=l.RV,f=i.createContext({}),v=e=>{let{...r}=e;return(0,n.jsx)(f.Provider,{value:{name:r.name},children:(0,n.jsx)(l.Qr,{...r})})},h=()=>{let e=i.useContext(f),r=i.useContext(x),{getFieldState:t,formState:n}=(0,l.Gc)(),s=t(e.name,n);if(!e)throw Error("useFormField should be used within <FormField>");let{id:o}=r;return{id:o,name:e.name,formItemId:"".concat(o,"-form-item"),formDescriptionId:"".concat(o,"-form-item-description"),formMessageId:"".concat(o,"-form-item-message"),...s}},x=i.createContext({}),p=i.forwardRef((e,r)=>{let{className:t,...s}=e,l=i.useId();return(0,n.jsx)(x.Provider,{value:{id:l},children:(0,n.jsx)("div",{ref:r,className:(0,d.cn)("space-y-2",t),...s})})});p.displayName="FormItem";let b=i.forwardRef((e,r)=>{let{className:t,...s}=e,{formItemId:i}=h();return(0,n.jsx)(c,{ref:r,className:t,htmlFor:i,...s})});b.displayName="FormLabel";let g=i.forwardRef((e,r)=>{let{...t}=e,{error:i,formItemId:l,formDescriptionId:o,formMessageId:a}=h();return(0,n.jsx)(s.g7,{ref:r,id:l,"aria-describedby":i?"".concat(o," ").concat(a):"".concat(o),"aria-invalid":!!i,...t})});g.displayName="FormControl";let N=i.forwardRef((e,r)=>{let{className:t,...s}=e,{formDescriptionId:i}=h();return(0,n.jsx)("p",{ref:r,id:i,className:(0,d.cn)("text-sm text-muted-foreground",t),...s})});N.displayName="FormDescription";let j=i.forwardRef((e,r)=>{let{className:t,children:s,...i}=e,{error:l,formMessageId:o}=h(),a=l?String(null==l?void 0:l.message):s;return a?(0,n.jsx)("p",{ref:r,id:o,className:(0,d.cn)("text-xs font-medium text-destructive",t),...i,children:a}):null});j.displayName="FormMessage"},65685:function(e,r,t){"use strict";t.d(r,{I:function(){return l}});var n=t(84403),s=t(34608),i=t(98495);let l=s.forwardRef((e,r)=>{let{className:t,type:s,...l}=e;return(0,n.jsxs)("div",{className:"relative rounded-md",children:[(0,n.jsx)("input",{type:s,className:(0,i.cn)("flex h-11 w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",l["aria-invalid"]&&"pr-10",t),ref:r,...l}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3",children:l["aria-invalid"]&&(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:"h-5 w-5 fill-red-500",children:(0,n.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})})]})});l.displayName="Input"},69553:function(e,r,t){"use strict";Object.defineProperty(r,"$",{enumerable:!0,get:function(){return s}});let n=t(8358);function s(e){let{createServerReference:r}=t(17829);return r(e,n.callServer)}},27042:function(e,r,t){"use strict";t.d(r,{Ee:function(){return b},NY:function(){return g},fC:function(){return p}});var n=t(42406),s=t(34608),i=t(5329),l=t(35753),o=t(72025),a=t(74285);let d="Avatar",[u,c]=(0,i.b)(d),[m,f]=u(d),v=(0,s.forwardRef)((e,r)=>{let{__scopeAvatar:t,...i}
1=e,[l,o]=(0,s.useState)("idle");return(0,s.createElement)(m,{scope:t,imageLoadingStatus:l,onImageLoadingStatusChange:o},(0,s.createElement)(a.WV.span,(0,n.Z)({},i,{ref:r})))}),h=(0,s.forwardRef)((e,r)=>{let{__scopeAvatar:t,src:i,onLoadingStatusChange:d=()=>{},...u}=e,c=f("AvatarImage",t),m=function(e){let[r,t]=(0,s.useState)("idle");return(0,o.b)(()=>{if(!e){t("error");return}let r=!0,n=new window.Image,s=e=>()=>{r&&t(e)};return t("loading"),n.onload=s("loaded"),n.onerror=s("error"),n.src=e,()=>{r=!1}},[e]),r}(i),v=(0,l.W)(e=>{d(e),c.onImageLoadingStatusChange(e)});return(0,o.b)(()=>{"idle"!==m&&v(m)},[m,v]),"loaded"===m?(0,s.createElement)(a.WV.img,(0,n.Z)({},u,{ref:r,src:i})):null}),x=(0,s.forwardRef)((e,r)=>{let{__scopeAvatar:t,delayMs:i,...l}=e,o=f("AvatarFallback",t),[d,u]=(0,s.useState)(void 0===i);return(0,s.useEffect)(()=>{if(void 0!==i){let e=window.setTimeout(()=>u(!0),i);return()=>window.clearTimeout(e)}},[i]),d&&"loaded"!==o.imageLoadingStatus?(0,s.createElement)(a.WV.span,(0,n.Z)({},l,{ref:r})):null}),p=v,b=h,g=x},5329:function(e,r,t){"use strict";t.d(r,{b:function(){return i},k:function(){return s}});var n=t(34608);function s(e,r){let t=(0,n.createContext)(r);function s(e){let{children:r,...s}=e,i=(0,n.useMemo)(()=>s,Object.values(s));return(0,n.createElement)(t.Provider,{value:i},r)}return s.displayName=e+"Provider",[s,function(s){let i=(0,n.useContext)(t);if(i)return i;if(void 0!==r)return r;throw Error(`\`${s}\` must be used within \`${e}\``)}]}function i(e,r=[]){let t=[],s=()=>{let r=t.map(e=>(0,n.createContext)(e));return function(t){let s=(null==t?void 0:t[e])||r;return(0,n.useMemo)(()=>({[`__scope${e}`]:{...t,[e]:s}}),[t,s])}};return s.scopeName=e,[function(r,s){let i=(0,n.createContext)(s),l=t.length;function o(r){let{scope:t,children:s,...o}=r,a=(null==t?void 0:t[e][l])||i,d=(0,n.useMemo)(()=>o,Object.values(o));return(0,n.createElement)(a.Provider,{value:d},s)}return t=[...t,s],o.displayName=r+"Provider",[o,function(t,o){let a=(null==o?void 0:o[e][l])||i,d=(0,n.useContext)(a);if(d)return d;if(void 0!==s)return s;throw Error(`\`${t}\` must be used within \`${r}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let t=()=>{let t=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let s=t.reduce((r,{useScope:t,scopeName:n})=>{let s=t(e)[`__scope${n}`];return{...r,...s}},{});return(0,n.useMemo)(()=>({[`__scope${r.scopeName}`]:s}),[s])}};return t.scopeName=r.scopeName,t}(s,...r)]}},74285:function(e,r,t){"use strict";t.d(r,{WV:function(){return o},jH:function(){return a}});var n=t(42406),s=t(34608),i=t(94731),l=t(38124);let o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,r)=>{let t=(0,s.forwardRef)((e,t)=>{let{asChild:i,...o}=e,a=i?l.g7:r;return(0,s.useEffect)(()=>{window[Symbol.for("radix-ui")]=!0},[]),(0,s.createElement)(a,(0,n.Z)({},o,{ref:t}))});return t.displayName=`Primitive.${r}`,{...e,[r]:t}},{});function a(e,r){e&&(0,i.flushSync)(()=>
1e.dispatchEvent(r))}},35753:function(e,r,t){"use strict";t.d(r,{W:function(){return s}});var n=t(34608);function s(e){let r=(0,n.useRef)(e);return(0,n.useEffect)(()=>{r.current=e}),(0,n.useMemo)(()=>(...e)=>{var t;return null===(t=r.current)||void 0===t?void 0:t.call(r,...e)},[])}},72025:function(e,r,t){"use strict";t.d(r,{b:function(){return s}});var n=t(34608);let s=(null==globalThis?void 0:globalThis.document)?n.useLayoutEffect:()=>{}}},function(e){e.O(0,[2649,932,8870,313,3650,8419,7619,1579,9283,5e3,8195,8804,8495,3930,6279,6434,7432,1744],function(){return e(e.s=99813)}),_N_E=e.O()}]);
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.