1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Auth-D5wV77IC.js","assets/rolldown-runtime-CNC7AqOf.js","assets/jsx-runtime-BtyjnKZj.js","assets/chunk-KS7C4IRE-CgpSK45w.js","assets/preload-helper-Czpn1I53.js","assets/button-Ap3ysi5G.js","assets/AuthService-CQeU_0bQ.js","assets/arrow-left-CDrX27jn.js","assets/key-round-C8uAJKQY.js","assets/loader-circle-DBFTFT2k.js","assets/mail-D0O-liE7.js","assets/shield-check-CAJ-dFVb.js","assets/useTranslation-BdauNPOZ.js","assets/card-DLIi0Qe8.js","assets/authErrors-DEBvXlic.js","assets/AuthCallback-DqVxfP13.js","assets/triangle-alert-D-SEZi4r.js","assets/Onboarding-CO_SgZrN.js","assets/circle-check-BVtsIJ9N.js","assets/upload-DLWSp9LN.js","assets/checkbox-BdSkwnAQ.js","assets/dist-CA4uZW3H.js","assets/dist-p2cW4AiE.js","assets/react-dom-CWn-H0Rd.js","assets/dist-DkIQBCKf.js","assets/check-DVcwwxJi.js","assets/dist-C4TAXPHx.js","assets/avatar-ixs41cq5.js","assets/StandaloneAuthPathRedirect-WcSzz1pk.js","assets/Activate-BF9W00Ke.js","assets/useToast-QK0Q4gGT.js","assets/terminal-L5JMdm_r.js","assets/apiConfig-cGsbt6Be.js","assets/Invite-Bw1qGwCU.js","assets/CoinDisplay-iWoR0BMU.js","assets/dist-BWh9CVbU.js","assets/dist-7AcSgfoz.js","assets/refresh-cw-CkwJF4P8.js","assets/serviceProxy-CZRpABZv.js","assets/dist-IS-98_QU.js","assets/party-popper-Bs8HHRWI.js","assets/Profile-CWWm0is0.js","assets/avatarUtils-CBd99uWq.js","assets/gameUtils-hllMGYPh.js","assets/formatDistanceToNow-DhpKhUbk.js","assets/follow-CUqA0aWI.js","assets/textarea-D_1TMYK2.js","assets/tabs-Gm5XRVor.js","assets/dist-C7e-qgX5.js","assets/dist-BKqz_oOH.js","assets/dist-DAUR33jS.js","assets/publish-IuClGqz5.js","assets/Create-ea24k1TY.js","assets/SceneEditor-BPEsa1Sn.js","assets/dnd-DMxeXGsh.js","assets/lock-CAG5RccF.js","assets/wand-sparkles-DuaVuhfE.js","assets/play-BHRX8EkG.js","assets/rotate-ccw-FK7vjwP0.js","assets/zap-OaMDwI_w.js","assets/gameCreation-7QUnbwLk.js","assets/three.module-CvxFRqeD.js","assets/Pass-nC7Rn4Mq.js","assets/ChatInput-Bh7UOK0U.js","assets/send-Bx2TrLH3.js","assets/tour-D03BMTEP.js","assets/proxy-gbdormya.js","assets/chevron-left-wlBcTn-9.js","assets/switch-DR7KWk3q.js","assets/Combination-CJArERGX.js","assets/dist-D8Wfxh48.js","assets/ErrorBoundary-CNubh4T-.js","assets/crown-NMNJ6-VK.js","assets/user-DD-5DUVW.js","assets/external-link-CNayFVCy.js","assets/settings-2-Clz1ZubR.js","assets/LevelDesignKitPanel-BowZ7mTP.js","assets/actionsCatalog-BOqBt5wy.js","assets/dialog-B1UXjCvB.js","assets/dist-Bhx37s1t.js","assets/clipboard-D18mYxSs.js","assets/thumbs-up-3xlfzfdY.js","assets/AnalyticsService-BMBbF9S-.js","assets/src-C4EM-vcD.js","assets/alert-dialog-BwlBTuHq.js","assets/confirm-dialog-B_bgaQuk.js","assets/Create-DGfBMBbb.css","assets/TourWrapper-BBwg2sIi.js","assets/TourClaim-CJ-HokaR.js","assets/CreatePrompt-BAYFUPVf.js","assets/SceneEditorTest-CsA4EpZw.js","assets/LevelKitTest-CAElO1wd.js","assets/Settings-B2DmZABB.js","assets/i18n-Ddyvvowz.js","assets/badge-B4-vVyqh.js","assets/Game-QkGXRHTR.js","assets/ShareMenu-DgMG0s-m.js","assets/share-2-B1vEkEyU.js","assets/leaderboards-Bl1Xg4fx.js","assets/gameLikes-CVeS3kbw.js","assets/creators-BdQ0Kqzc.js","assets/history-BgFRjxWz.js","assets/GameStoryFeed-DptcNIuk.js","assets/History-DjQFohPA.js","assets/Following-D9N5_ADL.js","assets/Followers-CGbahiF2.js","assets/Likes-CUnV8XDg.js","assets/Notifications-CLactyWV.js","assets/Search-D4S3eGXN.js","assets/Publish-CkHGQXkk.js","assets/CookieConsentBanner
1-BrtZ2LZ4.js"])))=>i.map(i=>d[i]); 2import{a as e,t}from"./rolldown-runtime-CNC7AqOf.js";import{n,t as r}from"./jsx-runtime-BtyjnKZj.js";import{t as i}from"./react-dom-CWn-H0Rd.js";import{t as a}from"./preload-helper-Czpn1I53.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p,u as m}from"./chunk-KS7C4IRE-CgpSK45w.js";import{t as h}from"./useToast-QK0Q4gGT.js";import{a as g,i as _,n as v,r as y,t as b}from"./dist-CA4uZW3H.js";import{l as x,m as S,n as C,t as w}from"./AuthService-CQeU_0bQ.js";import{t as T}from"./dist-DAUR33jS.js";import{n as E,t as D}from"./dist-p2cW4AiE.js";import{a as O,o as k}from"./dist-BWh9CVbU.js";import{a as A}from"./Combination-CJArERGX.js";import{t as ee}from"./dist-DkIQBCKf.js";import{n as j}from"./dist-7AcSgfoz.js";import{i as M,r as N,t as P}from"./button-Ap3ysi5G.js";import{t as te}from"./check-DVcwwxJi.js";import{a as ne,d as re,s as ie,u as ae}from"./dnd-DMxeXGsh.js";import{B as oe,F as se,I as ce,L as F,P as le,R as ue,at as de,c as fe,ct as pe,et as me,i as I,it as he,n as ge,nt as _e,o as ve,rt as ye,t as be,tt as xe,z as L}from"./ErrorBoundary-CNubh4T-.js";import{t as Se}from"./CoinDisplay-iWoR0BMU.js";import{t as Ce}from"./lock-CAG5RccF.js";import{t as we}from"./user-DD-5DUVW.js";import{n as Te,t as Ee}from"./apiConfig-cGsbt6Be.js";import{n as De,t as Oe}from"./serviceProxy-CZRpABZv.js";import{h as ke}from"./actionsCatalog-BOqBt5wy.js";import{a as Ae,c as je,i as Me,n as Ne,r as Pe,s as Fe,t as R}from"./AnalyticsService-BMBbF9S-.js";import{t as z}from"./useTranslation-BdauNPOZ.js";import{n as Ie,t as Le}from"./i18n-Ddyvvowz.js";import{t as Re}from"./avatarUtils-CBd99uWq.js";import{n as ze,r as Be,t as Ve}from"./gameUtils-hllMGYPh.js";import{t as He}from"./creators-BdQ0Kqzc.js";import{n as Ue,r as We,t as Ge}from"./avatar-ixs41cq5.js";import{t as Ke}from"./proxy-gbdormya.js";import{c as qe,i as Je,o as Ye,p as Xe,r as Ze}from"./tour-D03BMTEP.js";import{t as Qe}from"./dist-C7e-qgX5.js";import{t as $e}from"./dist-D8Wfxh48.js";import{a as B,c as et,i as V,n as tt,o as H,r as nt,s as rt,t as it}from"./formatDistanceToNow-DhpKhUbk.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var at=t((e=>{var t=i();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),U=e(n()),ot=at();function st(){return typeof document>`u`||typeof window>`u`?!1:document.getElementById(`root`)?.dataset.prerenderedHome===`true`&&window.location.pathname===`/`}var W=r(),ct=(0,U.createContext)({theme:`dark`,resolvedTheme:`dark`,setTheme:()=>null}),lt=()=>typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches;function ut(e){try{let t=localStorage.getItem(e);return t===`dark`||t===`light`||t===`system`?t:null}catch{return null}}function dt({children:e,defaultTheme:t=`dark`,storageKey:n=`sandscape-theme`,...r}){let[i,a]=(0,U.useState)(()=>st()?t:ut(n)??t),[o,s]=(0,U.useState)(()=>lt()?`dark`:`light`);(0,U.useEffect)(()=>{let e=ut(n);e&&a(e)},[n]),(0,U.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>s(e.matches?`dark`:`light`);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let c=i===`system`?o:i;(0,U.useEffect)(()=>{let e=window.document.documentElement;e.classList.remove(`light`,`dark`),e.classList.add(c)},[c]);let l=(0,U.useMemo)(()=>({theme:i,resolvedTheme:c,setTheme:e=>{a(e);try{localStorage.setItem(n,e)}catch(e){console.error(`Failed to set theme in localStorage`,e)}}}),[i,c,n]);return(0,W.jsx)(ct.Provider,{...r,value:l,children:e})}var ft=()=>{let e=(0,U.useContext)(ct);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e},pt=()=>ft().resolvedTheme,mt=e(i(),1),ht=Object.defineProperty,G=(e,t)=>ht(e,`name`,{value:t,configurable:!0}),gt=`ToastProvider`,[_t,vt,yt]=T(`Toast`),[bt,xt]=_(`Toast`,[yt]),[St,Ct]=bt(gt),wt=G(e=>{let{__scopeToast:t,label:n=`Notification`,duration:r=5e3,swipeDirection:i=`right`,swipeThreshold:a=50,announcerContainer:o,children:s}=e,[c,l]=U.useState(null),[u,d]=U.useState(0),f=U.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${gt}\`. Expected non-empty \`string\`.`),(0,W.jsx)(_t.Provider,{scope:t,children:(0,W.jsx)(St,{scope:t,label:n,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:u,viewport:c,onViewportChange:l,onToastAdd:U.useCallback(()=>d(e=>e+1),[]),onToastRemove:U.useCallback(()=>d(e=>e-1),[]),isClosePausedRef:f,announcerContainer:o,children:s})})},`ToastProvider`),Tt=`ToastViewport`,Et=[`F8`],Dt=`toast.viewportPause`,Ot=`toast.viewportResume`,kt=U.forwardRef(G(function(e,t){let{__scopeToast:n,hotkey:r=Et,label:i=`Notifications ({hotkey})`,...a}=e,o=Ct(Tt,n),s=vt(n),c=U.useRef(null),l=U.useRef(null),u=U.useRef(null),d=U.useRef(null),f=S(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;U.useEffect(()=>{let e=G(e=>{r.length!==0&&r.every(t=>e[t]||e.code===t)&&d.current?.focus()},`handleKeyDown`);
2return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]),U.useEffect(()=>{let e=c.current,t=d.current;if(m&&e&&t){let n=G(()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(Dt);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},`handlePause`),r=G(()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(Ot);t.dispatchEvent(e),o.isClosePausedRef.current=!1}},`handleResume`),i=G(t=>{e.contains(t.relatedTarget)||r()},`handleFocusOutResume`),a=G(()=>{e.contains(document.activeElement)||r()},`handlePointerLeaveResume`);return e.addEventListener(`focusin`,n),e.addEventListener(`focusout`,i),e.addEventListener(`pointermove`,n),e.addEventListener(`pointerleave`,a),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),()=>{e.removeEventListener(`focusin`,n),e.removeEventListener(`focusout`,i),e.removeEventListener(`pointermove`,n),e.removeEventListener(`pointerleave`,a),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)}}},[m,o.isClosePausedRef]);let h=U.useCallback(({tabbingDirection:e})=>{let t=s().map(t=>{let n=t.ref.current,r=[n,...en(n)];return e===`forwards`?r:r.reverse()});return(e===`forwards`?t.reverse():t).flat()},[s]);return U.useEffect(()=>{let e=d.current;if(e){let t=G(t=>{let n=t.altKey||t.ctrlKey||t.metaKey;if(t.key===`Tab`&&!n){let n=document.activeElement,r=t.shiftKey;if(t.target===e&&r){l.current?.focus();return}let i=h({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);tn(i.slice(a+1))?t.preventDefault():r?l.current?.focus():u.current?.focus()}},`handleKeyDown`);return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}},[s,h]),(0,W.jsxs)(k,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,W.jsx)(jt,{ref:l,onFocusFromOutsideViewport:()=>{tn(h({tabbingDirection:`forwards`}))}}),(0,W.jsx)(_t.Slot,{scope:n,children:(0,W.jsx)(D.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,W.jsx)(jt,{ref:u,onFocusFromOutsideViewport:()=>{tn(h({tabbingDirection:`backwards`}))}})]})},`ToastViewport`)),At=`ToastFocusProxy`,jt=U.forwardRef(G(function(e,t){let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=Ct(At,n);return(0,W.jsx)(j,{tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})},`ToastFocusProxy`)),Mt=`Toast`,Nt=`toast.swipeStart`,Pt=`toast.swipeMove`,Ft=`toast.swipeCancel`,It=`toast.swipeEnd`,Lt=U.forwardRef(G(function(e,t){let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s,c]=ee({prop:r,defaultProp:i??!0,onChange:a,caller:Mt});return(0,W.jsx)(b,{present:n||s,children:(0,W.jsx)(Bt,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:y(e.onPause),onResume:y(e.onResume),onSwipeStart:g(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:g(e.onSwipeMove,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`move`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-y`,`${n}px`)}),onSwipeCancel:g(e.onSwipeCancel,e=>{e.currentTarget.setAttribute(`data-swipe`,`cancel`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-y`)}),onSwipeEnd:g(e.onSwipeEnd,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`end`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-y`,`${n}px`),c(!1)})})})},`Toast`)),[Rt,zt]=bt(Mt,{onClose(){}}),Bt=U.forwardRef(G(function(e,t){let{__scopeToast:n,type:r=`foreground`,duration:i,open:a,onClose:o,onEscapeKeyDown:s,onPause:c,onResume:l,onSwipeStart:u,onSwipeMove:d,onSwipeCancel:f,onSwipeEnd:p,...m}=e,h=Ct(Mt,n),_=vt(n),[v,b]=U.useState(null),x=S(t,b),C=U.useRef(null),w=U.useRef(null),T=i||h.duration,E=U.useRef(0),k=U.useRef(T),A=U.useRef(0),{onToastAdd:ee,onToastRemove:j}=h,M=y(()=>{v?.contains(document.activeElement)&&h.viewport?.focus(),o()}),N=U.useCallback(e=>
2{!e||e===1/0||(window.clearTimeout(A.current),E.current=new Date().getTime(),A.current=window.setTimeout(M,e))},[M]);U.useEffect(()=>{let e=h.viewport;if(e){let t=G(()=>{N(k.current),l?.()},`handleResume`),n=G(()=>{let e=new Date().getTime()-E.current;k.current-=e,window.clearTimeout(A.current),c?.()},`handlePause`);return e.addEventListener(Dt,n),e.addEventListener(Ot,t),()=>{e.removeEventListener(Dt,n),e.removeEventListener(Ot,t)}}},[h.viewport,T,c,l,N]),U.useEffect(()=>{a&&!h.isClosePausedRef.current&&N(T)},[a,T,h.isClosePausedRef,N]),U.useEffect(()=>()=>{window.clearTimeout(A.current)},[]),U.useEffect(()=>(ee(),()=>j()),[ee,j]);let P=U.useMemo(()=>v?Yt(v):null,[v]);return h.viewport?(0,W.jsxs)(W.Fragment,{children:[P&&(0,W.jsx)(Vt,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,children:P}),(0,W.jsx)(Rt,{scope:n,onClose:M,children:mt.createPortal((0,W.jsx)(_t.ItemSlot,{scope:n,children:(0,W.jsx)(O,{asChild:!0,onEscapeKeyDown:g(s,e=>{_().some(t=>t.ref.current?.contains(e.target))||M()}),children:(0,W.jsx)(D.li,{tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:x,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:g(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||M())}),onPointerDown:g(e.onPointerDown,e=>{e.button===0&&(C.current={x:e.clientX,y:e.clientY})}),onPointerMove:g(e.onPointerMove,e=>{if(!C.current)return;let t=e.clientX-C.current.x,n=e.clientY-C.current.y,r=!!w.current,i=[`left`,`right`].includes(h.swipeDirection),a=[`left`,`up`].includes(h.swipeDirection)?Math.min:Math.max,o=i?a(0,t):0,s=i?0:a(0,n),c=e.pointerType===`touch`?10:2,l={x:o,y:s},f={originalEvent:e,delta:l};r?(w.current=l,Xt(Pt,d,f,{discrete:!1})):Zt(l,h.swipeDirection,c)?(w.current=l,Xt(Nt,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(C.current=null)}),onPointerUp:g(e.onPointerUp,e=>{let t=w.current,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),w.current=null,C.current=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};Zt(t,h.swipeDirection,h.swipeThreshold)?Xt(It,p,r,{discrete:!0}):Xt(Ft,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null},`ToastImpl`)),Vt=G(e=>{let{__scopeToast:t,children:n,...r}=e,i=Ct(Mt,t),[a,o]=U.useState(!1),[s,c]=U.useState(!1);return Qt(()=>o(!0)),U.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,W.jsx)(A,{asChild:!0,container:i.announcerContainer||void 0,children:(0,W.jsx)(j,{...r,children:a&&(0,W.jsxs)(W.Fragment,{children:[i.label,` `,n]})})})},`ToastAnnounce`),Ht=U.forwardRef(G(function(e,t){let{__scopeToast:n,...r}=e;return(0,W.jsx)(D.div,{...r,ref:t})},`ToastTitle`)),Ut=U.forwardRef(G(function(e,t){let{__scopeToast:n,...r}=e;return(0,W.jsx)(D.div,{...r,ref:t})},`ToastDescription`)),Wt=`ToastAction`,Gt=U.forwardRef(G(function(e,t){let{altText:n,...r}=e;return n.trim()?(0,W.jsx)(Jt,{altText:n,asChild:!0,children:(0,W.jsx)(qt,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Wt}\`. Expected non-empty \`string\`.`),null)},`ToastAction`)),Kt=`ToastClose`,qt=U.forwardRef(G(function(e,t){let{__scopeToast:n,...r}=e,i=zt(Kt,n);return(0,W.jsx)(Jt,{asChild:!0,children:(0,W.jsx)(D.button,{type:`button`,...r,ref:t,onClick:g(e.onClick,i.onClose)})})},`ToastClose`)),Jt=U.forwardRef(G(function(e,t){let{__scopeToast:n,altText:r,...i}=e;return(0,W.jsx)(D.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})},`ToastAnnounceExclude`));function Yt(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),$t(e)){let n=e.ariaHidden||e.hidden||e.style.display===`none`,r=e.dataset.radixToastAnnounceExclude===``;if(!n)if(r){let n=e.dataset.radixToastAnnounceAlt;n&&t.push(n)}else t.push(...Yt(e))}}),t}G(Yt,`getAnnounceTextContent`);function Xt(e,t,n,{discrete:r}){let i=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?E(i,a):i.dispatchEvent(a)}G(Xt,`handleAndDispatchCustomEvent`);var Zt=G((e,t,n=0)=>{let r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t===`left`||t===`right`?a&&r>n:!a&&i>n},`isDeltaInDirection`);function Qt(e=()=>{}){let t=y(e);v(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}G(Qt,`useNextFrame`);
2function $t(e){return e.nodeType===e.ELEMENT_NODE}G($t,`isHTMLElement`);function en(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:G(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}G(en,`getTabbableCandidates`);function tn(e){let t=document.activeElement;return e.some(e=>e===t?!0:(e.focus(),document.activeElement!==t))}G(tn,`focusFirst`);var nn=N(`Bell`,[[`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`,key:`1qo2s2`}],[`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`,key:`qgo35s`}]]),rn=N(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),an=N(`CircleCheckBig`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),on=N(`CircleHelp`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),sn=N(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),cn=N(`Clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16 14`,key:`68esgv`}]]),ln=N(`CreditCard`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]),un=N(`Eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),dn=N(`FolderOpen`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),fn=N(`Gamepad2`,[[`line`,{x1:`6`,x2:`10`,y1:`11`,y2:`11`,key:`1gktln`}],[`line`,{x1:`8`,x2:`8`,y1:`9`,y2:`13`,key:`qnk9ow`}],[`line`,{x1:`15`,x2:`15.01`,y1:`12`,y2:`12`,key:`krot7o`}],[`line`,{x1:`18`,x2:`18.01`,y1:`10`,y2:`10`,key:`1lcuu1`}],[`path`,{d:`M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z`,key:`mfqc10`}]]),pn=N(`Heart`,[[`path`,{d:`M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z`,key:`c3ymky`}]]),mn=N(`House`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`1d0kgt`}]]),hn=N(`LogOut`,[[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}],[`polyline`,{points:`16 17 21 12 16 7`,key:`1gabdz`}],[`line`,{x1:`21`,x2:`9`,y1:`12`,y2:`12`,key:`1uyos4`}]]),gn=N(`Menu`,[[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`,key:`1e0a9i`}],[`line`,{x1:`4`,x2:`20`,y1:`6`,y2:`6`,key:`1owob3`}],[`line`,{x1:`4`,x2:`20`,y1:`18`,y2:`18`,key:`yk5zj1`}]]),_n=N(`MessageCircle`,[[`path`,{d:`M7.9 20A9 9 0 1 0 4 16.1L2 22Z`,key:`vv11sd`}]]),vn=N(`MessageSquare`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),yn=N(`Pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),bn=N(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),xn=N(`Rocket`,[[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z`,key:`m3kijz`}],[`path`,{d:`m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z`,key:`1fmvmk`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0`,key:`1f8sc4`}
2],[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}]]),Sn=N(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Cn=N(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),wn=N(`SquarePlus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),Tn=N(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),En=N(`UserPlus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Dn=N(`Users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`,key:`1da9ce`}]]),On=N(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),kn=wt,An=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(kt,{ref:n,className:x(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]`,e),...t}));An.displayName=kt.displayName;var jn=M(`group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),Mn=U.forwardRef(({className:e,variant:t,...n},r)=>(0,W.jsx)(Lt,{ref:r,className:x(jn({variant:t}),e),...n}));Mn.displayName=Lt.displayName;var Nn=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(Gt,{ref:n,className:x(`inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive`,e),...t}));Nn.displayName=Gt.displayName;var Pn=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(qt,{ref:n,className:x(`absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...t,children:(0,W.jsx)(On,{className:`h-4 w-4`})}));Pn.displayName=qt.displayName;var Fn=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(Ht,{ref:n,className:x(`text-sm font-semibold`,e),...t}));Fn.displayName=Ht.displayName;var In=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(Ut,{ref:n,className:x(`text-sm opacity-90`,e),...t}));In.displayName=Ut.displayName;function Ln(){let{toasts:e}=h();return(0,W.jsxs)(kn,{children:[e.map(function({id:e,title:t,description:n,action:r,...i}){return(0,W.jsxs)(Mn,{...i,children:[(0,W.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,W.jsx)(Fn,{children:t}),n&&(0,W.jsx)(In,{children:n})]}),r,(0,W.jsx)(Pn,{})]},e)}),(0,W.jsx)(An,{})]})}var Rn=e=>{switch(e){case`success`:return Vn;case`info`:return Un;case`warning`:return Hn;case`error`:return Wn;default:return null}},zn=Array(12).fill(0),Bn=({visible:e,className:t})=>U.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(
2Boolean).join(` `),"data-visible":e},U.createElement(`div`,{className:`sonner-spinner`},zn.map((e,t)=>U.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),Vn=U.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},U.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),Hn=U.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},U.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),Un=U.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},U.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),Wn=U.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},U.createElement(`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`})),Gn=U.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},U.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),U.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),Kn=()=>{let[e,t]=U.useState(document.hidden);return U.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},qn=1,K=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:qn++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0||e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>
2this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=e instanceof Promise?e:e(),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],U.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(Yn(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description;this.create({id:n,type:`error`,message:r,description:a})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description;this.create({id:n,type:`success`,message:r,description:a})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description;this.create({id:n,type:`error`,message:r,description:a})}}).finally(()=>{var e;i&&(this.dismiss(n),n=void 0),(e=t.finally)==null||e.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||qn++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Jn=(e,t)=>{let n=t?.id||qn++;return K.addToast({title:e,...t,id:n}),n},Yn=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,Xn=Object.assign(Jn,{success:K.success,info:K.info,warning:K.warning,error:K.error,custom:K.custom,message:K.message,promise:K.promise,dismiss:K.dismiss,loading:K.loading},{getHistory:()=>K.toasts,getToasts:()=>K.getActiveToasts()});function Zn(e,{insertAt:t}={}){if(!e||typeof document>`u`)return;let n=document.head||document.getElementsByTagName(`head`)[0],r=document.createElement(`style`);r.type=`text/css`,t===`top`&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}Zn(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
2left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
2:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
2--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} 3`);function Qn(e){return e.label!==void 0}var $n=3,er=`32px`,tr=`16px`,nr=4e3,rr=356,ir=14,ar=20,or=200;function q(...e){return e.filter(Boolean).join(` `)}function sr(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var cr=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:y,position:b,gap:x,loadingIcon:S,expandByDefault:C,classNames:w,icons:T,closeButtonAriaLabel:E=`Close toast`,pauseWhenPageIsHidden:D}=e,[O,k]=U.useState(null),[A,ee]=U.useState(null),[j,M]=U.useState(!1),[N,P]=U.useState(!1),[te,ne]=U.useState(!1),[re,ie]=U.useState(!1),[ae,oe]=U.useState(!1),[se,ce]=U.useState(0),[F,le]=U.useState(0),ue=U.useRef(n.duration||y||nr),de=U.useRef(null),fe=U.useRef(null),pe=c===0,me=c+1<=o,I=n.type,he=n.dismissible!==!1,ge=n.className||``,_e=n.descriptionClassName||``,ve=U.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),ye=U.useMemo(()=>n.closeButton??p,[n.closeButton,p]),be=U.useMemo(()=>n.duration||y||nr,[n.duration,y]),xe=U.useRef(0),L=U.useRef(0),Se=U.useRef(0),Ce=U.useRef(null),[we,Te]=b.split(`-`),Ee=U.useMemo(()=>
3s.reduce((e,t,n)=>n>=ve?e:e+t.height,0),[s,ve]),De=Kn(),Oe=n.invert||t,ke=I===`loading`;L.current=U.useMemo(()=>ve*x+Ee,[ve,Ee]),U.useEffect(()=>{ue.current=be},[be]),U.useEffect(()=>{M(!0)},[]),U.useEffect(()=>{let e=fe.current;if(e){let t=e.getBoundingClientRect().height;return le(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),U.useLayoutEffect(()=>{if(!j)return;let e=fe.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,le(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[j,n.title,n.description,a,n.id]);let Ae=U.useCallback(()=>{P(!0),ce(L.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},or)},[n,d,a,L]);U.useEffect(()=>{if(n.promise&&I===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||D&&De?(()=>{if(Se.current<xe.current){let e=new Date().getTime()-xe.current;ue.current-=e}Se.current=new Date().getTime()})():ue.current!==1/0&&(xe.current=new Date().getTime(),e=setTimeout(()=>{var e;(e=n.onAutoClose)==null||e.call(n,n),Ae()},ue.current)),()=>clearTimeout(e)},[u,i,n,I,D,De,Ae]),U.useEffect(()=>{n.delete&&Ae()},[Ae,n.delete]);function je(){return T!=null&&T.loading?U.createElement(`div`,{className:q(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":I===`loading`},T.loading):S?U.createElement(`div`,{className:q(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":I===`loading`},S):U.createElement(Bn,{className:q(w?.loader,n?.classNames?.loader),visible:I===`loading`})}return U.createElement(`li`,{tabIndex:0,ref:fe,className:q(_,ge,w?.toast,n?.classNames?.toast,w?.default,w?.[I],n?.classNames?.[I]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":j,"data-promise":!!n.promise,"data-swiped":ae,"data-removed":N,"data-visible":me,"data-y-position":we,"data-x-position":Te,"data-index":c,"data-front":pe,"data-swiping":te,"data-dismissible":he,"data-type":I,"data-invert":Oe,"data-swipe-out":re,"data-swipe-direction":A,"data-expanded":!!(u||C&&j),style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${N?se:L.current}px`,"--initial-height":C?`auto`:`${F}px`,...m,...n.style},onDragEnd:()=>{ne(!1),k(null),Ce.current=null},onPointerDown:e=>{ke||!he||(de.current=new Date,ce(L.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(ne(!0),Ce.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e;if(re||!he)return;Ce.current=null;let t=Number(fe.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),r=Number(fe.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),i=new Date().getTime()-de.current?.getTime(),a=O===`x`?t:r,o=Math.abs(a)/i;if(Math.abs(a)>=ar||o>.11){ce(L.current),(e=n.onDismiss)==null||e.call(n,n),ee(O===`x`?t>0?`right`:`left`:r>0?`down`:`up`),Ae(),ie(!0),oe(!1);return}ne(!1),k(null)},onPointerMove:t=>{var n,r;if(!Ce.current||!he||window.getSelection()?.toString().length>0)return;let i=t.clientY-Ce.current.y,a=t.clientX-Ce.current.x,o=e.swipeDirections??sr(b);!O&&(Math.abs(a)>1||Math.abs(i)>1)&&k(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0};O===`y`?(o.includes(`top`)||o.includes(`bottom`))&&(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)&&(s.y=i):O===`x`&&(o.includes(`left`)||o.includes(`right`))&&(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)&&(s.x=a),(Math.abs(s.x)>0||Math.abs(s.y)>0)&&oe(!0),(n=fe.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=fe.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},ye&&!n.jsx?U.createElement(`button`,{"aria-label":E,"data-disabled":ke,"data-close-button":!0,onClick:ke||!he?()=>{}:()=>{var e;Ae(),(e=n.onDismiss)==null||e.call(n,n)},className:q(w?.closeButton,n?.classNames?.closeButton)},T?.close??Gn):null,n.jsx||(0,U.isValidElement)(n.title)?n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title:U.createElement(U.Fragment,null,I||n.icon||n.promise?U.createElement(`div`,{"data-icon":``,className:q(w?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||je():null,n.type===`loading`?null:n.icon||T?.[I]||Rn(I)):null,U.createElement(`div`,{"data-content":``,className:q(w?.content,n?.classNames?.content)},U.createElement(`div`,{"data-title":``,className:q(w?.title,n?.classNames?.title)},typeof n.title==`function`?n.title():n.title),n.description?U.createElement(`div`,{"data-description":``,className:q(v,_e,w?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),(0,U.isValidElement)(n.
3cancel)?n.cancel:n.cancel&&Qn(n.cancel)?U.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{var t,r;Qn(n.cancel)&&he&&((r=(t=n.cancel).onClick)==null||r.call(t,e),Ae())},className:q(w?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,(0,U.isValidElement)(n.action)?n.action:n.action&&Qn(n.action)?U.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{var t,r;Qn(n.action)&&((r=(t=n.action).onClick)==null||r.call(t,e),!e.defaultPrevented&&Ae())},className:q(w?.actionButton,n?.classNames?.actionButton)},n.action.label):null))};function lr(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function ur(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?tr:er;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var dr=(0,U.forwardRef)(function(e,t){let{invert:n,position:r=`bottom-right`,hotkey:i=[`altKey`,`KeyT`],expand:a,closeButton:o,className:s,offset:c,mobileOffset:l,theme:u=`light`,richColors:d,duration:f,style:p,visibleToasts:m=$n,toastOptions:h,dir:g=lr(),gap:_=ir,loadingIcon:v,icons:y,containerAriaLabel:b=`Notifications`,pauseWhenPageIsHidden:x}=e,[S,C]=U.useState([]),w=U.useMemo(()=>Array.from(new Set([r].concat(S.filter(e=>e.position).map(e=>e.position)))),[S,r]),[T,E]=U.useState([]),[D,O]=U.useState(!1),[k,A]=U.useState(!1),[ee,j]=U.useState(u===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:u),M=U.useRef(null),N=i.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),P=U.useRef(null),te=U.useRef(!1),ne=U.useCallback(e=>{C(t=>{var n;return(n=t.find(t=>t.id===e.id))!=null&&n.delete||K.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return U.useEffect(()=>K.subscribe(e=>{if(e.dismiss){C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t));return}setTimeout(()=>{mt.flushSync(()=>{C(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[]),U.useEffect(()=>{if(u!==`system`){j(u);return}if(u===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?j(`dark`):j(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{j(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{j(e?`dark`:`light`)}catch(e){console.error(e)}})}},[u]),U.useEffect(()=>{S.length<=1&&O(!1)},[S]),U.useEffect(()=>{let e=e=>{var t,n;i.every(t=>e[t]||e.code===t)&&(O(!0),(t=M.current)==null||t.focus()),e.code===`Escape`&&(document.activeElement===M.current||(n=M.current)!=null&&n.contains(document.activeElement))&&O(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i]),U.useEffect(()=>{if(M.current)return()=>{P.current&&(P.current.focus({preventScroll:!0}),P.current=null,te.current=!1)}},[M.current]),U.createElement(`section`,{ref:t,"aria-label":`${b} ${N}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},w.map((t,r)=>{let[i,u]=t.split(`-`);return S.length?U.createElement(`ol`,{key:t,dir:g===`auto`?lr():g,tabIndex:-1,ref:M,className:s,"data-sonner-toaster":!0,"data-theme":ee,"data-y-position":i,"data-lifted":D&&S.length>1&&!a,"data-x-position":u,style:{"--front-toast-height":`${T[0]?.height||0}px`,"--width":`${rr}px`,"--gap":`${_}px`,...p,...ur(c,l)},onBlur:e=>{te.current&&!e.currentTarget.contains(e.relatedTarget)&&(te.current=!1,P.current&&=(P.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`fal
3se`||te.current||(te.current=!0,P.current=e.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{k||O(!1)},onDragEnd:()=>O(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||A(!0)},onPointerUp:()=>A(!1)},S.filter(e=>!e.position&&r===0||e.position===t).map((r,i)=>U.createElement(cr,{key:r.id,icons:y,index:i,toast:r,defaultRichColors:d,duration:h?.duration??f,className:h?.className,descriptionClassName:h?.descriptionClassName,invert:n,visibleToasts:m,closeButton:h?.closeButton??o,interacting:k,position:t,style:h?.style,unstyled:h?.unstyled,classNames:h?.classNames,cancelButtonStyle:h?.cancelButtonStyle,actionButtonStyle:h?.actionButtonStyle,removeToast:ne,toasts:S.filter(e=>e.position==r.position),heights:T.filter(e=>e.position==r.position),setHeights:E,expandByDefault:a,gap:_,loadingIcon:v,expanded:D,pauseWhenPageIsHidden:x,swipeDirections:e.swipeDirections}))):null}))}),fr=({...e})=>{let{theme:t=`system`}=ft();return(0,W.jsx)(dr,{theme:t,className:`toaster group`,toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-muted-foreground`,actionButton:`group-[.toast]:bg-primary group-[.toast]:text-primary-foreground`,cancelButton:`group-[.toast]:bg-muted group-[.toast]:text-muted-foreground`}},...e})};function pr(e,t,n){return t===n?e:`loading`}function mr(e,t,n){return t===n?e===`loading`?`error`:e:`error`}function hr(){let e=0;return{claim:()=>e+=1,invalidate:()=>{e+=1},isCurrent:t=>t===e}}function gr(e,t){return t.kind===`granted`||t.kind!==`revoked`&&e}var _r=(0,U.createContext)(void 0),vr={username:null,canCreate:!1,requestedCreationAt:null,onboardingCompletedAt:null,codingAccess:!1,requestedCodingAccessAt:null},yr=e=>new Promise(t=>window.setTimeout(t,e));async function br(e){for(let t of[0,100,250]){t&&await yr(t);let n=await w.getProfileAuthState(e);if(n)return n}throw Error(`Profile was not created`)}function xr({children:e}){let[t,n]=(0,U.useState)(null),[r,i]=(0,U.useState)(null),[a,o]=(0,U.useState)(!0),[s,c]=(0,U.useState)(vr),[l,u]=(0,U.useState)(`loading`),d=(0,U.useRef)(null),f=(0,U.useRef)(`loading`),p=(0,U.useRef)(null),m=p.current??=hr(),h=(0,U.useRef)({userId:null}),g=(0,U.useRef)(null),[_,v]=(0,U.useState)(!1),y=(0,U.useRef)(null),b=(0,U.useCallback)(e=>{h.current.userId!==e&&(h.current={userId:e},g.current=null,v(!1),ke())},[]),x=(0,U.useCallback)(e=>{y.current!==null&&y.current!==e.codingAccess&&ke(),y.current=e.codingAccess;let t=e.onboardingCompletedAt?`complete`:`required`;return f.current=t,c(e),u(t),t},[]),S=(0,U.useCallback)(()=>{b(null),m.invalidate(),d.current=null,f.current=`required`,c(vr),u(`required`),y.current=null},[m,b]),C=(0,U.useCallback)(async(e,t)=>{if(!e)return S(),`required`;let n=t??m.claim();if(!m.isCurrent(n))return f.current;let r=e.id,i=d.current;u(e=>pr(e,i,r));try{let e=await br(r);return m.isCurrent(n)?(d.current=r,x(e)):e.onboardingCompletedAt?`complete`:`required`}catch(e){if(console.error(`Error loading account profile state:`,e),!m.isCurrent(n))return`error`;let t=mr(f.current,i,r);return t===`error`&&(d.current=r,f.current=`error`,c(vr),u(`error`)),t}},[x,S,m]),T=(0,U.useCallback)(async()=>{let e=t??await w.getCurrentUser();return e&&!t&&n(e),C(e)},[C,t]);(0,U.useEffect)(()=>{let e=!0;w.getSession().then(async t=>{e&&(b(t?.user.id??null),i(t),n(t?.user??null),t?.user?await C(t.user):S())}).catch(t=>{console.error(`Error initializing auth session:`,t),e&&u(`error`)}).finally(()=>{e&&o(!1)});let{data:t}=w.onAuthStateChange((t,r)=>{if(!e)return;let a=r?.user??null;if(b(a?.id??null),i(r),n(a),!a){S();return}u(e=>pr(e,d.current,a.id));let o=m.claim();window.setTimeout(()=>{e&&C(a,o)},0)});return()=>{e=!1,t?.subscription.unsubscribe()}},[C,S,m,b]);let E=(0,U.useCallback)(async(e,t,r)=>{let a=await w.signIn({email:e,password:t,captchaToken:r});i(a.session??null),n(a.user??null)},[]),D=(0,U.useCallback)(async()=>{await w.signOut(),i(null),n(null),S()},[S]),O=(0,U.useCallback)(async(e,t,n)=>{await w.requestEmailOtp(e,{captchaToken:t,emailRedirectTo:n})},[]),k=(0,U.useCallback)(async(e,t)=>{let r=await w.verifyEmailOtp(e,t);i(r.session??null),n(r.user??null)},[]),A=(0,U.useCallback)(async(e,t)=>{await w.signInWithOAuth(e,t)},[]),ee=(0,U.useCallback)(async(e,t,n)=>{await w.resetPassword(e,t,n)},[]),j=(0,U.useCallback)(async e=>{await w.updatePassword(e)},[]),M=(0,U.useCallback)(async(e,t)=>{await w.updateEmail(e,t)},[]),N=(0,U.useCallback)(async()=>{await w.deleteAccount(),await w.signOut(),i(null),n(null),S()},[S]),P=(0,U.useCallback)(async()=>{let e=await w.getCurrentUser();n(e)},[]),te=(0,U.useCallback)(async(e,t)=>{await w.completeOnboarding(e,t),await T()},[T]),ne=(0,U.useCallback)(()=>w.getActiveSignInMethods(),[]),re=(0,U.useCallback)(async()=>{await T()},[T]),ie=(0,U.useCallback)(async()=>{let e=await Te(),t=await fetch(`${Ee.API_BASE_URL}/api/alpha/request-access`,{method:`POST`,headers:e});if(!t.ok){let e=await t.text();throw Error(`Failed to request creation access: ${e||t.status}`)}await T()},[T]),ae=(0,U.useCallback)(async()=>{let e=h.current;if(!r||e.userId!==r.user.id)throw Error(`Sign in to request coding access.`);if(g.current?.identity===e)return g.current.promise;v(!0);let t=(async()=>{let t=await fetch(`${Ee.API_BASE_URL}/api/alpha/request-coding-access`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r.access_token}`}}),n=await t.json();if(!t.ok)throw Error(n.error||`Failed to request coding access (${t.status})`);
3if(typeof n.requested_coding_access_at!=`string`||!n.requested_coding_access_at)throw Error(`The server did not return a coding-access request timestamp.`);return e===h.current?(m.invalidate(),c(e=>({...e,requestedCodingAccessAt:n.requested_coding_access_at})),!0):!1})();g.current={identity:e,promise:t};try{return await t}catch(t){if(e!==h.current)return!1;throw t}finally{g.current?.promise===t&&(g.current=null,v(!1))}},[r,m]),oe=(0,U.useMemo)(()=>({user:t,session:r,isAuthenticated:!!t,loading:a,onboardingStatus:l,login:E,logout:D,requestEmailOtp:O,verifyEmailOtp:k,signInWithOAuth:A,resetPassword:ee,updatePassword:j,updateEmail:M,deleteAccount:N,refreshUser:P,refreshAccountState:T,completeOnboarding:te,getActiveSignInMethods:ne,username:s.username,canCreate:s.canCreate,refreshCanCreate:re,requestedCreationAt:s.requestedCreationAt,onWaitlist:s.requestedCreationAt!=null&&!s.canCreate,requestCreationAccess:ie,codingAccess:s.codingAccess,requestedCodingAccessAt:s.requestedCodingAccessAt,codingAccessRequested:s.requestedCodingAccessAt!=null&&!s.codingAccess,codingAccessRequestPending:_,requestCodingAccess:ae}),[te,N,ne,a,E,D,l,s,T,re,P,ie,ae,O,_,ee,r,A,M,j,t,k]);return(0,W.jsx)(_r.Provider,{value:oe,children:e})}function Sr(){let e=(0,U.useContext)(_r);if(!e)throw Error(`useAuth must be used within an AuthProvider`);return e}var Cr=(0,U.createContext)(null);function wr({children:e}){let[t,n]=(0,U.useState)(!0),[r,i]=(0,U.useState)(!1),a=(0,U.useCallback)(()=>n(e=>!e),[]),o=(0,U.useCallback)(()=>n(!1),[]);return(0,W.jsx)(Cr.Provider,{value:{isOpen:t,toggle:a,close:o,overlayMode:r,setOverlayMode:i},children:e})}function Tr(){let e=(0,U.useContext)(Cr);if(!e)throw Error(`useSidebar must be used within a SidebarProvider`);return e}var Er=U.forwardRef(({className:e,type:t,...n},r)=>(0,W.jsx)(`input`,{type:t,className:x(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground 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 md:text-sm`,e),ref:r,...n}));Er.displayName=`Input`;var Dr=Object.defineProperty,Or=U.forwardRef(((e,t)=>Dr(e,`name`,{value:t,configurable:!0}))(function(e,t){return(0,W.jsx)(D.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},`Label`)),kr=M(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),Ar=U.forwardRef(({className:e,...t},n)=>(0,W.jsx)(Or,{ref:n,className:x(kr(),e),...t}));Ar.displayName=Or.displayName;var jr=class{static async joinMailingList(e){try{let{error:t}=await C.from(`mailing_list`).insert([{email:e.toLowerCase(),source:`client_mailing_list`,status:`subscribed`,creation_interest:!1}]);if(t){if(t.code===`23505`)return{success:!0,inserted:!1,duplicate:!0,error:`This email is already on the mailing list.`};throw t}return{success:!0,inserted:!0}}catch(e){return console.error(`Mailing list error:`,e),{success:!1,inserted:!1,error:`Failed to register. Please try again later.`}}}};function Mr({isOpen:e,onClose:t,title:n,message:r}){let[i,a]=(0,U.useState)(``),[o,s]=(0,U.useState)(!1),{toast:c}=h(),{t:l}=z(),u=l(`mailingList.title`,`Join the mailing list`),d=l(`mailingList.message`,`Get occasional Sandscape product news by email. This does not create an account or request creator access.`);return e?(0,W.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50 flex items-center justify-center`,children:(0,W.jsx)(`div`,{className:`bg-background rounded-lg shadow-lg max-w-md w-full m-4 max-h-[90vh] overflow-y-auto`,children:(0,W.jsxs)(`div`,{className:`p-6`,children:[(0,W.jsxs)(`div`,{className:`flex justify-between items-center mb-4`,children:[(0,W.jsx)(`h2`,{className:`text-2xl font-bold`,children:n||u}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,onClick:t,children:(0,W.jsx)(On,{className:`h-4 w-4`})})]}),(0,W.jsx)(`p`,{className:`mb-6 text-muted-foreground`,children:r||d}),(0,W.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),s(!0);try{let e=await jr.joinMailingList(i);e.success?(e.inserted?(c({title:l(`mailingList.successTitle`,`Subscribed`),description:l(`mailingList.successMessage`,`You're on the mailing list.`)}),Ae(`waitlist_submit`,{method:`app_mailing_list`,lead_source:`app_mailing_list`,form_location:`app_waitlist_modal`})):c({title:l(`mailingList.alreadyRegisteredTitle`,`Already subscribed`),description:e.error||l(`mailingList.alreadyRegisteredMessage`,`That email is already on the mailing list.`)}),t()):c({variant:`destructive`,title:l(`mailingList.errorTitle`,`Subscription failed`),description:e.error||l(`mailingList.errorMessage`,`There was a problem joining the mailing list. Please try again.`)})}catch{c({variant:`destructive`,title:l(`mailingList.errorTitle`,`Subscription failed`),description:l(`mailingList.errorMessage`,`There was a problem joining the mailing list. Please try again.`)})}finally{s(!1)}},className:`space-y-4`,children:[(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(Ar,{htmlFor:`email`,children:l(`general.email`,`Email`)}),(0,W.jsx)(Er,{id:`email`,type:`email`,value:i,onChange:e=>a(e.target.value),placeholder:l(`mailingList.emailPlaceholder`,`[email protected]`),required:!0})]}),(0,W.jsx)(P,{type:`submit`,className:`w-full`,disabled:o,children:o?l(`general.submitting`,`Submitting...`):l(`mailingList.join`,`Join mailing list`)})]})]})})}):null}var Nr=(0,U.createContext)(void 0);function Pr({children:e}){let[t,n]=(0,U.useState)(!1),[r,i]=(0,U.useState)(void 0),a=e=>{i(e),n(!0)},o=()=>{n(!1)};return(0,W.jsxs)(Nr.Provider,{value:{openWaitlistModal:a,closeWaitlistModal:o},children:[e,(0,W.jsx)(Mr,{isOpen:t,onClose:o,message:r})]})}var Fr=1440*60*1e3,Ir=`sandscape_first_touch`,Lr=2160*60*60,Rr=`${Ne}sign_up.`,zr=[`utm_source`,`utm_medium`,`utm_campaign`,`utm_term`,`utm_content`],Br=[`gclid`,`gbraid`,`wbraid`,`rdt_cid`,`oppref`],Vr=200,Hr=500,Ur=e=>{try{return localStorage.getItem(e)}catch{return null}},Wr=(e,t)=>{try{localStorage.setItem(e,t)}catch{}},Gr=(e,t)=>e.trim().slice(0,t),Kr=()=>{try{return crypto.randomUUID()}catch{return}},qr=()=>{let e=window.location?.hostname??``,t=e===`sandscape.app`||e.endsWith(`.sandscape.app`),n=window.location?.protocol===`https:`?`; Secure`:``;return`${t?`; Domain=.sandscape.app`:``}${n}`},Jr=e=>{if(typeof document>`u`)return null;try{let t=document.cookie.split(`;`).map(e=>e.trim()).find(t=>t.startsWith(`${e}=`));return t?t.slice(e.length+1):null}catch{return null}},Yr=(e,t)=>{if(!(typeof document>`u`))try{document.cookie=`${Ir}=${e}; Max-Age=${t}; Path=/; SameSite=Lax${qr()}`}catch{}},Xr=e=>{Yr(encodeURIComponent(JSON.stringify(e)),Lr)},Zr=()=>{Yr(``,0)},Qr=e=>{try{let t=new URL(e);return t.username=``,t.password=``,`${t.origin}${t.pathname}`}catch{return``}},$r=e=>{if(!e?.created_at||!e.last_sign_in_at)return!1;let t=Date.parse(e.created_at),n=Date.parse(e.last_sign_in_at);if(Number.isNaN(t)||Number.isNaN(n))return!1;let r=n-t;return r<0||r>=864e5?!1:Date.now()-t<Fr},ei=(e=`app`)=>{if(typeof window>`u`||!Pe()||ti())return;let t={first_touch_at:new Date().toISOString(),capture_surface:e,conversion_id:Kr()};try{let e=new URLSearchParams(window.location?.search??``);for(let n of zr){let r=e.get(n);r&&(t[n]=Gr(r,Vr))}let n={};for(let t of Br){let r=e.get(t);r&&(n[t]=Gr(r,Hr))}Object.keys(n).length>0&&(t.click_ids=n)}catch{}let n=typeof document>`u`?``:document.referrer??``;if(n){let e=Qr(n);e&&(t.referrer=Gr(e,Hr))}let r=window.location?.pathname??``;r&&(t.landing_page=Gr(r,Hr)),Xr(t)},ti=()=>{let e=Jr(Ir);if(!e)return null;try{let t=JSON.parse(decodeURIComponent(e));if(!t||typeof t!=`object`)return null;let n=t,r={};for(let e of[...zr,`referrer`,`landing_page`]){let t=n[e];typeof t==`string`&&t&&(r[e]=t)}typeof n.first_touch_at==`string`&&Number.isFinite(Date.parse(n.first_touch_at))&&(r.first_touch_at=n.first_touch_at),typeof n.conversion_id==`
3string`&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(n.conversion_id)&&(r.conversion_id=n.conversion_id),(n.capture_surface===`marketing`||n.capture_surface===`app`)&&(r.capture_surface=n.capture_surface);let i=n.click_ids;if(i&&typeof i==`object`){let e={};for(let t of Br){let n=i[t];typeof n==`string`&&n&&(e[t]=n)}Object.keys(e).length>0&&(r.click_ids=e)}return Object.keys(r).length>0?r:null}catch{return null}},ni=new Set,ri=`recorded`,ii=(e,t)=>{if(typeof window>`u`||!e?.id)return;let n=`${Rr}${e.id}`,r=e=>{Me({provider:t.provider,entryPoint:t.entryPoint,destinationCategory:t.destinationCategory,conversionDedupId:e})},i=Ur(n);if(i===ri){if(!Pe()||ni.has(n))return;ni.add(n),Wr(n,`true`),r(ti()?.conversion_id);return}if(ni.has(n)||i)return;ni.add(n);let a=ti();w.recordSignupAttribution(a).then(e=>{if(e===`ineligible`){ni.delete(n),console.warn(`[signup] attribution refused: account outside the new-account window; sign_up not counted`);return}if(e===`duplicate`){Wr(n,`true`);return}if(!Pe()){ni.delete(n),Wr(n,ri);return}Wr(n,`true`),r(a?.conversion_id)}).catch(e=>{ni.delete(n),console.warn(`[signup] could not record attribution; sign_up not counted`,e)})},ai=async e=>{try{let t=(await w.getSession())?.user??null,n=$r(t);return n&&t&&ii(t,e),n}catch(e){return console.warn(`[signup] could not evaluate new-account state`,e),!1}},oi=(0,U.createContext)({trackEvent:()=>{},trackPageView:()=>{},getUtmParams:()=>({}),hasConsent:!1}),si=()=>(Fe(),null),ci=({children:e,enablePageTracking:t=!1})=>{let[n,r]=(0,U.useState)(!1);(0,U.useEffect)(()=>{let e=R.hasAnalyticsConsent();return R.setDefaultConsent(),e&&R.initializeTracking(je.measurementId),r(e),e&&ei(`app`),R.setupConsentListener(e=>{e?(R.updateConsent(!0),R.initializeTracking(je.measurementId),console.log(`Analytics initialized after consent given`),ei()):(R.removeTracking(),R.clearUtmParams(),Zr()),r(e)})},[]);let i={trackEvent:(e,t)=>{n&&R.trackEvent(e,{...je.defaultEventParams,...t})},trackPageView:(e,t)=>{n&&R.trackPageView(e,t)},getUtmParams:()=>n?R.getStoredUtmParams():{},hasConsent:n};return(0,W.jsxs)(oi.Provider,{value:i,children:[t&&n&&(0,W.jsx)(si,{}),e]})},li=()=>(0,U.useContext)(oi),ui=()=>{window.va||(window.va=function(...e){window.vaq||(window.vaq=[]),window.vaq.push(e)})},di=`@vercel/analytics`,fi=`2.0.1`;function pi(){return typeof window<`u`}function mi(){return`production`}function hi(e=`auto`){if(e===`auto`){window.vam=mi();return}window.vam=e}function gi(){return(pi()?window.vam:mi())||`production`}function _i(){return gi()===`development`}function vi(e){return e.scriptSrc?bi(e.scriptSrc):_i()?`https://va.vercel-scripts.com/v1/script.debug.js`:e.basePath?bi(`${e.basePath}/insights/script.js`):`/_vercel/insights/script.js`}function yi(e,t){let n=e;if(t)try{n={...JSON.parse(t)?.analytics,...e}}catch{}hi(n.mode);let r={sdkn:di+(n.framework?`/${n.framework}`:``),sdkv:fi};return n.disableAutoTrack&&(r.disableAutoTrack=`1`),n.viewEndpoint&&(r.viewEndpoint=bi(n.viewEndpoint)),n.eventEndpoint&&(r.eventEndpoint=bi(n.eventEndpoint)),n.sessionEndpoint&&(r.sessionEndpoint=bi(n.sessionEndpoint)),_i()&&n.debug===!1&&(r.debug=`false`),n.dsn&&(r.dsn=n.dsn),n.endpoint?r.endpoint=n.endpoint:n.basePath&&(r.endpoint=bi(`${n.basePath}/insights`)),{beforeSend:n.beforeSend,src:vi(n),dataset:r}}function bi(e){return e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)?e:`/${e}`}function xi(e={debug:!0},t){var n;if(!pi())return;let{beforeSend:r,src:i,dataset:a}=yi(e,t);if(ui(),r&&((n=window.va)==null||n.call(window,`beforeSend`,r)),document.head.querySelector(`script[src*="${i}"]`))return;let o=document.createElement(`script`);o.src=i;for(let[e,t]of Object.entries(a))o.dataset[e]=t;o.defer=!0,o.onerror=()=>{let e=_i()?`Please check if any ad blockers are enabled and try again.`:`Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.`;console.log(`[Vercel Web Analytics] Failed to load script from ${i}. ${e}`)},document.head.appendChild(o)}function Si({route:e,path:t}){var n;(n=window.va)==null||n.call(window,`pageview`,{route:e,path:t})}function Ci(){if(!(typeof process>`u`))return{}.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}function wi(){if(!(typeof process>`u`))return{}.REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG}function Ti(e){return(0,U.useEffect)(()=>{var t;e.beforeSend&&((t=window.va)==null||t.call(window,`beforeSend`,e.beforeSend))},[e.beforeSend]),(0,U.useEffect)(()=>{xi({framework:e.framework||`react`,basePath:e.basePath??Ci(),...e.route!==void 0&&{disableAutoTrack:!0},...e}
3,e.configString??wi())},[]),(0,U.useEffect)(()=>{e.route&&e.path&&Si({route:e.route,path:e.path})},[e.route,e.path]),null}var Ei=` 4 *, 5 sender:profiles!notifications_sender_profile_fkey(user_id, username, avatar_url), 6 game:games!notifications_game_id_fkey(id, title, thumbnail_url, short_code) 7`,Di=`*`;async function Oi(e){let t=e;if(t.sender_user_id){let{data:e}=await C.from(`profiles`).select(`user_id, username, avatar_url`).eq(`user_id`,t.sender_user_id).single();e&&(t.sender=e)}if(t.game_id){let{data:e}=await C.from(`games`).select(`id, title, thumbnail_url, short_code`).eq(`id`,t.game_id).single();e&&(t.game=e)}return t}var ki={new_follower:!0,game_like:!0,game_comment:!0,comment_reply:!0,chat_mention:!0};async function Ai(){let{data:e,error:t}=await C.auth.getUser();if(t||!e?.user)throw Error(`Not authenticated`);let{data:n,error:r}=await C.from(`profiles`).select(`notification_prefs`).eq(`user_id`,e.user.id).single();if(r)throw r;return{...ki,...n?.notification_prefs??{}}}async function ji(e){let{data:t,error:n}=await C.auth.getUser();if(n||!t?.user)throw Error(`Not authenticated`);let{error:r}=await C.from(`profiles`).update({notification_prefs:e}).eq(`user_id`,t.user.id);if(r)throw r}async function Mi(e=50,t=0){let{data:n,error:r}=await C.auth.getUser();if(r||!n?.user)throw Error(`Not authenticated`);let{data:i,error:a}=await C.from(`notifications`).select(Ei).eq(`recipient_user_id`,n.user.id).order(`created_at`,{ascending:!1}).range(t,t+e-1);if(!a&&i)return i.map(e=>({...e,sender:e.sender||void 0,game:e.game||void 0}));console.warn(`Notification FK join failed, using fallback queries:`,a?.message);let{data:o,error:s}=await C.from(`notifications`).select(Di).eq(`recipient_user_id`,n.user.id).order(`created_at`,{ascending:!1}).range(t,t+e-1);if(s)throw s;return Promise.all((o||[]).map(Oi))}async function Ni(){let{data:e,error:t}=await C.auth.getUser();if(t||!e?.user)return 0;let{count:n,error:r}=await C.from(`notifications`).select(`*`,{count:`exact`,head:!0}).eq(`recipient_user_id`,e.user.id).eq(`is_read`,!1);if(r)throw r;return n||0}async function Pi(e){let{data:t,error:n}=await C.auth.getUser();if(n||!t?.user)throw Error(`Not authenticated`);let{error:r}=await C.from(`notifications`).update({is_read:!0}).eq(`id`,e).eq(`recipient_user_id`,t.user.id);if(r)throw r}async function Fi(){let{data:e,error:t}=await C.auth.getUser();if(t||!e?.user)throw Error(`Not authenticated`);let{error:n}=await C.from(`notifications`).update({is_read:!0}).eq(`recipient_user_id`,e.user.id).eq(`is_read`,!1);if(n)throw n}async function Ii(e){let{data:t,error:n}=await C.auth.getUser();if(n||!t?.user)throw Error(`Not authenticated`);let{error:r}=await C.from(`notifications`).delete().eq(`id`,e).eq(`recipient_user_id`,t.user.id);if(r)throw r}function Li(e,t){let n=C.channel(`notifications:${e}`).on(`postgres_changes`,{event:`INSERT`,schema:`public`,table:`notifications`,filter:`recipient_user_id=eq.${e}`},async e=>{let{data:n,error:r}=await C.from(`notifications`).select(Ei).eq(`id`,e.new.id).single();if(!r&&n){t({...n,sender:n.sender||void 0,game:n.game||void 0});return}console.warn(`Realtime notification FK join failed, using fallback:`,r?.message);let{data:i,error:a}=await C.from(`notifications`).select(Di).eq(`id`,e.new.id).single();if(a||!i){console.error(`Failed to fetch notification even without joins:`,a?.message);return}t(await Oi(i))}).subscribe();return()=>{C.removeChannel(n)}}function Ri(e,t){return t?e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``)):e}function zi(e,t){let n=t??((e,t,n)=>Ri(t,n)),r=e.sender?.username||n(`notifications.someone`,`Someone`),i=e.game?.title||n(`notifications.aGame`,`a game`);switch(e.type){case`new_follower`:return n(`notifications.msgNewFollower`,`{{name}} started following you`,{name:r});case`game_like`:return n(`notifications.msgGameLike`,`{{name}} liked your game "{{game}}"`,{name:r,game:i});case`game_comment`:return n(`notifications.msgGameComment`,`{{name}} commented on your game "{{game}}"`,{name:r,game:i});case`comment_reply`:return n(`notifications.msgCommentReply`,`{{name}} replied to your comment`,{name:r});case`collab_invite`:return n(`notifications.msgCollabInvite`,`{{name}} invited you to collaborate on a project`,{name:r});case`chat_mention`:return n(`notifications.msgChatMention`,`{{name}} mentioned you in chat`,{name:r});default:return n(`notifications.msgDefault`,`You have a new notification`)}}function Bi(e){switch(e.type){case`new_follower`:return`/profile/${e.sender_user_id}`;case`game_like`:case`game_comment`:case`comment_reply`:return e.game?.short_code?`/play?g=${e.game.short_code}`:e.game_id?`/play?g=${e.game_id}`:`/`;case`collab_invite`:{let t=e.room_id||e.metadata?.session_id;return t?`/creating?session=${t}`:`/`}case`chat_mention`:{let t=e.room_id||e.metadata?.session_id;return t?`/creating?session=${t}`:`/`}default:return`/`}}var Vi=(0,U.createContext)(void 0);function Hi({children:e}){let{user:t,isAuthenticated:n}=Sr(),[r,i]=(0,U.useState)([]),[a,o]=(0,U.useState)(0),[s,c]=(0,U.useState)(!1),l=(0,U.useCallback)(async()=>
7{if(n){c(!0);try{let[e,t]=await Promise.all([Mi(50,0),Ni()]);i(e),o(t)}catch(e){console.error(`Error fetching notifications:`,e)}finally{c(!1)}}},[n]);(0,U.useEffect)(()=>{n?l():(i([]),o(0))},[n,l]),(0,U.useEffect)(()=>{if(t?.id)return Li(t.id,e=>{i(t=>[e,...t]),e.is_read||o(e=>e+1)})},[t?.id]);let u=(0,U.useCallback)(async e=>{try{await Pi(e),i(t=>t.map(t=>t.id===e?{...t,is_read:!0}:t)),o(e=>Math.max(0,e-1))}catch(e){console.error(`Error marking notification as read:`,e)}},[]),d=(0,U.useCallback)(async()=>{try{await Fi(),i(e=>e.map(e=>({...e,is_read:!0}))),o(0)}catch(e){console.error(`Error marking all notifications as read:`,e)}},[]),f=(0,U.useCallback)(async e=>{try{let t=r.find(t=>t.id===e);await Ii(e),i(t=>t.filter(t=>t.id!==e)),t&&!t.is_read&&o(e=>Math.max(0,e-1))}catch(e){console.error(`Error removing notification:`,e)}},[r]),p=(0,U.useCallback)(()=>{i([]),o(0)},[]);return(0,W.jsx)(Vi.Provider,{value:{notifications:r,unreadCount:a,loading:s,fetchNotifications:l,markAsRead:u,markAllAsRead:d,removeNotification:f,clearNotifications:p},children:e})}function Ui(){let e=(0,U.useContext)(Vi);if(!e)throw Error(`useNotifications must be used within a NotificationProvider`);return e}var Wi=t(((e,t)=>{var n=typeof Element<`u`,r=typeof Map==`function`,i=typeof Set==`function`,a=typeof ArrayBuffer==`function`&&!!ArrayBuffer.isView;function o(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;var s,c,l;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(!o(e[c],t[c]))return!1;return!0}var u;if(r&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!o(c.value[1],t.get(c.value[0])))return!1;return!0}if(i&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(e[c]!==t[c])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf==`function`&&typeof t.valueOf==`function`)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString==`function`&&typeof t.toString==`function`)return e.toString()===t.toString();if(l=Object.keys(e),s=l.length,s!==Object.keys(t).length)return!1;for(c=s;c--!==0;)if(!Object.prototype.hasOwnProperty.call(t,l[c]))return!1;if(n&&e instanceof Element)return!1;for(c=s;c--!==0;)if(!((l[c]===`_owner`||l[c]===`__v`||l[c]===`__o`)&&e.$$typeof)&&!o(e[l[c]],t[l[c]]))return!1;return!0}return e!==e&&t!==t}t.exports=function(e,t){try{return o(e,t)}catch(e){if((e.message||``).match(/stack|recursion/i))return console.warn(`react-fast-compare cannot handle circular refs`),!1;throw e}}})),Gi=t(((e,t)=>{t.exports=function(e,t,n,r,i,a,o,s){if(!e){var c;if(t===void 0)c=Error(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var l=[n,r,i,a,o,s],u=0;c=Error(t.replace(/%s/g,function(){return l[u++]})),c.name=`Invariant Violation`}throw c.framesToPop=1,c}}})),Ki=t(((e,t)=>{t.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var l=a[c];if(!s(l))return!1;var u=e[l],d=t[l];if(i=n?n.call(r,u,d,l):void 0,i===!1||i===void 0&&u!==d)return!1}return!0}})),qi=e(Wi()),Ji=e(Gi()),Yi=e(Ki()),Xi=(e=>(e.BASE=`base`,e.BODY=`body`,e.HEAD=`head`,e.HTML=`html`,e.LINK=`link`,e.META=`meta`,e.NOSCRIPT=`noscript`,e.SCRIPT=`script`,e.STYLE=`style`,e.TITLE=`title`,e.FRAGMENT=`Symbol(react.fragment)`,e))(Xi||{}),Zi={link:{rel:[`amphtml`,`canonical`,`alternate`]},script:{type:[`application/ld+json`]},meta:{charset:``,name:[`generator`,`robots`,`description`],property:[`og:type`,`og:title`,`og:url`,`og:image`,`og:image:alt`,`og:description`,`twitter:url`,`twitter:title`,`twitter:description`,`twitter:image`,`twitter:image:alt`,`twitter:card`,`twitter:site`]}}
7,Qi=Object.values(Xi),$i={accesskey:`accessKey`,charset:`charSet`,class:`className`,contenteditable:`contentEditable`,contextmenu:`contextMenu`,"http-equiv":`httpEquiv`,itemprop:`itemProp`,tabindex:`tabIndex`},ea=Object.entries($i).reduce((e,[t,n])=>(e[n]=t,e),{}),J=`data-rh`,ta={DEFAULT_TITLE:`defaultTitle`,DEFER:`defer`,ENCODE_SPECIAL_CHARACTERS:`encodeSpecialCharacters`,ON_CHANGE_CLIENT_STATE:`onChangeClientState`,TITLE_TEMPLATE:`titleTemplate`,PRIORITIZE_SEO_TAGS:`prioritizeSeoTags`},na=(e,t)=>{for(let n=e.length-1;n>=0;--n){let r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},ra=e=>{let t=na(e,`title`),n=na(e,ta.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join(``)),n&&t)return n.replace(/%s/g,()=>t);let r=na(e,ta.DEFAULT_TITLE);return t||r||void 0},ia=e=>na(e,ta.ON_CHANGE_CLIENT_STATE)||(()=>{}),aa=(e,t)=>t.filter(t=>t[e]!==void 0).map(t=>t[e]).reduce((e,t)=>({...e,...t}),{}),oa=(e,t)=>t.filter(e=>e.base!==void 0).map(e=>e.base).reverse().reduce((t,n)=>{if(!t.length){let r=Object.keys(n);for(let i=0;i<r.length;i+=1){let a=r[i].toLowerCase();if(e.indexOf(a)!==-1&&n[a])return t.concat(n)}}return t},[]),sa=e=>console&&typeof console.warn==`function`&&console.warn(e),ca=(e,t,n)=>{let r={};return n.filter(t=>Array.isArray(t[e])?!0:(t[e]!==void 0&&sa(`Helmet: ${e} should be of type "Array". Instead found type "${typeof t[e]}"`),!1)).map(t=>t[e]).reverse().reduce((e,n)=>{let i={};n.filter(e=>{let n,a=Object.keys(e);for(let r=0;r<a.length;r+=1){let i=a[r],o=i.toLowerCase();t.indexOf(o)!==-1&&!(n===`rel`&&e[n].toLowerCase()===`canonical`)&&!(o===`rel`&&e[o].toLowerCase()===`stylesheet`)&&(n=o),t.indexOf(i)!==-1&&(i===`innerHTML`||i===`cssText`||i===`itemprop`)&&(n=i)}if(!n||!e[n])return!1;let o=e[n].toLowerCase();return r[n]||(r[n]={}),i[n]||(i[n]={}),r[n][o]?!1:(i[n][o]=!0,!0)}).reverse().forEach(t=>e.push(t));let a=Object.keys(i);for(let e=0;e<a.length;e+=1){let t=a[e],n={...r[t],...i[t]};r[t]=n}return e},[]).reverse()},la=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},ua=e=>({baseTag:oa([`href`],e),bodyAttributes:aa(`bodyAttributes`,e),defer:na(e,ta.DEFER),encode:na(e,ta.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:aa(`htmlAttributes`,e),linkTags:ca(`link`,[`rel`,`href`],e),metaTags:ca(`meta`,[`name`,`charset`,`http-equiv`,`property`,`itemprop`],e),noscriptTags:ca(`noscript`,[`innerHTML`],e),onChangeClientState:ia(e),scriptTags:ca(`script`,[`src`,`innerHTML`],e),styleTags:ca(`style`,[`cssText`],e),title:ra(e),titleAttributes:aa(`titleAttributes`,e),prioritizeSeoTags:la(e,ta.PRIORITIZE_SEO_TAGS)}),da=e=>Array.isArray(e)?e.join(``):e,fa=(e,t)=>{let n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},pa=(e,t)=>Array.isArray(e)?e.reduce((e,n)=>(fa(n,t)?e.priority.push(n):e.default.push(n),e),{priority:[],default:[]}):{default:e,priority:[]},ma=(e,t)=>({...e,[t]:void 0}),ha=[`noscript`,`script`,`style`],ga=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),_a=e=>Object.keys(e).reduce((t,n)=>{let r=e[n]===void 0?`${n}`:`${n}="${e[n]}"`;return t?`${t} ${r}`:r},``),va=(e,t,n,r)=>{let i=_a(n),a=da(t);return i?`<${e} ${J}="true" ${i}>${ga(a,r)}</${e}>`:`<${e} ${J}="true">${ga(a,r)}</${e}>`},ya=(e,t,n=!0)=>t.reduce((t,r)=>{let i=r,a=Object.keys(i).filter(e=>!(e===`innerHTML`||e===`cssText`)).reduce((e,t)=>{let r=i[t]===void 0?t:`${t}="${ga(i[t],n)}"`;return e?`${e} ${r}`:r},``),o=i.innerHTML||i.cssText||``;return`${t}<${e} ${J}="true" ${a}${ha.indexOf(e)===-1?`/>`:`>${o}</${e}>`}`},``),ba=(e,t={})=>Object.keys(e).reduce((t,n)=>{let r=$i[n];return t[r||n]=e[n],t},t),xa=(e,t,n)=>{let r=ba(n,{key:t,[J]:!0});return[U.createElement(`title`,r,t)]},Sa=(e,t)=>t.map((t,n)=>{let r={key:n,[J]:!0};return Object.keys(t).forEach(e=>{let n=$i[e]||e;if(n===`innerHTML`||n===`cssText`){let e=t.innerHTML||t.cssText;r.dangerouslySetInnerHTML={__html:e}}else r[n]=t[e]}),U.createElement(e,r)}),Y=(e,t,n=!0)=>{switch(e){case`title`:return{toComponent:()=>xa(e,t.title,t.titleAttributes),toString:()=>va(e,t.title,t.titleAttributes,n)};case`bodyAttributes`:case`htmlAttributes`:return{toComponent:()=>ba(t),toString:()=>_a(t)};default:return{toComponent:()=>Sa(e,t),toString:()=>
7ya(e,t,n)}}},Ca=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{let i=pa(e,Zi.meta),a=pa(t,Zi.link),o=pa(n,Zi.script);return{priorityMethods:{toComponent:()=>[...Sa(`meta`,i.priority),...Sa(`link`,a.priority),...Sa(`script`,o.priority)],toString:()=>`${Y(`meta`,i.priority,r)} ${Y(`link`,a.priority,r)} ${Y(`script`,o.priority,r)}`},metaTags:i.default,linkTags:a.default,scriptTags:o.default}},wa=e=>{let{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:i,noscriptTags:a,styleTags:o,title:s=``,titleAttributes:c,prioritizeSeoTags:l}=e,{linkTags:u,metaTags:d,scriptTags:f}=e,p={toComponent:()=>{},toString:()=>``};return l&&({priorityMethods:p,linkTags:u,metaTags:d,scriptTags:f}=Ca(e)),{priority:p,base:Y(`base`,t,r),bodyAttributes:Y(`bodyAttributes`,n,r),htmlAttributes:Y(`htmlAttributes`,i,r),link:Y(`link`,u,r),meta:Y(`meta`,d,r),noscript:Y(`noscript`,a,r),script:Y(`script`,f,r),style:Y(`style`,o,r),title:Y(`title`,{title:s,titleAttributes:c},r)}},Ta=[],Ea=!!(typeof window<`u`&&window.document&&window.document.createElement),Da=class{instances=[];canUseDOM=Ea;context;value={setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Ta:this.instances,add:e=>{(this.canUseDOM?Ta:this.instances).push(e)},remove:e=>{let t=(this.canUseDOM?Ta:this.instances).indexOf(e);(this.canUseDOM?Ta:this.instances).splice(t,1)}}};constructor(e,t){this.context=e,this.canUseDOM=t||!1,t||(e.helmet=wa({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:``,titleAttributes:{}}))}},Oa=U.createContext({}),ka=class e extends U.Component{static canUseDOM=Ea;helmetData;constructor(t){super(t),this.helmetData=new Da(this.props.context||{},e.canUseDOM)}render(){return U.createElement(Oa.Provider,{value:this.helmetData.value},this.props.children)}},Aa=(e,t)=>{let n=document.head||document.querySelector(`head`),r=n.querySelectorAll(`${e}[${J}]`),i=[].slice.call(r),a=[],o;return t&&t.length&&t.forEach(t=>{let n=document.createElement(e);for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e))if(e===`innerHTML`)n.innerHTML=t.innerHTML;else if(e===`cssText`)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{let r=e,i=t[r]===void 0?``:t[r];n.setAttribute(e,i)}n.setAttribute(J,`true`),i.some((e,t)=>(o=t,n.isEqualNode(e)))?i.splice(o,1):a.push(n)}
7),i.forEach(e=>e.parentNode?.removeChild(e)),a.forEach(e=>n.appendChild(e)),{oldTags:i,newTags:a}},ja=(e,t)=>{let n=document.getElementsByTagName(e)[0];if(!n)return;let r=n.getAttribute(J),i=r?r.split(`,`):[],a=[...i],o=Object.keys(t);for(let e of o){let r=t[e]||``;n.getAttribute(e)!==r&&n.setAttribute(e,r),i.indexOf(e)===-1&&i.push(e);let o=a.indexOf(e);o!==-1&&a.splice(o,1)}for(let e=a.length-1;e>=0;--e)n.removeAttribute(a[e]);i.length===a.length?n.removeAttribute(J):n.getAttribute(J)!==o.join(`,`)&&n.setAttribute(J,o.join(`,`))},Ma=(e,t)=>{e!==void 0&&document.title!==e&&(document.title=da(e)),ja(`title`,t)},Na=(e,t)=>{let{baseTag:n,bodyAttributes:r,htmlAttributes:i,linkTags:a,metaTags:o,noscriptTags:s,onChangeClientState:c,scriptTags:l,styleTags:u,title:d,titleAttributes:f}=e;ja(`body`,r),ja(`html`,i),Ma(d,f);let p={baseTag:Aa(`base`,n),linkTags:Aa(`link`,a),metaTags:Aa(`meta`,o),noscriptTags:Aa(`noscript`,s),scriptTags:Aa(`script`,l),styleTags:Aa(`style`,u)},m={},h={};Object.keys(p).forEach(e=>{let{newTags:t,oldTags:n}=p[e];t.length&&(m[e]=t),n.length&&(h[e]=p[e].oldTags)}),t&&t(),c(e,m,h)},Pa=null,Fa=e=>{Pa&&cancelAnimationFrame(Pa),e.defer?Pa=requestAnimationFrame(()=>{Na(e,()=>{Pa=null})}):(Na(e),Pa=null)},Ia=class extends U.Component{rendered=!1;shouldComponentUpdate(e){return!(0,Yi.default)(e,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){let{helmetInstances:e}=this.props.context;e.remove(this),this.emitChange()}emitChange(){let{helmetInstances:e,setHelmet:t}=this.props.context,n=null,r=ua(e.get().map(e=>{let t={...e.props};return delete t.context,t}));ka.canUseDOM?Fa(r):wa&&(n=wa(r)),t(n)}init(){if(this.rendered)return;this.rendered=!0;let{helmetInstances:e}=this.props.context;e.add(this),this.emitChange()}render(){return this.init(),null}},La=class extends U.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(e){return!(0,qi.default)(ma(this.props,`helmetData`),ma(e,`helmetData`))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case`script`:case`noscript`:return{innerHTML:t};case`style`:return{cssText:t};default:throw Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case`title`:return{...t,[e.type]:r,titleAttributes:{...n}};case`body`:return{...t,bodyAttributes:{...n}};case`html`:return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(t=>{n={...n,[t]:e[t]}}),n}warnOnInvalidChildren(e,t){return(0,Ji.default)(Qi.some(t=>e.type===t),typeof e.type==`function`?`You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.`:`Only elements types ${Qi.join(`, `)} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),(0,Ji.default)(!t||typeof t==`string`||Array.isArray(t)&&!t.some(e=>typeof e!=`string`),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return U.Children.forEach(e,e=>{if(!e||!e.props)return;let{children:r,...i}=e.props,a=Object.keys(i).reduce((e,t)=>(e[ea[t]||t]=i[t],e),{}),{type:o}=e;
7switch(typeof o==`symbol`?o=o.toString():this.warnOnInvalidChildren(e,r),o){case`Symbol(react.fragment)`:t=this.mapChildrenToProps(r,t);break;case`link`:case`meta`:case`noscript`:case`script`:case`style`:n=this.flattenArrayTypeChildren(e,n,a,r);break;default:t=this.mapObjectTypeChildren(e,t,a,r);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){let{children:e,...t}=this.props,n={...t},{helmetData:r}=t;return e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof Da)&&(r=new Da(r.context,!0),delete n.helmetData),r?U.createElement(Ia,{...n,context:r.value}):U.createElement(Oa.Consumer,null,e=>U.createElement(Ia,{...n,context:e}))}},Ra=`direct_or_unknown`;function za(e){let t=e?.trim().toLowerCase();return t&&/^[a-z0-9][a-z0-9_-]{0,63}$/.test(t)?t:Ra}function Ba(e,t){let n=new URLSearchParams({g:e.shortCode||e._id||e.id||``});return t&&n.set(`game_source`,za(t)),`/play?${n.toString()}`}function Va(e){return za(e.get(`game_source`))}var Ha=(e,t)=>Ba(e,t),Ua=e=>[e,`both`],Wa=async e=>{let{data:t,error:n}=await C.from(`games`).select(`id,title,description,thumbnail_url,short_code,published_at`).eq(`creator_id`,e).eq(`status`,`published`).eq(`visibility`,`public`).eq(`is_placeholder`,!1).order(`published_at`,{ascending:!1,nullsFirst:!1});if(n)throw n;return(t||[]).map(e=>({id:e.id,title:e.title,description:e.description,thumbnail:Be(e.thumbnail_url),shortCode:e.short_code,publishedAt:e.published_at}))},Ga=async(e=`all`,t,n)=>{let r=C.from(`games`).select(` 8 id, 9 title, 10 description, 11 thumbnail_url, 12 preview_video_url, 13 game_content_url, 14 session_id, 15 short_code, 16 visibility, 17 creator_id, 18 like_count, 19 comment_count, 20 view_count, 21 tags, 22 status, 23 is_live, 24 is_placeholder, 25 platform_compat, 26 created_at, 27 published_at 28 `).eq(`status`,`published`).eq(`visibility`,`public`);n&&(r=r.in(`platform_compat`,Ua(n))),e!==`all`&&(r=r.contains(`tags`,[e])),r=t===`trending`?r.eq(`is_placeholder`,!1).order(`view_count`,{ascending:!1}).limit(8):t===`new`?r.eq(`is_placeholder`,!1).order(`published_at`,{ascending:!1,nullsFirst:!1}).order(`created_at`,{ascending:!1}).limit(16):r.order(`is_placeholder`,{ascending:!0}).order(`created_at`,{ascending:!1});let{data:i,error:a}=await r;if(a)throw a;let o=i||[],s=await He(o.map(e=>e.creator_id)),c=Object.fromEntries(Object.entries(s).map(([e,t])=>[e,{name:t.username||`Unknown`,avatar:Re(t.avatar_url)}]));return{games:o.map(e=>({_id:e.id,title:e.title,description:e.description,thumbnail:e.thumbnail_url,previewVideo:e.preview_video_url,creatorId:e.creator_id,creator:c[e.creator_id]||{name:`Unknown`,avatar:void 0},likes:e.like_count,comments:e.comment_count,views:e.view_count,category:e.tags?.[0]||`other`,isLive:e.is_live,isPlaceholder:e.is_placeholder??!1,createdAt:e.created_at,publishedAt:e.published_at,gameContentUrl:e.game_content_url,shortCode:e.short_code,platformCompat:e.platform_compat}))}},Ka=()=>new Promise(e=>{setTimeout(()=>{e({categories:[{id:`all`,name:`All Games`},{id:`action`,name:`Action`},{id:`rpg`,name:`RPG`},{id:`puzzle`,name:`Puzzle`},{id:`racing`,name:`Racing`},{id:`strategy`,name:`Strategy`}]})},500)}),qa=async e=>{let{data:t,error:n}=await C.from(`games`).select(` 29 id, 30 title, 31 description, 32 thumbnail_url, 33 preview_video_url, 34 game_content_url, 35 session_id, 36 short_code, 37 visibility, 38 creator_id, 39 like_count, 40 comment_count, 41 view_count, 42 tags, 43 status, 44 is_live, 45 is_placeholder, 46 platform_compat, 47 created_at, 48 published_at 49 `).eq(`id`,e).maybeSingle();if(n)throw n;if(!t)throw Error(`Game not found`);let r={name:`Unknown`,avatar:void 0,_id:t.creator_id};if(t.creator_id){let e=(await He([t.creator_id]))[t.creator_id];e&&(r={_id:e.user_id,name:e.username||`Unknown`,avatar:Re(e.avatar_url)})}return{game:{_id:t.id,title:t.title,description:t.description,thumbnail:t.thumbnail_url,previewVideo:t.preview_video_url,creatorId:t.creator_id,creator:r,likes:t.like_count,comments:t.comment_count,views:t.view_count,category:t.tags?.[0]||`other`,isLive:t.is_live,isPlaceholder:t.is_placeholder??!1,createdAt:t.created_at,gameContentUrl:t.game_content_url,sessionId:t.session_id,shortCode:t.short_code,publishedAt:t.published_at,platformCompat:t.platform_compat}}},Ja=async e=>{let{data:t,error:n}=await C.from(`games`).select(` 50 id, 51 title, 52 description, 53 thumbnail_url, 54 preview_video_url, 55 game_content_url, 56 session_id, 57 short_code, 58 visibility, 59 creator_id, 60 like_count, 61 comment_count, 62 view_count, 63 tags, 64 status, 65 is_live, 66 is_placeholder, 67 platform_compat, 68 created_at, 69 published_at 70 `).eq(`short_code`,e).maybeSingle();if(n)throw n;if(!t)throw Error(`Game not found`);let r={name:`Unknown`,avatar:void 0,_id:t.creator_id};if(t.creator_id){let e=(await He([t.creator_id]))[t.creator_id];e&&(r={_id:e.user_id,name:e.username||`Unknown`,avatar:Re(e.avatar_url)})}
70return{game:{_id:t.id,title:t.title,description:t.description,thumbnail:t.thumbnail_url,previewVideo:t.preview_video_url,creatorId:t.creator_id,creator:r,likes:t.like_count,comments:t.comment_count,views:t.view_count,category:t.tags?.[0]||`other`,isLive:t.is_live,isPlaceholder:t.is_placeholder??!1,createdAt:t.created_at,gameContentUrl:t.game_content_url,sessionId:t.session_id,shortCode:t.short_code,publishedAt:t.published_at,platformCompat:t.platform_compat}}},Ya=async e=>{try{return await Ja(e)}catch{return await qa(e)}},Xa=async e=>{let{data:t,error:n}=await C.from(`comments`).select(` 71 id, 72 user_id, 73 game_id, 74 parent_comment_id, 75 content, 76 like_count, 77 created_at 78 `).eq(`game_id`,e).order(`created_at`,{ascending:!1});if(n)throw n;let r=Array.from(new Set((t||[]).map(e=>e.user_id))),i={};if(r.length>0){let{data:e,error:t}=await C.from(`profiles`).select(`user_id,username,avatar_url`).in(`user_id`,r);!t&&e&&(i=Object.fromEntries(e.map(e=>[e.user_id,{name:e.username||`Unknown`,avatar:Re(e.avatar_url)}])))}let a=(t||[]).map(e=>({_id:e.id,user:{_id:e.user_id,...i[e.user_id]||{name:`Unknown`,avatar:void 0}},text:e.content,likes:e.like_count,replies:0,createdAt:e.created_at,parentCommentId:e.parent_comment_id||null,children:[]})),o=Object.fromEntries(a.map(e=>[e._id,e])),s=[];for(let e of a)e.parentCommentId&&o[e.parentCommentId]?o[e.parentCommentId].children.push(e):s.push(e);for(let e of a)e.children.sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),e.replies=e.children.length;return{comments:s}},Za=async(e,t)=>{let{data:n,error:r}=await C.from(`games`).select(`tags`).eq(`id`,e).maybeSingle();if(r)throw r;let i=n?.tags||[],a=C.from(`games`).select(` 79 id, 80 title, 81 short_code, 82 thumbnail_url, 83 view_count, 84 creator_id, 85 platform_compat 86 `).neq(`id`,e).eq(`status`,`published`).eq(`visibility`,`public`).limit(3).order(`created_at`,{ascending:!1});t&&(a=a.in(`platform_compat`,Ua(t))),i.length>0&&(a=a.overlaps(`tags`,i));let{data:o,error:s}=await a;if(s)throw s;let c=await He((o||[]).map(e=>e.creator_id)),l=Object.fromEntries(Object.entries(c).map(([e,t])=>[e,{name:t.username||`Unknown`,avatar:Re(t.avatar_url)}]));return{games:(o||[]).map(e=>({_id:e.id,title:e.title,shortCode:e.short_code,thumbnail:e.thumbnail_url,creator:l[e.creator_id]||{name:`Unknown`,avatar:void 0},views:e.view_count}))}};function Qa(e){return e.replace(/[\\,.()]/g,e=>`\\${e}`)}var $a=async(e,t=100,n)=>{if(!e||e.trim()===``)return{games:[],creators:[]};let r=Qa(e.trim());if(!r)return{games:[],creators:[]};let i=C.from(`games`).select(` 87 id, 88 title, 89 description, 90 thumbnail_url, 91 short_code, 92 creator_id, 93 like_count, 94 comment_count, 95 view_count, 96 tags, 97 status, 98 is_live, 99 is_placeholder, 100 platform_compat, 101 created_at 102 `).or(`title.ilike.%${r}%,description.ilike.%${r}%`).eq(`status`,`published`).eq(`visibility`,`public`);n&&(i=i.in(`platform_compat`,Ua(n)));let{data:a,error:o}=await i.order(`is_placeholder`,{ascending:!0}).limit(t);if(o)throw console.error(`Game search error:`,o),o;let{data:s,error:c}=await C.from(`profiles`).select(` 103 user_id, 104 username, 105 avatar_url, 106 bio 107 `).or(`username.ilike.%${r}%`).limit(t);if(c)throw console.error(`Creator search error:`,c),c;let l=await He((a||[]).map(e=>e.creator_id)),u=Object.fromEntries(Object.entries(l).map(([e,t])=>[e,{name:t.username||`Unknown`,avatar:Re(t.avatar_url)}]));return{games:(a||[]).map(e=>({_id:e.id,title:e.title,description:e.description,thumbnail:e.thumbnail_url,creatorId:e.creator_id,creator:u[e.creator_id]||{name:`Unknown`,avatar:void 0},likes:e.like_count,comments:e.comment_count,views:e.view_count,category:e.tags?.[0]||`other`,isLive:e.is_live,isPlaceholder:e.is_placeholder??!1,createdAt:e.created_at,shortCode:e.short_code})),creators:(s||[]).map(e=>({_id:e.user_id,name:e.username||`Unknown`,fullName:``,avatar:Re(e.avatar_url),bio:e.bio||``}))}},eo=`(max-width: 767px)`;function to(){let[e,t]=U.useState(()=>typeof window<`u`&&window.matchMedia(eo).matches);return U.useEffect(()=>{let e=window.matchMedia(eo),n=e=>t(e.matches);
107return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var no=`${eo}, (pointer: coarse) and (max-height: 500px)`;function ro(){let[e,t]=U.useState(()=>typeof window<`u`&&window.matchMedia(no).matches);return U.useEffect(()=>{let e=window.matchMedia(no),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var io=`(pointer: coarse)`;function ao(){return typeof window>`u`?`desktop`:typeof window.matchMedia==`function`?window.matchMedia(io).matches?`mobile`:`desktop`:(typeof navigator<`u`?navigator.maxTouchPoints??0:0)>0?`mobile`:`desktop`}function oo(){let[e,t]=U.useState(ao);return U.useEffect(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(io),n=()=>t(ao());return e.addEventListener(`change`,n),t(ao()),()=>e.removeEventListener(`change`,n)},[]),e}function so({className:e,...t}){return(0,W.jsx)(`div`,{className:x(`animate-pulse rounded-md bg-muted`,e),...t})}var co=Object.defineProperty,lo=(e,t)=>co(e,`name`,{value:t,configurable:!0}),uo=`horizontal`,fo=[`horizontal`,`vertical`],po=U.forwardRef(lo(function(e,t){let{decorative:n,orientation:r=uo,...i}=e,a=mo(r)?r:uo,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,W.jsx)(D.div,{"data-orientation":a,...o,...i,ref:t})},`Separator`));function mo(e){return fo.includes(e)}lo(mo,`isValidOrientation`);var ho=U.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,W.jsx)(po,{ref:i,decorative:n,orientation:t,className:x(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));ho.displayName=po.displayName;var go=({title:e=`Sandscape â Make Games Without Coding | Creative Game Studio`,description:t=`Sandscape is a creative studio for making games. Describe an idea, refine it with visual tools, or build every detail by handâthen play and share what you create.`,canonical:n=`https://sandscape.app`,ogType:r=`website`,ogImage:i=`https://sandscape.app/22980108-sandscape-ai-generative-game-en-1200x628.jpeg`,keywords:a=`AI game creator, make games with AI, AI game generator, create games without coding, mobile game maker, game creation platform`,noindex:o=!1,nofollow:s=!1})=>{let c=e.includes(`Sandscape`)?e:`Sandscape | ${e}`,l=[o?`noindex`:`index`,s?`nofollow`:`follow`].join(`, `);return(0,W.jsxs)(La,{children:[(0,W.jsx)(`title`,{children:c}),(0,W.jsx)(`meta`,{name:`description`,content:t}),(0,W.jsx)(`meta`,{name:`keywords`,content:a}),(0,W.jsx)(`meta`,{name:`robots`,content:l}),(0,W.jsx)(`link`,{rel:`canonical`,href:n}),(0,W.jsx)(`meta`,{property:`og:type`,content:r}),(0,W.jsx)(`meta`,{property:`og:url`,content:n}),(0,W.jsx)(`meta`,{property:`og:title`,content:c}),(0,W.jsx)(`meta`,{property:`og:description`,content:t}),(0,W.jsx)(`meta`,{property:`og:image`,content:i}),(0,W.jsx)(`meta`,{name:`twitter:card`,content:`summary_large_image`}),(0,W.jsx)(`meta`,{name:`twitter:url`,content:n}),(0,W.jsx)(`meta`,{name:`twitter:title`,content:c}),(0,W.jsx)(`meta`,{name:`twitter:description`,content:t}),(0,W.jsx)(`meta`,{name:`twitter:image`,content:i}),(0,W.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@graph":[{"@type":`Organization`,"@id":`https://sandscape.app/#organization`,name:`Sandscape`,alternateName:`Sandscape AI`,url:`https://sandscape.app`,logo:{"@type":`ImageObject`,url:`https://sandscape.app/Sandscape_Logo_White_Large.png`},description:`Sandscape is a creative studio for making games â describe an idea, refine it with visual tools, or build every detail by hand, then play and share what you create.`,sameAs:[`https://x.com/sandscape_app`,`https://www.youtube.com/@sandscape_app`,`https://sandscape.app/blog`]},{"@type":`WebSite`,"@id":`https://sandscape.app/#website`,url:`https://sandscape.app`,name:`Sandscape`,description:`A creative studio for making games â make games without coding, or build every detail by hand, then play and share what you create.`,publisher:{"@id":`https://sandscape.app/#organization`}}
107,{"@type":`SoftwareApplication`,name:`Sandscape`,applicationCategory:`GameApplication`,operatingSystem:`Web, iOS, Android`,description:`A creative studio for making games â turn an idea into a playable game, no coding required to start.`,offers:{"@type":`Offer`,price:`0`,priceCurrency:`USD`}}]})})]})},_o=U.createContext(null),vo=0;function yo(){let e=`(hover: none), (max-width: 767px)`,[t,n]=U.useState(()=>typeof window<`u`&&window.matchMedia(e).matches);return U.useEffect(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return t.addEventListener(`change`,r),n(t.matches),()=>t.removeEventListener(`change`,r)},[]),t}function bo(e,t){if(e.height===0)return 0;let n=Math.min(e.bottom,t)-Math.max(e.top,0);return Math.max(0,n)/e.height}var xo=8,So=new Set,Co=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function wo({children:e}){let t=yo(),[n,r]=U.useState(So),i=U.useRef(new Map),a=U.useRef(null),o=U.useRef(t);o.current=t;let s=U.useCallback(()=>{if(!o.current){r(e=>e.size?So:e);return}let e=window.innerHeight,t=window.innerWidth,n=e/2,a=[],s=null,c=1/0;i.current.forEach(({el:r,group:i},o)=>{let l=r.getBoundingClientRect();if(l.width===0||l.right<=0||l.left>=t||bo(l,e)<=vo)return;let u={id:o,group:i,top:l.top};a.push(u);let d=Math.abs(l.top+l.height/2-n);d<c&&(c=d,s=u)});let l=s;if(!l){r(e=>e.size?So:e);return}let u=new Set([l.id]);if(l.group===`grid`)for(let e of a)e.group===`grid`&&Math.abs(e.top-l.top)<=xo&&u.add(e.id);r(e=>Co(e,u)?e:u)},[]),c=U.useCallback(()=>{a.current===null&&(a.current=window.requestAnimationFrame(()=>{a.current=null,s()}))},[s]);U.useEffect(()=>{if(!t){r(e=>e.size?So:e);return}return window.addEventListener(`scroll`,c,{passive:!0,capture:!0}),window.addEventListener(`resize`,c),c(),()=>{window.removeEventListener(`scroll`,c,{capture:!0}),window.removeEventListener(`resize`,c),a.current!==null&&window.cancelAnimationFrame(a.current),a.current=null}},[t,c]);let l=U.useCallback((e,t,n)=>(t.dataset.cardId=e,i.current.set(e,{el:t,group:n}),c(),()=>{i.current.delete(e)}),[c]),u=U.useMemo(()=>({activeIds:n,register:l}),[n,l]);return(0,W.jsx)(_o.Provider,{value:u,children:e})}function To(e){let t=U.useId(),n=U.useContext(_o),r=n?.register,i=U.useRef(null),a=U.useCallback(n=>{i.current?.(),i.current=null,!(!n||!r)&&(i.current=r(t,n,e))},[t,r,e]);return{isActive:n?.activeIds.has(t)??!1,cardRef:a}}var Eo=15e3,Do=7e3;function Oo({slides:e,onCtaClick:t,onView:n}){let{t:r}=z(),[i,a]=(0,U.useState)(0),[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(!0),u=(0,U.useRef)(null),d=(0,U.useRef)(0),f=e.length,p=f>0?i%f:0,m=e[p],h=(0,U.useCallback)(()=>{a(e=>f>0?(e+1)%f:0)},[f]);(0,U.useEffect)(()=>{if(o||f===0)return;d.current=Date.now();let t=u.current;if(t&&(t.muted=c,t.play().catch(()=>{})),n?.(e[p]),f<=1)return;let r=window.setTimeout(h,Eo);return()=>window.clearTimeout(r)},[p,f,o]),(0,U.useEffect)(()=>{u.current&&(u.current.muted=c)},[c]);let g=()=>{if(f<=1)return;let e=Date.now()-d.current;e>=Do?h():window.setTimeout(h,Do-e)};if(o||f===0||!m)return null;let _=m.kind===`game`?`object-[center_78%]`:`object-center`;return(0,W.jsx)(`div`,{className:`w-full mb-4 sm:mb-8 relative rounded-lg overflow-hidden shadow-lg`,children:(0,W.jsxs)(`div`,{className:`relative`,children:[(0,W.jsxs)(`video`,{ref:u,poster:m.poster,className:`w-full transition-all duration-500 ease-in-out aspect-[21/9] sm:aspect-[21/4.5] object-cover ${_}`,playsInline:!0,muted:c,autoPlay:!0,onEnded:g,children:[(0,W.jsx)(`source`,{src:m.video,type:m.video.endsWith(`.webm`)?`video/webm`:`video/mp4`}),m.videoMp4&&(0,W.jsx)(`source`,{src:m.videoMp4,type:`video/mp4`})]},m.key),(0,W.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black/80 via-black/30 to-black/10`}),(0,W.jsxs)(`div`,{className:`absolute inset-y-0 left-4 right-12 sm:left-8 sm:right-auto flex max-w-2xl flex-col items-start justify-center text-white`,children:[(0,W.jsx)(`h1`,{className:`text-2xl sm:text-3xl md:text-4xl font-bold mb-1 sm:mb-2 line-clamp-2`,children:m.title}),(0,W.jsx)(`p`,{className:`text-sm sm:text-lg md:text-xl mb-3 sm:mb-4 whitespace-pre-line line-clamp-3`,children:m.description}),(0,W.jsx)(P,{onClick:()=>t(m),size:`sm`,className:`bg-primary hover:bg-primary/90 text-white px-3 py-1 sm:px-6 sm:py-3`,children:m.cta})]}),(0,W.jsxs)(`div`,{className:`absolute top-2 sm:top-4 right-2 sm:right-4 flex gap-1 sm:gap-2`,children:[(0,W.jsx)(`button`,{onClick:()=>l(e=>!e),className:`bg-background/20 hover:bg-background/40 rounded-full p-1 sm:p-2 transition-colors`,"aria-label":c?r(`bannerCarousel.unmute`,`Unmute`):r(`bannerCarousel.mute`,`Mute`),children:c?(0,W.jsx)(ye,{className:`h-4 w-4 sm:h-5 sm:w-5 text-white`}):(0,W.jsx)(he,{className:`h-4 w-4 sm:h-5 sm:w-5 text-white`})}),(0,W.jsx)(`button`,{onClick:()=>s(!0),className:`bg-background/20 hover:bg-background/40 rounded-full p-1 sm:p-2 transition-colors`,"aria-label":r(`bannerCarousel.closeBanner`,`Close banner`),children:(0,W.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`sm:w-5 sm:h-5`,children:(0,W.jsx)(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`white`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),f>1&&(0,W.jsx)(`div`,{className:`absolute bottom-3 sm:bottom-4 left-1/2 -translate-x-1/2 flex gap-1.5 sm:gap-2 z-20`,children:e.map((e,t)=>(0,W.jsx)(`button`,{onClick:()=>a(t),"aria-label":r(`bannerCarousel.showBanner`,`Show banner {{number}}`,{number:t+1}),"aria-current":t===p,className:`h-1.5 rounded-full transition-all duration-300 ${t===p?`w-6 bg-white`:`w-1.5 bg-white/50 hover:bg-white/80`}`},e.key))})]})})}var ko=[{type:`custom`,id:`flumble`,video:`https://media.sandscape.app/banners/webm/flumble.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/flumble.mp4`,title:`Flumble`,description:`An infinite glide through weird, abstract worlds.`,cta:`Play`,href:`/play?g=Nc69P7Zq`},{type:`custom`,id:`zombie-blaster`,video:`https://media.sandscape.app/banners/webm/zombie-blaster.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/zombie-blaster.mp4`,title:`Zombie Blaster`,description:`Paint-gun FPS against neon-punk zombies.`,cta:`Join the Alpha`,href:`/alpha`},{type:`custom`,id:`voxel-craft`,video:`https://media.sandscape.app/banners/webm/voxel-craft.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/voxel-craft.mp4`,title:`Skybridge`,description:`Mine your way across floating islands.`,cta:`Play`,href:`/play?g=zbHLecKZ`},{type:`custom`,id:`pollinate`,video:`https://media.sandscape.app/banners/webm/pollinate.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/pollinate.mp4`,title:`Pollinate`,description:`A bee brings a frozen world back to bloom.`,cta:`Play`,href:`/play?g=nwIjTfm8`},{type:`custom`,id:`room-that-remembers`,video:`https://media.sandscape.app/banners/webm/room-that-remembers.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/room-that-remembers.mp4`,title:`Room That Remembers`,description:`Walk through rooms rebuilt from memory.`,cta:`Join the Alpha`,href:`/alpha`},{type:`custom`,id:`tools`,video:`https://media.sandscape.app/banners/webm/tools.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/tools.mp4`,poster:`https://media.sandscape.app/alpha/2026-07/video/tools-montage.webp`,title:`Sandscape`,description:`Build worlds from words. 108Sandscape turns your idea into a playable browser game you can refine with visual tools or code, then publish and share.`,cta:`Explore the Alpha`,href:`/alpha`},{type:`custom`,id:`rescape-beta`,video:`https://media.sandscape.app/banners/webm/rescape-beta.webm`,videoMp4:`https://media.sandscape.app/banners/mp4/rescape-beta.mp4`,title:`Rescape Beta`,description:`The next Sandscape, now in beta.`,cta:`Try the Beta`,href:`/v2`}];function Ao(e=4){if(e<=0)return[];let t=ko.find(e=>
108e.type===`custom`&&e.id===`tools`),n=ko.filter(e=>e!==t);for(let e=n.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return t?[t,...n.slice(0,e-1)]:n.slice(0,e)}var jo=[{id:`all`,name:`All Games`},{id:`action`,name:`Action`},{id:`rpg`,name:`RPG`},{id:`puzzle`,name:`Puzzle`},{id:`racing`,name:`Racing`},{id:`strategy`,name:`Strategy`}],Mo=ko.find(e=>e.type===`custom`&&e.id===`tools`);function No(e,t){return{key:e.id,kind:`custom`,video:e.video,videoMp4:e.videoMp4,poster:e.poster,title:String(t(`homeBanners.${e.id}.title`,e.title)),description:String(t(`homeBanners.${e.id}.description`,e.description)),cta:String(t(`homeBanners.${e.id}.cta`,e.cta)),href:e.href,analyticsId:e.id}}var Po=20,Fo=20,Io=80,Lo=8,Ro=(e,t)=>{switch(t){case`all`:return e(`categories.all`);case`action`:return e(`categories.action`);case`rpg`:return e(`categories.rpg`);case`puzzle`:return e(`categories.puzzle`);case`racing`:return e(`categories.racing`);case`strategy`:return e(`categories.strategy`);default:return t}};function zo(){return typeof window>`u`||window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?!1:navigator.connection?.saveData!==!0}function Bo({game:e,isFeatured:t=!1,group:n,onSelect:r}){let[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)(!1),c=(0,U.useRef)(null),{t:l,i18n:u}=z(),{isActive:d,cardRef:f}=To(n),p=ze(e.previewVideo),m=!!p,h=m&&(i||d)&&zo();(0,U.useEffect)(()=>{h&&!o&&s(!0)},[h,o]),(0,U.useEffect)(()=>{let e=c.current;e&&(h?e.play().catch(()=>{}):(e.pause(),e.currentTime=0))},[h,o]);let g=(0,U.useCallback)(t=>{if(e.translations&&e.translations.length>0){let n=u.language,r=e.translations.find(e=>e.language===n);if(r)return r[t]}return e[t]},[e,u.language])(`title`);return(0,W.jsxs)(`div`,{ref:f,className:`group cursor-pointer space-y-2`,onClick:()=>r(e._id,g,e.shortCode),onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[(0,W.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl shadow-sm ring-1 ring-black/[0.06] transition-all duration-200 group-hover:scale-105 group-hover:shadow-lg group-hover:ring-border dark:ring-white/10 motion-reduce:transform-none motion-reduce:transition-none`,children:[(0,W.jsx)(`img`,{src:Be(e.thumbnail),alt:g,loading:`lazy`,className:`w-full object-cover aspect-[16/9] rounded-xl`}),m&&o&&(0,W.jsx)(`video`,{ref:c,src:p,preload:`none`,muted:!0,loop:!0,playsInline:!0,className:`absolute inset-0 w-full h-full object-cover aspect-[16/9] rounded-xl transition-opacity duration-200 ${h?`opacity-100`:`opacity-0`}`}),e.isLive&&(0,W.jsxs)(`div`,{className:`absolute top-2 left-2 bg-red-500 text-white px-2 py-1 rounded-full flex items-center gap-1 text-xs`,children:[(0,W.jsx)(_e,{className:`h-3 w-3`}),l(`gameCard.live`)]}),e.isPlaceholder&&(0,W.jsxs)(`div`,{className:`absolute top-2 left-2 bg-black/70 text-white px-2 py-1 rounded-full flex items-center gap-1 text-xs`,children:[(0,W.jsx)(Ce,{className:`h-3 w-3`}),l(`gameCard.comingSoon`,`Coming soon`)]})]}),(0,W.jsxs)(`div`,{className:`space-y-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsxs)(Ge,{className:`h-6 w-6`,children:[(0,W.jsx)(We,{src:e.creator.avatar}),(0,W.jsx)(Ue,{children:e.creator.name[0]})]}),(0,W.jsx)(`h3`,{className:`font-semibold text-foreground line-clamp-1 ${t?`text-base`:`text-sm`}`,children:g})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2.5 sm:gap-3 text-xs text-muted-foreground`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1 whitespace-nowrap`,children:[(0,W.jsx)(pn,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),Ve(e.likes),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:l(`gameCard.likes`)}),(0,W.jsx)(`span`,{className:`sr-only sm:hidden`,children:l(`gameCard.likes`)})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-1 whitespace-nowrap`,children:[(0,W.jsx)(_n,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),Ve(e.comments),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:l(`gameCard.comments`)}),(0,W.jsx)(`span`,{className:`sr-only sm:hidden`,children:l(`gameCard.comments`)})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-1 whitespace-nowrap`,children:[(0,W.jsx)(un,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),Ve(e.views),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:l(`gameCard.views`)}),(0,W.jsx)(`span`,{className:`sr-only sm:hidden`,children:l(`gameCard.views`)})]})]})]})]})}function Vo(){let{t:e}=z(),{trackEvent:t}=li(),[n,r]=(0,U.useState)(!0),[i,a]=(0,U.useState)([]),[o,c]=(0,U.useState)([]),[l,u]=(0,U.useState)([]),[d,f]=(0,U.useState)(jo),[p,m]=(0,U.useState)(`all`),[h,g]=(0,U.useState)(()=>Mo?[No(Mo,e)]:[]),_=s(),v=oo(),[y,b]=(0,U.useState)(Po);(0,U.useEffect)(()=>{let t=!1;return(async()=>{let n=await Promise.all(Ao(4).map(async t=>{if(t.type===`custom`)return No(t,e);try{let{game:n}=await Ya(t.shortCode),r=ze(n.previewVideo);return r?{key:`game-${n.shortCode||n._id}`,kind:`game`,video:r,poster:Be(n.thumbnail),title:t.title||n.title,de
108scription:t.description||n.description||``,cta:t.cta||e(`homeBanners.playCta`,`Play`),analyticsId:`game_${n.shortCode||n._id}`,gameId:n._id,shortCode:n.shortCode}:null}catch(e){return console.error(`Failed to load banner game ${t.shortCode}:`,e),null}}));t||g(n.filter(e=>e!==null))})(),()=>{t=!0}},[]),(0,U.useEffect)(()=>{b(Po),p!==`all`&&t(je.events.FEATURE_INTERACT,{action:`filter_category`,category:p,page:`home`})},[p,t]),(0,U.useEffect)(()=>{(async()=>{try{r(!0);let[e,t,n,i]=await Promise.all([Ka(),Ga(p,`trending`,v),Ga(p,`new`,v),Ga(p,`all`,v)]),o=e,s=t,l=n,d=i,m=s.games||[],h=new Set(m.map(e=>e._id)),g=(l.games||[]).filter(e=>!h.has(e._id)).slice(0,Lo),_=d.games||[];o.categories?.length&&f(o.categories),a(m),c(g),u(_)}catch(e){console.error(`Error fetching games:`,e)}finally{r(!1)}})()},[p,v]);let S=(e,n,r,i=`home`)=>{t(je.events.SELECT_CONTENT,{content_type:`game`,content_id:`game_${e}`,game_id:e,game_title:n,game_source:i}),_(Ha({shortCode:r,_id:e},i))},C=(e,t)=>{try{let n=new URL(e,window.location.origin);return n.searchParams.has(`utm_source`)||n.searchParams.set(`utm_source`,`homepage`),n.searchParams.has(`utm_medium`)||n.searchParams.set(`utm_medium`,`banner`),n.searchParams.has(`utm_campaign`)||n.searchParams.set(`utm_campaign`,`home_banner_reel`),n.searchParams.set(`utm_content`,t.analyticsId),n.toString()}catch{return e}},w=e=>{if(t(je.events.CTA_CLICK,{cta_name:e.analyticsId,banner_id:e.analyticsId,banner_title:e.title,banner_kind:e.kind,destination:e.href??(e.shortCode?`game:${e.shortCode}`:``),location:`home_banner`}),e.kind===`game`){S(e.gameId,e.title,e.shortCode,`home_banner`);return}let n=e.href;n.startsWith(`/play`)?_(n):window.location.href=C(n,e)},T=e=>{t(je.events.VIDEO_PLAY,{video_name:`home_banner_${e.analyticsId}`,banner_id:e.analyticsId,banner_title:e.title,banner_kind:e.kind,location:`home_banner`})},E=(0,U.useRef)(null),D=(0,U.useCallback)(e=>{n||(E.current&&E.current.disconnect(),E.current=new IntersectionObserver(e=>{let t=Math.min(Io,l.length);e[0].isIntersecting&&y<t&&b(e=>Math.min(e+Fo,t))}),e&&E.current.observe(e))},[n,y,l.length]),O=()=>{b(e=>Math.min(e+Fo,l.length))},k=({isFeatured:e=!1})=>(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(so,{className:`w-full rounded-lg aspect-[16/9]`}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(so,{className:`h-6 w-6 rounded-full`}),(0,W.jsx)(so,{className:`h-4 w-24`})]}),(0,W.jsx)(so,{className:`h-3 w-full`})]}),A=({title:e,games:t,loading:n,isFeatured:r=!1})=>{let[i,a]=(0,U.useState)(0),[o,s]=(0,U.useState)(0),c=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(c.current){let e=c.current.scrollWidth,t=c.current.clientWidth;s(e-t)}},[t,n]);let l=()=>{c.current&&a(c.current.scrollLeft)};(0,U.useEffect)(()=>{let e=c.current;if(e)return e.addEventListener(`scroll`,l),()=>{e.removeEventListener(`scroll`,l)}},[]);let u=e=>{c.current&&c.current.scrollTo({left:e,behavior:`smooth`})},d=e=>{e.stopPropagation();let t=c.current?.clientWidth?Math.floor(c.current.clientWidth/(window.innerWidth<640?1.5:4)):300;u(Math.max(0,i-t))},f=e=>{e.stopPropagation();let t=c.current?.clientWidth?Math.floor(c.current.clientWidth/(window.innerWidth<640?1.5:4)):300;u(Math.min(o,i+t))},p=i<o-10;return!n&&t.length===0?null:(0,W.jsxs)(`section`,{className:`space-y-4`,children:[(0,W.jsx)(`div`,{className:`flex justify-between items-center`,children:(0,W.jsx)(`h2`,{className:`text-xl sm:text-2xl font-semibold tracking-tight`,children:e})}),(0,W.jsxs)(`div`,{className:`relative w-full overflow-hidden`,children:[i>5&&(0,W.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-16 z-10 bg-gradient-to-r from-background to-transparent pointer-events-none`}),(0,W.jsx)(`div`,{className:`overflow-x-auto w-full scrollbar-hide hide-scrollbar`,ref:c,onScroll:l,style:{msOverflowStyle:`none`,scrollbarWidth:`none`,scrollBehavior:`smooth`},children:(0,W.jsx)(`div`,{className:`flex`,style:{paddingRight:`32px`},children:n?Array(8).fill(0).map((e,t)=>(0,W.jsxs)(`div`,{className:`pl-2 pr-2 md:pl-4 md:pr-4 flex-shrink-0 ${r?`w-3/4 sm:w-1/2 md:w-1/3 lg:w-1/4`:`w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/5 xl:w-1/6`}`,children:[` `,(0,W.jsx)(k,{isFeatured:r})]},t)):t.map((e,t)=>(0,W.jsxs)(`div`,{className:`pl-2 pr-2 md:pl-4 md:pr-4 flex-shrink-0 ${r?`w-3/4 sm:w-1/2 md:w-1/3 lg:w-1/4`:`w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/5 xl:w-1/6`}`,children:[` `,(0,W.jsx)(Bo,{game:e,isFeatured:r,group:`carousel`,onSelect:S})]},e._id||t))})}),i>5&&(0,W.jsx)(`button`,{onClick:d,className:`absolute left-2 sm:left-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background rounded-full p-1 sm:p-2 z-30`,children:(0,W.jsx)(`svg`,{width:`20`,he
108ight:`20`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`text-foreground`,children:(0,W.jsx)(`path`,{d:`M15 19L8 12L15 5`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),p&&(0,W.jsx)(`button`,{onClick:f,className:`absolute right-2 sm:right-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background rounded-full p-1 sm:p-2 z-30`,children:(0,W.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`text-foreground`,children:(0,W.jsx)(`path`,{d:`M9 5L16 12L9 19`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),(0,W.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-16 z-10 bg-gradient-to-l from-background to-transparent pointer-events-none`})]})]})};return(0,W.jsxs)(wo,{children:[(0,W.jsx)(go,{title:`Sandscape`,description:`Sandscape turns your idea into a playable browser game you can refine with visual tools or code, then publish and share.`,keywords:e(`seo.keywords`,`AI game creator, make games with AI, AI game generator, create games without coding, mobile game maker, game creation platform, collaborative game development, prompt to game, AI game development, no-code game creation`),canonical:`https://sandscape.app/`,ogImage:`https://sandscape.app/assets/videos/Sandscape_trailer_thumbnail.jpg`}),(0,W.jsxs)(`div`,{className:`p-3 sm:p-4 md:p-6 space-y-4 sm:space-y-6`,children:[h.length>0&&(0,W.jsx)(Oo,{slides:h,onCtaClick:w,onView:T}),(0,W.jsx)(`div`,{className:`flex gap-1 sm:gap-2 overflow-x-auto pb-2 scrollbar-hide`,children:d.map(t=>(0,W.jsx)(P,{variant:`outline`,onClick:()=>m(t.id),className:x(`whitespace-nowrap rounded-full px-4 text-xs sm:text-sm transition-colors`,p===t.id?`border-transparent bg-primary text-primary-foreground font-semibold shadow-sm hover:bg-primary/90 hover:text-primary-foreground`:`border-border bg-muted/40 text-foreground/70 hover:bg-muted hover:text-foreground`),size:`sm`,children:Ro(e,t.id)},t.id))}),(0,W.jsxs)(`div`,{className:`space-y-6 sm:space-y-8`,children:[(0,W.jsx)(A,{title:e(`homePage.trending`,`Trending`),games:i,loading:n,isFeatured:!0}),(0,W.jsx)(A,{title:e(`homePage.newReleases`,`New Releases`),games:o,loading:n,isFeatured:!0}),(0,W.jsx)(ho,{className:`my-4 sm:my-8`}),(0,W.jsxs)(`section`,{className:`space-y-3 sm:space-y-4`,children:[(0,W.jsxs)(`h2`,{className:`text-xl sm:text-2xl font-semibold tracking-tight`,children:[e(`homePage.allGames`,`All Games`),` (`,l.length,`)`]}),(0,W.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-5 gap-2 sm:gap-3 md:gap-4`,children:n?Array(Po).fill(0).map((e,t)=>(0,W.jsx)(k,{},t)):l.slice(0,y).map((e,t)=>(0,W.jsx)(Ke.div,{ref:t===y-1&&y<Math.min(Io,l.length)?D:void 0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3},children:(0,W.jsx)(Bo,{game:e,group:`grid`,onSelect:S})},e._id))}),!n&&y>=Io&&y<l.length&&(0,W.jsx)(`div`,{className:`flex justify-center pt-3 sm:pt-4`,children:(0,W.jsx)(P,{variant:`outline`,onClick:O,children:e(`homePage.loadMore`,`Load more games`)})})]})]})]}),(0,W.jsxs)(`footer`,{className:`border-t border-border/70 px-4 py-4 sm:px-6`,children:[(0,W.jsxs)(`div`,{className:`mx-auto flex max-w-7xl flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between`,children:[(0,W.jsxs)(`div`,{className:`space-y-1`,children:[(0,W.jsxs)(`p`,{children:[(0,W.jsx)(`span`,{className:`font-semibold text-foreground`,children:`Sandscape`}),(0,W.jsx)(`span`,{className:`mx-2 text-border`,"aria-hidden":`true`,children:`·`}),e(`homePage.footerPurpose`,`A creative studio for making, playing, and sharing browser games.`)]}),(0,W.jsx)(`p`,{children:e(`homePage.googleSignInPurpose`,`Google Sign-In is used to create your Sandscape account and profile.`)})]}),(0,W.jsxs)(`nav`,{"aria-label":e(`homePage.footerNavigation`,`Footer navigation`),className:`flex flex-wrap gap-x-4 gap-y-1`,children:[(0,W.jsx)(`a`,{className:`hover:text-foreground`,href:`/about`,children:e(`homePage.about`,`About`)}),(0,W.jsx)(`a`,{className:`hover:text-foreground`,href:`/alpha`,children:e(`homePage.alpha`,`Alpha`)}),(0,W.jsx)(`a`,{className:`hover:text-foreground`,href:`/about/contact`,children:e(`homePage.contact`,`Contact`)}),(0,W.jsx)(`a`,{className:`hover:text-foreground`,href:`/about/privacy`,children:e(`homePage.privacy`,`Privacy`)}),(0,W.jsx)(`a`,{className:`hover:text-foreground`,href:`/about/terms`,children:e(`homePage.terms`,`Terms`)})]})]}),(0,W.jsx)(`div`,{className:`mx-auto mt-4 flex max-w-7xl justify-center`,children:(0,W.jsx)(`a`,{href:`https://theresanaiforthat.com/ai/sandscape/?ref=featured&v=12805535`,target:`_blank`,rel:`nofollow noopener noreferrer`,className:`transition-opacity hover:opacity-80`,children:(0,W.jsx)(`img`,{src:`https://media.theresanaiforthat.com/featured-on-taaft.png?width=600`,alt:`Featured on There's An AI For That`,className:`h-auto w-[200px] max-w-full dark:invert`})})})]})]})}var Ho=new Set([`/auth`,`/auth/callback`,`/onboarding`]),Uo=[`direct`,`header`,`protected_route`,`play_gate`,`create_gate`,`marketing`,`publish_your_game_landing`,`character_creator_landing`,`device_activation`,`login_path`,`register_path`,`api_unauthorized`,`invite`,`guided_tour`],Wo=[`auth`,`oauth`,`email_otp`,`password_recovery`,`recovery`,`email_change`];function Go(e){return Uo.includes(e)?e:`direct`}function Ko(e){return Wo.includes(e)?e:`auth`}function qo(){return typeof window<`u`?window.location.origin:`http://localhost`}function Jo(e,t=qo()){if(!e)return`/`;let n=e.trim();if(!n||/[\u0000-\u001F\u007F]/.test(n)||n.startsWith(`//`)||n.startsWith(`\\`))return`/`;try{let e=new URL(t),r=new URL(n,e);if(r.origin!==e.origin||r.username||r.password)return`/`;let i=r.pathname.replace(/\/{2,}/g,`/`);return Ho.has(i.replace(/\/$/,``)||`/`)?`/`:`${i}${r.search}${r.hash}`}catch{return`/`}}function Yo(e){return Jo(`${e.pathname}${e.search??``}${e.hash??``}`)}function Xo(e,t,n){let r=new URLSearchParams,i=Jo(e);i!==`/`&&r.set(`returnTo`,i),r.set(`entryPoint`,Go(t)),n&&r.set(`mode`,n);let a=r.toString();return a?`/auth?${a}`:`/auth`}
108function Zo(e,t,n){let r=new URL(`/auth/callback`,qo()),i=Jo(e);return i!==`/`&&r.searchParams.set(`returnTo`,i),r.searchParams.set(`flow`,Ko(t)),r.searchParams.set(`entryPoint`,Go(n)),r.toString()}function Qo(e){let t=Jo(e).split(/[?#]/,1)[0];return t===`/play`||t?.startsWith(`/play/`)?`game`:t===`/create`||t===`/creating`||t?.startsWith(`/creating/`)?`create`:t===`/settings`||t?.startsWith(`/settings/`)?`settings`:`other`}function $o({className:e}){let t=s(),n=f(),{isAuthenticated:r}=Sr(),{isOpen:i,overlayMode:a,close:o}=Tr(),{unreadCount:c}=Ui(),{t:l}=z(),u=e=>n.pathname===e,d=n.pathname===`/settings`&&new URLSearchParams(n.search).get(`tab`)===`billing`,p=e=>{if(e.startsWith(`/about`)){window.location.href=e;return}t(e===`/`||e===`/help`||r?e:Xo(e,e===`/create`?`create_gate`:`protected_route`)),a&&o()};return(0,W.jsx)(`nav`,{className:x(`flex flex-col transition-all duration-300 ease-in-out`,`h-[calc(100vh-4rem)]`,e),style:{width:i?`16rem`:`4rem`},children:(0,W.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col flex-grow overflow-y-auto p-2`,children:[(0,W.jsxs)(`div`,{className:`mb-5`,children:[(0,W.jsx)(`h2`,{className:`px-2 mb-2 text-sm font-bold uppercase text-foreground transition-opacity duration-200 ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.menu`,`Menu`)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-1`,children:(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/`)?`bg-muted text-foreground font-semibold`:`text-foreground`),onClick:()=>p(`/`),children:[(0,W.jsx)(mn,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.home`,`Home`)})]})})})]}),(0,W.jsxs)(`div`,{className:`mb-5`,children:[(0,W.jsx)(`h2`,{className:`px-2 mb-2 text-sm font-bold uppercase text-foreground transition-opacity duration-200 ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.myStuff`,`My Stuff`)}),(0,W.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/history`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/history`),children:[(0,W.jsx)(cn,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.history`,`History`)})]})}),(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/likes`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/likes`),children:[(0,W.jsx)(pn,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.likes`,`Likes`)})]})}),(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/publish`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/publish`),children:[(0,W.jsx)(xn,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.publish`,`Publish`)})]})}),(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,d?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/settings?tab=billing`),title:l(`navigation.subscriptionAndSandcoins`,`Subscription`),children:[(0,W.jsx)(ln,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.subscriptionAndSandcoins`,`Subscription`)})]})})]})]}),(0,W.jsxs)(`div`,{className:`mb-5`,children:[(0,W.jsx)(`h2`,{className:`px-2 mb-2 text-sm font-bold uppercase text-foreground transition-opacity duration-200 ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.social`,`Social`)}),(0,W.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/following`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/following`),children:[(0,W.jsx)(we,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.following`,`Following`)})]})}),(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/followers`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/followers`),children:[(0,W.jsx)(Dn,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.followers`,`Followers`)})]})})]})]}),(0,W.jsxs)(`div`,{className:`mb-5`,children:[(0,W.jsx)(`h2`,{className:`px-2 mb-2 text-sm font-bold uppercase text-foreground transition-opacity duration-200 ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.tools`,`Tools`)}),(0,W.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,u(`/notifications`)?`bg-muted text-foreground font-semibold`:`text-foreground`,!r&&`opacity-70`),onClick:()=>p(`/notifications`),children:[(0,W.jsx)(nn,{className:`h-5 w-5 shrink-0`}),(0,W.jsxs)(`div`,{className:`flex justify-between w-full transition-opacity duration-200 ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:[(0,W.jsx)(`span`,{className:`truncate text-base`,children:l(`navigation.notifications`,`Notifications`)}),r&&c>0&&(0,W.jsx)(`span`,{className:`ml-auto flex h-5 min-w-5 px-1 items-center justify-center rounded-full bg-primary text-[10px] font-medium text-primary-foreground`,children:c>99?`99+`:c})]})]})}),(0,W.jsx)(`li`,{children:(0,W.jsxs)(P,{variant:`ghost`,className:x(`w-full gap-2 px-2 h-11`,i?`justify-start`:`justify-center`,`text-foreground`),onClick:()=>window.open(`/docs`,`_blank`),children:[(0,W.jsx)(on,{className:`h-5 w-5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate transition-opacity duration-200 text-base ${i?`opacity-100`:`opacity-0 w-0 absolute`}`,children:l(`navigation.help`,`Help`)})]})})]})]})]}),(0,W.jsxs)(`div`,{className:`mt-auto`,children:[(0,W.jsxs)(`div`,{className:`px-2 py-1 ${i?`flex justify-center gap-4`:`flex flex-col gap-2 items-center`}`,children:[(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>window.open(`https://discord.gg/QZKnpxUvk`,`_blank`),title:l(`footer.discord`,`Discord`),children:(0,W.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,
108width:`12`,height:`12`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{d:`M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3847-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z`})})}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>window.open(`https://x.com/sandscape_app`,`_blank`),title:l(`footer.twitter`,`X/Twitter`),children:(0,W.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>window.open(`https://www.instagram.com/sandscape_app`,`_blank`),title:l(`footer.instagram`,`Instagram`),children:(0,W.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{d:`M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z`})})}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>window.open(`https://www.youtube.com/@sandscape_app`,`_blank`),title:l(`footer.youtube`,`YouTube`),children:(0,W.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{d:`M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z`})})}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>window.open(`https://www.tiktok.com/@sandscape.app`,`_blank`),title:l(`footer.tiktok`,`TikTok`),children:(0,W.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,
108width:`12`,height:`12`,fill:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{d:`M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z`})})})]}),(0,W.jsxs)(`div`,{className:`p-2 pt-1 border-t border-muted ${i?`block`:`hidden`}`,children:[(0,W.jsxs)(P,{variant:`ghost`,size:`sm`,className:`w-full mb-1 h-7 justify-center text-xs text-foreground`,onClick:()=>p(`/about`),children:[(0,W.jsx)(pe,{className:`h-3 w-3 mr-1`}),l(`footer.links`,`About | Terms | Privacy`)]}),(0,W.jsxs)(`div`,{className:`flex flex-col items-center space-y-1 text-xs text-foreground`,children:[(0,W.jsx)(`div`,{children:l(`footer.copyright`,`© {{year}} Sandscape`,{year:new Date().getFullYear()})}),(0,W.jsx)(`div`,{className:`flex items-center`,children:(0,W.jsxs)(`a`,{href:`https://www.ze1.io`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center hover:opacity-80 transition-opacity`,children:[(0,W.jsx)(`span`,{className:`text-[10px] mr-1`,children:l(`footer.poweredBy`,`Powered by`)}),(0,W.jsx)(`img`,{src:`/ze1_logo_horizontal.png`,alt:`Ze1`,className:`h-3`})]})})]})]}),(0,W.jsxs)(`div`,{className:`p-1 border-t border-muted flex flex-col items-center gap-2 ${i?`hidden`:`block`}`,children:[(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-foreground`,onClick:()=>p(`/about`),title:l(`footer.aboutLinks`,`About | Terms | Privacy`),children:(0,W.jsx)(pe,{className:`h-3 w-3`})}),(0,W.jsx)(`a`,{href:`https://www.ze1.io`,target:`_blank`,rel:`noopener noreferrer`,className:`hover:opacity-80 transition-opacity`,children:(0,W.jsx)(`img`,{src:`/ze1_logo_horizontal.png`,alt:`Ze1`,className:`h-3 w-auto`})})]})]})]})})}function es(){let{setTheme:e}=ft(),t=pt()===`dark`;return(0,W.jsxs)(P,{variant:`ghost`,size:`icon`,onClick:()=>e(t?`light`:`dark`),className:`w-9 h-9 rounded-full transition-colors hover:bg-accent`,children:[t?(0,W.jsx)(ie,{className:`h-5 w-5 transition-all text-foreground`}):(0,W.jsx)(ae,{className:`h-5 w-5 transition-all text-foreground`}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`})]})}function ts(){let{t:e,i18n:t}=z(),n=e=>{t.changeLanguage(e)};return(0,W.jsxs)(se,{children:[(0,W.jsx)(oe,{asChild:!0,children:(0,W.jsx)(P,{variant:`ghost`,size:`icon`,"aria-label":e(`general.language`),children:(0,W.jsx)(re,{className:`h-5 w-5`})})}),(0,W.jsx)(ce,{align:`end`,children:Le.map(e=>(0,W.jsx)(F,{onClick:()=>n(e.code),className:t.language===e.code?`bg-muted`:``,children:e.name},e.code))})]})}var ns=Object.defineProperty,X=(e,t)=>ns(e,`name`,{value:t,configurable:!0});function rs(e,t){return U.useReducer((e,n)=>t[e][n]??e,e)}X(rs,`useStateMachine`);var is=`ScrollArea`,[as,os]=_(is),[ss,Z]=as(is),cs=U.forwardRef(X(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=U.useState(null),[l,u]=U.useState(null),[d,f]=U.useState(null),[p,m]=U.useState(null),[h,g]=U.useState(null),[_,v]=U.useState(0),[y,b]=U.useState(0),[x,C]=U.useState(!1),[w,T]=U.useState(!1),E=S(t,c),O=Qe(i);return(0,W.jsx)(ss,{scope:n,type:r,dir:O,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,W.jsx)(D.div,{dir:O,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})},`ScrollArea`)),ls=`ScrollAreaViewport`,us=U.forwardRef(X(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=Z(ls,n),s=S(t,U.useRef(null),o.onViewportChange);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ds,{nonce:i}),(0,W.jsx)(D.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,W.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,dis
108play:`table`},children:r})})]})},`ScrollAreaViewport`)),ds=U.memo(X(function({nonce:e}){return(0,W.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),fs=`ScrollAreaScrollbar`,ps=U.forwardRef(X(function(e,t){let{forceMount:n,...r}=e,i=Z(fs,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return U.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,W.jsx)(ms,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,W.jsx)(hs,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,W.jsx)(gs,{...r,ref:t,forceMount:n}):i.type===`always`?(0,W.jsx)(_s,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),ms=U.forwardRef(X(function(e,t){let{forceMount:n,...r}=e,i=Z(fs,e.__scopeScrollArea),[a,o]=U.useState(!1);return U.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=X(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=X(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,W.jsx)(b,{present:n||a,children:(0,W.jsx)(gs,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),hs=U.forwardRef(X(function(e,t){let{forceMount:n,...r}=e,i=Z(fs,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Ls(()=>c(`SCROLL_END`),100),[s,c]=rs(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return U.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),U.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=X(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,W.jsx)(b,{present:n||s!==`hidden`,children:(0,W.jsx)(_s,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:g(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:g(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),gs=U.forwardRef(X(function(e,t){let n=Z(fs,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=U.useState(!1),s=e.orientation===`horizontal`,c=Ls(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Rs(n.viewport,c),Rs(n.content,c),(0,W.jsx)(b,{present:r||a,children:(0,W.jsx)(_s,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),_s=U.forwardRef(X(function(e,t){let{orientation:n=`vertical`,...r}=e,i=Z(fs,e.__scopeScrollArea),a=U.useRef(null),o=U.useRef(0),[s,c]=U.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=As(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:X(e=>a.current=e,`onThumbChange`),onThumbPointerUp:X(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:X(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Ms(e,o.current,s,t)}return X(d,`getScrollPosition`),n===`horizontal`?(0,W.jsx)(vs,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ns(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,W.jsx)(ys,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ns(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}}
108,onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),vs=U.forwardRef(X(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=Z(fs,e.__scopeScrollArea),[o,s]=U.useState(),c=U.useRef(null),l=S(t,c,a.onScrollbarXChange);return U.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,W.jsx)(Ss,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":js(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Fs(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ks(o.paddingLeft),paddingEnd:ks(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),ys=U.forwardRef(X(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=Z(fs,e.__scopeScrollArea),[o,s]=U.useState(),c=U.useRef(null),l=S(t,c,a.onScrollbarYChange);return U.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,W.jsx)(Ss,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":js(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Fs(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:
108a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ks(o.paddingTop),paddingEnd:ks(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[bs,xs]=as(fs),Ss=U.forwardRef(X(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=Z(fs,n),[m,h]=U.useState(null),_=S(t,h),v=U.useRef(null),b=U.useRef(``),x=p.viewport,C=r.content-r.viewport,w=y(u),T=y(c),E=Ls(d,10);function O(e){if(v.current){let t=e.clientX-v.current.left,n=e.clientY-v.current.top;l({x:t,y:n})}}return X(O,`handleDragScroll`),U.useEffect(()=>{let e=X(e=>{let t=e.target;m?.contains(t)&&w(e,C)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[x,m,C,w]),U.useEffect(T,[r,T]),Rs(m,E),Rs(p.content,E),(0,W.jsx)(bs,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:y(a),onThumbPointerUp:y(o),onThumbPositionChange:T,onThumbPointerDown:y(s),children:(0,W.jsx)(D.div,{...f,ref:_,style:{position:`absolute`,...f.style},onPointerDown:g(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=m.getBoundingClientRect(),b.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:g(e.onPointerMove,O),onPointerUp:g(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=b.current,p.viewport&&(p.viewport.style.scrollBehavior=``),v.current=null})})})},`ScrollAreaScrollbarImpl`)),Cs=`ScrollAreaThumb`,ws=U.forwardRef(X(function(e,t){let{forceMount:n,...r}=e,i=xs(Cs,e.__scopeScrollArea);return(0,W.jsx)(b,{present:n||i.hasThumb,children:(0,W.jsx)(Ts,{ref:t,...r})})},`ScrollAreaThumb`)),Ts=U.forwardRef(X(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=Z(Cs,n),o=xs(Cs,n),{onThumbPositionChange:s}=o,c=S(t,o.onThumbChange),l=U.useRef(void 0),u=Ls(()=>{l.current&&=(l.current(),void 0)},100);return U.useEffect(()=>{let e=a.viewport;if(e){let t=X(()=>
108{if(u(),!l.current){let t=Is(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,W.jsx)(D.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:g(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:g(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Es=`ScrollAreaCorner`,Ds=U.forwardRef(X(function(e,t){let n=Z(Es,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,W.jsx)(Os,{...e,ref:t}):null},`ScrollAreaCorner`)),Os=U.forwardRef(X(function(e,t){let{__scopeScrollArea:n,...r}=e,i=Z(Es,n),[a,o]=U.useState(0),[s,c]=U.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Rs(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Rs(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),U.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,W.jsx)(D.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function ks(e){return e?parseInt(e,10):0}X(ks,`toInt`);function As(e,t){let n=e/t;return isNaN(n)?0:n}X(As,`getThumbRatio`);function js(e){let t=As(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}X(js,`getThumbSize`);function Ms(e,t,n,r=`ltr`){let i=js(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Ps([c,l],d)(e)}X(Ms,`getScrollPositionFromPointer`);function Ns(e,t,n=`ltr`){let r=js(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=$e(e,n===`ltr`?[0,o]:[o*-1,0]);return Ps([0,o],[0,s])(c)}X(Ns,`getThumbOffsetFromScroll`);function Ps(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}X(Ps,`linearScale`);function Fs(e,t){return e>0&&e<t}X(Fs,`isScrollingWithinScrollbarBounds`);var Is=X((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return X((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function Ls(e,t){let n=y(e),r=U.useRef(0);return U.useEffect(()=>()=>window.clearTimeout(r.current),[]),U.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}X(Ls,`useDebounceCallback`);function Rs(e,t){let n=y(t);v(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}X(Rs,`useResizeObserver`);var zs=U.forwardRef(({className:e,children:t,...n},r)=>(0,W.jsxs)(cs,{ref:r,className:x(`relative overflow-hidden`,e),...n,children:[(0,W.jsx)(us,{className:`h-full w-full rounded-[inherit]`,children:t}),(0,W.jsx)(Bs,{}),(0,W.jsx)(Ds,{})]}));zs.displayName=cs.displayName;var Bs=U.forwardRef(({className:e,orientation:t=`vertical`,...n},r)=>(0,W.jsx)(ps,{ref:r,orientation:t,className:x(`flex touch-none select-none transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,e),...n,children:(0,W.jsx)(ws,{className:`relative flex-1 rounded-full bg-border`})}));Bs.displayName=ps.displayName;function Vs(e,t){let n=rt(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=et(e),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function Hs(e,t,n){let r=Vs(e,n),i=Vs(t,n);return+r==+i}var Us={lessThanXSeconds:{one:`Ø£ÙÙ Ù
٠ثاÙÙØ©`,two:`Ø£ÙÙ Ù
٠ثاÙÙØªÙÙ`,threeToTen:`Ø£ÙÙ Ù
Ù {{count}} Ø«ÙØ§ÙÙ`,other:`Ø£ÙÙ Ù
Ù {{count}} ثاÙÙØ©`},xSeconds:{one:`ثاÙÙØ© ÙØ§ØØ¯Ø©`,two:`ثاÙÙØªØ§Ù`,threeToTen:`{{count}} Ø«ÙØ§ÙÙ`,other:`{{count}} ثاÙÙØ©`},halfAMinute:`ÙØµÙ دÙÙÙØ©`,lessThanXMinutes:{one:`Ø£ÙÙ Ù
٠دÙÙÙØ©`,two:`Ø£ÙÙ Ù
٠دÙÙÙØªÙÙ`,threeToTen:`Ø£ÙÙ Ù
Ù {{count}} Ø¯ÙØ§Ø¦Ù`,other:`Ø£ÙÙ Ù
Ù {{count}} دÙÙÙØ©`},xMinutes:{one:`دÙÙÙØ© ÙØ§ØØ¯Ø©`,two:`دÙÙÙØªØ§Ù`,threeToTen:`{{count}} Ø¯ÙØ§Ø¦Ù`,other:`{{count}} دÙÙÙØ©`},aboutXHours:{one:`ساعة ÙØ§ØØ¯Ø© ØªÙØ±ÙباÙ`,two:`ساعتÙÙ ØªÙØ±Ùبا`,threeToTen:`{{count}} ساعات ØªÙØ±ÙباÙ`,other:`{{count}} ساعة ØªÙØ±ÙباÙ`},xHours:{one:`ساعة ÙØ§ØØ¯Ø©`,two:`ساعتاÙ`,threeToTen:`{{count}} ساعات`,other:`{{count}} ساعة`},xDays:{one:`ÙÙÙ
ÙØ§ØØ¯`,two:`ÙÙÙ
اÙ`,threeToTen:`{{count}} Ø£ÙØ§Ù
`,other:`{{count}} ÙÙÙ
`},aboutXWeeks:{one:`Ø£Ø³Ø¨ÙØ¹ ÙØ§ØØ¯ ØªÙØ±Ùبا`,two:`Ø£Ø³Ø¨ÙØ¹ÙÙ ØªÙØ±Ùبا`,threeToTen:`{{count}} Ø£Ø³Ø§Ø¨ÙØ¹ ØªÙØ±Ùبا`,other:`{{count}} Ø£Ø³Ø¨ÙØ¹Ø§ ØªÙØ±Ùبا`},xWeeks:{one:`Ø£Ø³Ø¨ÙØ¹ ÙØ§ØØ¯`,two:`Ø£Ø³Ø¨ÙØ¹Ø§Ù`,threeToTen:`{{count}} Ø£Ø³Ø§Ø¨ÙØ¹`,other:`{{count}} Ø£Ø³Ø¨ÙØ¹Ø§`},aboutXMonths:{one:`Ø´ÙØ± ÙØ§ØØ¯ ØªÙØ±ÙباÙ`,two:`Ø´ÙØ±ÙÙ ØªÙØ±Ùبا`,threeToTen:`{{count}} Ø£Ø´ÙØ± ØªÙØ±Ùبا`,other:`{{count}} Ø´ÙØ±Ø§ ØªÙØ±ÙباÙ`},xMonths:{one:`Ø´ÙØ± ÙØ§ØØ¯`,two:`Ø´ÙØ±Ø§Ù`,threeToTen:`{{count}} Ø£Ø´ÙØ±`,other:`{{count}} Ø´ÙØ±Ø§`},aboutXYears:{one:`Ø³ÙØ© ÙØ§ØØ¯Ø© ØªÙØ±ÙباÙ`,two:`Ø³ÙØªÙÙ ØªÙØ±Ùبا`,threeToTen:`{{count}} سÙÙØ§Øª ØªÙØ±ÙباÙ`,other:`{{count}} Ø³ÙØ© ØªÙØ±ÙباÙ`},xYears:{one:`Ø³ÙØ© ÙØ§ØØ¯`,two:`Ø³ÙØªØ§Ù`,threeToTen:`{{count}} سÙÙØ§Øª`,other:`{{count}} Ø³ÙØ©`},overXYears:{one:`Ø£ÙØ«Ø± Ù
Ù Ø³ÙØ©`,two:`Ø£ÙØ«Ø± Ù
Ù Ø³ÙØªÙÙ`,threeToTen:`Ø£ÙØ«Ø± Ù
Ù {{count}} سÙÙØ§Øª`,other:`Ø£ÙØ«Ø± Ù
Ù {{count}} Ø³ÙØ©`},almostXYears:{one:`Ù
ا ÙÙØ§Ø±Ø¨ Ø³ÙØ© ÙØ§ØØ¯Ø©`,two:`Ù
ا ÙÙØ§Ø±Ø¨ Ø³ÙØªÙÙ`,threeToTen:`Ù
ا ÙÙØ§Ø±Ø¨ {{count}} سÙÙØ§Øª`,other:`Ù
ا ÙÙØ§Ø±Ø¨ {{count}} Ø³ÙØ©`}},Ws=(e,t,n)=>{let r=Us[e],i;return i=typeof r==`string`?r:t===1?r.one:t===2?r.two:t<=10?r.threeToTen.replace(`{{count}}`,String(t)):r.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`Ø®ÙØ§Ù `+i:`Ù
ÙØ° `+i:i},Gs={date:H({formats:{full:`EEEEØ do MMMM y`,long:`do MMMM y`,medium:`d MMM y`,short:`dd/MM/yyyy`},defaultWidth:`full`}),time:H({formats:{full:`HH:mm:ss`,long:`HH:mm:ss`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} 'Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' {{time}}`,long:`{{date}} 'Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Ks={lastWeek:`eeee 'اÙÙ
Ø§Ø¶Ù Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' p`,yesterday:`'Ø§ÙØ£Ù
س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' p`,today:`'اÙÙÙÙ
Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' p`,tomorrow:`'غدا Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' p`,nextWeek:`eeee 'اÙÙØ§Ø¯Ù
Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©' p`,other:`P`},qs={code:`ar`,formatDistance:Ws,formatLong:Gs,formatRelative:e=>Ks[e],localize:{ordinalNumber:e=>String(e),era:B({values:{narrow:[`Ù`,`ب`],abbreviated:[`Ù.Ù
.`,`ب.Ù
.`],wide:[`ÙØ¨Ù اÙÙ
ÙÙØ§Ø¯`,`بعد اÙÙ
ÙÙØ§Ø¯`]},defaultWidth:`wide`}),quarter:B({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`ر1`,`ر2`,`ر3`,`ر4`],wide:[`Ø§ÙØ±Ø¨Ø¹ Ø§ÙØ£ÙÙ`,`Ø§ÙØ±Ø¨Ø¹ Ø§ÙØ«Ø§ÙÙ`,`Ø§ÙØ±Ø¨Ø¹ Ø§ÙØ«Ø§ÙØ«`,`Ø§ÙØ±Ø¨Ø¹ Ø§ÙØ±Ø§Ø¨Ø¹`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:B({values:{narrow:[`Ù`,`Ù`,`Ù
`,`Ø£`,`Ù
`,`Ù`,`Ù`,`Ø£`,`س`,`Ø£`,`Ù`,`د`],abbreviated:[`ÙÙØ§Ùر`,`ÙØ¨Ø±Ø§Ùر`,`Ù
ارس`,`أبرÙÙ`,`Ù
اÙÙ`,`ÙÙÙÙÙ`,`ÙÙÙÙÙ`,`أغسطس`,`سبتÙ
بر`,`Ø£ÙØªÙبر`,`ÙÙÙÙ
بر`,`Ø¯ÙØ³Ù
بر`],wide:[`ÙÙØ§Ùر`,`ÙØ¨Ø±Ø§Ùر`,`Ù
ارس`,`أبرÙÙ`,`Ù
اÙÙ`,`ÙÙÙÙÙ`,`ÙÙÙÙÙ`,`أغسطس`,`سبتÙ
بر`,`Ø£ÙØªÙبر`,`ÙÙÙÙ
بر`,`Ø¯ÙØ³Ù
بر`]},defaultWidth:`wide`}),day:B({values:{narrow:[`Ø`,`Ù`,`Ø«`,`ر`,`Ø®`,`ج`,`س`],short:[`Ø£ØØ¯`,`اثÙÙÙ`,`Ø«ÙØ§Ø«Ø§Ø¡`,`أربعاء`,`Ø®Ù
ÙØ³`,`جÙ
عة`,`سبت`],abbreviated:[`Ø£ØØ¯`,`اثÙÙÙ`,`Ø«ÙØ§Ø«Ø§Ø¡`,`أربعاء`,`Ø®Ù
ÙØ³`,`جÙ
عة`,`سبت`],wide:[`Ø§ÙØ£ØØ¯`,`Ø§ÙØ§Ø«ÙÙÙ`,`Ø§ÙØ«Ùاثاء`,`Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡`,`Ø§ÙØ®Ù
ÙØ³`,`Ø§ÙØ¬Ù
عة`,`Ø§ÙØ³Ø¨Øª`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`ص`,pm:`Ù
`,morning:`Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`اÙÙ
ساء`,night:`اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`},abbreviated:{am:`ص`,pm:`Ù
`,morning:`Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`اÙÙ
ساء`,night:`اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`},wide:{am:`ص`,pm:`Ù
`,morning:`Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`اÙÙ
ساء`,night:`اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ص`,pm:`Ù
`,morning:`ÙÙ Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`Ù٠اÙÙ
ساء`,night:`Ù٠اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`},abbreviated:{am:`ص`,pm:`Ù
`,morning:`ÙÙ Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`Ù٠اÙÙ
ساء`,night:`Ù٠اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`},wide:{am:`ص`,pm:`Ù
`,morning:`ÙÙ Ø§ÙØµØ¨Ø§Ø`,noon:`Ø§ÙØ¸Ùر`,afternoon:`بعد Ø§ÙØ¸Ùر`,evening:`Ù٠اÙÙ
ساء`,night:`Ù٠اÙÙÙÙ`,midnight:`Ù
ÙØªØµÙ اÙÙÙÙ`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:{narrow:/[ÙØ¨]/,abbreviated:/[ÙØ¨]\.Ù
\./,wide:/(ÙØ¨Ù|بعد) اÙÙ
ÙÙØ§Ø¯/},defaultMatchWidth:`wide`,parsePatterns:{any:[/ÙØ¨Ù/,/بعد/]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/ر[1234]/,wide:/Ø§ÙØ±Ø¨Ø¹ (Ø§ÙØ£ÙÙ|Ø§ÙØ«Ø§ÙÙ|Ø§ÙØ«Ø§ÙØ«|Ø§ÙØ±Ø§Ø¨Ø¹)/},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^[Ø£ÙÙÙ
Ø³ÙØ¯]/,abbreviated:/^(ÙÙØ§Ùر|ÙØ¨Ø±Ø§Ùر|Ù
ارس|أبرÙÙ|Ù
اÙÙ|ÙÙÙÙÙ|ÙÙÙÙÙ|أغسطس|سبتÙ
بر|Ø£ÙØªÙبر|ÙÙÙÙ
بر|Ø¯ÙØ³Ù
بر)/,wide:/^(ÙÙØ§Ùر|ÙØ¨Ø±Ø§Ùر|Ù
ارس|أبرÙÙ|Ù
اÙÙ|ÙÙÙÙÙ|ÙÙÙÙÙ|أغسطس|سبتÙ
بر|Ø£ÙØªÙبر|ÙÙÙÙ
بر|Ø¯ÙØ³Ù
بر)/},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^Ù/i,/^Ù/i,/^Ù
/i,/^Ø£/i,/^Ù
/i,/^Ù/i,/^Ù/i,/^Ø£/i,/^س/i,/^Ø£/i,/^Ù/i,/^د/i],any:[/^ÙÙØ§Ùر/i,/^ÙØ¨Ø±Ø§Ùر/i,/^Ù
ارس/i,/^أبرÙÙ/i,/^Ù
اÙÙ/i,/^ÙÙÙÙÙ/i,/^ÙÙÙÙÙ/i,/^أغسطس/i,/^سبتÙ
بر/i,/^Ø£ÙØªÙبر/i,/^ÙÙÙÙ
بر/i,/^Ø¯ÙØ³Ù
بر/i]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[ØÙثرخجس]/i,short:/^(Ø£ØØ¯|اثÙÙÙ|Ø«ÙØ§Ø«Ø§Ø¡|أربعاء|Ø®Ù
ÙØ³|جÙ
عة|سبت)/i,abbreviated:/^(Ø£ØØ¯|اثÙÙÙ|Ø«ÙØ§Ø«Ø§Ø¡|أربعاء|Ø®Ù
ÙØ³|جÙ
عة|سبت)/i,wide:/^(Ø§ÙØ£ØØ¯|Ø§ÙØ§Ø«ÙÙÙ|Ø§ÙØ«Ùاثاء|Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡|Ø§ÙØ®Ù
ÙØ³|Ø§ÙØ¬Ù
عة|Ø§ÙØ³Ø¨Øª)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^Ø/i,/^Ù/i,/^Ø«/i,/^ر/i,/^Ø®/i,/^ج/i,/^س/i],wide:[/^Ø§ÙØ£ØØ¯/i,/^Ø§ÙØ§Ø«ÙÙÙ/i,/^Ø§ÙØ«Ùاثاء/i,/^Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡/i,/^Ø§ÙØ®Ù
ÙØ³/i,/^Ø§ÙØ¬Ù
عة/i,/^Ø§ÙØ³Ø¨Øª/i],any:[/^Ø£Ø/i,/^اث/i,/^Ø«/i,/^أر/i,/^Ø®/i,/^ج/i,/^س/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{narrow:/^(ص|Ù
|Ù
ÙØªØµÙ اÙÙÙÙ|Ø§ÙØ¸Ùر|بعد Ø§ÙØ¸Ùر|ÙÙ Ø§ÙØµØ¨Ø§Ø|Ù٠اÙÙ
ساء|Ù٠اÙÙÙÙ)/,any:/^(ص|Ù
|Ù
ÙØªØµÙ اÙÙÙÙ|Ø§ÙØ¸Ùر|بعد Ø§ÙØ¸Ùر|ÙÙ Ø§ÙØµØ¨Ø§Ø|Ù٠اÙÙ
ساء|Ù٠اÙÙÙÙ)/},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ص/,pm:/^Ù
/,midnight:/Ù
ÙØªØµÙ اÙÙÙÙ/,noon:/Ø§ÙØ¸Ùر/,afternoon:/بعد Ø§ÙØ¸Ùر/,morning:/ÙÙ Ø§ÙØµØ¨Ø§Ø/,evening:/Ù٠اÙÙ
ساء/,night:/Ù٠اÙÙÙÙ/}},defaultParseWidth:`any`})},options:{weekStartsOn:6,firstWeekContainsDate:1}},Js={lessThanXSeconds:{standalone:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`},withPreposition:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`}},xSeconds:{standalone:{one:`1 Sekunde`,other:`{{count}} Sekunden`},withPreposition:{one:`1 Sekunde`,other:`{{count}} Sekunden`}},halfAMinute:{standalone:`eine halbe Minute`,withPreposition:`einer halben Minute`},lessThanXMinutes:{standalone:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`},withPreposition:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`}},xMinutes:{standalone:{one:`1 Minute`,other:`{{count}} Minuten`},withPreposition:{one:`1 Minute`,other:`{{count}} Minuten`}}
vendor: 30,799 bytes, line 108
108,aboutXHours:{standalone:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`},withPreposition:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`}},xHours:{standalone:{one:`1 Stunde`,other:`{{count}} Stunden`},withPreposition:{one:`1 Stunde`,other:`{{count}} Stunden`}},xDays:{standalone:{one:`1 Tag`,other:`{{count}} Tage`},withPreposition:{one:`1 Tag`,other:`{{count}} Tagen`}},aboutXWeeks:{standalone:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`},withPreposition:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`}},xWeeks:{standalone:{one:`1 Woche`,other:`{{count}} Wochen`},withPreposition:{one:`1 Woche`,other:`{{count}} Wochen`}},aboutXMonths:{standalone:{one:`etwa 1 Monat`,other:`etwa {{count}} Monate`},withPreposition:{one:`etwa 1 Monat`,other:`etwa {{count}} Monaten`}},xMonths:{standalone:{one:`1 Monat`,other:`{{count}} Monate`},withPreposition:{one:`1 Monat`,other:`{{count}} Monaten`}},aboutXYears:{standalone:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahre`},withPreposition:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahren`}},xYears:{standalone:{one:`1 Jahr`,other:`{{count}} Jahre`},withPreposition:{one:`1 Jahr`,other:`{{count}} Jahren`}},overXYears:{standalone:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahre`},withPreposition:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahren`}},almostXYears:{standalone:{one:`fast 1 Jahr`,other:`fast {{count}} Jahre`},withPreposition:{one:`fast 1 Jahr`,other:`fast {{count}} Jahren`}}},Ys=(e,t,n)=>{let r,i=n?.addSuffix?Js[e].withPreposition:Js[e].standalone;return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:`vor `+r:r},Xs={date:H({formats:{full:`EEEE, do MMMM y`,long:`do MMMM y`,medium:`do MMM y`,short:`dd.MM.y`},defaultWidth:`full`}),time:H({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} 'um' {{time}}`,long:`{{date}} 'um' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},Zs={lastWeek:`'letzten' eeee 'um' p`,yesterday:`'gestern um' p`,today:`'heute um' p`,tomorrow:`'morgen um' p`,nextWeek:`eeee 'um' p`,other:`P`},Qs=(e,t,n,r)=>Zs[e],$s={narrow:[`v.Chr.`,`n.Chr.`],abbreviated:[`v.Chr.`,`n.Chr.`],wide:[`vor Christus`,`nach Christus`]},ec={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1. Quartal`,`2. Quartal`,`3. Quartal`,`4. Quartal`]},tc={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mär`,`Apr`,`Mai`,`Jun`,`Jul`,`Aug`,`Sep`,`Okt`,`Nov`,`Dez`],wide:[`Januar`,`Februar`,`März`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Dezember`]},nc={narrow:tc.narrow,abbreviated:[`Jan.`,`Feb.`,`März`,`Apr.`,`Mai`,`Juni`,`Juli`,`Aug.`,`Sep.`,`Okt.`,`Nov.`,`Dez.`],wide:tc.wide},rc={code:`de`,formatDistance:Ys,formatLong:Xs,formatRelative:Qs,localize:{ordinalNumber:e=>Number(e)+`.`,era:B({values:$s,defaultWidth:`wide`}),quarter:B({values:ec,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:B({values:tc,formattingValues:nc,defaultWidth:`wide`}),day:B({values:{narrow:[`S`,`M`,`D`,`M`,`D`,`F`,`S`],short:[`So`,`Mo`,`Di`,`Mi`,`Do`,`Fr`,`Sa`],abbreviated:[`So.`,`Mo.`,`Di.`,`Mi.`,`Do.`,`Fr.`,`Sa.`],wide:[`Sonntag`,`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachm.`,evening:`Abend`,night:`Nacht`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachm.`,evening:`abends`,night:`nachts`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^(\d+)(\.)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e)}),era:V({matchPatterns:{narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^v/i,/^n/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4}},ic={lessThanXSeconds:{one:`menos de un segundo`,other:`menos de {{count}} segundos`},xSeconds:{one:`1 segundo`,other:`{{count}} segundos`},halfAMinute:`medio minuto`,lessThanXMinutes:{one:`menos de un minuto`,other:`menos de {{count}} minutos`},xMinutes:{one:`1 minuto`,other:`{{count}} minutos`},aboutXHours:{one:`alrededor de 1 hora`,other:`alrededor de {{count}} horas`},xHours:{one:`1 hora`,other:`{{count}} horas`},xDays:{one:`1 dÃa`,other:`{{count}} dÃas`},aboutXWeeks:{one:`alrededor de 1 semana`,other:`alrededor de {{count}} semanas`},xWeeks:{one:`1 semana`,other:`{{count}} semanas`},aboutXMonths:{one:`alrededor de 1 mes`,other:`alrededor de {{count}} meses`},xMonths:{one:`1 mes`,other:`{{count}} meses`},aboutXYears:{one:`alrededor de 1 año`,other:`alrededor de {{count}} años`},xYears:{one:`1 año`,other:`{{count}} años`},overXYears:{one:`más de 1 año`,other:`más de {{count}} años`},almostXYears:{one:`casi 1 año`,other:`casi {{count}} años`}},ac=(e,t,n)=>{let r,i=ic[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`en `+r:`hace `+r:r},oc={date:H({formats:{full:`EEEE, d 'de' MMMM 'de' y`,long:`d 'de' MMMM 'de' y`,medium:`d MMM y`,short:`dd/MM/y`},defaultWidth:`full`}),time:H({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} 'a las' {{time}}`,long:`{{date}} 'a las' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},sc={lastWeek:`'el' eeee 'pasado a la' p`,yesterday:`'ayer a la' p`,today:`'hoy a la' p`,tomorrow:`'mañana a la' p`,nextWeek:`eeee 'a la' p`,other:`P`},cc={lastWeek:`'el' eeee 'pasado a las' p`,yesterday:`'ayer a las' p`,today:`'hoy a las' p`,tomorrow:`'mañana a las' p`,nextWeek:`eeee 'a las' p`,other:`P`},lc={code:`es`,formatDistance:ac,formatLong:oc,formatRelative:(e,t,n,r)=>t.getHours()===1?sc[e]:cc[e],localize:{ordinalNumber:(e,t)=>Number(e)+`º`,era:B({values:{narrow:[`AC`,`DC`],abbreviated:[`AC`,`DC`],wide:[`antes de cristo`,`después de cristo`]},defaultWidth:`wide`}),quarter:B({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`T1`,`T2`,`T3`,`T4`],wide:[`1º trimestre`,`2º trimestre`,`3º trimestre`,`4º trimestre`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:B({values:{narrow:[`e`,`f`,`m`,`a`,`m`,`j`,`j`,`a`,`s`,`o`,`n`,`d`],abbreviated:[`ene`,`feb`,`mar`,`abr`,`may`,`jun`,`jul`,`ago`,`sep`,`oct`,`nov`,`dic`],wide:[`enero`,`febrero`,`marzo`,`abril`,`mayo`,`junio`,`julio`,`agosto`,`septiembre`,`octubre`,`noviembre`,`diciembre`]},defaultWidth:`wide`}),day:B({values:{narrow:[`d`,`l`,`m`,`m`,`j`,`v`,`s`],short:[`do`,`lu`,`ma`,`mi`,`ju`,`vi`,`sá`],abbreviated:[`dom`,`lun`,`mar`,`mié`,`jue`,`vie`,`sáb`],wide:[`domingo`,`lunes`,`martes`,`miércoles`,`jueves`,`viernes`,`sábado`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`a`,pm:`p`,midnight:`mn`,noon:`md`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`},abbreviated:{am:`AM`,pm:`PM`,midnight:`medianoche`,noon:`mediodia`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`medianoche`,noon:`mediodia`,morning:`mañana`,afternoon:`tarde`,evening:`tarde`,night:`noche`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mn`,noon:`md`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`},abbreviated:{am:`AM`,pm:`PM`,midnight:`medianoche`,noon:`mediodia`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`medianoche`,noon:`mediodia`,morning:`de la mañana`,afternoon:`de la tarde`,evening:`de la tarde`,night:`de la noche`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:V({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}},uc={lessThanXSeconds:{one:`moins dâune seconde`,other:`moins de {{count}} secondes`},xSeconds:{one:`1 seconde`,other:`{{count}} secondes`},halfAMinute:`30 secondes`,lessThanXMinutes:{one:`moins dâune minute`,other:`moins de {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`environ 1 heure`,other:`environ {{count}} heures`},xHours:{one:`1 heure`,other:`{{count}} heures`},xDays:{one:`1 jour`,other:`{{count}} jours`},aboutXWeeks:{one:`environ 1 semaine`,other:`environ {{count}} semaines`},xWeeks:{one:`1 semaine`,other:`{{count}} semaines`},aboutXMonths:{one:`environ 1 mois`,other:`environ {{count}} mois`},xMonths:{one:`1 mois`,other:`{{count}} mois`},aboutXYears:{one:`environ 1 an`,other:`environ {{count}} ans`},xYears:{one:`1 an`,other:`{{count}} ans`},overXYears:{one:`plus dâun an`,other:`plus de {{count}} ans`},almostXYears:{one:`presquâun an`,other:`presque {{count}} ans`}},dc=(e,t,n)=>{let r,i=uc[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`dans `+r:`il y a `+r:r},fc={date:H({formats:{full:`EEEE d MMMM y`,long:`d MMMM y`,medium:`d MMM y`,short:`dd/MM/y`},defaultWidth:`full`}),time:H({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} 'à ' {{time}}`,long:`{{date}} 'à ' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},pc={lastWeek:`eeee 'dernier à ' p`,yesterday:`'hier à ' p`,today:`'aujourdâhui à ' p`,tomorrow:`'demain à ' p'`,nextWeek:`eeee 'prochain à ' p`,other:`P`},mc=(e,t,n,r)=>pc[e],hc={narrow:[`av. J.-C`,`ap. J.-C`],abbreviated:[`av. J.-C`,`ap. J.-C`],wide:[`avant Jésus-Christ`,`après Jésus-Christ`]},gc={narrow:[`T1`,`T2`,`T3`,`T4`],abbreviated:[`1er trim.`,`2ème trim.`,`3ème trim.`,`4ème trim.`],wide:[`1er trimestre`,`2ème trimestre`,`3ème trimestre`,`4ème trimestre`]},_c={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`janv.`,`févr.`,`mars`,`avr.`,`mai`,`juin`,`juil.`,`août`,`sept.`,`oct.`,`nov.`,`déc.`],wide:[`janvier`,`février`,`mars`,`avril`,`mai`,`juin`,`juillet`,`août`,`septembre`,`octobre`,`novembre`,`décembre`]},vc={narrow:[`D`,`L`,`M`,`M`,`J`,`V`,`S`],short:[`di`,`lu`,`ma`,`me`,`je`,`ve`,`sa`],abbreviated:[`dim.`,`lun.`,`mar.`,`mer.`,`jeu.`,`ven.`,`sam.`],wide:[`dimanche`,`lundi`,`mardi`,`mercredi`,`jeudi`,`vendredi`,`samedi`]},yc={narrow:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`mat.`,afternoon:`ap.m.`,evening:`soir`,night:`mat.`},abbreviated:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`matin`,afternoon:`après-midi`,evening:`soir`,night:`matin`},wide:{am:`AM`,pm:`PM`,midnight:`minuit`,noon:`midi`,morning:`du matin`,afternoon:`de lâaprès-midi`,evening:`du soir`,night:`du matin`}},bc=(e,t)=>{let n=Number(e),r=t?.unit;if(n===0)return`0`;let i=[`year`,`week`,`hour`,`minute`,`second`],a;return a=n===1?r&&i.includes(r)?`ère`:`er`:`ème`,n+a},xc=[`MMM`,`MMMM`],Sc={code:`fr`,formatDistance:dc,formatLong:fc,formatRelative:mc,localize:{preprocessor:(e,t)=>e.getDate()===1||!t.some(e=>e.isToken&&xc.includes(e.value))?t:t.map(e=>e.isToken&&e.value===`do`?{isToken:!0,value:`d`}:e),ordinalNumber:bc,era:B({values:hc,defaultWidth:`wide`}),quarter:B({values:gc,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:B({values:_c,defaultWidth:`wide`}),day:B({values:vc,defaultWidth:`wide`}),dayPeriod:B({values:yc,defaultWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^(\d+)(ième|ère|ème|er|e)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e)}),era:V({matchPatterns:{narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^av/i,/^ap/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4}},Cc={lessThanXSeconds:{one:`1ç§æªæº`,other:`{{count}}ç§æªæº`,oneWithSuffix:`ç´1ç§`,otherWithSuffix:`ç´{{count}}ç§`},xSeconds:{one:`1ç§`,other:`{{count}}ç§`},halfAMinute:`30ç§`,lessThanXMinutes:{one:`1åæªæº`,other:`{{count}}åæªæº`,oneWithSuffix:`ç´1å`,otherWithSuffix:`ç´{{count}}å`},xMinutes:{one:`1å`,other:`{{count}}å`},aboutXHours:{one:`ç´1æé`,other:`ç´{{count}}æé`},xHours:{one:`1æé`,other:`{{count}}æé`},xDays:{one:`1æ¥`,other:`{{count}}æ¥`},aboutXWeeks:{one:`ç´1é±é`,other:`ç´{{count}}é±é`},xWeeks:{one:`1é±é`,other:`{{count}}é±é`},aboutXMonths:{one:`ç´1ãæ`,other:`ç´{{count}}ãæ`},xMonths:{one:`1ãæ`,other:`{{count}}ãæ`},aboutXYears:{one:`ç´1å¹´`,other:`ç´{{count}}å¹´`},xYears:{one:`1å¹´`,other:`{{count}}å¹´`},overXYears:{one:`1年以ä¸`,other:`{{count}}年以ä¸`},almostXYears:{one:`1å¹´è¿ã`,other:`{{count}}å¹´è¿ã`}},wc=(e,t,n)=>{n||={};let r,i=Cc[e];return r=typeof i==`string`?i:t===1?n.addSuffix&&i.oneWithSuffix?i.oneWithSuffix:i.one:n.addSuffix&&i.otherWithSuffix?i.otherWithSuffix.replace(`{{count}}`,String(t)):i.other.replace(`{{count}}`,String(t)),n.addSuffix?n.comparison&&n.comparison>0?r+`å¾`:r+`å`:r},Tc={date:H({formats:{full:`yå¹´Mædæ¥EEEE`,long:`yå¹´Mædæ¥`,medium:`y/MM/dd`,short:`y/MM/dd`},defaultWidth:`full`}),time:H({formats:{full:`Hæmmåssç§ zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} {{time}}`,long:`{{date}} {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},Ec={lastWeek:`å
é±ã®eeeeã®p`,yesterday:`æ¨æ¥ã®p`,today:`仿¥ã®p`,tomorrow:`ææ¥ã®p`,nextWeek:`ç¿é±ã®eeeeã®p`,other:`P`},Dc={code:`ja`,formatDistance:wc,formatLong:Tc,formatRelative:(e,t,n,r)=>Ec[e],localize:{ordinalNumber:(e,t)=>{let n=Number(e);switch(String(t?.unit)){case`year`:return`${n}å¹´`;case`quarter`:return`第${n}ååæ`;case`month`:return`${n}æ`;case`week`:return`第${n}é±`;case`date`:return`${n}æ¥`;case`hour`:return`${n}æ`;case`minute`:return`${n}å`;case`second`:return`${n}ç§`;default:return`${n}`}},era:B({values:{narrow:[`BC`,`AC`],abbreviated:[`ç´å
å`,`西æ¦`],wide:[`ç´å
å`,`西æ¦`]},defaultWidth:`wide`}),quarter:B({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`第1ååæ`,`第2ååæ`,`第3ååæ`,`第4ååæ`]},defaultWidth:`wide`,argumentCallback:e=>Number(e)-1}),month:B({values:{narrow:[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`11`,`12`],abbreviated:[`1æ`,`2æ`,`3æ`,`4æ`,`5æ`,`6æ`,`7æ`,`8æ`,`9æ`,`10æ`,`11æ`,`12æ`],wide:[`1æ`,`2æ`,`3æ`,`4æ`,`5æ`,`6æ`,`7æ`,`8æ`,`9æ`,`10æ`,`11æ`,`12æ`]},defaultWidth:`wide`}),day:B({values:{narrow:[`æ¥`,`æ`,`ç«`,`æ°´`,`æ¨`,`é`,`å`],short:[`æ¥`,`æ`,`ç«`,`æ°´`,`æ¨`,`é`,`å`],abbreviated:[`æ¥`,`æ`,`ç«`,`æ°´`,`æ¨`,`é`,`å`],wide:[`æ¥ææ¥`,`æææ¥`,`ç«ææ¥`,`æ°´ææ¥`,`æ¨ææ¥`,`éææ¥`,`åææ¥`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`},abbreviated:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`},wide:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`},abbreviated:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`},wide:{am:`åå`,pm:`åå¾`,midnight:`æ·±å¤`,noon:`æ£å`,morning:`æ`,afternoon:`åå¾`,evening:`å¤`,night:`æ·±å¤`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^第?\d+(å¹´|ååæ|æ|é±|æ¥|æ|å|ç§)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:V({matchPatterns:{narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(ç´å
[åå¾]|西æ¦)/i,wide:/^(ç´å
[åå¾]|西æ¦)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^B/i,/^A/i],any:[/^(ç´å
å)/i,/^(西æ¦|ç´å
å¾)/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234ä¸äºä¸åï¼ï¼ï¼ï¼]ååæ/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/(1|ä¸|ï¼)/i,/(2|äº|ï¼)/i,/(3|ä¸|ï¼)/i,/(4|å|ï¼)/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])æ/i,wide:/^([123456789]|1[012])æ/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[æ¥æç«æ°´æ¨éå]/,short:/^[æ¥æç«æ°´æ¨éå]/,abbreviated:/^[æ¥æç«æ°´æ¨éå]/,wide:/^[æ¥æç«æ°´æ¨éå]ææ¥/},defaultMatchWidth:`wide`,parsePatterns:{any:[/^æ¥/,/^æ/,/^ç«/,/^æ°´/,/^æ¨/,/^é/,/^å/]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{any:/^(AM|PM|åå|åå¾|æ£å|æ·±å¤|çå¤ä¸|å¤|æ)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^(A|åå)/i,pm:/^(P|åå¾)/i,midnight:/^æ·±å¤|çå¤ä¸/i,noon:/^æ£å/i,morning:/^æ/i,afternoon:/^åå¾/i,evening:/^å¤/i,night:/^æ·±å¤/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Oc(e,t){if(e.one!==void 0&&t===1)return e.one;let n=t%10,r=t%100;return n===1&&r!==11?e.singularNominative.replace(`{{count}}`,String(t)):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace(`{{count}}`,String(t)):e.pluralGenitive.replace(`{{count}}`,String(t))}function Q(e){return(t,n)=>n?.addSuffix?n.comparison&&n.comparison>0?e.future?Oc(e.future,t):`ÑеÑез `+Oc(e.regular,t):e.past?Oc(e.past,t):Oc(e.regular,t)+` назад`:Oc(e.regular,t)}var kc={lessThanXSeconds:Q({regular:{one:`менÑÑе ÑекÑндÑ`,singularNominative:`менÑÑе {{count}} ÑекÑндÑ`,singularGenitive:`менÑÑе {{count}} ÑекÑнд`,pluralGenitive:`менÑÑе {{count}} ÑекÑнд`},future:{one:`менÑÑе, Ñем ÑеÑез ÑекÑндÑ`,singularNominative:`менÑÑе, Ñем ÑеÑез {{count}} ÑекÑндÑ`,singularGenitive:`менÑÑе, Ñем ÑеÑез {{count}} ÑекÑндÑ`,pluralGenitive:`менÑÑе, Ñем ÑеÑез {{count}} ÑекÑнд`}}),xSeconds:Q({regular:{singularNominative:`{{count}} ÑекÑнда`,singularGenitive:`{{count}} ÑекÑндÑ`,pluralGenitive:`{{count}} ÑекÑнд`},past:{singularNominative:`{{count}} ÑекÑÐ½Ð´Ñ Ð½Ð°Ð·Ð°Ð´`,singularGenitive:`{{count}} ÑекÑÐ½Ð´Ñ Ð½Ð°Ð·Ð°Ð´`,pluralGenitive:`{{count}} ÑекÑнд назад`},future:{singularNominative:`ÑеÑез {{count}} ÑекÑндÑ`,singularGenitive:`ÑеÑез {{count}} ÑекÑндÑ`,pluralGenitive:`ÑеÑез {{count}} ÑекÑнд`}}),halfAMinute:(e,t)=>t?.addSuffix?t.comparison&&t.comparison>0?`ÑеÑез полминÑÑÑ`:`полминÑÑÑ Ð½Ð°Ð·Ð°Ð´`:`полминÑÑÑ`,lessThanXMinutes:Q({regular:{one:`менÑÑе минÑÑÑ`,singularNominative:`менÑÑе {{count}} минÑÑÑ`,singularGenitive:`менÑÑе {{count}} минÑÑ`,pluralGenitive:`менÑÑе {{count}} минÑÑ`},future:{one:`менÑÑе, Ñем ÑеÑез минÑÑÑ`,singularNominative:`менÑÑе, Ñем ÑеÑез {{count}} минÑÑÑ`,singularGenitive:`менÑÑе, Ñем ÑеÑез {{count}} минÑÑÑ`,pluralGenitive:`менÑÑе, Ñем ÑеÑез {{count}} минÑÑ`}}),xMinutes:Q({regular:{singularNominative:`{{count}} минÑÑа`,singularGenitive:`{{count}} минÑÑÑ`,pluralGenitive:`{{count}} минÑÑ`},past:{singularNominative:`{{count}} минÑÑÑ Ð½Ð°Ð·Ð°Ð´`,singularGenitive:`{{count}} минÑÑÑ Ð½Ð°Ð·Ð°Ð´`,pluralGenitive:`{{count}} минÑÑ Ð½Ð°Ð·Ð°Ð´`},future:{singularNominative:`ÑеÑез {{count}} минÑÑÑ`,singularGenitive:`ÑеÑез {{count}} минÑÑÑ`,pluralGenitive:`ÑеÑез {{count}} минÑÑ`}}),aboutXHours:Q({regular:{singularNominative:`около {{count}} ÑаÑа`,singularGenitive:`около {{count}} ÑаÑов`,pluralGenitive:`около {{count}} ÑаÑов`},future:{singularNominative:`пÑиблизиÑелÑно ÑеÑез {{count}} ÑаÑ`,singularGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} ÑаÑа`,pluralGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} ÑаÑов`}}),xHours:Q({regular:{singularNominative:`{{count}} ÑаÑ`,singularGenitive:`{{count}} ÑаÑа`,pluralGenitive:`{{count}} ÑаÑов`}}),xDays:Q({regular:{singularNominative:`{{count}} денÑ`,singularGenitive:`{{count}} днÑ`,pluralGenitive:`{{count}} дней`}}),aboutXWeeks:Q({regular:{singularNominative:`около {{count}} недели`,singularGenitive:`около {{count}} неделÑ`,pluralGenitive:`около {{count}} неделÑ`},future:{singularNominative:`пÑиблизиÑелÑно ÑеÑез {{count}} неделÑ`,singularGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} недели`,pluralGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} неделÑ`}}),xWeeks:Q({regular:{singularNominative:`{{count}} неделÑ`,singularGenitive:`{{count}} недели`,pluralGenitive:`{{count}} неделÑ`}}),aboutXMonths:Q({regular:{singularNominative:`около {{count}} меÑÑÑа`,singularGenitive:`около {{count}} меÑÑÑев`,pluralGenitive:`около {{count}} меÑÑÑев`},future:{singularNominative:`пÑиблизиÑелÑно ÑеÑез {{count}} меÑÑÑ`,singularGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} меÑÑÑа`,pluralGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} меÑÑÑев`}}),xMonths:Q({regular:{singularNominative:`{{count}} меÑÑÑ`,singularGenitive:`{{count}} меÑÑÑа`,pluralGenitive:`{{count}} меÑÑÑев`}}),aboutXYears:Q({regular:{singularNominative:`около {{count}} года`,singularGenitive:`около {{count}} леÑ`,pluralGenitive:`около {{count}} леÑ`},future:{singularNominative:`пÑиблизиÑелÑно ÑеÑез {{count}} год`,singularGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} года`,pluralGenitive:`пÑиблизиÑелÑно ÑеÑез {{count}} леÑ`}}),xYears:Q({regular:{singularNominative:`{{count}} год`,singularGenitive:`{{count}} года`,pluralGenitive:`{{count}} леÑ`}}),overXYears:Q({regular:{singularNominative:`болÑÑе {{count}} года`,singularGenitive:`болÑÑе {{count}} леÑ`,pluralGenitive:`болÑÑе {{count}} леÑ`},future:{singularNominative:`болÑÑе, Ñем ÑеÑез {{count}} год`,singularGenitive:`болÑÑе, Ñем ÑеÑез {{count}} года`,pluralGenitive:`болÑÑе, Ñем ÑеÑез {{count}} леÑ`}}),almostXYears:Q({regular:{singularNominative:`поÑÑи {{count}} год`,singularGenitive:`поÑÑи {{count}} года`,pluralGenitive:`поÑÑи {{count}} леÑ`},future:{singularNominative:`поÑÑи ÑеÑез {{count}} год`,singularGenitive:`поÑÑи ÑеÑез {{count}} года`,pluralGenitive:`поÑÑи ÑеÑез {{count}} леÑ`}})},Ac=(e,t,n)=>kc[e](t,n),jc={date:H({formats:{full:`EEEE, d MMMM y 'г.'`,long:`d MMMM y 'г.'`,medium:`d MMM y 'г.'`,short:`dd.MM.y`},defaultWidth:`full`}),time:H({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:H({formats:{any:`{{date}}, {{time}}`},defaultWidth:`any`})},Mc=[`воÑкÑеÑенÑе`,`понеделÑник`,`вÑоÑник`,`ÑÑедÑ`,`ÑеÑвеÑг`,`пÑÑниÑÑ`,`ÑÑббоÑÑ`];function Nc(e){let t=Mc[e];switch(e){case 0:return`'в пÑоÑлое `+t+` в' p`;case 1:case 2:case 4:return`'в пÑоÑлÑй `+t+` в' p`;case 3:case 5:case 6:return`'в пÑоÑлÑÑ `+t+` в' p`}}function Pc(e){let t=Mc[e];return e===2?`'во `+t+` в' p`:`'в `+t+` в' p`}function Fc(e){let t=Mc[e];switch(e){case 0:return`'в ÑледÑÑÑее `+t+` в' p`;case 1:case 2:case 4:return`'в ÑледÑÑÑий `+t+` в' p`;case 3:case 5:case 6:return`'в ÑледÑÑÑÑÑ `+t+` в' p`}}var Ic={lastWeek:(e,t,n)=>{let r=e.getDay();return Hs(e,t,n)?Pc(r):Nc(r)},yesterday:`'вÑеÑа в' p`,today:`'ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð²' p`,tomorrow:`'завÑÑа в' p`,nextWeek:(e,t,n)=>{let r=e.getDay();return Hs(e,t,n)?Pc(r):Fc(r)},other:`P`},Lc={code:`ru`,formatDistance:Ac,formatLong:jc,formatRelative:(e,t,n,r)=>{let i=Ic[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>{let n=Number(e),r=t?.unit,i;return i=r===`date`?`-е`:r===`week`||r===`minute`||r===`second`?`-Ñ`:`-й`,n+i},era:B({values:{narrow:[`до н.Ñ.`,`н.Ñ.`],abbreviated:[`до н. Ñ.`,`н. Ñ.`],wide:[`до наÑей ÑÑÑ`,`наÑей ÑÑÑ`]},defaultWidth:`wide`}),quarter:B({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`1-й кв.`,`2-й кв.`,`3-й кв.`,`4-й кв.`],wide:[`1-й кваÑÑал`,`2-й кваÑÑал`,`3-й кваÑÑал`,`4-й кваÑÑал`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:B({values:{narrow:[`Я`,`Ф`,`Ð`,`Ð`,`Ð`,`Ð`,`Ð`,`Ð`,`С`,`Ð`,`Ð`,`Ð`],abbreviated:[`Ñнв.`,`Ñев.`,`маÑÑ`,`апÑ.`,`май`,`иÑнÑ`,`иÑлÑ`,`авг.`,`ÑенÑ.`,`ок
108Ñ.`,`ноÑб.`,`дек.`],wide:[`ÑнваÑÑ`,`ÑевÑалÑ`,`маÑÑ`,`апÑелÑ`,`май`,`иÑнÑ`,`иÑлÑ`,`авгÑÑÑ`,`ÑенÑÑбÑÑ`,`окÑÑбÑÑ`,`ноÑбÑÑ`,`декабÑÑ`]},defaultWidth:`wide`,formattingValues:{narrow:[`Я`,`Ф`,`Ð`,`Ð`,`Ð`,`Ð`,`Ð`,`Ð`,`С`,`Ð`,`Ð`,`Ð`],abbreviated:[`Ñнв.`,`Ñев.`,`маÑ.`,`апÑ.`,`маÑ`,`иÑн.`,`иÑл.`,`авг.`,`ÑенÑ.`,`окÑ.`,`ноÑб.`,`дек.`],wide:[`ÑнваÑÑ`,`ÑевÑалÑ`,`маÑÑа`,`апÑелÑ`,`маÑ`,`иÑнÑ`,`иÑлÑ`,`авгÑÑÑа`,`ÑенÑÑбÑÑ`,`окÑÑбÑÑ`,`ноÑбÑÑ`,`декабÑÑ`]},defaultFormattingWidth:`wide`}),day:B({values:{narrow:[`Ð`,`Ð`,`Ð`,`С`,`Ч`,`Ð`,`С`],short:[`вÑ`,`пн`,`вÑ`,`ÑÑ`,`ÑÑ`,`пÑ`,`Ñб`],abbreviated:[`вÑк`,`пнд`,`вÑÑ`,`ÑÑд`,`ÑÑв`,`пÑн`,`ÑÑб`],wide:[`воÑкÑеÑенÑе`,`понеделÑник`,`вÑоÑник`,`ÑÑеда`,`ÑеÑвеÑг`,`пÑÑниÑа`,`ÑÑббоÑа`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полн.`,noon:`полд.`,morning:`ÑÑÑо`,afternoon:`денÑ`,evening:`веÑ.`,night:`ноÑÑ`},abbreviated:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полн.`,noon:`полд.`,morning:`ÑÑÑо`,afternoon:`денÑ`,evening:`веÑ.`,night:`ноÑÑ`},wide:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полноÑÑ`,noon:`полденÑ`,morning:`ÑÑÑо`,afternoon:`денÑ`,evening:`веÑеÑ`,night:`ноÑÑ`}},defaultWidth:`any`,formattingValues:{narrow:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полн.`,noon:`полд.`,morning:`ÑÑÑа`,afternoon:`днÑ`,evening:`веÑ.`,night:`ноÑи`},abbreviated:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полн.`,noon:`полд.`,morning:`ÑÑÑа`,afternoon:`днÑ`,evening:`веÑ.`,night:`ноÑи`},wide:{am:`ÐÐ`,pm:`ÐÐ`,midnight:`полноÑÑ`,noon:`полденÑ`,morning:`ÑÑÑа`,afternoon:`днÑ`,evening:`веÑеÑа`,night:`ноÑи`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:nt({matchPattern:/^(\d+)(-?(е|Ñ|й|ое|Ñе|аÑ|ÑÑ|Ñй|ой|ий|Ñй))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:{narrow:/^((до )?н\.?\s?Ñ\.?)/i,abbreviated:/^((до )?н\.?\s?Ñ\.?)/i,wide:/^(до наÑей ÑÑÑ|наÑей ÑÑÑ|наÑа ÑÑа)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^д/i,/^н/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234](-?[Ñои]?й?)? кв.?/i,wide:/^[1234](-?[Ñои]?й?)? кваÑÑал/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^[ÑÑмаиÑонд]/i,abbreviated:/^(Ñнв|Ñев|маÑÑ?|апÑ|ма[йÑ]|иÑн[ÑÑ]?|иÑл[ÑÑ]?|авг|ÑенÑ?|окÑ|ноÑб?|дек)\.?/i,wide:/^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[йÑ]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^Ñ/i,/^Ñ/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^Ñ/i,/^о/i,/^н/i,/^Ñ/i],any:[/^Ñ/i,/^Ñ/i,/^маÑ/i,/^ап/i,/^ма[йÑ]/i,/^иÑн/i,/^иÑл/i,/^ав/i,/^Ñ/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:`any`}
vendor: 5,136 bytes, line 108
108),day:V({matchPatterns:{narrow:/^[впÑÑ]/i,short:/^(вÑ|во|пн|по|вÑ|ÑÑ|ÑÑ|Ñе|пÑ|пÑ|Ñб|ÑÑ)\.?/i,abbreviated:/^(вÑк|воÑ|пнд|пон|вÑÑ|вÑо|ÑÑд|ÑÑе|ÑÑв|ÑеÑ|пÑн|пÑÑ|ÑÑб).?/i,wide:/^(воÑкÑеÑенÑ[еÑ]|понеделÑника?|вÑоÑника?|ÑÑед[аÑ]|ÑеÑвеÑга?|пÑÑниÑ[аÑ]|ÑÑббоÑ[аÑ])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^в/i,/^п/i,/^в/i,/^Ñ/i,/^Ñ/i,/^п/i,/^Ñ/i],any:[/^в[оÑ]/i,/^п[он]/i,/^в/i,/^ÑÑ/i,/^Ñ/i,/^п[ÑÑ]/i,/^Ñ[Ñб]/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{narrow:/^([дп]п|полн\.?|полд\.?|ÑÑÑ[оа]|денÑ|днÑ|веÑ\.?|ноÑ[Ñи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|ÑÑÑ[оа]|денÑ|днÑ|веÑ\.?|ноÑ[Ñи])/i,wide:/^([дп]п|полноÑÑ|полденÑ|ÑÑÑ[оа]|денÑ|днÑ|веÑеÑа?|ноÑ[Ñи])/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^Ñ/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}},Rc={lessThanXSeconds:{one:`ä¸å° 1 ç§`,other:`ä¸å° {{count}} ç§`},xSeconds:{one:`1 ç§`,other:`{{count}} ç§`},halfAMinute:`ååé`,lessThanXMinutes:{one:`ä¸å° 1 åé`,other:`ä¸å° {{count}} åé`},xMinutes:{one:`1 åé`,other:`{{count}} åé`},xHours:{one:`1 å°æ¶`,other:`{{count}} å°æ¶`},aboutXHours:{one:`大约 1 å°æ¶`,other:`大约 {{count}} å°æ¶`},xDays:{one:`1 天`,other:`{{count}} 天`},aboutXWeeks:{one:`大约 1 个ææ`,other:`大约 {{count}} 个ææ`},xWeeks:{one:`1 个ææ`,other:`{{count}} 个ææ`},aboutXMonths:{one:`大约 1 个æ`,other:`大约 {{count}} 个æ`},xMonths:{one:`1 个æ`,other:`{{count}} 个æ`},aboutXYears:{one:`大约 1 å¹´`,other:`大约 {{count}} å¹´`},xYears:{one:`1 å¹´`,other:`{{count}} å¹´`},overXYears:{one:`è¶
è¿ 1 å¹´`,other:`è¶
è¿ {{count}} å¹´`},almostXYears:{one:`å°è¿ 1 å¹´`,other:`å°è¿ {{count}} å¹´`}},zc=(e,t,n)=>{let r,i=Rc[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+`å
`:r+`å`:r},Bc={date:H({formats:{full:`y'å¹´'M'æ'd'æ¥' EEEE`,long:`y'å¹´'M'æ'd'æ¥'`,medium:`yyyy-MM-dd`,short:`yy-MM-dd`},defaultWidth:`full`}),time:H({formats:{full:`zzzz a h:mm:ss`,long:`z a h:mm:ss`,medium:`a h:mm:ss`,short:`a h:mm`},defaultWidth:`full`}),dateTime:H({formats:{full:`{{date}} {{time}}`,long:`{{date}} {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})};function Vc(e,t,n){return Hs(e,t,n)?`eeee p`:e.getTime()>t.getTime()?`'ä¸ä¸ª'eeee p`:`'ä¸ä¸ª'eeee p`}var Hc={lastWeek:Vc,yesterday:`'æ¨å¤©' p`,today:`'ä»å¤©' p`,tomorrow:`'æå¤©' p`,nextWeek:Vc,other:`PP p`},Uc={en:tt,es:lc,fr:Sc,de:rc,ja:Dc,zh:{code:`zh-CN`,formatDistance:zc,formatLong:Bc,formatRelative:(e,t,n,r)=>{let i=Hc[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>{let n=Number(e);switch(t?.unit){case`date`:return n.toString()+`æ¥`;case`hour`:return n.toString()+`æ¶`;case`minute`:return n.toString()+`å`;case`second`:return n.toString()+`ç§`;default:return`第 `+n.toString()}},era:B({values:{narrow:[`å`,`å
Œ
`],abbreviated:[`å`,`å
Œ
`],wide:[`å
Œ
å`,`å
Œ
`]},defaultWidth:`wide`}),quarter:B({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`第ä¸å£`,`第äºå£`,`第ä¸å£`,`第åå£`],wide:[`第ä¸å£åº¦`,`第äºå£åº¦`,`第ä¸å£åº¦`,`第åå£åº¦`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:B({values:{narrow:[`ä¸`,`äº`,`ä¸`,`å`,`äº`,`å
`,`ä¸`,`å
«`,`ä¹`,`å`,`åä¸`,`åäº`],abbreviated:[`1æ`,`2æ`,`3æ`,`4æ`,`5æ`,`6æ`,`7æ`,`8æ`,`9æ`,`10æ`,`11æ`,`12æ`],wide:[`䏿`,`äºæ`,`䏿`,`åæ`,`äºæ`,`å
æ`,`䏿`,`å
«æ`,`乿`,`åæ`,`å䏿`,`åäºæ`]},defaultWidth:`wide`}),day:B({values:{narrow:[`æ¥`,`ä¸`,`äº`,`ä¸`,`å`,`äº`,`å
`],short:[`æ¥`,`ä¸`,`äº`,`ä¸`,`å`,`äº`,`å
`],abbreviated:[`卿¥`,`å¨ä¸`,`å¨äº`,`å¨ä¸`,`å¨å`,`å¨äº`,`å¨å
`],wide:[`æææ¥`,`ææä¸`,`ææäº`,`ææä¸`,`ææå`,`ææäº`,`ææå
`]},defaultWidth:`wide`}),dayPeriod:B({values:{narrow:{am:`ä¸`,pm:`ä¸`,midnight:`忍`,noon:`å`,morning:`æ©`,afternoon:`ä¸å`,evening:`æ`,night:`å¤`},abbreviated:{am:`ä¸å`,pm:`ä¸å`,midnight:`忍`,noon:`ä¸å`,morning:`æ©æ¨`,afternoon:`ä¸å`,evening:`æä¸`,night:`å¤é´`},wide:{am:`ä¸å`,pm:`ä¸å`,midnight:`忍`,noon:`ä¸å`,morning:`æ©æ¨`,afternoon:`ä¸å`,evening:`æä¸`,night:`å¤é´`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`ä¸`,pm:`ä¸`,midnight:`忍`,noon:`å`,morning:`æ©`,afternoon:`ä¸å`,evening:`æ`,night:`å¤`},abbreviated:{am:`ä¸å`,pm:`ä¸å`,midnight:`忍`,noon:`ä¸å`,morning:`æ©æ¨`,afternoon:`ä¸å`,evening:`æä¸`,night:`å¤é´`},wide:{am:`ä¸å`,pm:`ä¸å`,midnight:`忍`,noon:`ä¸å`,morning:`æ©æ¨`,afternoon:`ä¸å`,evening:`æä¸`,night:`å¤é´`}},defaultFormattingWidth:`wide`})}
108,match:{ordinalNumber:nt({matchPattern:/^(第\s*)?\d+(æ¥|æ¶|å|ç§)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:{narrow:/^(å)/i,abbreviated:/^(å)/i,wide:/^(å
Œ
å|å
Œ
)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^(å)/i,/^(å
Œ
)/i]},defaultParseWidth:`any`}),quarter:V({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^第[ä¸äºä¸å]å»/i,wide:/^第[ä¸äºä¸å]å»é/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/(1|ä¸)/i,/(2|äº)/i,/(3|ä¸)/i,/(4|å)/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:V({matchPatterns:{narrow:/^(ä¸|äº|ä¸|å|äº|å
|ä¸|å
«|ä¹|å[äºä¸])/i,abbreviated:/^(ä¸|äº|ä¸|å|äº|å
|ä¸|å
«|ä¹|å[äºä¸]|\d|1[12])æ/i,wide:/^(ä¸|äº|ä¸|å|äº|å
|ä¸|å
«|ä¹|å[äºä¸])æ/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^ä¸/i,/^äº/i,/^ä¸/i,/^å/i,/^äº/i,/^å
/i,/^ä¸/i,/^å
«/i,/^ä¹/i,/^å(?!(ä¸|äº))/i,/^åä¸/i,/^åäº/i],any:[/^ä¸|1/i,/^äº|2/i,/^ä¸|3/i,/^å|4/i,/^äº|5/i,/^å
|6/i,/^ä¸|7/i,/^å
«|8/i,/^ä¹|9/i,/^å(?!(ä¸|äº))|10/i,/^åä¸|11/i,/^åäº|12/i]},defaultParseWidth:`any`}),day:V({matchPatterns:{narrow:/^[ä¸äºä¸åäºå
æ¥]/i,short:/^[ä¸äºä¸åäºå
æ¥]/i,abbreviated:/^å¨[ä¸äºä¸åäºå
æ¥]/i,wide:/^ææ[ä¸äºä¸åäºå
æ¥]/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/æ¥/i,/ä¸/i,/äº/i,/ä¸/i,/å/i,/äº/i,/å
/i]},defaultParseWidth:`any`}),dayPeriod:V({matchPatterns:{any:/^(ä¸å?|ä¸å?|åå¤|[䏿£]å|æ©ä¸?|ä¸å|æä¸?|忍|)/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^ä¸å?/i,pm:/^ä¸å?/i,midnight:/^åå¤/i,noon:/^[䏿£]å/i,morning:/^æ©ä¸/i,afternoon:/^ä¸å/i,evening:/^æä¸?/i,night:/^忍/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4}},ar:qs,ru:Lc};function Wc(e){return Uc[(e||`en`).split(`-`)[0]]||tt}function Gc(e){return e.room_id||(e.metadata?.session_id??null)}function Kc(){let e=s(),{removeNotification:t}=Ui(),{toast:n}=h(),[r,i]=(0,U.useState)(null),a=async(r,a,o)=>{let s=Gc(r);if(s){i(r.id);try{let{data:{user:i}}=await C.auth.getUser();if(!i)return;let c=await Te();(await fetch(`${Ee.API_BASE_URL}/api/sessions/${s}/collaborators/${i.id}`,{method:`PATCH`,headers:c,body:JSON.stringify({status:a})})).ok?(await t(r.id),o?.(),a===`accepted`?e(`/creating?session=${s}`):n({title:`Invitation declined`})):n({title:a===`accepted`?`Failed to accept invitation`:`Failed to decline invitation`,variant:`destructive`})}catch(e){console.error(`${a} invite failed:`,e),n({title:a===`accepted`?`Failed to accept invitation`:`Failed to decline invitation`,variant:`destructive`})}finally{i(null)}}};return{processingId:r,acceptInvite:(e,t)=>a(e,`accepted`,t),declineInvite:(e,t)=>a(e,`declined`,t)}}function qc(e){switch(e){case`new_follower`:return(0,W.jsx)(En,{className:`h-4 w-4 text-blue-500`});case`game_like`:return(0,W.jsx)(pn,{className:`h-4 w-4 text-red-500`});case`game_comment`:case`comment_reply`:return(0,W.jsx)(vn,{className:`h-4 w-4 text-green-500`});case`collab_invite`:case`chat_mention`:return(0,W.jsx)(Dn,{className:`h-4 w-4 text-purple-500`});default:return(0,W.jsx)(nn,{className:`h-4 w-4`})}}function Jc(e){if(e)return C.storage.from(`avatars`).getPublicUrl(e).data.publicUrl}function Yc(){let e=s(),{t,i18n:n}=z(),{isAuthenticated:r}=Sr(),{notifications:i,unreadCount:a,loading:o,markAsRead:c,markAllAsRead:l,removeNotification:u}=Ui(),[d,f]=(0,U.useState)(!1),{processingId:p,acceptInvite:m,declineInvite:h}=Kc(),g=()=>{if(!r){e(Xo(`/notifications`,`protected_route`));return}},_=async t=>{t.type!==`collab_invite`&&(t.is_read||await c(t.id),f(!1),e(Bi(t)))},v=async e=>{e.stopPropagation(),await l()},y=async(e,t)=>{e.stopPropagation(),await u(t)},b=(e,t)=>{e.stopPropagation(),m(t,()=>f(!1))},x=(e,t)=>{e.stopPropagation(),h(t)};return r?(0,W.jsxs)(se,{open:d,onOpenChange:f,children:[(0,W.jsx)(oe,{asChild:!0,children:(0,W.jsxs)(P,{variant:`ghost`,size:`icon`,className:`relative h-8 w-8 sm:h-10 sm:w-10`,children:[(0,W.jsx)(nn,{className:`h-4 w-4 sm:h-5 sm:w-5 text-foreground`}),a>0&&(0,W.jsx)(`span`,{className:`absolute -top-1 -right-1 h-4 w-4 sm:h-5 sm:w-5 rounded-full bg-primary text-[10px] sm:text-xs font-medium flex items-center justify-center text-primary-foreground`,children:a>99?`99+`:a})]})}),(0,W.jsxs)(ce,{align:`end`,className:`w-80`,children:[(0,W.jsxs)(ue,{className:`flex items-center justify-between`,children:[(0,W.jsx)(`span`,{children:t(`notifications.title`,`Notifications`)}),a>0&&(0,W.jsxs)(P,{variant:`ghost`,size:`sm`,className:`h-6 text-xs`,onClick:v,children:[(0,W.jsx)(te,{className:`h-3 w-3 mr-1`}),t(`notifications.markAllRead`,`Mark all read`)]})]}),(0,W.jsx)(L,{}),(0,W.jsx)(zs,{className:`h-[300px]`,children:o?(0,W.jsx)(`div`,{className:`p-4 text-center text-muted-foreground`,children:t(`general.loading`,`Loading...`)}):i.length===0?(0,W.jsx)(`div`,{className:`p-4 text-center text-muted-foreground`,children:t(`notifications.emptyTitle`,`No notifications yet`)}):i.map(e=>{let r=e.type===`collab_invite`,i=`flex items-start gap-3 p-3 cursor-pointer ${e.is_read?``:`bg-muted/50`}`,a=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`flex-shrink-0 mt-1`,children:e.sender?.avatar_url?(0,W.jsxs)(Ge,{className:`h-8 w-8`,children:[(0,W.jsx)(We,{src:Jc(e.sender.avatar_url)}),(0,W.jsx)(Ue,{children:e.sender.username?.[0]||`?`})]}):(0,W.jsx)(`div`,{className:`h-8 w-8 rounded-full bg-muted flex items-center justify-center`,children:qc(e.type)})}),(0,W.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,W.jsx)(`p`,{className:`text-sm line-clamp-2`,children:zi(e,t)}),(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:it(new Date(e.created_at),{addSuffix:!0,locale:Wc(n.language)})}),r&&(0,W.jsxs)(`div`,{className:`flex gap-1 mt-1.5`,children:[(0,W.jsxs)(P,{variant:`default`,size:`sm`,className:`h-6 text-xs px-2`,disabled:p===e.id,onClick:t=>b(t,e),children:[(0,W.jsx)(an,{className:`h-3 w-3 mr-1`}),t(`notifications.accept`,`Accept`)]}),(0,W.jsxs)(P,{variant:`outline`,size:`sm`,className:`h-6 text-xs px-2`,disabled:p===e.id,onClick:t=>x(t,e),children:[(0,W.jsx)(sn,{className:`h-3 w-3 mr-1`}),t(`notifications.decline`,`Decline`)]})]})]}),(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-6 w-6 flex-shrink-0`,onClick:t=>y(t,e.id),children:(0,W.jsx)(Tn,{className:`h-3 w-3 text-muted-foreground`})})]});return r?(0,W.jsx)(`div`,{className:`${i} relative rounded-sm hover:bg-accent hover:text-accent-foreground`,children:a},e.id):(0,W.jsx)(F,{className:i,onClick:()=>_(e),children:a},e.id)})})]})]}):(0,W.jsx)(P,{variant:`ghost`,size:`icon`,className:`relative h-8 w-8 sm:h-10 sm:w-10`,onClick:g,children:(0,W.jsx)(nn,{className:`h-4 w-4 sm:h-5 sm:w-5 text-foreground`})})}var Xc=async e=>{let t=e;if(!t){let{data:{user:e}}=await C.auth.getUser();if(!e)throw Error(`Not authenticated`);t=e.id}let{data:n,error:r}=await C.from(`user_projects`).select(`*`).eq(`user_id`,t).order(`updated_at`,{ascending:!1});if(r)throw r;return n||[]},Zc=async()=>{let e=await Te(),t=await fetch(`${Ee.API_BASE_URL}/api/sessions`,{headers:e}),n=null;try{n=await t.json()}catch{}if(!t.ok||n?.success!==!0)throw Error(n?.error||`Failed to load projects (${t.status})`);return{projects:(Array.isArray(n?.sessions)?n.sessions:[]).filter(e=>
108typeof e?.id==`string`&&typeof e?.session_id==`string`).map(e=>({id:e.id,user_id:e.user_id||``,session_id:e.session_id,name:e.name||e.session_id,description:e.description??null,thumbnail_url:e.thumbnail_url??null,status:e.status||`in_progress`,created_at:e.created_at||``,updated_at:e.updated_at||e.created_at||``,role:e.role===`collaborator`?`collaborator`:`owner`})).sort((e,t)=>Date.parse(t.updated_at)-Date.parse(e.updated_at)),sharedProjectsError:n?.shared_projects_error||null}},Qc=async e=>{if(e.length===0)return{};let{data:t,error:n}=await C.from(`games`).select(`session_id, thumbnail_url`).in(`session_id`,e).eq(`status`,`published`).not(`thumbnail_url`,`is`,null);if(n)throw n;let r={};for(let e of t||[]){let t=Be(e.thumbnail_url);e.session_id&&t&&(r[e.session_id]=t)}return r},$c=async e=>{let{data:{user:t}}=await C.auth.getUser();if(!t)throw Error(`Not authenticated`);let{data:n,error:r}=await C.from(`user_projects`).select(`*`).eq(`user_id`,t.id).eq(`session_id`,e).maybeSingle();if(r)throw r;return n},el=async e=>{let{data:{user:t}}=await C.auth.getUser();if(!t)throw Error(`Not authenticated`);let{data:n,error:r}=await C.from(`user_projects`).insert({user_id:t.id,session_id:e.session_id,name:e.name,description:e.description||null,thumbnail_url:e.thumbnail_url||null}).select().single();if(r)throw r;return n},tl=async(e,t)=>{let{data:n,error:r}=await C.from(`user_projects`).update(t).eq(`id`,e).select().single();if(r)throw r;return n},nl=async(e,t)=>{let{data:{user:n}}=await C.auth.getUser();if(!n)throw Error(`Not authenticated`);let r=await $c(e);if(r)return tl(r.id,t);if(!t.name)throw Error(`Name is required when creating a new project`);return el({session_id:e,name:t.name,description:t.description,thumbnail_url:t.thumbnail_url})},rl=async e=>{let{error:t}=await C.from(`user_projects`).delete().eq(`id`,e);if(t)throw t};function il(){let{logout:e,user:t,isAuthenticated:n}=Sr(),{toggle:r}=Tr(),{headerTab:i,setHeaderTab:a,openEditor:o,openInvite:c,presenceUsers:l,ownerUserId:u,setHeaderTitleSlot:d}=xe(),p=s(),m=f(),{t:h}=z(),[g,_]=(0,U.useState)(!1),[v,y]=(0,U.useState)(!1),b=Ye()&&v;(0,U.useEffect)(()=>Je((e,t)=>{e===`tour:step-entered`?y(!1):e===`tour:on-enter`&&Xe(t)?.kind===`open-editor-menu`&&y(!0)}),[]);let[S,C]=(0,U.useState)(void 0),[T,E]=(0,U.useState)(``),[D,O]=(0,U.useState)([]),k=Oe(m.pathname),A=to(),ee=k?new URLSearchParams(m.search).get(`session`):null,j=pt()===`dark`;return(0,U.useEffect)(()=>{(async()=>{if(t)try{let e=await w.getProfile(t.id);e.avatar_url?C(Re(e.avatar_url)):C(void 0)}catch{C(void 0)}else C(void 0)})()},[t]),(0,U.useEffect)(()=>{k&&n&&Xc().then(O).catch(()=>{})},[k,n]),(0,U.useEffect)(()=>{if(m.pathname===`/search`){let e=new URLSearchParams(m.search).get(`q`)||``;E(e)}else E(``)},[m]),(0,W.jsx)(`header`,{className:`fixed top-0 z-50 w-full bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`,children:(0,W.jsxs)(`div`,{className:`w-full px-2 sm:px-4 flex h-16 items-center justify-between`,children:[(0,W.jsxs)(`div`,{className:x(`flex items-center gap-1 sm:gap-2`,k&&A&&`min-w-0 flex-1`),children:[(0,W.jsx)(P,{variant:`ghost`,size:`icon`,onClick:r,"aria-label":h(`header.toggleMenu`,`Toggle menu`),className:`hidden lg:flex h-8 w-8 sm:h-10 sm:w-10`,children:(0,W.jsx)(gn,{className:`h-4 w-4 sm:h-5 sm:w-5 text-foreground`})}),(0,W.jsx)(`div`,{className:`flex shrink-0 items-center cursor-pointer hover:text-primary`,onClick:()=>{p(`/`)},children:(0,W.jsx)(`img`,{src:A?`/favicon.png`:j?`/Sandscape_Logo_White_Large.png`:`/Sandscape_Logo_Black_Large.png`,alt:`Sandscape`,className:x(`w-auto`,A?`h-7`:`h-6 sm:h-8`)})}),k&&A&&(0,W.jsx)(`div`,{ref:d,className:`min-w-0 flex-1 px-1`})]}),k?(0,W.jsx)(`div`,{className:x(`flex min-w-0 justify-center md:flex-1`,A&&`mr-3`),children:(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[!A&&(0,W.jsxs)(se,{open:g||b,onOpenChange:_,modal:!b,children:[(0,W.jsx)(oe,{asChild:!0,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":h(`header.openEditorMenu`,`Open editor menu`),title:h(`header.openEditorMenu`,`Open editor menu`),className:`flex items-center justify-center h-7 w-7 rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-accent transition-colors`,children:(0,W.jsx)(rn,{className:`h-3.5 w-3.5`})})}),(0,W.jsxs)(ce,{align:`center`,className:`w-48`,"data-tour":`tour-editor-menu`,children:[(0,W.jsx)(ue,{className:`text-xs`,children:h(`header.openEditor`,`Open editor`)}),(0,W.jsx)(L,{}),le.map(e=>{let t=e.icon;return(0,W.jsxs)(F,{onClick:()=>o(e.tabId),className:`text-xs`,children:[(0,W.jsx)(t,{className:`h-3.5 w-3.5 mr-2 text-muted-foreground`}),(0,W.jsx)(`span`,{className:`truncate`,children:e.label})]},e.tabId)})]})]}),(0,W.jsxs)(`div`,{className:`flex items-center border border-border rounded-lg p-0.5 gap-0`,children:[(0,W.jsxs)(`button`,{onClick:()=>a(`editor`),"aria-label":A?`Create`:void 0,className:x(`flex items-center gap-1 md:gap-1.5 px-3 md:px-3.5 py-1.5 rounded-md text-xs font-medium transition-colors`,i===`editor`?`bg-primary/15 text-primary border border-primary/30`:`text-muted-foreground hover:text-foreground border border-transparent`),children:[(0,W.jsx)(yn,{className:`h-3.5 w-3.5`}),!A&&`Editor`]}),(0,W.jsxs)(`button`,{"data-tour":`tour-header-game`,onClick:()=>{a(`game`),Ze(`tour:game-opened`)},"aria-label":A?`Game`:void 0,className:x(`flex items-center gap-1 md:gap-1.5 px-3 md:px-3.5 py-1.5 rounded-md text-xs font-medium transition-colors`,i===`game`?`bg-primary/15 text-primary border border-primary/30`:`text-muted-foreground hover:text-foreground border border-transparent`),children:[(0,W.jsx)(fn,{className:`h-3.5 w-3.5`}),!A&&`Game`]}),!A&&(0,W.jsxs)(`button`,{type:`button`,disabled:!0,"aria-disabled":`true`,title:`Rescape is coming soon`,className:`flex items-center gap-1.5 px-3.5 py-1.5 rounded-md text-xs font-medium text-muted-foreground
108/40 border border-transparent cursor-not-allowed`,children:[(0,W.jsx)(Cn,{className:`h-3.5 w-3.5`}),`Rescape`]})]})]})}):(0,W.jsx)(`div`,{className:`flex-1 max-w-2xl mx-1 sm:mx-4`,children:(0,W.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),T.trim()&&p(`/search?q=${encodeURIComponent(T)}`)},className:`relative w-full`,children:[(0,W.jsx)(Sn,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,W.jsx)(Er,{type:`search`,placeholder:h(`general.search`),className:`pl-8 w-full rounded-full text-sm`,value:T,onChange:e=>E(e.target.value)})]})}),(0,W.jsxs)(`div`,{className:`flex items-center gap-1 sm:gap-2`,children:[k?(0,W.jsxs)(P,{"data-tour":`tour-publish`,onClick:()=>{if(De(m.pathname)){Ze(`tour:publish-clicked`);return}if(n){let e=new URLSearchParams(m.search).get(`session`);p(e?`/publish?session=${e}`:`/publish`)}else{let e=new URLSearchParams(m.search).get(`session`);p(Xo(e?`/publish?session=${e}`:`/publish`,`header`))}},variant:`default`,className:`hidden lg:flex gap-1.5 rounded-lg px-4`,size:`sm`,children:[(0,W.jsx)(xn,{className:`h-3.5 w-3.5 text-primary-foreground`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:h(`navigation.publish`)})]}):(0,W.jsxs)(P,{onClick:()=>{p(n?`/create`:Xo(`/create`,`create_gate`))},variant:`default`,className:`hidden lg:flex gap-1 rounded-full px-2 sm:px-4`,size:`sm`,children:[(0,W.jsx)(bn,{className:`h-4 w-4 text-primary-foreground`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:h(`navigation.create`)})]}),k&&D.length>0&&(0,W.jsxs)(se,{children:[(0,W.jsx)(oe,{asChild:!0,children:(0,W.jsxs)(P,{variant:`outline`,size:`sm`,className:`hidden lg:flex gap-1.5 rounded-lg px-3 text-xs`,children:[(0,W.jsx)(dn,{className:`h-3.5 w-3.5`}),`Projects`,(0,W.jsx)(rn,{className:`h-3 w-3 text-muted-foreground`})]})}),(0,W.jsxs)(ce,{align:`end`,className:`w-56`,children:[(0,W.jsx)(ue,{className:`text-xs`,children:h(`header.yourProjects`,`Your Projects`)}),(0,W.jsx)(L,{}),D.slice(0,8).map(e=>(0,W.jsx)(F,{onClick:()=>{e.session_id!==ee&&(window.location.href=`/creating?session=${e.session_id}`)},className:x(`text-xs`,e.session_id===ee&&`bg-accent`),children:(0,W.jsx)(`span`,{className:`truncate`,children:e.name})},e.id)),(0,W.jsx)(L,{}),(0,W.jsxs)(F,{onClick:()=>p(`/create`),className:`text-xs`,children:[(0,W.jsx)(bn,{className:`h-3 w-3 mr-1.5`}),h(`header.newProject`,`New Project`)]})]})]}),n&&(0,W.jsx)(`button`,{type:`button`,onClick:()=>p(`/settings?tab=billing`),className:`rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":h(`header.subscriptionAndSandcoins`,`Subscription`),title:h(`header.subscriptionAndSandcoins`,`Subscription`),children:(0,W.jsx)(Se,{compact:!0,showTooltip:!0})}),(0,W.jsx)(`div`,{className:k?`hidden md:block`:void 0,children:(0,W.jsx)(ts,{})}),(0,W.jsx)(`div`,{className:k?`hidden md:block`:void 0,children:(0,W.jsx)(Yc,{})}),k&&A&&(0,W.jsx)(fe,{users:l.filter(e=>e.user_id!==t?.id),ownerUserId:u}),(0,W.jsxs)(se,{children:[(0,W.jsx)(oe,{asChild:!0,children:(0,W.jsx)(P,{variant:`ghost`,className:`relative h-8 w-8 rounded-full`,"aria-label":h(`header.myAccount`,`My Account`),children:(0,W.jsxs)(Ge,{className:`h-8 w-8`,children:[(0,W.jsx)(We,{src:S,alt:`@user`,className:`object-cover object-center w-full h-full`}),(0,W.jsx)(Ue,{children:(0,W.jsx)(we,{className:`h-4 w-4 text-foreground`})})]})})}),(0,W.jsx)(ce,{children:n?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ue,{children:h(`header.myAccount`,`My Account`)}),(0,W.jsx)(L,{}),k&&A&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(F,{onClick:c,children:[(0,W.jsx)(Dn,{className:`mr-2 h-4 w-4 text-muted-foreground`}),h(`header.inviteCollaborators`,`Invite collaborators`)]}),(0,W.jsxs)(F,{onClick:()=>p(`/create`),children:[(0,W.jsx)(bn,{className:`mr-2 h-4 w-4 text-muted-foreground`}),h(`header.newProject`,`New Project`)]}),(0,W.jsx)(L,{})]}),(0,W.jsx)(F,{onClick:()=>{p(n?`/profile/me`:Xo(`/profile/me`,`header`))},children:h(`navigation.profile`)}),(0,W.jsx)(F,{onClick:()=>p(`/settings`),children:h(`navigation.settings`)}),(0,W.jsx)(F,{onClick:()=>p(`/settings?tab=billing`),children:h(`header.subscriptionAndSandcoins`,`Subscription`)}),(0,W.jsx)(L,{}),(0,W.jsx)(F,{children:(0,W.jsx)(es,{})}),(0,W.jsx)(L,{}),(0,W.jsxs)(F,{onClick:async()=>{await e(),p(`/auth?entryPoint=header`)},children:[(0,W.jsx)(hn,{className:`mr-2 h-4 w-4 text-foreground`}),h(`navigation.logout`)]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ue,{children:h(`header.joinSandscape`,`Join Sandscape`)}),(0,W.jsx)(L,{}),(0,W.jsx)(F,{onClick:()=>p(Xo(`/`,`header`)),children:h(`authPage.createAccount`,`Create account`)}),(0,W.jsx)(F,{onClick:()=>p(Xo(`/`,`header`)),children:h(`authPage.signIn`,`Sign in`)}),(0,W.jsx)(L,{}),(0,W.jsx)(F,{children:(0,W.jsx)(es,{})})]})})]})]})]})})}var al=()=>{let e=s(),t=f(),{isAuthenticated:n}=Sr(),r=t=>{e(n?t:Xo(t,t===`/create`?`create_gate`:`protected_route`))},i=[{path:`/`,icon:mn,label:`Home`,action:()=>e(`/`)},{path:`/likes`,icon:pn,label:`Likes`,action:()=>r(`/likes`)},{path:`/create`,icon:wn,label:`Create`,action:()=>r(`/create`)},{path:`/following`,icon:Dn,label:`Follow`,action:()=>r(`/following`)},{path:`/settings`,icon:de,label:`Settings`,action:()=>r(`/settings`)}],a=e=>e===`/`&&t.pathname===`/`||e.startsWith(`/profile/`)&&t.pathname.startsWith(`/profile/`)?!0:t.pathname.startsWith(e);return(0,W.jsx)(`nav`,{className:`fixed bottom-0 left-0 right-0 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80 border-t border-border px-2 py-1 flex lg:hidden z-50`,children:(0,W.jsx)(`div`,{className:`w-full grid grid-cols-5`,children:i.map(e=>(0,W.jsxs)(`button`,{onClick:e.action,className:`flex flex-col items-center justify-center p-1 ${a(e.path)?`text-primary`:`text-muted-foreground`} hover:text-foreground`,children:[(0,W.jsx)(e.icon,{className:`h-5 w-5 mb-1`}),(0,W.jsx)(`span`,{className:`text-[10px]`,children:e.label})]},e.path))})})};function ol(){let{isOpen:e,setOverlayMode:t,close:n}=Tr(),r=Oe(f().pathname);return(0,U.useEffect)(()=>{r?(t(!0),n()):t(!1)},[r,t,n]),(0,W.jsxs)(`div`,{className:`${r?`h-dvh`:`h-screen`} flex flex-col`,children:[(0,W.jsx)(il,{}),(0,W.jsxs)(`div`,{className:`flex flex-1 pt-16`,children:[!r&&(0,W.jsx)($o,{className:`hidden lg:block lg:fixed left-0 top-16 bottom-0 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 z-40`}),r&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`fixed inset-0 z-40 bg-black/50 transition-opacity duration-300 ${e?`opacity-100`:`opacity-0 pointer-events-none`}`,onClick:n}),(0,W.jsx)(`div`,{className:`fixed left-0 top-16 bottom-0 z-50 transform transition-transform duration-300 ease-in-out ${e?`translate-x-0`:`-translate-x-full`}`,children:(0,W.jsx)($o,{className:`block bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`})})]}),(0,W.jsx)(`main`,{className:`flex-1 overflow-y-auto transition-all duration-300 ease-in-out ${r?``:`pb-16 lg:pb-0 ${e?`lg:ml-64`:`lg:ml-16`}`}`,children:(0,W.jsx)(c,{})})]}),!r&&(0,W.jsx)(al,{})]})}function $({children:e}){let{isAuthenticated:t,loading:n,onboardingStatus:r}=Sr(),i=f();return n||t&&r===`loading`?null:t?r===`required`||r===`error`?(0,W.jsx)(d,{to:`/onboarding?${new URLSearchParams({returnTo:Yo(i),entryPoint:`protected_route`}).toString()}`,replace:!0}):(0,W.jsx)(W.Fragment,{children:e}):(0,W.jsx)(d,{to:Xo(Yo(i),`protected_route`),replace:!0})}var sl=`sandscape.tourFlowIn.decided`,cl=1024;function ll(e){let t=ul(e);return t===`redirect`&&e.viewportWidth<1024?`stay`:t}function ul(e){return e.hasSessionParam||e.hasEntryPrompt||e.alreadyDecided||e.tourFinished||e.cardDismissed?`stay`:e.authLoading?`undecided`:e.isAuthenticated?e.onboardingStatus===`loading`?`undecided`:e.onboardingStatus===`complete`?e.hasSessions===null?`undecided`:e.hasSessions?`stay`:`redirect`:`stay`:`redirect`}function dl(e,t){return e||(t===`undecided`?null:t)}function fl(){try{return localStorage.getItem(sl)===`1`}catch{return!1}}function pl(){try{localStorage.setItem(sl,`1`)}catch{}}function ml({children:e}){let t=f(),n=s(),{user:r,isAuthenticated:i,loading:a,onboardingStatus:o}=Sr(),[c]=(0,U.useState)(()=>
108({alreadyDecided:fl(),tourFinished:qe(I),cardDismissed:ve()})),[l,u]=(0,U.useState)(null),[d,p]=(0,U.useState)(null),m=new URLSearchParams(t.search).has(`session`),h=!!t.state?.initialPrompt,g=m||h||c.alreadyDecided||c.tourFinished||c.cardDismissed,_=r?.id,v=l&&l.userId===_?l.hasSessions:null,y=!g&&!d&&!a&&i&&o===`complete`&&!!_;(0,U.useEffect)(()=>{if(!y||!_)return;let e=!1;return Xc(_).then(t=>{e||u({userId:_,hasSessions:t.length>0})}).catch(()=>{e||u({userId:_,hasSessions:!0})}),()=>{e=!0}},[y,_]);let b=typeof window>`u`?cl:window.innerWidth,x=ll({hasSessionParam:m,hasEntryPrompt:h,alreadyDecided:c.alreadyDecided,tourFinished:c.tourFinished,cardDismissed:c.cardDismissed,authLoading:a,isAuthenticated:i,onboardingStatus:o,hasSessions:v,viewportWidth:b}),S=dl(d,x)??`undecided`;return(0,U.useEffect)(()=>{let e=dl(d,x);if(!(d||e===null)){if(p(e),e===`redirect`){pl(),n(`/tour`,{replace:!0});return}v===!0&&pl()}},[d,x,v,n]),S===`stay`?(0,W.jsx)(W.Fragment,{children:e}):null}var hl=[`production`,`preview`,`development`,`local`];function gl(){let e=`production`;return hl.includes(e)?e:`production`}function _l(){let e=gl();return e!==`production`&&console.log(`[Environment] ${e}`,{VITE_APP_ENV:`production`,VITE_VERCEL_ENV:`$VERCEL_ENV`,VITE_VERCEL_TARGET_ENV:`$VERCEL_TARGET_ENV`,VITE_VERCEL_GIT_COMMIT_REF:`$VERCEL_GIT_COMMIT_REF`,DEV:!1}),e}function vl(){let e=_l(),t=e===`production`,n=e===`preview`;return{env:e,isProduction:t,isPreview:n,isDevelopment:e===`development`||e===`local`,requiresAuth:n||e===`development`,allowIndexing:t,showPreviewBanner:!t}}var yl=vl(),bl=[`/auth`,`/auth/callback`,`/onboarding`,`/login`,`/register`,`/reset-password`,`/about`,`/about/terms`,`/about/privacy`,`/about/cookie`,`/about/guidelines`,`/about/contact`,`/about/faq`,`/press`,`/alpha`,`/v2`,`/social`],xl=[`/invite/`];function Sl(e){return bl.includes(e)?!0:xl.some(t=>e.startsWith(t))}var Cl=({children:e})=>{let{user:t,isAuthenticated:n,loading:r}=Sr(),i=f(),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(!0),u=(0,U.useRef)(null),d=(0,U.useRef)(null),p=(0,U.useRef)(0),m=yl.requiresAuth,h=Sl(i.pathname);return(0,U.useEffect)(()=>{let e=p.current+=1,i=()=>e===p.current;r||(async()=>{if(!m){o(!0),c(!1);return}if(h){o(!0),c(!1);return}if(!n||!t){u.current=null,d.current=null,o(!1),c(!1);return}let e=u.current===t.id;c(d.current!==t.id);let r=n=>{if(!i())return;let r=gr(e,n);u.current=r?t.id:null,d.current=t.id,o(r)};try{let{data:e,error:n}=await C.from(`profiles`).select(`preview_access`).eq(`user_id`,t.id).single();n?(console.warn(`Error checking preview access:`,n),r({kind:`unavailable`})):r({kind:e?.preview_access===!0?`granted`:`revoked`})}catch(e){console.error(`Error checking preview access:`,e),r({kind:`unavailable`})}finally{i()&&c(!1)}})()},[t,n,r,m,h]),!m||h?(0,W.jsx)(W.Fragment,{children:e}):r||s?(0,W.jsx)(`div`,{className:`flex items-center justify-center min-h-screen bg-gray-900`,children:(0,W.jsxs)(`div`,{className:`text-center`,children:[(0,W.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-violet-500 mx-auto mb-4`}),(0,W.jsx)(`p`,{className:`text-gray-400`,children:`Checking access...`})]})}):a?(0,W.jsx)(W.Fragment,{children:e}):(0,W.jsx)(`div`,{className:`flex items-center justify-center min-h-screen bg-gradient-to-br from-gray-900 via-violet-950 to-gray-900`,children:(0,W.jsx)(`div`,{className:`w-full max-w-md p-8 mx-4`,children:(0,W.jsxs)(`div`,{className:`bg-white/10 backdrop-blur-lg rounded-2xl shadow-2xl border border-white/20 p-8`,children:[(0,W.jsxs)(`div`,{className:`text-center mb-6`,children:[(0,W.jsx)(`div`,{className:`inline-flex items-center justify-center w-16 h-16 bg-red-500/20 rounded-full mb-4`,children:(0,W.jsx)(`svg`,{className:`w-8 h-8 text-red-400`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z`})})}),(0,W.jsx)(`h2`,{className:`text-2xl font-bold text-white mb-2`,children:`Access Denied`}),(0,W.jsx)(`p`,{className:`text-gray-400 text-sm mb-6`,children:n?`Your account doesn't have permission to access this preview environment.`:`You must be logged in to access this preview environment.`})]}),(0,W.jsxs)(`div`,{className:`space-y-3`,children:[!n&&(0,W.jsx)(l,{to:`/auth?entryPoint=direct`,className:`block w-full px-4 py-3 bg-violet-600 hover:bg-violet-700 text-white font-semibold rounded-lg transition-colors text-center`,children:`Sign In`}),(0,W.jsx)(`a`,{href:`https://sandscape.app`,className:`block w-full px-4 py-3 bg-white/10 hover:bg-white/20 text-white font-semibold rounded-lg transition-colors text-center border border-white/20`,target:`_blank`,rel:`noopener noreferrer`,children:`Go to Production Site`})]}),(0,W.jsxs)(`div`,{className:`mt-6 pt-6 border-t border-white/10`,children:[(0,W.jsxs)(`p`,{className:`text-center text-xs text-gray-500`,children:[`Environment: `,(0,W.jsx)(`span`,{className:`text-violet-400 font-mono`,children:yl.env})]}),(0,W.jsx)(`p`,{className:`text-center text-xs text-gray-500 mt-2`,children:`Need access? Contact an administrator.`})]})]})})})},wl=()=>{let[e,t]=(0,U.useState)(!1);if(!yl.showPreviewBanner||e)return null;let n={preview:`Preview`,development:`Development`,local:`Local Development`,production:`Production`},r={preview:`bg-amber-500/90`,development:`bg-blue-500/90`,local:`bg-green-500/90`,production:`bg-gray-500/90`}
108,i=n[yl.env],a=r[yl.env];return(0,W.jsx)(`div`,{className:`fixed bottom-4 left-1/2 -translate-x-1/2 z-50 pointer-events-none`,children:(0,W.jsx)(`div`,{className:`pointer-events-auto`,children:(0,W.jsxs)(`div`,{className:`${a} backdrop-blur-sm text-white px-6 py-3 rounded-full shadow-lg border border-white/20 flex items-center gap-3 animate-in fade-in slide-in-from-bottom-2 duration-500`,children:[(0,W.jsx)(`svg`,{className:`w-5 h-5 animate-pulse`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsxs)(`span`,{className:`font-semibold`,children:[i,` Environment`]}),(0,W.jsx)(`span`,{className:`text-white/80 text-sm`,children:`â¢`}),(0,W.jsx)(`span`,{className:`text-white/90 text-sm`,children:`for preview/development purposes only`})]}),(0,W.jsx)(`button`,{onClick:()=>t(!0),className:`ml-2 hover:bg-white/20 rounded-full p-1 transition-colors`,"aria-label":`Dismiss banner`,children:(0,W.jsx)(`svg`,{className:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,W.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]})})})},Tl=/dynamically imported module|Importing a module script failed|Loading chunk/i;function El({error:e}){let{t}=z(),n=Tl.test(e.message);return(0,W.jsxs)(`div`,{role:`alert`,className:`flex min-h-dvh flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,W.jsx)(`h1`,{className:`text-lg font-semibold text-foreground`,children:n?t(`routeLoad.chunkTitle`,`This page couldn't load`):t(`routeLoad.errorTitle`,`Something went wrong`)}),(0,W.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:n?t(`routeLoad.chunkBody`,`Check your connection, then reload.`):e.message}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(P,{onClick:()=>window.location.reload(),children:t(`routeLoad.reload`,`Reload`)}),(0,W.jsx)(P,{variant:`outline`,asChild:!0,children:(0,W.jsx)(`a`,{href:`/`,children:t(`routeLoad.home`,`Home`)})})]})]})}var Dl=!1;function Ol(e){if(!(`serviceWorker`in navigator)||Dl)return;Dl=!0;let t=t=>{e(()=>{if(t.state===`activated`||navigator.serviceWorker.controller===t){window.location.reload();return}navigator.serviceWorker.addEventListener(`controllerchange`,()=>window.location.reload(),{once:!0}),t.postMessage({type:`SKIP_WAITING`})})};navigator.serviceWorker.register(`/sw.js`).then(e=>{e.waiting&&t(e.waiting),e.addEventListener(`updatefound`,()=>{let n=e.installing;n&&n.addEventListener(`statechange`,()=>{n.state===`installed`&&navigator.serviceWorker.controller&&t(n)})})}).catch(e=>{console.error(`[pwa] service worker registration failed`,e)})}function kl(){let{toast:e}=h(),{t}=z();return(0,U.useEffect)(()=>{Ol(n=>{e({title:t(`pwa.updateReady`,`A new version of Sandscape is ready`),duration:1/0,action:(0,W.jsx)(Nn,{altText:t(`pwa.reload`,`Reload`),onClick:n,children:t(`pwa.reload`,`Reload`)})})})},[e,t]),null}var Al=(0,U.lazy)(()=>a(()=>import(`./Auth-D5wV77IC.js`).then(e=>({default:e.AuthPage})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),jl=(0,U.lazy)(()=>a(()=>import(`./AuthCallback-DqVxfP13.js`).then(e=>({default:e.AuthCallback})),__vite__mapDeps([15,1,2,3,4,6,5,9,16,12]))),Ml=(0,U.lazy)(()=>a(()=>import(`./Onboarding-CO_SgZrN.js`).then(e=>({default:e.Onboarding})),__vite__mapDeps([17,1,2,3,4,6,5,18,9,19,20,21,22,23,24,25,26,12,27,13,14]))),Nl=(0,U.lazy)(()=>a(()=>import(`./StandaloneAuthPathRedirect-WcSzz1pk.js`).then(e=>({default:e.StandaloneAuthPathRedirect})),__vite__mapDeps([28,2,1,3,4]))),Pl=(0,U.lazy)(()=>a(()=>import(`./Activate-BF9W00Ke.js`).then(e=>({default:e.Activate})),__vite__mapDeps([29,1,2,3,4,30,5,6,18,11,31,16,32,13]))),Fl=(0,U.lazy)(()=>a(()=>import(`./Invite-Bw1qGwCU.js`).then(e=>({default:e.Invite})),__vite__mapDeps([33,1,2,3,4,30,5,6,18,34,21,22,23,35,26,24,36,37,16,32,38,39,9,40,12,13]))),Il=(0,U.lazy)(()=>a(()=>import(`./Profile-CWWm0is0.js`).then(e=>({default:e.Profile})),__vite__mapDeps([41,1,2,3,4,6,5,37,19,12,42,43,27,21,22,23,44,45,46,13,47,24,48,39,49,50,51,32]))),Ll=(0,U.lazy)(()=>a(()=>import(`./Create-ea24k1TY.js`).then(e=>({default:e.Create})),__vite__mapDeps([52,1,2,23,4,3,30,21,6,50,22,24,5,53,54,55,9,56,57,58,16,19,59,32,38,60,61,
10862,7,63,64,65,66,25,67,68,35,26,69,36,48,39,70,18,71,34,37,72,73,27,49,74,75,76,77,78,79,80,81,31,20,82,42,44,83,46,84,85,47,86]))),Rl=(0,U.lazy)(()=>a(()=>import(`./TourWrapper-BBwg2sIi.js`).then(e=>({default:e.Tour})),__vite__mapDeps([87,1,2,3,4,30,34,21,6,22,23,35,26,24,36,5,37,16,32,38,39,77,65,66,60,52,50,53,54,55,9,56,57,58,19,59,61,62,7,63,64,25,67,68,69,48,70,18,71,72,73,27,49,74,75,76,78,79,80,81,31,20,82,42,44,83,46,84,85,47,86]))),zl=(0,U.lazy)(()=>a(()=>import(`./TourClaim-CJ-HokaR.js`).then(e=>({default:e.TourClaim})),__vite__mapDeps([88,1,2,3,4,5,6,9,32]))),Bl=(0,U.lazy)(()=>a(()=>import(`./CreatePrompt-BAYFUPVf.js`).then(e=>({default:e.CreatePrompt})),__vite__mapDeps([89,1,2,3,4,5,6,63,64,65,23,66,60,32,38,61,62,72,12,44,51]))),Vl=(0,U.lazy)(()=>a(()=>import(`./SceneEditorTest-CsA4EpZw.js`).then(e=>({default:e.SceneEditorTest})),__vite__mapDeps([90,1,2,5,6,4,53,23,54,55,9,56,57,58,16,19,59,32,38,60,61,62,37])));(0,U.lazy)(()=>a(()=>import(`./LevelKitTest-CAElO1wd.js`).then(e=>({default:e.LevelKitTest})),__vite__mapDeps([91,1,2,53,23,6,4,5,54,55,9,56,57,58,16,19,59,32,38,60,61,62,76,30,25,34,21,22,35,26,24,36,37,39,77,65,66,78,79,69])));var Hl=(0,U.lazy)(()=>a(()=>import(`./Settings-B2DmZABB.js`).then(e=>({default:e.Settings})),__vite__mapDeps([92,1,2,3,4,30,6,5,25,68,23,21,50,22,35,26,69,24,36,48,39,70,18,34,37,16,32,38,74,8,9,10,40,58,11,19,73,59,12,93,42,27,46,13,84,79,78,47,49,94]))),Ul=(0,U.lazy)(()=>a(()=>import(`./Game-QkGXRHTR.js`).then(e=>({default:e.Game})),__vite__mapDeps([95,1,2,3,4,30,21,6,22,23,24,5,56,81,96,25,80,35,26,69,39,10,97,12,37,98,32,82,42,43,27,48,49,50,44,99,100,45,46,13,85,84,79,47,101]))),Wl=(0,U.lazy)(()=>a(()=>import(`./GameStoryFeed-DptcNIuk.js`).then(e=>({default:e.GameStoryFeed})),__vite__mapDeps([102,1,2,3,4,30,6,5,25,67,9,96,80,21,22,23,35,26,69,24,39,10,97,12,57,64,82,43,27,44,99,100,45,79,46]))),Gl=(0,U.lazy)(()=>a(()=>import(`./History-DjQFohPA.js`).then(e=>({default:e.History})),__vite__mapDeps([103,1,2,3,4,6,5,12,43,27,21,22,23,44,13,101,100]))),Kl=(0,U.lazy)(()=>a(()=>import(`./Following-D9N5_ADL.js`).then(e=>({default:e.Following})),__vite__mapDeps([104,1,2,3,4,12,27,21,6,22,23,45,13]))),ql=(0,U.lazy)(()=>a(()=>import(`./Followers-CGbahiF2.js`).then(e=>({default:e.Followers})),__vite__mapDeps([105,1,2,3,4,12,27,21,6,22,23,45,13]))),Jl=(0,U.lazy)(()=>a(()=>import(`./Likes-CUnV8XDg.js`).then(e=>({default:e.Likes})),__vite__mapDeps([106,1,2,3,4,6,5,12,27,21,22,23,44,99,100,13]))),Yl=(0,U.lazy)(()=>a(()=>import(`./Notifications-CLactyWV.js`).then(e=>({default:e.Notifications})),__vite__mapDeps([107,2,1,3,4,6,5,25,12,27,21,22,23,44]))),Xl=(0,U.lazy)(()=>a(()=>import(`./Search-D4S3eGXN.js`).then(e=>({default:e.Search})),__vite__mapDeps([108,1,2,3,4,5,6,97,12,43,27,21,22,23,66,47,24,48,39,49,50]))),Zl=(0,U.lazy)(()=>a(()=>import(`./Publish-CkHGQXkk.js`).then(e=>({default:e.Publish})),__vite__mapDeps([109,1,2,3,4,30,21,6,22,23,24,5,68,50,35,26,69,36,25,48,39,70,18,75,55,9,58,98,32,12,44,60,38,46,13,84,79,85,51,94]))),Ql=(0,U.lazy)(()=>a(()=>
108import(`./CookieConsentBanner-BrtZ2LZ4.js`).then(e=>({default:e.CookieConsentBanner})),__vite__mapDeps([110,1,2,12]))),$l=null,eu=null,tu=null;function nu(){let[e,t]=(0,U.useState)(!1),n=Ye();return(0,U.useEffect)(()=>{t(!0),Ie()},[]),!e||n?null:(0,W.jsx)(be,{fallbackRender:()=>null,children:(0,W.jsx)(U.Suspense,{fallback:null,children:(0,W.jsx)(Ql,{})})})}function ru(){let e=ro(),[t]=m(),n=t.get(`play`)===`1`;return e&&!n?(0,W.jsx)(Wl,{}):(0,W.jsx)(Ul,{})}function iu(){let e=s(),{t}=z();return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(go,{title:t(`notFound.seoTitle`,`404 - Page Not Found | Sandscape`),description:t(`notFound.seoDescription`,`The page you're looking for doesn't exist. Return to Sandscape to create and play AI-generated games.`),canonical:`https://sandscape.app/404`,noindex:!0}),(0,W.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-gradient-to-br from-background to-secondary p-4`,children:(0,W.jsxs)(`div`,{className:`text-center`,children:[(0,W.jsx)(`h1`,{className:`text-4xl font-bold mb-4`,children:t(`notFound.heading`,`404 - Page Not Found`)}),(0,W.jsx)(`p`,{className:`text-muted-foreground mb-6`,children:t(`notFound.message`,`The page you're looking for doesn't exist.`)}),(0,W.jsx)(P,{onClick:()=>e(`/`),children:t(`notFound.goHome`,`Go Home`)})]})})]})}function au({children:e}){return(0,W.jsx)(p,{children:e})}function ou({RouterProvider:e=au,helmetContext:t}={}){return(0,W.jsx)(ka,{context:t,children:(0,W.jsx)(xr,{children:(0,W.jsx)(ge,{children:(0,W.jsx)(Hi,{children:(0,W.jsx)(dt,{defaultTheme:`dark`,storageKey:`sandscape-theme`,children:(0,W.jsx)(wr,{children:(0,W.jsx)(me,{children:(0,W.jsx)(e,{children:(0,W.jsx)(Cl,{children:(0,W.jsx)(Pr,{children:(0,W.jsx)(ci,{enablePageTracking:!0,children:(0,W.jsxs)(ne,{children:[(0,W.jsx)(wl,{}),(0,W.jsx)(be,{fallbackRender:e=>(0,W.jsx)(El,{error:e}),children:(0,W.jsxs)(u,{children:[(0,W.jsx)(o,{path:`/auth`,element:(0,W.jsx)(Al,{})}),(0,W.jsx)(o,{path:`/auth/callback`,element:(0,W.jsx)(jl,{})}),(0,W.jsx)(o,{path:`/onboarding`,element:(0,W.jsx)(Ml,{})}),(0,W.jsx)(o,{path:`/tour/claim`,element:(0,W.jsx)($,{children:(0,W.jsx)(zl,{})})}),(0,W.jsx)(o,{path:`/login`,element:(0,W.jsx)(Nl,{source:`login_path`})}),(0,W.jsx)(o,{path:`/register`,element:(0,W.jsx)(Nl,{source:`register_path`})}),(0,W.jsx)(o,{path:`/reset-password`,element:(0,W.jsx)(Nl,{source:`login_path`,mode:`recovery`})}),(0,W.jsx)(o,{path:`/update-password`,element:(0,W.jsx)(Nl,{source:`login_path`,mode:`password-update`})}),(0,W.jsx)(o,{path:`/activate`,element:(0,W.jsx)(Pl,{})}),(0,W.jsx)(o,{path:`/invite/:code`,element:(0,W.jsx)(Fl,{})}),(0,W.jsx)(o,{path:`/scene-editor-test`,element:(0,W.jsx)(Vl,{})}),!1,(0,W.jsxs)(o,{element:(0,W.jsx)(ol,{}),children:[(0,W.jsx)(o,{path:`/`,element:(0,W.jsx)(Vo,{})}),(0,W.jsx)(o,{path:`/search`,element:(0,W.jsx)(Xl,{})}),(0,W.jsx)(o,{path:`/tour`,element:(0,W.jsx)(Rl,{})}),(0,W.jsx)(o,{path:`/tour/:slug`,element:(0,W.jsx)(Rl,{})}),(0,W.jsx)(o,{path:`/profile/:id`,element:(0,W.jsx)($,{children:(0,W.jsx)(Il,{})})}),(0,W.jsx)(o,{path:`/play`,element:(0,W.jsx)(ru,{})}),(0,W.jsx)(o,{path:`/create`,element:(0,W.jsx)($,{children:(0,W.jsx)(Bl,{})})}),(0,W.jsx)(o,{path:`/creating`,element:(0,W.jsx)(ml,{children:(0,W.jsx)($,{children:(0,W.jsx)(Ll,{})})})}),(0,W.jsx)(o,{path:`/settings`,element:(0,W.jsx)($,{children:(0,W.jsx)(Hl,{})})}),(0,W.jsx)(o,{path:`/history`,element:(0,W.jsx)($,{children:(0,W.jsx)(Gl,{})})}),(0,W.jsx)(o,{path:`/following`,element:(0,W.jsx)($,{children:(0,W.jsx)(Kl,{})})}),(0,W.jsx)(o,{path:`/followers`,element:(0,W.jsx)($,{children:(0,W.jsx)(ql,{})})}),(0,W.jsx)(o,{path:`/likes`,element:(0,W.jsx)($,{children:(0,W.jsx)(Jl,{})})}),(0,W.jsx)(o,{path:`/notifications`,element:(0,W.jsx)($,{children:(0,W.jsx)(Yl,{})})}),(0,W.jsx)(o,{path:`/publish`,element:(0,W.jsx)($,{children:(0,W.jsx)(Zl,{})})})]}),eu,tu,(0,W.jsx)(o,{path:`*`,element:(0,W.jsx)(iu,{})})]})}),(0,W.jsx)(Ln,{}),(0,W.jsx)(fr,{position:`top-center`}),(0,W.jsx)(kl,{}),(0,W.jsx)(Ti,{}),(0,W.jsx)(nu,{}),$l]})})})})})})})})})})})})}var su=document.getElementById(`root`),cu=(0,W.jsx)(U.StrictMode,{children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(`div`,{className:`flex items-center justify-center h-screen`,children:`Loading...`}),children:(0,W.jsx)(ou,{})})});st()?(0,ot.hydrateRoot)(su,cu):(0,ot.createRoot)(su).render(cu);export{xn as $,Va as A,ii as B,Ya as C,Wa as D,Ha as E,Ai as F,Xn as G,Er as H,ji as I,Dn as J,Nn as K,li as L,ki as M,Bi as N,Za as O,zi as P,Sn as Q,$r as R,ro as S,Ga as T,Tr as U,Ar as V,Sr as W,Tn as X,En as Y,Cn as Z,ho as _,nl as a,fn as at,oo as b,zs as c,cn as ct,Yo as d,rn as dt,bn as et,Qo as f,nn as ft,go as g,Jo as h,Xc as i,pn as it,Ui as j,$a as k,Zo as l,sn as lt,Go as m,ft as mt,Zc as n,vn as nt,Kc as o,dn as ot,Ko as p,pt,On as q,Qc as r,_n as rt,Wc as s,un as st,rl as t,yn as tt,Xo as u,an as ut,so as v,Xa as w,to as x,ao as y,ai as z};
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.