your-ai-workflow-firebase-os 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContactPopup-Du_AVUgk.js → ContactPopup-Dsg2ntq3.js} +3606 -3560
- package/dist/ContactPopup-IwBm-eqz.cjs +12 -0
- package/dist/components/ViewingAs.d.ts +9 -2
- package/dist/components/media/Attachments.d.ts +15 -0
- package/dist/lib/pageDesignLines.d.ts +1 -1
- package/dist/lib/payments.d.ts +23 -2
- package/dist/lib/people.d.ts +9 -0
- package/dist/lib/recordsKey.d.ts +24 -0
- package/dist/lib/rowPress.d.ts +36 -0
- package/dist/lib/steps.d.ts +7 -0
- package/dist/lib/transactions.d.ts +13 -1
- package/dist/lib/uploadQueue.d.ts +6 -0
- package/dist/pages/PagesAdmin.d.ts +49 -7
- package/dist/renderer.cjs.js +1 -1
- package/dist/renderer.es.js +1 -1
- package/dist/server.cjs.js +1 -1
- package/dist/server.es.js +1 -1
- package/dist/{validate-C_iJKXDU.js → validate-DzSJWuyL.js} +52 -31
- package/dist/validate-e48WXJdP.cjs +103 -0
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.es.js +1 -1
- package/dist/your-ai-workflow-firebase-os.cjs.js +56 -56
- package/dist/your-ai-workflow-firebase-os.css +1 -1
- package/dist/your-ai-workflow-firebase-os.es.js +8377 -8177
- package/package.json +1 -1
- package/dist/ContactPopup-MalER7E7.cjs +0 -12
- package/dist/validate-L8QWFfBP.cjs +0 -103
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./verifiedAccount-D3OeaOBo.cjs`),n=require(`./lucide-react-BYniZ3lQ.cjs`),r=require(`./mediaKind-dk396a03.cjs`),i=require(`./address-DI1YaCI4.cjs`);let a=require(`react`);a=e.a(a,1);let o=require(`react/jsx-runtime`),s=require(`firebase/app`),c=require(`firebase/auth`),l=require(`firebase/firestore`),u=require(`firebase/storage`),d=require(`react-router-dom`),f=require(`react-dom`);var p=e.r({contactFormConfig:()=>m}),m={systemName:`contact`,formType:`public`,redirectTo:`/`,title:`Get in Touch`,buttonName:`Contact Us`,submitText:`Send Message`,fields:[{name:`name`,type:`text`,label:`Full Name`,placeholder:`John Doe`,required:!0},{name:`email`,type:`email`,label:`Email Address`,placeholder:`john@example.com`,required:!0},{name:`phone`,type:`tel`,label:`Phone Number`,placeholder:`+1 (555) 000-0000`,required:!1},{name:`questions`,type:`textarea`,label:`Your Questions`,placeholder:`How can we help you?`,required:!0}]},h=e.r({supportFormConfig:()=>g}),g={systemName:`support`,formType:`private`,redirectTo:`/dashboard`,title:`Request Assistance`,buttonName:`Get Assistance`,submitText:`Submit Request`,fields:[{name:`topic`,type:`text`,label:`Topic`,placeholder:`E.g. Password reset issue`,required:!0},{name:`contactEmail`,type:`email`,label:`Contact Email`,placeholder:`your@email.com`,required:!0},{name:`description`,type:`textarea`,label:`Description`,placeholder:`Please describe your issue in detail...`,required:!0}]},_=(0,a.createContext)({});function v({config:e,children:t}){return(0,o.jsx)(_.Provider,{value:e,children:t})}var y=()=>(0,a.useContext)(_),b=null,x=null,S=null,C=null,w=null,T=`https://firebasestorage.googleapis.com`;function ee(){if(typeof document>`u`||!document.head||document.head.querySelector(`link[rel="preconnect"][href="${T}"]`))return;let e=document.createElement(`link`);e.rel=`preconnect`,e.href=T,document.head.appendChild(e)}var E={ignoreUndefinedProperties:!0};function D(e){ee();let t=e.projectId||``;if((0,s.getApps)().length&&w===t){b=(0,s.getApp)(),x=(0,c.getAuth)(b);try{S=(0,l.initializeFirestore)(b,E)}catch{S=(0,l.getFirestore)(b)}C=(0,u.getStorage)(b);return}if((0,s.getApps)().length&&w!==t)try{(0,s.deleteApp)((0,s.getApp)())}catch{}b=(0,s.initializeApp)(e),w=t,x=(0,c.getAuth)(b);try{S=(0,l.initializeFirestore)(b,E)}catch{S=(0,l.getFirestore)(b)}C=(0,u.getStorage)(b)}function te(e){try{return{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_ADMIN_EMAILS:void 0,VITE_FIREBASE_API_KEY:void 0,VITE_FIREBASE_APP_ID:void 0,VITE_FIREBASE_AUTH_DOMAIN:void 0,VITE_FIREBASE_MESSAGING_SENDER_ID:void 0,VITE_FIREBASE_PROJECT_ID:void 0,VITE_FIREBASE_STORAGE_BUCKET:void 0}?.[e]||``}catch{return``}}var ne=[`VITE_FIREBASE_API_KEY`,`VITE_FIREBASE_AUTH_DOMAIN`,`VITE_FIREBASE_PROJECT_ID`,`VITE_FIREBASE_STORAGE_BUCKET`,`VITE_FIREBASE_MESSAGING_SENDER_ID`,`VITE_FIREBASE_APP_ID`],O={VITE_FIREBASE_API_KEY:`apiKey`,VITE_FIREBASE_AUTH_DOMAIN:`authDomain`,VITE_FIREBASE_PROJECT_ID:`projectId`,VITE_FIREBASE_STORAGE_BUCKET:`storageBucket`,VITE_FIREBASE_MESSAGING_SENDER_ID:`messagingSenderId`,VITE_FIREBASE_APP_ID:`appId`};function k(){let e={};for(let t of ne){let n=te(t);if(!n)return null;e[O[t]]=n}return e}var A=k();A&&!(0,s.getApps)().length&&D(A);var re=`firebase-os:chunk-reloaded`,j=400,M=()=>{try{return sessionStorage.getItem(re)===`1`}catch{return!0}},N=e=>{let t=String(e?.message??e??``).toLowerCase();return t.includes(`dynamically imported module`)||t.includes(`error loading dynamically imported module`)||t.includes(`failed to fetch dynamically imported module`)||t.includes(`importing a module script failed`)||t.includes(`loading chunk`)||t.includes(`loading css chunk`)},P=e=>new Promise(t=>setTimeout(t,e));function ie(e,t={}){let n=t.pause??j,r=t.reload??(()=>{typeof window<`u`&&window.location.reload()});return(0,a.lazy)(async()=>{try{return await e()}catch(t){if(!N(t))throw t;await P(n);try{return await e()}catch(e){if(!N(e))throw e;if(!M()){try{sessionStorage.setItem(re,`1`)}catch{}r(),await new Promise(()=>{})}throw e}}})}var F=`Part of the app did not load`,I=`A piece of this page never arrived — usually a connection that dropped, or a new version of your app being published while this tab was open. Reloading picks up the new one.`,L=e=>{let t=e?.code??e?.error?.code??``;return typeof t==`string`?t.toLowerCase():``},R=e=>{let t=e?.message??e??``;return String(t).toLowerCase()},ae=()=>typeof navigator<`u`&&navigator.onLine===!1,z=`A picture here is drawn the slow way`,oe=`A picture on this page is drawn by hand. Paste the message to your assistant.`,se=`firebaseOsHandDrawn`;function ce(e){return Object.assign(Error(e),{[se]:!0})}var le=`firebaseOsSaid`;function B(e,t=`again`){return Object.assign(Error(e),{[le]:!0,firebaseOsNext:t})}var ue=e=>e?.[le]===!0,de=e=>{if(e?.code)return null;let t=typeof e?.message==`string`?e.message.trim():``;return t.length<20||t.length>220||!/^[A-Z]/.test(t)||!/[.!]$/.test(t)||t.split(/\s+/).length<4||/insufficient permissions|firebase|firestore|storage bucket|quota|websocket/i.test(t)||/\bundefined\b|\bnull\b|\bNaN\b|Error\b|\bfunction\b|=>|[{}<>[\]$_]|\.[a-z]{2,4}\b(?!\s)|https?:\/\/|[a-z]+\/[a-z-]+|\(reading|\bis not a\b/.test(t)?null:t},fe=(e,t)=>e===`auth/network-request-failed`||e===`unavailable`||e===`storage/retry-limit-exceeded`||t.includes(`failed to fetch`)||t.includes(`load failed`)||t.includes(`networkerror`)||t.includes(`network request failed`)||t.includes(`err_internet_disconnected`)||t.includes(`could not be reached`)||t.includes(`the server could not be reached`),pe={kind:`offline`,title:`No connection`,message:`This device is not online just now, so that could not go through. Nothing you have typed has been lost — check your connection, then try again.`,short:`No connection just now — check it, then try again.`,next:`again`},me={kind:`signedOut`,title:`You have been signed out`,message:`Your sign-in ran out while this page was open. Sign in again and you will come straight back to what you were doing.`,short:`Your sign-in ran out. Sign in again to carry on.`,next:`signin`},he={kind:`notAllowed`,title:`Not allowed`,message:`Your account is not allowed to do that here. If you were signed in a moment ago, signing in again usually puts it right — if not, ask whoever runs this app.`,short:`Your account is not allowed to do that here.`,next:`signin`},ge={kind:`unreachable`,title:`Cannot reach the app right now`,message:`The app did not answer. This is almost always a moment on the line rather than anything you did — try again in a moment.`,short:`The app did not answer. Try again in a moment.`,next:`again`},_e={kind:`slow`,title:`That took too long`,message:`No answer came back in time. Nothing has been changed — try again.`,short:`That took too long. Nothing was changed — try again.`,next:`again`},ve={kind:`busy`,title:`Too many tries just now`,message:`This app has been asked for a great deal in a short time. Give it a minute or two, then try again.`,short:`Too many tries just now. Wait a minute, then try again.`,next:`again`},ye={kind:`gone`,title:`That is not there any more`,message:`Whatever this was showing has been removed, or moved somewhere else. Reloading shows what is there now.`,short:`That is not there any more.`,next:`reload`},be={kind:`noRoom`,title:`There is no room left`,message:`This app's storage is full, so the file could not be kept. Trying again will not help — whoever runs this app has to make room first.`,short:`This app's storage is full, so the file could not be kept.`,next:`none`},xe={kind:`notReady`,title:`That is not ready yet`,message:`Something this page needs has not finished being set up. Try again in a moment, and if it keeps happening tell whoever runs this app.`,short:`That is not ready yet. Try again in a moment.`,next:`again`},Se={kind:`stopped`,title:`That stopped part-way`,message:`It did not finish, so nothing was changed. Try again.`,short:`That stopped part-way, so nothing was changed.`,next:`again`},Ce={kind:`tooBig`,title:`That file is too big`,message:`The file is larger than this app can take. A smaller one — or the same picture saved at a lower size — will go through.`,short:`That file is too big for this app. Try a smaller one.`,next:`none`},we={kind:`unknown`,title:`That did not work`,message:`Something went wrong and the app stopped short. Nothing you have typed has been lost — try again, and reload the page if it keeps happening.`,short:`That did not work. Nothing you typed has been lost — try again.`,next:`again`};function Te(e){let t=L(e),n=R(e);if(e?.[se]===!0)return{kind:`drawnByHand`,title:z,message:String(e?.message||``),short:oe,next:`none`};if(ue(e)){let t=String(e?.message||``);return{kind:`said`,title:`That did not work`,message:t,short:t,next:e?.firebaseOsNext??`again`}}if(N(e))return{kind:`missingPart`,title:F,message:I,short:`Part of this page did not load. Reload the page.`,next:`reload`};let r=de(e);return r?{kind:`said`,title:`That did not work`,message:r,short:r,next:`again`}:ae()||fe(t,n)?pe:t===`unauthenticated`||t===`auth/user-token-expired`||t===`auth/user-disabled`||t===`auth/requires-recent-login`||t===`auth/user-signed-out`||t===`auth/invalid-user-token`||t===`auth/null-user`?me:t===`permission-denied`||t===`storage/unauthorized`||t===`storage/unauthenticated`||n.includes(`missing or insufficient permissions`)?he:t===`deadline-exceeded`||n.includes(`timeout`)||n.includes(`timed out`)?_e:t===`resource-exhausted`||t===`auth/too-many-requests`||t===`storage/quota-exceeded`||n.includes(`too many requests`)?t===`storage/quota-exceeded`?be:ve:t===`not-found`||t===`storage/object-not-found`?ye:t===`failed-precondition`||n.includes(`requires an index`)?xe:t===`cancelled`||t===`aborted`||t===`storage/canceled`||n.includes(`aborted`)?Se:n.includes(`exceeds the maximum`)||n.includes(`file is too large`)||n.includes(`payload too large`)?Ce:t===`internal`||t===`unknown`||t===`storage/unknown`||t===`data-loss`?ge:we}function Ee(e,t){let n=Te(e);return t&&n.kind===`unknown`?t:n.short}var De={again:`Try again`,reload:`Reload the page`,signin:`Sign in again`,none:`Reload the page`},Oe=new Map;function ke(e,t,n,r){let i=Oe.get(e);if(!i){let n={subscribers:new Set,stop:()=>{},last:null,refused:void 0};Oe.set(e,n),n.stop=(0,l.onSnapshot)(t(),e=>{n.last=e,n.refused=void 0,n.subscribers.forEach(t=>Ae(()=>t.next(e)))},e=>{n.refused=e,n.subscribers.forEach(t=>Ae(()=>t.fail(e)))}),i=n}let a={next:n,fail:r};return i.subscribers.add(a),i.last?Ae(()=>n(i.last)):i.refused!==void 0&&Ae(()=>r(i.refused)),()=>{let t=Oe.get(e);!t||!t.subscribers.delete(a)||t.subscribers.size===0&&(t.stop(),Oe.delete(e))}}function Ae(e){try{e()}catch(e){console.error(`A screen could not take a shared Firestore answer`,e)}}var je=[`user`,`internal`,`admin`],Me=e=>je.includes(e),Ne={user:`Members`,internal:`Your team`,admin:`Admins`},Pe={user:`user-round`,internal:`users`,admin:`shield`},Fe=`id-card`,Ie=[],Le={},Re={},ze=e=>{Ie=e},Be=()=>Ie,Ve=e=>{Le=e},He=e=>{Re=e},Ue=e=>Me(e)&&String(Re[e]||``).trim()||``,We=e=>Me(e)&&String(Le[e]||``).trim()||``,Ge=(e,t=Be())=>t.find(t=>t.id===e)?.name||We(e)||(Me(e)?Ne[e]:``)||e,Ke=(e=Be())=>[...je.map(t=>({id:t,name:Ge(t,e)})),...e.map(e=>({id:e.id,name:e.name}))],qe=`sys_payments`,Je=`_settings`,Ye=()=>({on:!1,amount:``,priceId:``,livePriceId:``}),Xe=()=>({name:``,description:``,monthly:{...Ye(),on:!0},yearly:Ye(),roleId:``}),Ze=()=>({name:``,amount:``}),Qe=e=>({id:e,name:``,description:``,kind:``,amount:``,items:[],plans:[],how:``,emailReceipt:!0,notifyOwner:!0,pageIds:[],customNote:``,customPath:``,createdAt:Date.now()}),$e=e=>e.kind===`once`?e.items.length?e.items:e.name.trim()||e.amount.trim()?[{name:e.name,amount:e.amount}]:[]:[],et=e=>{let t=Number(String(e||``).trim().replace(/[^0-9.]/g,``));return Number.isFinite(t)&&t>0?t:null},tt=e=>({on:!!e?.on,amount:String(e?.amount||``),priceId:String(e?.priceId||``),livePriceId:String(e?.livePriceId||``)}),nt=e=>/^(no|none|nothing|n\/?a|nothing needed|nothing else|-)[.!]*$/i.test(e.trim()),rt=e=>/[.!?]$/.test(e)?e:`${e}.`,it=e=>{let t=[],n=String(e?.how||``),r=String(e?.collect||``).trim();r&&!nt(r)&&t.push(`Before paying, the buyer tells me: ${rt(r)}`);let i=String(e?.after||``).trim();if(i&&t.push(`After they pay: ${rt(i)}`),Array.isArray(e?.plans))for(let n of e.plans){let e=String(n?.name||``).trim()||`The plan`,r=String(n?.features||``).trim(),i=String(n?.sees||``).trim();r&&t.push(`${e} unlocks: ${rt(r)}`),i&&t.push(`Someone on ${e} sees: ${rt(i)}`)}return t.length?[...n.trim()?[rt(n.trim())]:[],...t].join(` `):n},at=(e,n)=>{let r=n?.kind===`once`||n?.kind===`subscription`?n.kind:``,i=Array.isArray(n?.items)?n.items.map(e=>({name:String(e?.name||``),amount:String(e?.amount||``)})):[],a=String(n?.name||``),o=String(n?.amount||``);return r===`once`&&!i.length&&(a.trim()||o.trim())&&(i=[{name:a,amount:o}],a=``,o=``),{id:e,name:a,description:String(n?.description||``),kind:r,amount:o,items:i,plans:Array.isArray(n?.plans)?n.plans.map(e=>({name:String(e?.name||``),description:String(e?.description||``),monthly:tt(e?.monthly),yearly:tt(e?.yearly),roleId:t.v(e?.roleId)?String(e.roleId):``})):[],how:it(n),emailReceipt:n?.emailReceipt!==!1,notifyOwner:n?.notifyOwner!==!1,pageIds:Array.isArray(n?.pageIds)?n.pageIds.map(e=>String(e||``)).filter(Boolean):[],customNote:String(n?.customNote||``),customPath:String(n?.customPath||``),createdAt:typeof n?.createdAt==`number`?n.createdAt:void 0}},ot=e=>/^price_[A-Za-z0-9]+$/.test(e.trim()),st=(e,t=Ht())=>t?e.livePriceId:e.priceId;function ct(e,t=Ht()){if(!e.kind)return`Say how it is paid — once, or a subscription.`;if(e.kind===`once`){let t=$e(e);if(!t.length)return`Add something to sell — a name and a price.`;for(let e of t){let t=e.name.trim();if(et(e.amount)===null)return`Give ${t||`it`} a price — just a number, like 25.`;if(!t)return`Give it a name, the way a buyer should read it.`}return``}if(!e.plans.length)return`Add at least one plan.`;for(let n of e.plans){let e=n.name.trim()||`each plan`;if(!n.name.trim())return`Give each plan a name.`;if(!n.monthly.on&&!n.yearly.on)return`Turn on monthly or yearly for ${e}.`;for(let[r,i]of[[`monthly`,n.monthly],[`yearly`,n.yearly]])if(i.on){if(et(i.amount)===null)return`Give ${e} its ${r} price — just a number.`;if(!ot(st(i,t)))return t?`Paste the live ${r} price id for ${e} — live mode is a fresh Stripe catalogue, so the price is made again there. Your test id is kept.`:`Paste the ${r} price id for ${e} — the steps above say where it comes from in Stripe.`}}return``}var lt=(e,t=Ht())=>ct(e,t)===``,ut=e=>e.kind===`subscription`&&e.plans.length>0&&e.plans.every(e=>e.name.trim()!==``&&(e.monthly.on||e.yearly.on)&&(!e.monthly.on||et(e.monthly.amount)!==null)&&(!e.yearly.on||et(e.yearly.amount)!==null));function dt(e){let t=e.name.trim();if(t)return t;let n=$e(e).map(e=>e.name.trim()).filter(Boolean);if(n.length===1)return n[0];if(n.length>1){let e=n.slice(0,3),t=n.length>3?`more`:e.pop();return`${e.join(`, `)} and ${t}`}return`this product`}function ft(e){let t=e.name.trim();if(!e.kind)return t?`${t} — say how it is paid`:`A new product — say how it is paid`;if(e.kind===`once`){let n=$e(e);if(n.length<=1){let e=n[0],r=e?.name.trim()||t,i=e?.amount.trim();return`${r||`A new product`}${i?` — ${i}, paid once`:` — paid once`}`}return`${t||n.map(e=>e.name.trim()).filter(Boolean).slice(0,3).join(`, `)||`A new product`} — ${n.length} things, paid once`}let n=e.plans.length;return`${t||`A new subscription`} — a subscription${n?`, ${n} plan${n===1?``:`s`}`:``}`}function pt(e,t,n=Ht()){let r=e.name.trim(),i=`${t.name.trim()||`this plan`}${r?` — ${r}`:``}`,a=t.description.trim(),o=t.monthly.on&&t.yearly.on,s=t.monthly.on?t.monthly:t.yearly,c=t.monthly.on?`Monthly`:`Yearly`,l=[n?`In your Stripe dashboard, switch Test mode OFF — live mode is its own catalogue, so the plan is made once more there. Then open Product catalogue and click Add product.`:`In your Stripe dashboard, open Product catalogue and click Add product.`,`Name it "${i}"${a?` and paste your one-liner into the Description box: "${a}"`:``}.`,`On the same form, choose Recurring, type ${s.amount.trim()||`…`} as the amount, set the billing period to ${c}, and click Add product to save.`,o?`Click the product you just made, then click its ${c.toLowerCase()} price. The price id — it starts with price_ — sits in the top right corner: copy it and paste it into the ${c.toLowerCase()} box below.`:`Click the product you just made, then click the price inside it. The price id — it starts with price_ — sits in the top right corner: copy it and paste it into the box below.`];return o&&l.push(`Go back to the product. In its Pricing section click + to add a second price: Recurring, ${t.yearly.amount.trim()||`…`} as the amount, billing period Yearly — save it.`,`Click that yearly price, copy its id from the top right corner, and paste it into the yearly box below.`),l}var mt=e=>e.includes(`'`)?`"${e}"`:`'${e}'`,ht=`Every payment goes through the app's own pieces — a <BuyButton> for one thing bought, a <Basket> for a basket of them — never a checkout, a card form or Stripe code of your own. The button's words, colour and place on the page are yours to design.`,gt=(e,t=Ht())=>{let n=e.name.trim()||`this product`,r=e.description.trim();if(e.kind===`once`){let t=$e(e),r=e=>`<BuyButton amount={${et(e.amount)??0}} productName=${mt(e.name.trim())}>`;if(t.length<=1){let i=t[0]||{name:e.name,amount:e.amount};return[`It sells ${i.name.trim()||n} for ${i.amount.trim()}, paid once: ${r(i)}.`]}let i=e.name.trim();return[`It sells ${t.length} things${i?` under ${i}`:``}, each paid once with its own button:`,...t.map(e=>`${e.name.trim()||`Something`} for ${e.amount.trim()}: ${r(e)}.`)]}let i=[`It sells ${n}${r?` (${r})`:``} as a subscription, and its whole pricing section is ONE piece of my app: <Plans product='${e.id}' /> from 'your-ai-workflow-firebase-os'. It reads the plans, what each includes, the prices and the Stripe ids from my Payments screen as they stand — so type no plan, price or id into the page — offers a monthly/yearly switch where a plan has both, and each plan's button asks who is paying and goes on to Stripe. Add featured='a plan's name' to draw one forward, and phone / address when my words ask for them. The heading over it and the words round it are yours. Only if my words ask for a layout it cannot give, read the same plans with usePlans('${e.id}') and buy each with a <BuyButton>. What it sells, so the words round it are right:`];for(let t of e.plans){let e=t.name.trim()||`Plan`,n=t.description.trim(),r=[];t.monthly.on&&r.push(`${t.monthly.amount.trim()} per month`),t.yearly.on&&r.push(`${t.yearly.amount.trim()} per year`);let a=t.roleId?` Buying it makes the buyer my ${Ge(t.roleId)} role — userRole '${t.roleId}'.`:``;i.push(`${e}${n?` (${n})`:``} — ${r.join(` or `)}.${a}`)}return i},_t=`Who is paying is asked by the button ITSELF: the press of a <BuyButton> from 'your-ai-workflow-firebase-os' opens one small window that says what is being bought, asks who is paying and goes straight on to Stripe. So NEVER a <BuyerDetails> and a <PayButton> put together by you, never a form, never a *Form.config.ts, never a name, email, phone or <AddressField> box of your own, and no delivery step of your own: that asks the buyer twice. It asks a buyer who is not signed in for their name and email, and for a phone number or the address when you pass phone / address on the button (true to require it, 'optional' to offer it — pass them when my words ask for them, and address whenever something is delivered), and makes them an account there and then, signed in on this device; a signed-in buyer is asked only for what is missing, and one the app already knows sees one line saying who is paying and the button. Who they are rides onto the payment by itself and reads beside it on my Transactions screen. Anything else my words ask before paying — a note, a chosen session, a size — is a box or a choice of your own on the page (it is not a form: nothing is sent anywhere) whose answer goes into the button's metadata as a plain string, and disabled on the button holds it back until it is chosen. Never ask for their email twice, and never build a backend of your own for it: the app tells them and me in the bell when the payment happens.`,vt=`Put what was bought into the button's metadata as well, whenever the page knows more than productName says — a basket, a chosen plan, options, a quantity, hours: items as one line per thing (quantity, name, the options chosen and its price — '2 × Blazer, Noir Black, size M — 240; 1 × Belt — 60', joined with '; '), total as the number charged, and delivery, discount or whatever else made up the amount under a key each. Every value a plain string under 500 characters, never an object or an array. My Transactions screen shows those under What they bought, so a payment there says what the money was for and not only how much.`,yt=`Show and hide what a plan unlocks with the app's own useMyPayments() — it returns { loading, active, subscriptions, payments } — and that is presentation, not protection: anything genuinely paid, like a file or a secret, must come from the server.`,bt=`A plan's role is given the moment the buyer pays and taken back when the subscription ends — the app does both itself, so build neither. What that plan unlocks is what its role opens: a page kept for the role, and anything a page shows to it — read const { userRole } = useAuth() from 'your-ai-workflow-firebase-os' and compare it with the role's word above. Gate that by the role, never with useMyPayments().`,xt=`This plan gives its buyer a role, and a role belongs to an ACCOUNT — so anybody buying it here needs one. Check with useAuth() from 'your-ai-workflow-firebase-os': for somebody who is not signed in, put a link to /login where the buy button would be, saying they sign in first and come straight back. If you leave the button there for them as well, say beside it that they must use the same email address when they register, or what they have paid for opens nothing. This is only about a plan that gives a role — a one-off payment and a plan without one are bought by anybody, signed in or not.`;function St(e,t=``,n=Ht()){let r=[...gt(e,n)],i=e.how.trim();return i&&r.push(`Here is how this payment should work, start to finish: ${i}`),r.push(_t,vt),e.kind===`subscription`&&(e.plans.some(e=>e.roleId)&&r.push(bt),e.plans.some(e=>!e.roleId)&&r.push(yt)),r.push(...wt(t,e)),r}var Ct=`What happens when they come back from paying is my app's own as well: write <CheckoutReturn /> from the same package ONCE near the top of the page, outside any window or step. It asks the server whether the money really moved and only then thanks them; give it orderPath='/billing' — the app's own page where what they bought is — unless my words name another page of mine they go to afterwards, and then that page's address. Never read session_id off the web address, never call confirmPayment, and never build a thank-you, an order confirmation, a receipt or a notification of your own: the bell tells them their order is placed and tells me a payment came in. Never send them to /login or /register after paying, and never make anybody sign in BEFORE they pay: somebody whose email already has an account pays as a guest and is emailed their way in afterwards.`;function wt(e,t){let n=[`Set each button's successPath to ${e||`the page the button is on`} so the buyer lands back where they paid — that is the page <CheckoutReturn> is on, and the only place the payment is checked.`,Ct],r=[];return t.emailReceipt&&r.push(`emailReceipt: 'yes'`),t.notifyOwner&&r.push(`notifyOwner: 'yes'`),r.length&&n.push(`Put ${r.join(` and `)} in the button's metadata — the app then sends ${r.length===2?`those emails`:`that email`} on its own.`),n}var Tt=e=>e===`internal`||e===`admin`,Et=e=>Array.isArray(e?.links)?e.links.map(e=>({pageId:String(e?.pageId||``),how:String(e?.how||``)})):[],Dt=(e,t)=>t.find(t=>t.id===e)||t.find(t=>String(t.config?.contentKey||``).trim()===e),Ot=(e,t)=>e===t.id||e===String(t.config?.contentKey||``).trim();function kt(e){return e.how.trim()?``:`Describe how this payment will work.`}var At=(e,t)=>e.pageIds.some(e=>Ot(e,t)),jt=(e,t)=>At(e,t)?e.pageIds.filter(e=>!Ot(e,t)):[...e.pageIds,t.id],Mt=`What people paid is mine and my admins' alone: the app refuses everybody else the sales outright, so never call useSales() on this page and never put an amount on it. Show what an admin's own page has recorded about a sale — the name, what they bought, when — and if what I asked for cannot be built without the amounts, say so plainly in your reply: the page has to be kept for Admins for that. This page never sells — no <PayButton> on it.`,Nt="Read the sales on it with the app's own useSales() from 'your-ai-workflow-firebase-os' — it returns { loading, charges, subscriptions, error } live from my Stripe account: who paid, for what, when, and each subscription's current status. Show `error` when it is set. Design the list however fits; never write Stripe code, a backend or an export of your own for it. This page never sells — no <PayButton> on it.",Pt=e=>`/payments?new=subscription&page=${encodeURIComponent(e)}`,Ft=(e,t)=>`/payments?open=${encodeURIComponent(e)}&page=${encodeURIComponent(t)}`,It=(e,t)=>`/pages/${encodeURIComponent(e)}?addPayment=${encodeURIComponent(t)}`,Lt=[],Rt=!1,zt=e=>{Lt=e},Bt=()=>Lt,Vt=e=>{Rt=e},Ht=()=>Rt;function Ut(e){let t=[];for(let n of e)if(n.kind===`subscription`)for(let e of n.plans)for(let[r,i]of[[`monthly`,e.monthly],[`yearly`,e.yearly]]){if(!i.on)continue;let a=i.priceId.trim(),o=i.livePriceId.trim();ot(o)&&ot(a)&&a!==o&&t.push({product:n.name.trim()||`a subscription`,plan:e.name.trim()||`its plan`,word:r,from:a,to:o})}return t}function Wt(e=Bt()){let t=Ut(e),n=[`My Stripe account has switched from test mode to live mode. I have already replaced the keys in Secrets — do not touch any keys or write any Stripe code of your own.`];return t.length?n.push(`In my pages, every <BuyButton> or <PayButton> with a priceId still carries a test price id. Swap each one for its live id and change nothing else about the button:`,...t.map(e=>`For ${e.product}, ${e.plan} (${e.word}): replace '${e.from}' with '${e.to}'.`),`Buttons that use amount={…} instead of a priceId need no change, and neither does a pricing section drawn with <Plans> — it reads the live ids itself.`):n.push(`No price id in my pages needs to change — buttons that use amount={…} never had one.`),n.push(`Then rebuild the app so it runs with the live keys and ids.`),n.join(`
|
|
2
|
-
`)}var Gt=`admin_keys`,Kt=`plans`,qt=()=>({planUntil:(0,l.deleteField)(),planPass:(0,l.deleteField)()}),Jt=e=>typeof e?.planUntil==`number`&&e.planUntil>0?e.planUntil:0,Yt=e=>Jt(e)>0,Xt=e=>Jt(e);function Zt(e){if(!e)return!1;if(Yt(e))return!0;let t=e.role;return t==null||t===`user`||t===`free`}function Qt(e,t=Date.now()){let n=e?.role?String(e.role):`user`,r=Jt(e);return r&&t>=r?`user`:n}function $t(e,n){if(!Zt(e))return null;let r=String(n?.role||``);return r?!t.v(r)||typeof n?.until!=`number`||typeof n?.pass!=`string`||e.role===r&&e.planUntil===n.until?null:{role:r,planUntil:n.until,planPass:n.pass}:Yt(e)?{role:`user`,...qt()}:null}async function en(e,n){try{let r=x?.currentUser;if(!r||r.uid!==e||!t.t(r)||typeof fetch!=`function`)return;let i=(0,l.doc)(S,`user_profiles`,e),a=n??(await(0,l.getDoc)(i)).data();if(!Zt(a))return;let o=await r.getIdToken(),s=await fetch(`/api/payments/plan-role`,{headers:{Authorization:`Bearer ${o}`}});if(!s.ok)return;let c=$t(a,await s.json());c&&await(0,l.updateDoc)(i,c)}catch{}}function tn(e){(0,a.useEffect)(()=>{let e=!1;return(async()=>{let t=x?.currentUser;if(!t||typeof fetch!=`function`)return;let n=await fetch(`/api/payments/plan-key`,{headers:{Authorization:`Bearer ${await t.getIdToken()}`}});if(!n.ok||e)return;let r=String((await n.json())?.key||``);if(!r)return;let i=(0,l.doc)(S,Gt,Kt),a=await(0,l.getDoc)(i);!e&&a.data()?.key!==r&&await(0,l.setDoc)(i,{key:r})})().catch(()=>{}),()=>{e=!0}},[e])}function nn(e){let t={};for(let n of e)if(n.kind===`subscription`)for(let e of n.plans){if(!e.roleId)continue;let r=e.name.trim()||n.name.trim()||`A plan`,i=t[e.roleId]||=[];i.includes(r)||i.push(r)}return t}function rn(){let[e,t]=(0,a.useState)({});return(0,a.useEffect)(()=>ke(qe,()=>(0,l.collection)(S,qe),e=>{let n=[];e.forEach(e=>{e.id!==`_settings`&&n.push(at(e.id,e.data()))}),t(nn(n))},()=>{}),[]),e}var an=null,on=null,sn=`fbos:payment-news`;function cn(){an=null,on=null,typeof window<`u`&&window.dispatchEvent(new Event(sn))}async function ln(){try{return await x?.currentUser?.getIdToken()||null}catch{return null}}function un(e,t){if(e==null||!Number.isFinite(e))return``;let n=String(t||``).toUpperCase();if(!n)return String(e);try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:n}).format(e)}catch{return`${e} ${n}`}}function dn(e,t=!0){let n=[];return t&&n.push(String(e.name||e.email||``).trim()),n.push(un(e.amount,e.currency)),n.push(String(e.productName||``).trim()),n.filter(Boolean).join(` · `)}function fn(e){let t=String(e?.id||``);if(!t||e?.paid===!1||e?.refunded===!0)return null;let n=Number(e?.created),r=e?.amount!=null&&Number.isFinite(Number(e.amount))?Number(e.amount):null;return{id:t,at:Number.isFinite(n)?n>0xe8d4a51000?n:n*1e3:0,amount:r,currency:e?.currency?String(e.currency):null,name:e?.name?String(e.name):null,email:e?.email?String(e.email):null,productName:e?.productName||e?.description?String(e.productName||e.description):null,page:e?.page?String(e.page):null}}async function pn(e,t,n){try{let r=await fetch(e,{headers:t?{Authorization:`Bearer ${t}`}:{}});if(!r.ok)return[];let i=await r.json();return(Array.isArray(i?.[n])?i[n]:[]).map(fn).filter(e=>!!e)}catch{return[]}}var mn=(e,t)=>!!e&&e.key===t&&Date.now()-e.at<6e4;function hn(e){if(mn(an,e))return an.promise;let t=ln().then(e=>e?pn(`/api/payments/recent`,e,`payments`):[]);return an={key:e,at:Date.now(),promise:t},t}function gn(e){if(mn(on,e))return on.promise;let t=ln().then(e=>e?pn(`/api/payments/me`,e,`payments`).then(e=>e.filter(e=>e.at>0)):[]);return on={key:e,at:Date.now(),promise:t},t}function _n(e,t,n){let[r,i]=(0,a.useState)([]);return(0,a.useEffect)(()=>{if(!t||!n)return;let r=!1,a=0,o=()=>{let n=++a;(e===`sales`?hn(t):gn(t)).then(e=>{!r&&n===a&&i(e)})};o();let s=()=>{(typeof document>`u`||document.visibilityState===`visible`)&&o()};return typeof document<`u`&&document.addEventListener(`visibilitychange`,s),typeof window<`u`&&(window.addEventListener(`focus`,s),window.addEventListener(sn,o)),()=>{r=!0,typeof document<`u`&&document.removeEventListener(`visibilitychange`,s),typeof window<`u`&&(window.removeEventListener(`focus`,s),window.removeEventListener(sn,o))}},[e,t,n]),t&&n?r:vn}var vn=[],yn=`Could not reach the server. Check your connection and try again.`,bn={goTo(e){window.location.href=e}},xn=`/api/payments/webhook`,Sn=e=>e?`${e.replace(/\/$/,``)}${xn}`:``;async function Cn(){try{let e=x?.currentUser;if(!e)return null;let t=e.emailVerified===!0&&(await e.getIdTokenResult?.())?.claims?.email_verified!==!0;return await e.getIdToken(t||void 0)}catch{return null}}function wn(e){return e?{Authorization:`Bearer ${e}`}:{}}async function Tn(e,t){try{let t=await e.json();if(t&&typeof t.error==`string`&&t.error)return t.error}catch{}return t}async function En(e){let t=await Dn(e);return typeof t==`string`?t:(bn.goTo(t.url),null)}async function Dn(e){try{let t=await Cn(),n=await fetch(`/api/payments/checkout`,{method:`POST`,headers:{"Content-Type":`application/json`,...wn(t)},body:JSON.stringify({...e,origin:window.location.origin})});if(!n.ok)return await Tn(n,`The payment could not be started. Please try again.`);let r=await n.json();return r?.url?{sessionId:String(r.sessionId||``),url:String(r.url)}:`The payment could not be started. Please try again.`}catch{return yn}}async function On(){let e=await Cn();if(!e)return`Sign in to manage your plan.`;try{let t=await fetch(`/api/payments/portal`,{method:`POST`,headers:{"Content-Type":`application/json`,...wn(e)},body:JSON.stringify({origin:window.location.origin})});if(!t.ok)return await Tn(t,`The billing portal could not be opened.`);let n=await t.json();return n?.url?(bn.goTo(String(n.url)),null):`The billing portal could not be opened.`}catch{return yn}}async function kn(e){let t={paid:!1,paymentStatus:null,amountTotal:null,currency:null,customerEmail:null,metadata:{},error:null};if(!e)return{...t,error:`No payment session to confirm.`};try{let n=await fetch(`/api/payments/session/${encodeURIComponent(e)}`);if(!n.ok)return{...t,error:await Tn(n,`That payment could not be found.`)};let r=await n.json();return r?.paid===!0&&(zn(),cn()),{paid:r?.paid===!0,paymentStatus:r?.paymentStatus??null,amountTotal:r?.amountTotal??null,currency:r?.currency??null,customerEmail:r?.customerEmail??null,metadata:r?.metadata||{},error:null}}catch{return{...t,error:yn}}}var An=null;function jn(){return An||=fetch(`/api/payments/status`).then(e=>e.json()).then(e=>({configured:e?.configured===!0&&e?.enabled!==!1,mode:e?.mode??null})).catch(()=>(An=null,{configured:!1,mode:null})),An}function Mn(){An=null}function Nn(){let[e,t]=(0,a.useState)({loading:!0,configured:!1,mode:null});return(0,a.useEffect)(()=>{let e=!1;return jn().then(n=>{e||t({loading:!1,...n})}),()=>{e=!0}},[]),e}var Pn=e=>String(e??``).trim(),Fn=e=>{let t={name:Pn(e?.name),phone:Pn(e?.phone),address:Pn(e?.address)};return t.name||t.phone||t.address?t:null};async function In(){let e={active:!1,subscriptions:[],payments:[],buyer:null},t=await Cn();if(!t)return{...e,error:null};try{let n=await fetch(`/api/payments/me`,{headers:wn(t)});if(!n.ok)return{...e,error:await Tn(n,`Your payments could not be loaded.`)};let r=await n.json();return{active:r?.active===!0,subscriptions:r?.subscriptions||[],payments:r?.payments||[],buyer:Fn(r?.buyer),error:null}}catch{return{...e,error:yn}}}var Ln=null,Rn=e=>e.subscriptions.length>0||e.payments.length>0;function zn(){Ln=null}function Bn(e){return(!Ln||Ln.uid!==e)&&(Ln={uid:e,promise:In().then(e=>(e.error&&(Ln=null),{bought:Rn(e),buyer:e.buyer,failed:!!e.error}))}),Ln.promise}var Vn=e=>Bn(e).then(e=>e.bought);async function Hn(e){if(!e||!(await jn()).configured)return null;let t=await Bn(e);if(t.failed)throw Error(`The payments could not be read.`);return t.buyer}function Un(e){let[t,n]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!e)return;let t=!1;return Vn(e).then(r=>{t||n({uid:e,bought:r})}),()=>{t=!0}},[e]),e?t?.uid===e?{loading:!1,bought:t.bought}:{loading:!0,bought:!1}:{loading:!1,bought:!1}}function Wn(){let[e,t]=(0,a.useState)({loading:!0,active:!1,subscriptions:[],payments:[],error:null});return(0,a.useEffect)(()=>{let e=!1,n=x?.currentUser?.uid||``;return In().then(r=>{n&&!r.error&&(Ln={uid:n,promise:Promise.resolve({bought:Rn(r),buyer:r.buyer,failed:!1})}),e||t({loading:!1,...r})}),()=>{e=!0}},[]),e}function Gn(){let[e,t]=(0,a.useState)({loading:!0,charges:[],subscriptions:[],error:null});return(0,a.useEffect)(()=>{let e=!1,n=n=>{e||t({loading:!1,...n})};return(async()=>{let e=await Cn();if(!e)return n({charges:[],subscriptions:[],error:`Please sign in first.`});try{let t=await fetch(`/api/payments/sales`,{headers:wn(e)});if(!t.ok)return n({charges:[],subscriptions:[],error:await Tn(t,`The sales could not be loaded.`)});let r=await t.json();return n({charges:r?.charges||[],subscriptions:r?.subscriptions||[],error:null})}catch{return n({charges:[],subscriptions:[],error:yn})}})(),()=>{e=!0}},[]),e}var Kn=4e3,qn=e=>String(e??``).trim();function Jn(e,t){return!t?.email||t.emailVerified!==!0||e?.removed===!0?!1:!qn(e?.displayName)&&!qn(t.displayName)}function Yn(e,t){if(!t||e?.removed===!0)return null;let n={};return t.name&&!qn(e?.displayName)&&(n.displayName=t.name),t.phone&&!qn(e?.phone)&&(n.phone=t.phone),t.address&&!qn(e?.address)&&(n.address=t.address),Object.keys(n).length?n:null}var Xn=`firebase-os:buyer-basics-asked`,Zn=e=>{try{return sessionStorage.getItem(`${Xn}:${e}`)===`1`}catch{return!1}},Qn=e=>{try{sessionStorage.setItem(`${Xn}:${e}`,`1`)}catch{}};async function $n(e,t){if(Zn(e))return!1;let n=(async()=>{let n=x?.currentUser;if(!n||n.uid!==e||typeof fetch!=`function`)return!1;let r=Yn(t,await Hn(e));return Qn(e),r?(await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,e),r,{merge:!0}),r.displayName&&x.currentUser?.uid===e&&(0,c.updateProfile)(x.currentUser,{displayName:r.displayName}).catch(()=>{}),!!r.displayName):!1})().catch(()=>!1),r=new Promise(e=>setTimeout(()=>e(!1),Kn));return Promise.race([n,r])}var er=e=>`fbos_verify_sent_${e}`,tr=e=>{if(!e)return!1;try{return localStorage.getItem(er(e))===`1`}catch{return!1}},nr=e=>{if(e)try{localStorage.setItem(er(e),`1`)}catch{}},rr=e=>{if(e)try{localStorage.removeItem(er(e))}catch{}};async function ir(e){if(!e?.uid||!e.email)return`failed`;if(tr(e.uid))return`already`;try{return await(0,c.sendEmailVerification)(e),nr(e.uid),`sent`}catch{return`failed`}}var ar={collection:`sys_configs`,doc:`auth_methods`},or=[`Open console.firebase.google.com and pick your project.`,`In the menu on the left open Authentication, then the Sign-in method tab.`],sr=`https://console.firebase.google.com/`;function cr(){try{let e=x;return String(e?.app?.options?.authDomain||e?.config?.authDomain||``)}catch{return``}}var lr=e=>e?`https://${e}/__/auth/handler`:``,ur=()=>{try{let e=typeof window<`u`?String(window.location?.origin||``):``;return/^https?:\/\//.test(e)?e:``}catch{return``}},dr=`This is where your app is running right now. When you publish it to your own domain, come back and change this to that address.`,fr=`Open the Settings tab, find SMS region policy, and allow every country your people might be signing in from — not only your own. A country left off gets no text at all, and the person waiting for the code is told nothing.`,pr=[{id:`password`,label:`Email and password`,description:`A password they choose when they register.`,inSentence:`a password`,kind:`signIn`,defaultOn:!0,needsSetup:!1,providerId:`password`,steps:[`Click Email/Password and switch it on.`]},{id:`emailLink`,label:`Email link, no password`,description:`You email them a link. Nothing to remember, nothing to reset.`,inSentence:`an emailed link`,kind:`signIn`,defaultOn:!0,needsSetup:!0,button:`Email me a link`,providerId:`emailLink`,setupTitle:`Set up passwordless sign-in`,steps:[`Click Email/Password, switch on Email link (passwordless sign-in), and save.`]},{id:`google`,label:`Google`,description:`One tap with a Google account.`,inSentence:`Google`,kind:`signIn`,defaultOn:!0,needsSetup:!1,button:`Continue with Google`,providerId:`google.com`,steps:[`Click Add new provider, choose Google, and follow the steps.`]},{id:`phone`,label:`Phone number`,description:`A code by text, and no email at all.`,inSentence:`a phone number`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with a phone number`,providerId:`phone`,steps:[`Click Add new provider, choose Phone, and enable it.`,fr,`While you are on the Phone provider, open "Phone numbers for testing" and add one: a number and a six-digit code you make up. Signing in with that pair never sends a text, so you can try the whole thing on your own, as often as you like, for nothing.`]},{id:`github`,label:`GitHub`,description:`A GitHub account — for an app your developers use.`,inSentence:`GitHub`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with GitHub`,providerId:`github.com`,steps:[`Click Add new provider, choose GitHub, and paste in the two things below.`],setup:{where:`GitHub`,url:`https://github.com/settings/developers`,asksFor:[`Client ID`,`Client secret`],steps:[{text:`Sign in at github.com and open Settings → Developer settings → OAuth Apps, then click New OAuth App.`},{text:`Give it a name your people will recognise — it is what they see when GitHub asks them to allow it — and put your own app's address in Homepage URL.`,copy:{label:`Homepage URL`,address:`home`,note:dr}},{text:`Paste the address below into Redirect URI, then click Register application.`,copy:{label:`Redirect URI`,address:`callback`,note:`Some GitHub screens call this same box Authorization callback URL.`}},{text:`Copy the Client ID off the page that comes back, then click Generate a new client secret and copy that too. GitHub shows a secret once.`},{text:`Back in Firebase, paste the Client ID and the Client secret into the GitHub panel and click Save.`}]}},{id:`twitter`,label:`X`,description:`An X account, the one that used to be called Twitter.`,inSentence:`X`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with X`,providerId:`twitter.com`,steps:[`Click Add new provider and choose Twitter. Firebase still lists X under its old name, with the old blue bird beside it — that is the right one.`,`Paste in the two things below. Firebase calls them API key and API secret; X calls the same pair the Consumer Key and Consumer Secret, and the steps say where to find them.`],setup:{where:`the X developer portal`,url:`https://developer.x.com/en/portal/dashboard`,asksFor:[`API key`,`API secret`],steps:[{text:`Sign in at developer.x.com and open the developer portal.`},{text:`Click Create an app, give it a name, leave the project as the default one X offers, and create it.`},{text:`X throws a window of credentials at you the moment the app exists. Close it. None of what is in it is what Firebase wants, and the right pair is the last step here.`},{text:`Click the app's name and find User authentication settings, then click Set up. Leave every setting on that screen as X has set it, apart from the two addresses and the one tick below.`},{text:`Website URL is your own app's address.`,copy:{label:`Website URL`,address:`home`,note:dr}},{text:`Callback URI / Redirect URL, on the same screen, is this.`,copy:{label:`Callback URI / Redirect URL`,address:`callback`}},{text:`Tick "Request email from users" before you leave that screen. Leave it off and everybody who signs in with X arrives with no email address at all — no way for you to write to them, and a verification screen that has nothing to send to. X asks for a Terms of service and a Privacy policy address before it will let you tick it.`},{text:`Click Save changes. X answers with a Client ID and a Client Secret. Close that one too — still not the pair Firebase is asking for.`},{text:`Back on the app, open Keys and tokens. Under OAuth 1.0, press Regenerate beside Consumer Key — which X also calls the API Key and API Key Secret. Copy both halves while they are on the screen: X shows them once. Leave the access tokens alone while you are on that page: the Generate button under Access Token is for reading X from your own account, and this app never does that.`},{text:`Back in Firebase, paste the Consumer Key into API key and the Consumer Secret into API secret, then click Save.`}],warning:`X hands you a Client ID and a Client Secret twice before it hands you the right pair — once when the app is made, and again when you save the authentication screen. Both of those are X's newer OAuth 2.0 pair, which Firebase does not use: paste them in and the sign-in fails with "invalid credential" the first time somebody presses the button. The pair Firebase wants is the Consumer Key and Consumer Secret, on Keys and tokens, under OAuth 1.0.`}},{id:`sms2fa`,label:`Two-step sign-in`,description:`After the password, a code by text before they are let in.`,inSentence:`a text code`,kind:`security`,defaultOn:!1,needsSetup:!0,steps:[`In the Advanced section below the providers, find SMS Multi-factor Authentication and click Enable.`,fr]}],mr=e=>pr.find(t=>t.id===e),hr=pr.filter(e=>e.kind===`signIn`),gr=e=>e===`internal`||t.v(e);function _r(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=String(n??``).trim();gr(e)&&!t.includes(e)&&t.push(e)}return t}var vr=()=>{let e={};for(let t of pr)e[t.id]=t.defaultOn;return{on:e,registerAs:{on:!1,roles:[]},twoStepOptional:!1,finishRegistration:{skippable:!0,perRole:!1}}};function yr(e){let t=vr(),n=e?.methods&&typeof e.methods==`object`?e.methods:{};for(let e of pr)typeof n[e.id]==`boolean`&&(t.on[e.id]=n[e.id]);let r=e?.registerAs&&typeof e.registerAs==`object`?e.registerAs:{};t.registerAs={on:r.on===!0,roles:_r(r.roles)},t.twoStepOptional=e?.twoStepOptional===!0;let i=e?.finishRegistration&&typeof e.finishRegistration==`object`?e.finishRegistration:{};return t.finishRegistration={skippable:i.required!==!0,perRole:i.perRole===!0},t}function br(e,t){if(!e.registerAs.on)return[];let n=e.registerAs.roles.includes(`internal`)?[{id:`internal`,name:Ge(`internal`,t)}]:[],r=e.registerAs.roles.map(e=>t.find(t=>t.id===e)).filter(e=>!!e).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({id:e.id,name:e.name}));return[...n,...r]}var xr=(e,t,n)=>br(e,n).find(e=>e.id===String(t??``))??null;function Sr(e,t){let n=String(t||e).trim()||e;return e===`internal`?n===Ne.internal?`one of our team`:`one of ${n}`:`${/^[aeiou]/i.test(n)?`an`:`a`} ${n}`}function Cr(e){let t=e.map(e=>Sr(e.id,e.name).replace(`one of our team`,`one of your team`));return t.length?`People can register as ${t.length===1?t[0]:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}.`:``}function wr(e){let t=hr.filter(t=>e.on[t.id]);return t.length>0?t:hr.filter(e=>e.id===`password`)}var Tr=e=>wr(e).some(e=>e.id===`password`);function Er(e){let t=wr(e).map(e=>e.inSentence);return t.length===1?t[0]:`${t.slice(0,-1).join(`, `)} and ${t[t.length-1]}`}function Dr(e,t){let n=mr(t);return!n||n.kind!==`signIn`||hr.filter(n=>n.id!==t&&e.on[n.id]).length>0?``:`Keep at least one way to sign in — switch another one on first, then this one off.`}var Or=e=>`${mr(e)?.label??`This way of signing in`} is not switched on in your Firebase project yet. An admin can switch it on there, on the Sign in screen's own instructions.`,kr=null,Ar=null,jr=null,Mr=null;function Nr(e){jr=e,kr?.forEach(t=>t(e))}var Pr=6e3,Fr=null;function Ir(e){Fr&&=(clearTimeout(Fr),null),Mr=e,Nr(e)}function Lr(e){let t=!kr;return kr||=new Set,kr.add(e),t?(Mr||(Fr=setTimeout(()=>{Fr=null,Mr||Ir(vr())},Pr)),Ar=(0,l.onSnapshot)((0,l.doc)(S,ar.collection,ar.doc),e=>Ir(yr(e.exists()?e.data():null)),()=>{Mr||Ir(vr())})):jr&&e(jr),()=>{kr?.delete(e),!kr?.size&&(Fr&&=(clearTimeout(Fr),null),Ar?.(),kr=null,Ar=null)}}function Rr(){let[e,t]=(0,a.useState)(()=>jr?{loading:!1,settings:jr}:{loading:!0,settings:vr()});(0,a.useEffect)(()=>Lr(e=>t({loading:!1,settings:e})),[]);let n=()=>jr??e.settings,r=e=>(0,l.setDoc)((0,l.doc)(S,ar.collection,ar.doc),e,{merge:!0}),i=`That could not be saved — check you are still signed in as an admin, then try again.`,o=async(e,t)=>{if(!t){let t=Dr(n(),e);if(t)return t}let a=n().on[e];Nr({...n(),on:{...n().on,[e]:t}});try{return await r({methods:{[e]:t}}),null}catch{let t=n(),r=Mr?Mr.on[e]:a;return Nr({...t,on:{...t.on,[e]:r}}),i}},s=async e=>{let t=n().registerAs,a={on:e.on??t.on,roles:_r(e.roles??t.roles)};Nr({...n(),registerAs:a});try{return await r({registerAs:a}),null}catch{return Nr({...n(),registerAs:Mr?Mr.registerAs:t}),i}},c=async e=>{let t=n().twoStepOptional;Nr({...n(),twoStepOptional:e});try{return await r({twoStepOptional:e}),null}catch{return Nr({...n(),twoStepOptional:Mr?Mr.twoStepOptional:t}),i}},u=async e=>{let t=n().finishRegistration,a={skippable:e.skippable??t.skippable,perRole:e.perRole??t.perRole};Nr({...n(),finishRegistration:a});try{return await r({finishRegistration:{required:!a.skippable,perRole:a.perRole}}),null}catch{return Nr({...n(),finishRegistration:Mr?Mr.finishRegistration:t}),i}};return{...e.settings,loading:e.loading,set:o,setRegisterAs:s,setTwoStepOptional:c,setFinishRegistration:u}}var zr=`fbos_register_as`,Br=[`/register`,`/login`],Vr=()=>{try{return typeof window<`u`?window.sessionStorage:null}catch{return null}};function Hr(e,t=Date.now()){if(gr(e))try{Vr()?.setItem(zr,JSON.stringify({id:e,at:t}))}catch{}}function Ur(){try{Vr()?.removeItem(zr)}catch{}}function Wr(e,t=Date.now()){let n=Vr();if(!n)return``;let r=null;try{r=n.getItem(zr),r!==null&&n.removeItem(zr)}catch{return``}if(!r||!Br.includes(String(e||``).replace(/\/+$/,``)||`/`))return``;try{let{id:e,at:n}=JSON.parse(r);return typeof n!=`number`||t-n>36e5||t<n?``:gr(e)?String(e):``}catch{return``}}function Gr(e,t,n=Date.now()){if(!t||!gr(t)||e?.removed===!0)return null;let r=e?.role;return r&&r!==`user`&&r!==`free`||e?.requestedRole===t?null:{requestedRole:t,requestedRoleAt:new Date(n).toISOString()}}var Kr=()=>({requestedRole:(0,l.deleteField)(),requestedRoleAt:(0,l.deleteField)()});function qr(e){let t=e?.requestedRole;return gr(t)?{role:String(t),at:typeof e?.requestedRoleAt==`string`?e.requestedRoleAt:``}:null}var Jr=(e,t)=>`Register as ${Sr(e,t)}`,Yr=(e,t)=>`Asked to be ${Sr(e,t)}`,Xr=`Your registration goes to an admin for approval. Until then everything works as usual.`,Zr=`Your registration is pending approval`,Qr=`We'll let you know as soon as it's approved. Everything else works as usual.`,$r=()=>({title:`Your registration has been approved`,body:`Everything that was waiting on it is open to you now.`,link:`/dashboard`}),ei=()=>({title:`Your registration was not approved`,body:`You still have your account, and everything works as usual.`,link:`/dashboard`}),ti=()=>{if(!x)throw Error(`Firebase is not initialized. Check your configuration.`);return x};function ni(e){switch(mr(e)?.providerId){case`google.com`:return new c.GoogleAuthProvider;case`github.com`:return new c.GithubAuthProvider;case`twitter.com`:return new c.TwitterAuthProvider;default:return null}}var ri=e=>ni(e)!==null;async function ii(e){let t=ni(e);if(!t)throw Error(`${mr(e)?.label??e} is not a one-button sign-in.`);try{return await(0,c.signInWithPopup)(ti(),t),`done`}catch(n){if(n?.code===`auth/popup-blocked`||n?.code===`auth/popup-closed-by-user`||n?.code===`auth/cancelled-popup-request`){let{signInWithRedirect:n}=await import(`firebase/auth`);try{sessionStorage.setItem(gi,e)}catch{}return await n(ti(),t),`redirecting`}throw n}}var ai=`firebase-os:sign-in-link-email`,oi=`email`;async function si(e,t=`/login`){let n=new URL(t,window.location.origin);n.searchParams.set(oi,e),await(0,c.sendSignInLinkToEmail)(ti(),e,{url:n.toString(),handleCodeInApp:!0});try{localStorage.setItem(ai,e)}catch{}}function ci(e=window.location.href){try{return(0,c.isSignInWithEmailLink)(ti(),e)}catch{return!1}}function li(){try{return localStorage.getItem(`firebase-os:sign-in-link-email`)||``}catch{return``}}function ui(e=window.location.href){let t=li();if(t)return t;try{let t=String(new URL(e).searchParams.get(`email`)||``).trim();return/^[^\s@]+@[^\s@]+$/.test(t)?t:``}catch{return``}}async function di(e,t=window.location.href){let{user:n}=await(0,c.signInWithEmailLink)(ti(),e,t);try{await n.getIdToken(!0)}catch{}try{localStorage.removeItem(ai)}catch{}}async function fi(e,t){return pi(t,t=>(0,c.signInWithPhoneNumber)(ti(),e,t))}async function pi(e,t){let n=new c.RecaptchaVerifier(ti(),e,{size:`invisible`});try{return await t(n)}finally{try{n.clear()}catch{}}}function mi(e,t){let n=mr(t)?.providerId;try{switch(n){case`google.com`:return c.GoogleAuthProvider.credentialFromError(e);case`github.com`:return c.GithubAuthProvider.credentialFromError(e);case`twitter.com`:return c.TwitterAuthProvider.credentialFromError(e);default:return null}}catch{return null}}var hi=`firebase-os:refused-credential`,gi=`firebase-os:redirecting-with`,_i=`firebase-os:redirect-failure`,vi=null;function yi(e,t){if(!e)return;let n=String(t||``).trim().toLowerCase();vi={credential:e,email:n};try{let t=typeof e.toJSON==`function`?e.toJSON():null;t&&sessionStorage.setItem(hi,JSON.stringify({email:n,json:t}))}catch{}}var bi=()=>{if(vi)return!0;try{return!!sessionStorage.getItem(hi)}catch{return!1}};function xi(){vi=null;try{sessionStorage.removeItem(hi)}catch{}}async function Si(){if(vi){let e=vi;return xi(),e}let e=null;try{e=sessionStorage.getItem(hi)}catch{return null}if(xi(),!e)return null;try{let{email:t,json:n}=JSON.parse(e),{OAuthCredential:r}=await import(`firebase/auth`),i=r.fromJSON(n);return i?{credential:i,email:String(t||``)}:null}catch{return null}}async function Ci(){let e=await Si(),t=x?.currentUser;if(!e||!t)return;let n=String(t.email||``).trim().toLowerCase();e.email&&n&&e.email!==n||await Ei(e.credential)}function wi(e){let t=null;try{t=sessionStorage.getItem(gi)||null,sessionStorage.removeItem(gi)}catch{}let n=String(e?.code||``);if(!n)return;let r=String(e?.customData?.email||e?.email||``);t&&yi(mi(e,t),r);try{sessionStorage.setItem(_i,JSON.stringify({id:t||`google`,code:n,email:r}))}catch{}}function Ti(){let e=null;try{e=sessionStorage.getItem(_i),e&&sessionStorage.removeItem(_i)}catch{return null}if(!e)return null;try{let{id:t,code:n,email:r}=JSON.parse(e);return{id:t,err:{code:String(n||``),customData:{email:String(r||``)}}}}catch{return null}}async function Ei(e){let t=x?.currentUser;if(!(!e||!t))try{await(0,c.linkWithCredential)(t,e)}catch(e){console.warn(`That way in could not be added to the account. The sign-in itself stands.`,e)}}var Di=e=>pr.find(t=>t.providerId===e)?.id;async function Oi(e){if(e)try{let t=await(0,c.fetchSignInMethodsForEmail)(ti(),e);for(let e of t){let t=Di(e);if(t)return t}}catch{}}async function ki(e,t,n,r={}){let i=e?.code||``,a=String(e?.message||``);if(i===`auth/operation-not-allowed`)return{text:Or(t)};if(i===`auth/account-exists-with-different-credential`){let n=String(e?.customData?.email||e?.email||r.email||``),i=await Oi(n),a=i?mr(i)?.label:``,o=mi(e,t)??void 0;o&&yi(o,n);let s=o||bi()?` Both will work after that.`:``;return{text:a?`That email is already yours here — you set it up with ${a}. Sign in with ${a} and you are straight back in.${s}`:`That email is already yours here, set up a different way. Sign in the way you did the first time and you are straight back in.${s}`,tryInstead:i,pending:o}}if(i===`auth/email-already-in-use`){let t=await Oi(String(r.email||e?.customData?.email||``)),n=t?mr(t)?.label:``;return{text:n&&t!==`password`?`That email already has an account here — it was set up with ${n}. Sign in with ${n} and you are straight back in.`:`That email already has an account here. Sign in with it instead — and if you have forgotten the password, the sign-in page can reset it.`,tryInstead:t}}return i===`auth/invalid-credential`||i===`auth/user-not-found`||i===`auth/wrong-password`||i===`auth/invalid-login-credentials`?{text:`That email and password do not match. Check both — or, if you first came in with one of the buttons, use that button.`}:i===`auth/user-disabled`?{text:`This account has been switched off. If you think that is a mistake, ask whoever runs the app.`}:i===`auth/invalid-email`?t===`emailLink`?{text:`That is not the address this link was sent to. Type the one you asked us to send it to.`}:{text:`That does not look like an email address. Check it and try again.`}:i===`auth/missing-email`?{text:`Type your email address first.`}:i===`auth/missing-password`?{text:`Type your password first.`}:i===`auth/weak-password`?{text:`That password is too easy to guess. Make it longer, and mix letters and numbers.`}:i===`auth/unauthorized-domain`||a.includes(`requested action is invalid`)?{text:`This app's address is not on your Firebase project's allowed list yet. An admin can add it: Firebase console → Authentication → Settings → Authorized domains.`}:i===`auth/invalid-api-key`||i===`auth/app-not-authorized`||i===`auth/configuration-not-found`||i===`auth/api-key-not-valid.-please-pass-a-valid-api-key.`?{text:`This app is not connected to its Firebase project properly. If this app is yours, check the Firebase details on the setup screen.`}:i===`auth/network-request-failed`?{text:`We could not reach the sign-in service. Check your internet connection and try again.`}:i===`auth/invalid-phone-number`?{text:`That does not look like a phone number. Check the country and the digits after it.`}:i===`auth/missing-phone-number`?{text:`Type your phone number first.`}:i===`auth/invalid-verification-code`?{text:`That code is not right. Check the text message and type it again.`}:i===`auth/code-expired`?{text:`That code has expired. Press "Send it again" and a new one will come straight through.`}:i===`auth/captcha-check-failed`?{text:`The check that you are not a robot did not pass. Reload the page and try again.`}:i===`auth/quota-exceeded`?{text:`This app has sent as many text messages as it is allowed to for now. Try again later, or sign in another way.`}:i===`auth/too-many-requests`?{text:`Too many tries from here just now. Wait a few minutes and it will let you through again.`}:i===`auth/invalid-action-code`||i===`auth/expired-action-code`?t===`emailLink`?{text:`That link has been used already, has expired, or was sent to a different address from the one you typed. Ask for a new one and it will come straight through.`}:{text:`That link has been used already, or it has expired. Ask for a new one and it will come straight through.`}:i===`auth/credential-already-in-use`||i===`auth/provider-already-linked`?{text:`That way of signing in already belongs to an account here. Sign in with it directly.`}:i===`auth/user-token-expired`||i===`auth/user-mismatch`||i===`auth/null-user`?{text:`Your sign-in has run out. Sign in again and carry on from there.`}:i===`auth/popup-blocked`||i===`auth/popup-closed-by-user`||i===`auth/cancelled-popup-request`?{text:`The sign-in window was closed before it finished. Press the button again and let it open.`}:i===`auth/requires-recent-login`?{text:`For safety this needs a fresh sign-in. Sign out, sign back in, and set it up straight away.`}:i===`auth/unverified-email`?{text:`Verify your email address first, then come back and set this up — the link is in your inbox.`}:i===`auth/unsupported-first-factor`?{text:`A text code can only be added to an account with a password. The way you signed in has its own checks already.`}:i===`auth/second-factor-already-in-use`?{text:`That number is already the second step on another account here. Use a different one.`}:i===`auth/maximum-second-factor-count-exceeded`?{text:`This account already has as many second steps as Firebase allows. Remove one before adding another.`}:i===`auth/missing-multi-factor-session`||i===`auth/invalid-multi-factor-session`?{text:`That took too long. Start again and the code will come straight through.`}:i===`auth/missing-verification-code`?{text:`Type the code from the text message first.`}:((i||a)&&console.warn(`[signIn] a failure with no words of its own:`,i||a),{text:n})}var Ai=[3e3,6e3,12e3,2e4,3e4,6e4],ji=900*1e3,Mi=`fbos_rules_copied`,Ni=e=>{let t=e?.code;return t===`permission-denied`||t===`not-found`};function Pi(e,t=Date.now()){try{localStorage.setItem(Mi,JSON.stringify({emails:e.map(e=>e.trim().toLowerCase()).filter(Boolean),at:t}))}catch{}}function Fi(e,t=Date.now()){if(!e)return!1;try{let n=JSON.parse(localStorage.getItem(Mi)||`null`);return!n||!Array.isArray(n.emails)||typeof n.at!=`number`||t<n.at||t-n.at>36e5?!1:n.emails.includes(e.trim().toLowerCase())}catch{return!1}}var Ii=`fbos_rules_typed`;function Li(){try{return localStorage.getItem(Ii)||``}catch{return``}}function Ri(e){try{localStorage.setItem(Ii,e)}catch{}}function zi(e=Ai,t=ji){let n,r,i=0,a=null,o=()=>{n!==void 0&&clearTimeout(n),n=void 0},s=()=>{o();let e=r;r=void 0,e?.()};return{later(c){o(),r=c;let l=Date.now();a===null&&(a=l),!(l-a>=t)&&(n=setTimeout(s,e[Math.min(i,e.length-1)]),i+=1)},now(){r&&s()},stop(){o(),r=void 0,i=0,a=null},get waiting(){return r!==void 0}}}var Bi=(0,a.createContext)({user:null,userRole:null,accessLevel:`free`,isInternal:!1,isAdmin:!1,loading:!0,signOut:async()=>{},registerUser:async()=>{},refreshUser:async()=>{},userInactive:!1,roleResolved:!1,roleConfirmed:!1,requestedRole:null,profile:null,profileReady:!1,activeOrg:null,activeWorkspace:null,checkOrg:async()=>{},workspaceAccess:{},userWorkspaces:[],switchWorkspace:async()=>{},createWorkspace:async()=>{},createOrg:async()=>{}});async function Vi(e,{deleteLogin:t=!0}={}){if(t)try{return await(0,c.deleteUser)(e),`deleted`}catch{}try{return await(0,c.signOut)(x),`signed-out`}catch{return`failed`}}function Hi(e,t){if(e?.removed!==!0)return!1;let n=typeof t==`number`?t:Date.parse(String(t||``));return Number.isFinite(n)?n>(Number(e.removedMs)||0):!1}var Ui=/user_avatars(?:\/|%2F)/i;async function Wi(e,t){let n=null;try{n=(await e.getIdTokenResult()).authTime}catch{return`too-early`}if(!Hi(t,n))return`too-early`;let r=Xi(null,{uid:e.uid,email:e.email,displayName:e.displayName,phone:e.phoneNumber});try{await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,e.uid),r)}catch{return`refused`}return Ui.test(e.photoURL||``)&&(0,c.updateProfile)(e,{photoURL:null}).catch(()=>{}),`started`}var Gi=e=>`fbos_role2_${e}`,Ki=e=>{try{return localStorage.getItem(Gi(e))}catch{return null}},qi=(e,t)=>{try{localStorage.setItem(Gi(e),t)}catch{}},Ji=e=>{try{localStorage.removeItem(Gi(e))}catch{}},Yi=e=>{try{localStorage.removeItem(`fbos_role_${e}`)}catch{}};function Xi(e,t,n=Date.now()){if(e?.removed===!0)return null;let r=e||{},i=Date.parse(String(r.lastLoginAt||``)),a=Number.isFinite(i)&&n-i<36e5&&i<=n,o=t.email||r.email||null,s=t.phone||r.phone||null;if(e&&r.uid===t.uid&&r.email===o&&(r.phone??null)===s&&r.createdAt&&(!t.displayName||r.displayName===t.displayName)&&a)return null;let c=new Date(n).toISOString();return{uid:t.uid,email:o,phone:s,displayName:t.displayName||r.displayName||``,lastLoginAt:c,createdAt:r.createdAt||c}}function Zi({children:e,onSignedOut:n,onRemoved:r}){let[i,s]=(0,a.useState)(null),[u,d]=(0,a.useState)(null),[f,p]=(0,a.useState)(!1),[m,h]=(0,a.useState)(!0),[g,_]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),[b,C]=(0,a.useState)(null),[w,T]=(0,a.useState)(null),[ee,E]=(0,a.useState)(!1),D=a.default.useRef(null),te=a.default.useRef(null),ne=a.default.useRef(null),O=a.default.useRef(``),k=a.default.useRef(null),A=a.default.useRef(n);A.current=n;let re=a.default.useRef(r);re.current=r;let j=a.default.useRef(null),M=a.default.useRef(null),N=a.default.useRef(null),P=a.default.useRef(null),ie=a.default.useRef(null),F=a.default.useRef(null),I=a.default.useRef(null),L=a.default.useRef(zi()),R=a.default.useRef(null),ae=a.default.useRef(null),z=a.default.useRef(null),oe=(e,{certain:t=!1}={})=>{if(k.current!==e)return;if(t)R.current=e;else if(R.current!==e&&!Fi(x.currentUser?.email))return;let n=z.current;n?.uid===e&&L.current.later(n.run)},se=a.default.useRef(new Set),ce=e=>(0,l.updateDoc)((0,l.doc)(S,`user_profiles`,e),{role:`admin`}),le=async(e,{again:t=!1}={})=>{if(!(se.current.has(e)&&!t)){se.current.add(e);try{await ce(e)}catch(t){if(t?.code!==`permission-denied`){console.error(`Error claiming the admin role:`,t);return}try{if(!x.currentUser)return;await x.currentUser.getIdToken(!0),await ce(e)}catch(t){if(t?.code!==`permission-denied`){console.error(`Error claiming the admin role:`,t);return}oe(e)}}}};return(0,a.useEffect)(()=>{let e,n=L.current;if(!x){h(!1),_(!0),E(!0);return}(0,c.getRedirectResult)(x).then(e=>{e?.user&&Ci()}).catch(e=>{e?.code&&wi(e)});let r=(0,c.onAuthStateChanged)(x,async n=>{if(n?.uid===k.current&&g){s(n);return}let r=k.current;if(k.current=n?.uid||null,n){O.current=Wr(typeof window<`u`?window.location.pathname:``),y(!1),n.uid!==r&&(P.current=null,L.current.stop(),R.current=null,ae.current=null),r!==n.uid&&E(!1),Yi(n.uid);let i=Ki(n.uid);i?(d(i),_(!0),h(!1)):_(!1),s(n);try{let r=(0,l.doc)(S,`user_profiles`,n.uid),i=e=>{console.error(`[AuthContext] the profile could not be read to the end:`,e),F.current=null,I.current=null,_(!0),y(!0),E(!0),h(!1)},a=(e,{deleteLogin:t})=>{j.current=n.uid,M.current!==n.uid&&(M.current=n.uid,Vi(n,{deleteLogin:t}).then(e=>{e===`failed`&&(M.current=null)})),d(null),P.current=null,Ji(n.uid),p(!0),C(null),T(e),_(!0),y(!0),E(!0),h(!1)},o=e=>{try{let i=e.exists()?e.data():null,o=e.metadata?.hasPendingWrites===!0;if(o||(ae.current={uid:n.uid,data:i},(i?.role||i?.removed)&&L.current.stop()),i?.removed===!0){let e=N.current?.uid===n.uid?N.current:null;if(!e){N.current={uid:n.uid,state:`asking`};let e=i;d(null),P.current=null,Ji(n.uid),Wi(n,e).catch(()=>`too-early`).then(t=>{N.current?.uid!==n.uid||k.current!==n.uid||(N.current={uid:n.uid,state:t},t!==`started`&&a(e,{deleteLogin:t===`refused`}))});return}if(e.state===`asking`)return;a(i,{deleteLogin:e.state===`refused`});return}if(o&&N.current?.uid===n.uid&&N.current.state===`asking`)return;let s=null;if(ne.current!==n.uid){ne.current=n.uid;let e=Xi(i,{uid:n.uid,email:n.email,displayName:n.displayName,phone:n.phoneNumber});i&&e&&(s=e);let t=Gr(i,O.current);O.current=``,(e||t)&&(i||(F.current=n.uid),(0,l.setDoc)(r,{...e||{},...t||{}},{merge:!0}).catch(e=>{e?.code===`permission-denied`?(console.warn(`This account may not update its own profile — it has been deactivated, or its address is not verified yet.`),oe(n.uid)):console.error(`Failed to sync profile:`,e)}).finally(()=>{F.current===n.uid&&(F.current=null,I.current!==n.uid&&E(!0))}));let a={...i||{},...e||{}};Jn(a,n)&&(I.current=n.uid,$n(n.uid,a).finally(()=>{I.current===n.uid&&(I.current=null,F.current!==n.uid&&E(!0))}))}if(i){let e=Qt(i);o?e=P.current??`user`:P.current=e,!o&&te.current!==n.uid&&Zt(i)&&t.t(x.currentUser)&&(te.current=n.uid,en(n.uid,i)),!o&&!i.role&&!i.removed&&x.currentUser?.emailVerified&&le(n.uid),D.current===null&&(D.current=e),d(e),qi(n.uid,e),p(i.inactive===!0),C(qr(i)?.role??null),T(s?{...i,...s}:i)}else d(null),o||(P.current=null),Ji(n.uid),p(!1),C(null),T(null);_(!0),y(!0),(i||F.current!==n.uid)&&I.current!==n.uid&&E(!0),h(!1)}catch(e){i(e)}},s=e=>{_(!0),F.current=null,I.current=null,E(!0),h(!1),Ni(e)&&oe(n.uid,{certain:!0})},c=()=>{e&&e(),e=(0,l.onSnapshot)(r,{includeMetadataChanges:!0},o,s)};z.current={uid:n.uid,run:()=>{k.current===n.uid&&(ne.current=null,se.current.delete(n.uid),c())}},c()}catch(e){console.error(`[AuthContext] ERROR in auth resolution:`,e),_(!0),F.current=null,I.current=null,E(!0),h(!1)}}else{if(r){let e=j.current===r;e&&(j.current=null),(e&&re.current||A.current)?.()}s(null),d(null),p(!1),C(null),T(null),_(!0),y(!1),E(!1),h(!1),D.current=null,P.current=null,ie.current=null,O.current=``,te.current=null,ne.current=null,F.current=null,I.current=null,N.current=null,M.current=null,L.current.stop(),R.current=null,ae.current=null,z.current=null,e&&e()}});return()=>{r(),n.stop(),e&&e()}},[]),(0,a.useEffect)(()=>{if(typeof window>`u`)return;let e=0,t=()=>{if(typeof document<`u`&&document.visibilityState===`hidden`)return;let t=k.current;if(!t||Date.now()-e<2e3)return;let n=L.current;if(n.waiting){e=Date.now(),n.now();return}let r=ae.current,i=r?.uid===t&&!r.data?.role&&!r.data?.removed,a=z.current;i&&a?.uid===t&&Fi(x.currentUser?.email)&&(e=Date.now(),a.run())};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`focus`,t),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,t)}},[]),(0,a.useEffect)(()=>{let e=i?.uid??null,t=i?.emailVerified===!0,n=ie.current,r=!!e&&!!n&&n.uid===e&&!n.verified&&t;if(ie.current=e?{uid:e,verified:t}:null,!r||u===`admin`)return;let a=!1;return(0,l.getDoc)((0,l.doc)(S,`user_profiles`,i.uid)).then(e=>{!a&&e.exists()&&!e.data().role&&!e.data().removed&&le(i.uid,{again:!0})}).catch(()=>{}),()=>{a=!0}},[i?.uid,i?.emailVerified,u]),(0,o.jsx)(Bi.Provider,{value:{user:i,userRole:u,accessLevel:t.b(u),isInternal:t.p(u),isAdmin:t.h(u),loading:m,signOut:async()=>{await(0,c.signOut)(x),s(null)},registerUser:async(e,t,n,r)=>{let{createUserWithEmailAndPassword:i}=await import(`firebase/auth`),{user:a}=await i(x,e,t),o=`${n} ${r}`.trim();await(0,c.updateProfile)(a,{displayName:o}).catch(e=>{console.warn(`The name could not be put on the sign-in; the profile carries it.`,e)});try{await a.getIdToken(!0),await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,a.uid),{uid:a.uid,email:a.email,displayName:o,createdAt:new Date().toISOString()},{merge:!0})}catch(e){console.warn(`Could not write public profile on registration.`,e)}try{await(0,c.sendEmailVerification)(a),nr(a.uid)}catch(e){console.warn(`The verification mail could not be sent at registration; /verify sends it.`,e)}},refreshUser:async()=>{x.currentUser&&(await x.currentUser.reload(),s(Object.assign(Object.create(x.currentUser),{photoURL:x.currentUser.photoURL,displayName:x.currentUser.displayName,email:x.currentUser.email,emailVerified:x.currentUser.emailVerified})))},userInactive:f,roleResolved:g,roleConfirmed:v,requestedRole:b,profile:w,profileReady:ee},children:e})}var Qi=()=>(0,a.useContext)(Bi),$i=(0,a.createContext)({});function ea(e){let t=(0,a.useRef)(null);return t.current===null&&(t.current=e()),t.current}var ta=typeof window<`u`?a.useLayoutEffect:a.useEffect,na=(0,a.createContext)(null);function ra(e,t){e.indexOf(t)===-1&&e.push(t)}function ia(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var aa=(e,t,n)=>n>t?t:n<e?e:n;function oa(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}var sa=()=>{},ca=()=>{};typeof process<`u`&&process.env.NODE_ENV!==`production`&&(sa=(e,t,n)=>{!e&&typeof console<`u`&&console.warn(oa(t,n))},ca=(e,t,n)=>{if(!e)throw Error(oa(t,n))});var la={},ua=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function da(e){return typeof e==`object`&&!!e}var fa=e=>/^0[^.\s]+$/u.test(e);function pa(e){let t;return()=>(t===void 0&&(t=e()),t)}var ma=e=>e,ha=(e,t)=>n=>t(e(n)),ga=(...e)=>e.reduce(ha),_a=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},va=class{constructor(){this.subscriptions=[]}add(e){return ra(this.subscriptions,e),()=>ia(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},ya=e=>e*1e3,ba=e=>e/1e3;function xa(e,t){return t?1e3/t*e:0}var Sa=new Set;function Ca(e,t,n){e||Sa.has(t)||(console.warn(oa(t,n)),Sa.add(t))}var wa=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Ta=1e-7,Ea=12;function Da(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=wa(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Ta&&++s<Ea);return o}function Oa(e,t,n,r){if(e===t&&n===r)return ma;let i=t=>Da(t,0,1,e,n);return e=>e===0||e===1?e:wa(i(e),t,r)}var ka=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Aa=e=>t=>1-e(1-t),ja=Oa(.33,1.53,.69,.99),Ma=Aa(ja),Na=ka(Ma),Pa=e=>e>=1?1:(e*=2)<1?.5*Ma(e):.5*(2-2**(-10*(e-1))),Fa=e=>1-Math.sin(Math.acos(e)),Ia=Aa(Fa),La=ka(Fa),Ra=Oa(.42,0,1,1),za=Oa(0,0,.58,1),Ba=Oa(.42,0,.58,1),Va=e=>Array.isArray(e)&&typeof e[0]!=`number`,Ha=e=>Array.isArray(e)&&typeof e[0]==`number`,Ua={linear:ma,easeIn:Ra,easeInOut:Ba,easeOut:za,circIn:Fa,circInOut:La,circOut:Ia,backIn:Ma,backInOut:Na,backOut:ja,anticipate:Pa},Wa=e=>typeof e==`string`,Ga=e=>{if(Ha(e)){ca(e.length===4,`Cubic bezier arrays must contain four numerical values.`,`cubic-bezier-length`);let[t,n,r,i]=e;return Oa(t,n,r,i)}else if(Wa(e))return ca(Ua[e]!==void 0,`Invalid easing type '${e}'`,`invalid-easing-type`),Ua[e];return e},Ka=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],qa={value:null,addProjectionMetrics:null};function Ja(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0;let o=n;n=r,r=o,n.forEach(l),t&&qa.value&&qa.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var Ya=40;function Xa(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=Ka.reduce((e,n)=>(e[n]=Ja(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=la.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,Ya),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:Ka.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<Ka.length;t++)o[Ka[t]].cancel(e)},state:i,steps:o}}var{schedule:V,cancel:Za,state:H,steps:Qa}=Xa(typeof requestAnimationFrame<`u`?requestAnimationFrame:ma,!0),$a;function eo(){$a=void 0}var to={now:()=>($a===void 0&&to.set(H.isProcessing||la.useManualTiming?H.timestamp:performance.now()),$a),set:e=>{$a=e,queueMicrotask(eo)}},no={layout:0,mainThread:0,waapi:0},ro=e=>t=>typeof t==`string`&&t.startsWith(e),io=ro(`--`),ao=ro(`var(--`),oo=e=>ao(e)?so.test(e.split(`/*`)[0].trim()):!1,so=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function co(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var lo={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},uo={...lo,transform:e=>aa(0,1,e)},fo={...lo,default:1},po=e=>Math.round(e*1e5)/1e5,mo=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function ho(e){return e==null}var go=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,_o=(e,t)=>n=>!!(typeof n==`string`&&go.test(n)&&n.startsWith(e)||t&&!ho(n)&&Object.prototype.hasOwnProperty.call(n,t)),vo=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(mo);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},yo=e=>aa(0,255,e),bo={...lo,transform:e=>Math.round(yo(e))},xo={test:_o(`rgb`,`red`),parse:vo(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+bo.transform(e)+`, `+bo.transform(t)+`, `+bo.transform(n)+`, `+po(uo.transform(r))+`)`};function So(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Co={test:_o(`#`),parse:So,transform:xo.transform},wo=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),To=wo(`deg`),Eo=wo(`%`),U=wo(`px`),Do=wo(`vh`),Oo=wo(`vw`),ko={...Eo,parse:e=>Eo.parse(e)/100,transform:e=>Eo.transform(e*100)},Ao={test:_o(`hsl`,`hue`),parse:vo(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Eo.transform(po(t))+`, `+Eo.transform(po(n))+`, `+po(uo.transform(r))+`)`},W={test:e=>xo.test(e)||Co.test(e)||Ao.test(e),parse:e=>xo.test(e)?xo.parse(e):Ao.test(e)?Ao.parse(e):Co.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?xo.transform(e):Ao.transform(e),getAnimatableNone:e=>{let t=W.parse(e);return t.alpha=0,W.transform(t)}},jo=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Mo(e){return isNaN(e)&&typeof e==`string`&&(e.match(mo)?.length||0)+(e.match(jo)?.length||0)>0}var No=`number`,Po=`color`,Fo=`var`,Io=`var(`,Lo="${}",Ro=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function zo(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(Ro,e=>(W.test(e)?(r.color.push(a),i.push(Po),n.push(W.parse(e))):e.startsWith(Io)?(r.var.push(a),i.push(Fo),n.push(e)):(r.number.push(a),i.push(No),n.push(parseFloat(e))),++a,Lo)).split(Lo),indexes:r,types:i}}function Bo(e){return zo(e).values}function Vo({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===No?i+=po(r[a]):e===Po?i+=W.transform(r[a]):i+=r[a]}return i}}function Ho(e){return Vo(zo(e))}var Uo=e=>typeof e==`number`?0:W.test(e)?W.getAnimatableNone(e):e,Wo=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:Uo(e);function Go(e){let t=zo(e);return Vo(t)(t.values.map((e,n)=>Wo(e,t.split[n])))}var Ko={test:Mo,parse:Bo,createTransformer:Ho,getAnimatableNone:Go};function qo(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Jo({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=qo(s,r,e+1/3),a=qo(s,r,e),o=qo(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Yo(e,t){return n=>n>0?t:e}var G=(e,t,n)=>e+(t-e)*n,Xo=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},Zo=[Co,xo,Ao],Qo=e=>Zo.find(t=>t.test(e));function $o(e){let t=Qo(e);if(sa(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,`color-not-animatable`),!t)return!1;let n=t.parse(e);return t===Ao&&(n=Jo(n)),n}var es=(e,t)=>{let n=$o(e),r=$o(t);if(!n||!r)return Yo(e,t);let i={...n};return e=>(i.red=Xo(n.red,r.red,e),i.green=Xo(n.green,r.green,e),i.blue=Xo(n.blue,r.blue,e),i.alpha=G(n.alpha,r.alpha,e),xo.transform(i))},ts=new Set([`none`,`hidden`]);function ns(e,t){return ts.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function rs(e,t){return n=>G(e,t,n)}function is(e){return typeof e==`number`?rs:typeof e==`string`?oo(e)?Yo:W.test(e)?es:cs:Array.isArray(e)?as:typeof e==`object`?W.test(e)?es:os:Yo}function as(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>is(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function os(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=is(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function ss(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var cs=(e,t)=>{let n=Ko.createTransformer(t),r=zo(e),i=zo(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?ts.has(e)&&!i.values.length||ts.has(t)&&!r.values.length?ns(e,t):ga(as(ss(r,i),i.values),n):(sa(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,`complex-values-different`),Yo(e,t))};function ls(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?G(e,t,n):is(e)(e,t)}var us=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>V.update(t,e),stop:()=>Za(t),now:()=>H.isProcessing?H.timestamp:to.now()}},ds=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},fs=2e4;function ps(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function ms(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(ps(r),fs);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:ba(i)}}var K={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function hs(e,t){return e*Math.sqrt(1-t*t)}var gs=12;function _s(e,t,n){let r=n;for(let n=1;n<gs;n++)r-=e(r)/t(r);return r}var vs=.001;function ys({duration:e=K.duration,bounce:t=K.bounce,velocity:n=K.velocity,mass:r=K.mass}){let i,a;sa(e<=ya(K.maxDuration),`Spring duration must be 10 seconds or less`,`spring-duration-limit`);let o=1-t;o=aa(K.minDamping,K.maxDamping,o),e=aa(K.minDuration,K.maxDuration,ba(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=hs(t,o),c=Math.exp(-i);return vs-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=hs(t**2,o);return(-i(t)+vs>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-vs+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=_s(i,a,s);if(e=ya(e),isNaN(c))return{stiffness:K.stiffness,damping:K.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var bs=[`duration`,`bounce`],xs=[`stiffness`,`damping`,`mass`];function Ss(e,t){return t.some(t=>e[t]!==void 0)}function Cs(e){let t={velocity:K.velocity,stiffness:K.stiffness,damping:K.damping,mass:K.mass,isResolvedFromDuration:!1,...e};if(!Ss(e,xs)&&Ss(e,bs))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*aa(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:K.mass,stiffness:i,damping:a}}else{let n=ys({...e,velocity:0});t={...t,...n,mass:K.mass},t.isResolvedFromDuration=!0}return t}function ws(e=K.visualDuration,t=K.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Cs({...n,velocity:-ba(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=ba(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?K.restSpeed.granular:K.restSpeed.default,i||=v?K.restDelta.granular:K.restDelta.default;let y,b,x,S,C,w;if(h<1)x=hs(_,h),S=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(S*Math.sin(x*e)+g*Math.cos(x*e)),C=h*_*S+g*x,w=h*_*g-S*x,b=e=>Math.exp(-h*_*e)*(C*Math.sin(x*e)+w*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let T={calculatedDuration:p&&d||null,velocity:e=>ya(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(S*n+g*a),l=ya(t*(C*n+w*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=ya(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(ps(T),fs),t=ds(t=>T.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return T}ws.applyToOptions=e=>{let t=ms(e,100,ws);return e.ease=t.ease,e.duration=ya(t.duration),e.type=`keyframes`,e};var Ts=5;function Es(e,t,n){let r=Math.max(t-Ts,0);return xa(n-e(r),t-r)}function Ds({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=ws({keyframes:[f.value,m(f.value)],velocity:Es(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function Os(e,t,n){let r=[],i=n||la.mix||ls,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=ga(Array.isArray(t)?t[n]||ma:t,a)),r.push(a)}return r}function ks(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(ca(a===t.length,`Both input and output ranges must be the same length`,`range-length`),a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=Os(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=_a(e[r],e[r+1],n);return s[r](i)};return n?t=>l(aa(e[0],e[a-1],t)):l}function As(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=_a(0,t,r);e.push(G(n,1,i))}}function js(e){let t=[0];return As(t,e.length-1),t}function Ms(e,t){return e.map(e=>e*t)}function Ns(e,t){return e.map(()=>t||Ba).splice(0,e.length-1)}function Ps({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Va(r)?r.map(Ga):Ga(r),a={done:!1,value:t[0]},o=ks(Ms(n&&n.length===t.length?n:js(t),e),t,{ease:Array.isArray(i)?i:Ns(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Fs=e=>e!==null;function Is(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Fs),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Ls={decay:Ds,inertia:Ds,tween:Ps,keyframes:Ps,spring:ws};function Rs(e){typeof e.type==`string`&&(e.type=Ls[e.type])}var zs=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},Bs=e=>e/100,Vs=class extends zs{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==to.now()&&this.tick(to.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},no.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Rs(e);let{type:t=Ps,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Ps;process.env.NODE_ENV!==`production`&&s!==Ps&&ca(o.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${o}`,`spring-two-frames`),s!==Ps&&typeof o[0]!=`number`&&(this.mixKeyframes=ga(Bs,ls(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=ps(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=aa(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Ds&&(b.value=Is(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return ba(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+ba(e)}get time(){return ba(this.currentTime)}set time(e){e=ya(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return Es(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(to.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=ba(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=us,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(to.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,no.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function Hs(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var Us=e=>e*180/Math.PI,Ws=e=>Ks(Us(Math.atan2(e[1],e[0]))),Gs={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Ws,rotateZ:Ws,skewX:e=>Us(Math.atan(e[1])),skewY:e=>Us(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Ks=e=>(e%=360,e<0&&(e+=360),e),qs=Ws,Js=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Ys=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Xs={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Js,scaleY:Ys,scale:e=>(Js(e)+Ys(e))/2,rotateX:e=>Ks(Us(Math.atan2(e[6],e[5]))),rotateY:e=>Ks(Us(Math.atan2(-e[2],e[0]))),rotateZ:qs,rotate:qs,skewX:e=>Us(Math.atan(e[4])),skewY:e=>Us(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Zs(e){return+!!e.includes(`scale`)}function Qs(e,t){if(!e||e===`none`)return Zs(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=Xs,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Gs,i=t}if(!i)return Zs(t);let a=r[t],o=i[1].split(`,`).map(ec);return typeof a==`function`?a(o):o[a]}var $s=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return Qs(n,t)};function ec(e){return parseFloat(e.trim())}var tc=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],nc=new Set(tc),rc=e=>e===lo||e===U,ic=new Set([`x`,`y`,`z`]),ac=tc.filter(e=>!ic.has(e));function oc(e){let t=[];return ac.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var sc={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Qs(t,`x`),y:(e,{transform:t})=>Qs(t,`y`)};sc.translateX=sc.x,sc.translateY=sc.y;var cc=new Set,lc=!1,uc=!1,dc=!1;function fc(){if(uc){let e=Array.from(cc).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=oc(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}uc=!1,lc=!1,cc.forEach(e=>e.complete(dc)),cc.clear()}function pc(){cc.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(uc=!0)})}function mc(){dc=!0,pc(),fc(),dc=!1}var hc=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(cc.add(this),lc||(lc=!0,V.read(pc),V.resolveKeyframes(fc))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}Hs(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),cc.delete(this)}cancel(){this.state===`scheduled`&&(cc.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},gc=e=>e.startsWith(`--`);function _c(e,t,n){gc(t)?e.style.setProperty(t,n):e.style[t]=n}var vc={};function yc(e,t){let n=pa(e);return()=>vc[t]??n()}var bc=yc(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),xc=yc(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Sc=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Cc={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Sc([0,.65,.55,1]),circOut:Sc([.55,0,1,.45]),backIn:Sc([.31,.01,.66,-.59]),backOut:Sc([.33,1.53,.69,.99])};function wc(e,t){if(e)return typeof e==`function`?xc()?ds(e,t):`ease-out`:Ha(e)?Sc(e):Array.isArray(e)?e.map(e=>wc(e,t)||Cc.easeOut):Cc[e]}function Tc(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=wc(s,i);Array.isArray(d)&&(u.easing=d),qa.value&&no.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return qa.value&&p.finished.finally(()=>{no.waapi--}),p}function Ec(e){return typeof e==`function`&&`applyToOptions`in e}function Dc({type:e,...t}){return Ec(e)&&xc()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Oc=class extends zs{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,ca(typeof e.type!=`string`,`Mini animate() doesn't support "type" as a string.`,`mini-spring`);let c=Dc(e);this.animation=Tc(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Is(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),_c(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return ba(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+ba(e)}get time(){return ba(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=ya(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&bc()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),ma):r(this)}},kc={anticipate:Pa,backInOut:Na,circInOut:La};function Ac(e){return e in kc}function jc(e){typeof e.ease==`string`&&Ac(e.ease)&&(e.ease=kc[e.ease])}var Mc=10,Nc=class extends Oc{constructor(e){jc(e),Rs(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new Vs({...a,autoplay:!1}),s=Math.max(Mc,to.now()-this.startTime),c=aa(0,Mc,s-Mc),l=o.sample(s).value,{name:u}=this.options;i&&u&&_c(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},Pc=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(Ko.test(e)||e===`0`)&&!e.startsWith(`url(`));function Fc(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function Ic(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=Pc(i,t),s=Pc(a,t);return sa(o===s,`You are trying to animate ${t} from "${i}" to "${a}". "${o?a:i}" is not an animatable value.`,`value-not-animatable`),!o||!s?!1:Fc(e)||(n===`spring`||Ec(n))&&r}function Lc(e){e.duration=0,e.type=`keyframes`}var Rc=new Set([`opacity`,`clipPath`,`filter`,`transform`]),zc=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function Bc(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&zc.test(e[t]))return!0;return!1}var Vc=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),Hc=pa(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function Uc(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return Hc()&&n&&(Rc.has(n)||Vc.has(n)&&Bc(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var Wc=40,Gc=class extends zs{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=to.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||hc)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=to.now();let u=!0;Ic(e,i,a,o)||(u=!1,(la.instantAnimations||!s)&&l?.(Is(e,n,t)),e[0]=e[e.length-1],Lc(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>Wc?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&Uc(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new Nc({...d,element:p})}catch{m=new Vs(d)}else m=new Vs(d);m.finished.then(()=>{this.notifyFinished()}).catch(ma),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),mc()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}};function Kc(e,t,n,r=0,i=1){let a=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,s=(o-1)*r;return typeof n==`function`?n(a,o):i===1?a*r:s-a*r}var qc=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Jc(e){let t=qc.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}var Yc=4;function Xc(e,t,n=1){ca(n<=Yc,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,`max-css-var-depth`);let[r,i]=Jc(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return ua(e)?parseFloat(e):e}return oo(i)?Xc(i,t,n+1):i}var Zc={type:`spring`,stiffness:500,damping:25,restSpeed:10},Qc=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),$c={type:`keyframes`,duration:.8},el={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},tl=(e,{keyframes:t})=>t.length>2?$c:nc.has(e)?e.startsWith(`scale`)?Qc(t[1]):Zc:el;function nl(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function rl(e,t){let n=e?.[t]??e?.default??e;return n===e?n:nl(n,e)}var il=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function al(e){for(let t in e)if(!il.has(t))return!0;return!1}var ol=(e,t,n,r={},i,a)=>o=>{let s=rl(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=ya(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};al(s)||Object.assign(u,tl(e,u)),u.duration&&=ya(u.duration),u.repeatDelay&&=ya(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(Lc(u),u.delay===0&&(d=!0)),(la.instantAnimations||la.skipAnimations||i?.shouldSkipAnimations)&&(d=!0,Lc(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=Is(u.keyframes,s);if(e!==void 0){V.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new Vs(u):new Gc(u)};function sl(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function cl(e,t,n,r){if(typeof t==`function`){let[i,a]=sl(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=sl(r);t=t(n===void 0?e.custom:n,i,a)}return t}function ll(e,t,n){let r=e.getProps();return cl(r,t,n===void 0?r.custom:n,e)}var ul=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...tc]),dl=30,fl=e=>!isNaN(parseFloat(e)),pl={current:void 0},ml=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=to.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=to.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=fl(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return process.env.NODE_ENV!==`production`&&Ca(!1,`value.onChange(callback) is deprecated. Switch to value.on("change", callback).`),this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new va);let n=this.events[e].add(t);return e===`change`?()=>{n(),V.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return pl.current&&pl.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=to.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>dl)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,dl);return xa(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function hl(e,t){return new ml(e,t)}var gl=e=>Array.isArray(e);function _l(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,hl(n))}function vl(e){return gl(e)?e[e.length-1]||0:e}function yl(e,t){let{transitionEnd:n={},transition:r={},...i}=ll(e,t)||{};i={...i,...n};for(let t in i)_l(e,t,vl(i[t]))}var bl=e=>!!(e&&e.getVelocity);function xl(e){return!!(bl(e)&&e.add)}function Sl(e,t){let n=e.getValue(`willChange`);if(xl(n))return n.add(t);if(!n&&la.WillChange){let n=new la.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function Cl(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var wl=`data-`+Cl(`framerAppearId`);function Tl(e){return e.props[wl]}function El({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Dl(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?nl(a,c):c;let l=a?.reduceMotion;r&&(a=r);let u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||d&&El(d,t))continue;let o={delay:n,...rl(a||{},t)},c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){V.update(()=>r.set(i));continue}let f=!1;if(window.MotionHandoffAnimation){let n=Tl(e);if(n){let e=window.MotionHandoffAnimation(n,t,V);e!==null&&(o.startTime=e,f=!0)}}Sl(e,t);let p=l??e.shouldReduceMotion;r.start(ol(t,r,i,p&&ul.has(t)?{type:!1}:o,e,f));let m=r.animation;m&&u.push(m)}if(o){let t=()=>V.update(()=>{o&&yl(e,o)});u.length?Promise.all(u).then(t):t()}return u}function Ol(e,t,n={}){let r=ll(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(Dl(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return kl(e,t,r,a,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}else return Promise.all([a(),o(n.delay)])}function kl(e,t,n=0,r=0,i=0,a=1,o){let s=[];for(let c of e.variantChildren)c.notify(`AnimationStart`,t),s.push(Ol(c,t,{...o,delay:n+(typeof r==`function`?0:r)+Kc(e.variantChildren,c,r,i,a)}).then(()=>c.notify(`AnimationComplete`,t)));return Promise.all(s)}function Al(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>Ol(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=Ol(e,t,n);else{let i=typeof t==`function`?ll(e,t,n.custom):t;r=Promise.all(Dl(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var jl={test:e=>e===`auto`,parse:e=>e},Ml=e=>t=>t.test(e),Nl=[lo,U,Eo,To,Oo,Do,jl],Pl=e=>Nl.find(Ml(e));function Fl(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||fa(e)}var Il=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function Ll(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(mo)||[];if(!r)return e;let i=n.replace(r,``),a=+!!Il.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var Rl=/\b([a-z-]*)\(.*?\)/gu,zl={...Ko,getAnimatableNone:e=>{let t=e.match(Rl);return t?t.map(Ll).join(` `):e}},Bl={...Ko,getAnimatableNone:e=>{let t=Ko.parse(e);return Ko.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},Vl={...lo,transform:Math.round},Hl={borderWidth:U,borderTopWidth:U,borderRightWidth:U,borderBottomWidth:U,borderLeftWidth:U,borderRadius:U,borderTopLeftRadius:U,borderTopRightRadius:U,borderBottomRightRadius:U,borderBottomLeftRadius:U,width:U,maxWidth:U,height:U,maxHeight:U,top:U,right:U,bottom:U,left:U,inset:U,insetBlock:U,insetBlockStart:U,insetBlockEnd:U,insetInline:U,insetInlineStart:U,insetInlineEnd:U,padding:U,paddingTop:U,paddingRight:U,paddingBottom:U,paddingLeft:U,paddingBlock:U,paddingBlockStart:U,paddingBlockEnd:U,paddingInline:U,paddingInlineStart:U,paddingInlineEnd:U,margin:U,marginTop:U,marginRight:U,marginBottom:U,marginLeft:U,marginBlock:U,marginBlockStart:U,marginBlockEnd:U,marginInline:U,marginInlineStart:U,marginInlineEnd:U,fontSize:U,backgroundPositionX:U,backgroundPositionY:U,rotate:To,rotateX:To,rotateY:To,rotateZ:To,scale:fo,scaleX:fo,scaleY:fo,scaleZ:fo,skew:To,skewX:To,skewY:To,distance:U,translateX:U,translateY:U,translateZ:U,x:U,y:U,z:U,perspective:U,transformPerspective:U,opacity:uo,originX:ko,originY:ko,originZ:U,zIndex:Vl,fillOpacity:uo,strokeOpacity:uo,numOctaves:Vl},Ul={...Hl,color:W,backgroundColor:W,outlineColor:W,fill:W,stroke:W,borderColor:W,borderTopColor:W,borderRightColor:W,borderBottomColor:W,borderLeftColor:W,filter:zl,WebkitFilter:zl,mask:Bl,WebkitMask:Bl},Wl=e=>Ul[e],Gl=new Set([zl,Bl]);function Kl(e,t){let n=Wl(e);return Gl.has(n)||(n=Ko),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var ql=new Set([`auto`,`none`,`0`]);function Jl(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!ql.has(t)&&zo(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=Kl(n,i)}var Yl=class extends hc{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),oo(r))){let i=Xc(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!ul.has(n)||e.length!==2)return;let[r,i]=e,a=Pl(r),o=Pl(i);if(co(r)!==co(i)&&sc[n]){this.needsMeasurement=!0;return}if(a!==o)if(rc(a)&&rc(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else sc[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||Fl(e[t]))&&n.push(t);n.length&&Jl(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=sc[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=sc[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function Xl(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var Zl=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function Ql(e){return da(e)&&`offsetHeight`in e&&!(`ownerSVGElement`in e)}var{schedule:$l,cancel:eu}=Xa(queueMicrotask,!1),tu={x:!1,y:!1};function nu(){return tu.x||tu.y}function ru(e){return e===`x`||e===`y`?tu[e]?null:(tu[e]=!0,()=>{tu[e]=!1}):tu.x||tu.y?null:(tu.x=tu.y=!0,()=>{tu.x=tu.y=!1})}function iu(e,t){let n=Xl(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function au(e){return!(e.pointerType===`touch`||nu())}function ou(e,t,n={}){let[r,i,a]=iu(e,n);return r.forEach(e=>{let n=!1,r=!1,a,o=()=>{e.removeEventListener(`pointerleave`,u)},s=e=>{a&&=(a(e),void 0),o()},c=e=>{n=!1,window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r&&(r=!1,s(e))},l=()=>{n=!0,window.addEventListener(`pointerup`,c,i),window.addEventListener(`pointercancel`,c,i)},u=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}s(e)}};e.addEventListener(`pointerenter`,n=>{if(!au(n))return;r=!1;let o=t(e,n);typeof o==`function`&&(a=o,e.addEventListener(`pointerleave`,u,i))},i),e.addEventListener(`pointerdown`,l,i)}),a}var su=(e,t)=>t?e===t?!0:su(e,t.parentElement):!1,cu=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,lu=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function uu(e){return lu.has(e.tagName)||e.isContentEditable===!0}var du=new Set([`INPUT`,`SELECT`,`TEXTAREA`]);function fu(e){return du.has(e.tagName)||e.isContentEditable===!0}var pu=new WeakSet;function mu(e){return t=>{t.key===`Enter`&&e(t)}}function hu(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var gu=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=mu(()=>{if(pu.has(n))return;hu(n,`down`);let e=mu(()=>{hu(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>hu(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function _u(e){return cu(e)&&!nu()}var vu=new WeakSet;function yu(e,t,n={}){let[r,i,a]=iu(e,n),o=e=>{let r=e.currentTarget;if(!_u(e)||vu.has(e))return;pu.add(r),n.stopPropagation&&vu.add(e);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),pu.has(r)&&pu.delete(r),_u(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||su(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),Ql(e)&&(e.addEventListener(`focus`,e=>gu(e,i)),!uu(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function bu(e){return da(e)&&`ownerSVGElement`in e}var xu=new WeakMap,Su,Cu=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:bu(r)&&`getBBox`in r?r.getBBox()[t]:r[n],wu=Cu(`inline`,`width`,`offsetWidth`),Tu=Cu(`block`,`height`,`offsetHeight`);function Eu({target:e,borderBoxSize:t}){xu.get(e)?.forEach(n=>{n(e,{get width(){return wu(e,t)},get height(){return Tu(e,t)}})})}function Du(e){e.forEach(Eu)}function Ou(){typeof ResizeObserver>`u`||(Su=new ResizeObserver(Du))}function ku(e,t){Su||Ou();let n=Xl(e);return n.forEach(e=>{let n=xu.get(e);n||(n=new Set,xu.set(e,n)),n.add(t),Su?.observe(e)}),()=>{n.forEach(e=>{let n=xu.get(e);n?.delete(t),n?.size||Su?.unobserve(e)})}}var Au=new Set,ju;function Mu(){ju=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Au.forEach(t=>t(e))},window.addEventListener(`resize`,ju)}function Nu(e){return Au.add(e),ju||Mu(),()=>{Au.delete(e),!Au.size&&typeof ju==`function`&&(window.removeEventListener(`resize`,ju),ju=void 0)}}function Pu(e,t){return typeof e==`function`?Nu(e):ku(e,t)}function Fu(e){return bu(e)&&e.tagName===`svg`}var Iu=[...Nl,W,Ko],Lu=e=>Iu.find(Ml(e)),Ru=()=>({translate:0,scale:1,origin:0,originPoint:0}),zu=()=>({x:Ru(),y:Ru()}),Bu=()=>({min:0,max:0}),q=()=>({x:Bu(),y:Bu()}),Vu=new WeakMap;function Hu(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function Uu(e){return typeof e==`string`||Array.isArray(e)}var Wu=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],Gu=[`initial`,...Wu];function Ku(e){return Hu(e.animate)||Gu.some(t=>Uu(e[t]))}function qu(e){return!!(Ku(e)||e.variants)}function Ju(e,t,n){for(let r in t){let i=t[r],a=n[r];if(bl(i))e.addValue(r,i);else if(bl(a))e.addValue(r,hl(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,hl(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var Yu={current:null},Xu={current:!1},Zu=typeof window<`u`;function Qu(){if(Xu.current=!0,Zu)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>Yu.current=e.matches;e.addEventListener(`change`,t),t()}else Yu.current=!1}var $u=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],ed={};function td(e){ed=e}function nd(){return ed}var rd=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=hc,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=to.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,V.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=Ku(t),this.isVariantNode=qu(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&bl(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,Vu.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(Xu.current||Qu(),this.shouldReduceMotion=Yu.current),process.env.NODE_ENV!==`production`&&Ca(this.shouldReduceMotion!==!0,`You have Reduced Motion enabled on your device. Animations may not appear as expected.`,`reduced-motion-disabled`),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Za(this.notifyUpdate),Za(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&Rc.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new Oc({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:ya(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=nc.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&V.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in ed){let t=ed[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):q()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<$u.length;t++){let n=$u[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=Ju(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=hl(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(ua(n)||fa(n))?n=parseFloat(n):!Lu(n)&&Ko.test(t)&&(n=Kl(e,t)),this.setBaseTarget(e,bl(n)?n.get():n)),bl(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=cl(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!bl(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new va),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){$l.render(this.render)}},id=class extends rd{constructor(){super(...arguments),this.KeyframeResolver=Yl}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;bl(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}},ad=class{constructor(e){this.isMounted=!1,this.node=e}update(){}};function od({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function sd({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function cd(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function ld(e){return e===void 0||e===1}function ud({scale:e,scaleX:t,scaleY:n}){return!ld(e)||!ld(t)||!ld(n)}function dd(e){return ud(e)||fd(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function fd(e){return pd(e.x)||pd(e.y)}function pd(e){return e&&e!==`0%`}function md(e,t,n){return n+t*(e-n)}function hd(e,t,n,r,i){return i!==void 0&&(e=md(e,i,r)),md(e,n,r)+t}function gd(e,t=0,n=1,r,i){e.min=hd(e.min,t,n,r,i),e.max=hd(e.max,t,n,r,i)}function _d(e,{x:t,y:n}){gd(e.x,t.translate,t.scale,t.originPoint),gd(e.y,n.translate,n.scale,n.originPoint)}var vd=.999999999999,yd=1.0000000000001;function bd(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&(xd(e.x,-a.scroll.offset.x),xd(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,_d(e,o)),r&&dd(a.latestValues)&&wd(e,a.latestValues,a.layout?.layoutBox))}t.x<yd&&t.x>vd&&(t.x=1),t.y<yd&&t.y>vd&&(t.y=1)}function xd(e,t){e.min+=t,e.max+=t}function Sd(e,t,n,r,i=.5){gd(e,t,n,G(e.min,e.max,i),r)}function Cd(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function wd(e,t,n){let r=n??e;Sd(e.x,Cd(t.x,r.x),t.scaleX,t.scale,t.originX),Sd(e.y,Cd(t.y,r.y),t.scaleY,t.scale,t.originY)}function Td(e,t){return od(cd(e.getBoundingClientRect(),t))}function Ed(e,t,n){let r=Td(e,n),{scroll:i}=t;return i&&(xd(r.x,i.offset.x),xd(r.y,i.offset.y)),r}var Dd={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},Od=tc.length;function kd(e,t,n){let r=``,i=!0;for(let a=0;a<Od;a++){let o=tc[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===+!!o.startsWith(`scale`);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=Zl(s,Hl[o]);if(!c){i=!1;let t=Dd[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function Ad(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(nc.has(e)){o=!0;continue}else if(io(e)){i[e]=n;continue}else{let t=Zl(n,Hl[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=kd(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function jd(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function Md(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var Nd={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(U.test(e))e=parseFloat(e);else return e;return`${Md(e,t.target.x)}% ${Md(e,t.target.y)}%`}},Pd={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=Ko.parse(e);if(i.length>5)return r;let a=Ko.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=G(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},Fd={borderRadius:{...Nd,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:Nd,borderTopRightRadius:Nd,borderBottomLeftRadius:Nd,borderBottomRightRadius:Nd,boxShadow:Pd};function Id(e,{layout:t,layoutId:n}){return nc.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!Fd[e]||e===`opacity`)}function Ld(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(bl(r[t])||i&&bl(i[t])||Id(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function Rd(e){return window.getComputedStyle(e)}var zd=class extends id{constructor(){super(...arguments),this.type=`html`,this.renderInstance=jd}readValueFromInstance(e,t){if(nc.has(t))return this.projection?.isProjecting?Zs(t):$s(e,t);{let n=Rd(e),r=(io(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Td(e,t)}build(e,t,n){Ad(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Ld(e,t,n)}},Bd={offset:`stroke-dashoffset`,array:`stroke-dasharray`},Vd={offset:`strokeDashoffset`,array:`strokeDasharray`};function Hd(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?Bd:Vd;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var Ud=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function Wd(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(Ad(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of Ud)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&Hd(d,i,a,o,!1)}var Gd=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),Kd=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function qd(e,t,n,r){jd(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Gd.has(n)?n:Cl(n),t.attrs[n])}function Jd(e,t,n){let r=Ld(e,t,n);for(let n in e)if(bl(e[n])||bl(t[n])){let t=tc.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var Yd=class extends id{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=q}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(nc.has(t)){let e=Wl(t);return e&&e.default||0}return t=Gd.has(t)?t:Cl(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Jd(e,t,n)}build(e,t,n){Wd(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){qd(e,t,n,r)}mount(e){this.isSVGTag=Kd(e.tagName),super.mount(e)}},Xd=Gu.length;function Zd(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&Zd(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<Xd;n++){let r=Gu[n],i=e.props[r];(Uu(i)||i===!1)&&(t[r]=i)}return t}function Qd(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var $d=[...Wu].reverse(),ef=Wu.length;function tf(e){return t=>Promise.all(t.map(({animation:t,options:n})=>Al(e,t,n)))}function nf(e){let t=tf(e),n=of(),r=!0,i=!1,a=t=>(n,r)=>{let i=ll(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function o(n){t=n(e)}function s(o){let{props:s}=e,c=Zd(e.parent)||{},l=[],u=new Set,d={},f=1/0;for(let t=0;t<ef;t++){let p=$d[t],m=n[p],h=s[p]===void 0?c[p]:s[p],g=Uu(h),_=p===o?m.isActive:null;_===!1&&(f=t);let v=h===c[p]&&h!==s[p]&&g;if(v&&(r||i)&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys={...d},!m.isActive&&_===null||!h&&!m.prevProp||Hu(h)||typeof h==`boolean`)continue;if(p===`exit`&&m.isActive&&_!==!0){m.prevResolvedValues&&(d={...d,...m.prevResolvedValues});continue}let y=rf(m.prevProp,h),b=y||p===o&&m.isActive&&!v&&g||t>f&&g,x=!1,S=Array.isArray(h)?h:[h],C=S.reduce(a(p),{});_===!1&&(C={});let{prevResolvedValues:w={}}=m,T={...w,...C},ee=t=>{b=!0,u.has(t)&&(x=!0,u.delete(t)),m.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in T){let t=C[e],n=w[e];if(d.hasOwnProperty(e))continue;let r=!1;r=gl(t)&&gl(n)?!Qd(t,n):t!==n,r?t==null?u.add(e):ee(e):t!==void 0&&u.has(e)?ee(e):m.protectedKeys[e]=!0}m.prevProp=h,m.prevResolvedValues=C,m.isActive&&(d={...d,...C}),(r||i)&&e.blockInitialAnimation&&(b=!1);let E=v&&y;b&&(!E||x)&&l.push(...S.map(t=>{let n={type:p};if(typeof t==`string`&&(r||i)&&!E&&e.manuallyAnimateOnMount&&e.parent){let{parent:r}=e,i=ll(r,t);if(r.enteringChildren&&i){let{delayChildren:t}=i.transition||{};n.delay=Kc(r.enteringChildren,e,t)}}return{animation:t,options:n}}))}if(u.size){let t={};if(typeof s.initial!=`boolean`){let n=ll(e,Array.isArray(s.initial)?s.initial[0]:s.initial);n&&n.transition&&(t.transition=n.transition)}u.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),l.push({animation:t})}let p=!!l.length;return r&&(s.initial===!1||s.initial===s.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,i=!1,p?t(l):Promise.resolve()}function c(t,r){if(n[t].isActive===r)return Promise.resolve();e.variantChildren?.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let i=s(t);for(let e in n)n[e].protectedKeys={};return i}return{animateChanges:s,setActive:c,setAnimateFunction:o,getState:()=>n,reset:()=>{n=of(),i=!0}}}function rf(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!Qd(t,e):!1}function af(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function of(){return{animate:af(!0),whileInView:af(),whileHover:af(),whileTap:af(),whileDrag:af(),whileFocus:af(),exit:af()}}function sf(e,t){e.min=t.min,e.max=t.max}function cf(e,t){sf(e.x,t.x),sf(e.y,t.y)}function lf(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var uf=1e-4,df=1-uf,ff=1+uf,pf=.01,mf=0-pf,hf=0+pf;function gf(e){return e.max-e.min}function _f(e,t,n){return Math.abs(e-t)<=n}function vf(e,t,n,r=.5){e.origin=r,e.originPoint=G(t.min,t.max,e.origin),e.scale=gf(n)/gf(t),e.translate=G(n.min,n.max,e.origin)-e.originPoint,(e.scale>=df&&e.scale<=ff||isNaN(e.scale))&&(e.scale=1),(e.translate>=mf&&e.translate<=hf||isNaN(e.translate))&&(e.translate=0)}function yf(e,t,n,r){vf(e.x,t.x,n.x,r?r.originX:void 0),vf(e.y,t.y,n.y,r?r.originY:void 0)}function bf(e,t,n,r=0){e.min=(r?G(n.min,n.max,r):n.min)+t.min,e.max=e.min+gf(t)}function xf(e,t,n,r){bf(e.x,t.x,n.x,r?.x),bf(e.y,t.y,n.y,r?.y)}function Sf(e,t,n,r=0){let i=r?G(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+gf(t)}function Cf(e,t,n,r){Sf(e.x,t.x,n.x,r?.x),Sf(e.y,t.y,n.y,r?.y)}function wf(e,t,n,r,i){return e-=t,e=md(e,1/n,r),i!==void 0&&(e=md(e,1/i,r)),e}function Tf(e,t=0,n=1,r=.5,i,a=e,o=e){if(Eo.test(t)&&(t=parseFloat(t),t=G(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=G(a.min,a.max,r);e===a&&(s-=t),e.min=wf(e.min,t,n,s,i),e.max=wf(e.max,t,n,s,i)}function Ef(e,t,[n,r,i],a,o){Tf(e,t[n],t[r],t[i],t.scale,a,o)}var Df=[`x`,`scaleX`,`originX`],Of=[`y`,`scaleY`,`originY`];function kf(e,t,n,r){Ef(e.x,t,Df,n?n.x:void 0,r?r.x:void 0),Ef(e.y,t,Of,n?n.y:void 0,r?r.y:void 0)}function Af(e){return e.translate===0&&e.scale===1}function jf(e){return Af(e.x)&&Af(e.y)}function Mf(e,t){return e.min===t.min&&e.max===t.max}function Nf(e,t){return Mf(e.x,t.x)&&Mf(e.y,t.y)}function Pf(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Ff(e,t){return Pf(e.x,t.x)&&Pf(e.y,t.y)}function If(e){return gf(e.x)/gf(e.y)}function Lf(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Rf(e){return[e(`x`),e(`y`)]}function zf(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var Bf=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],Vf=Bf.length,Hf=e=>typeof e==`string`?parseFloat(e):e,Uf=e=>typeof e==`number`||U.test(e);function Wf(e,t,n,r,i,a){i?(e.opacity=G(0,n.opacity??1,Kf(r)),e.opacityExit=G(t.opacity??1,0,qf(r))):a&&(e.opacity=G(t.opacity??1,n.opacity??1,r));for(let i=0;i<Vf;i++){let a=Bf[i],o=Gf(t,a),s=Gf(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||Uf(o)===Uf(s)?(e[a]=Math.max(G(Hf(o),Hf(s),r),0),(Eo.test(s)||Eo.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=G(t.rotate||0,n.rotate||0,r))}function Gf(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Kf=Jf(0,.5,Ia),qf=Jf(.5,.95,ma);function Jf(e,t,n){return r=>r<e?0:r>t?1:n(_a(e,t,r))}function Yf(e,t,n){let r=bl(e)?e:hl(e);return r.start(ol(``,r,t,n)),r.animation}function Xf(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}var Zf=(e,t)=>e.depth-t.depth,Qf=class{constructor(){this.children=[],this.isDirty=!1}add(e){ra(this.children,e),this.isDirty=!0}remove(e){ia(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Zf),this.isDirty=!1,this.children.forEach(e)}};function $f(e,t){let n=to.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(Za(r),e(a-t))};return V.setup(r,!0),()=>Za(r)}function ep(e){return bl(e)?e.get():e}var tp=class{constructor(){this.members=[]}add(e){ra(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(ia(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(ia(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},np={hasAnimatedSinceResize:!0,hasEverUpdated:!1},rp={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},ip=[``,`X`,`Y`,`Z`],ap=1e3,op=0;function sp(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function cp(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=Tl(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,V,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&cp(r)}function lp({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=op++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,qa.value&&(rp.nodes=rp.calculatedTargetDeltas=rp.calculatedProjections=0),this.nodes.forEach(fp),this.nodes.forEach(xp),this.nodes.forEach(Sp),this.nodes.forEach(pp),qa.addProjectionMetrics&&qa.addProjectionMetrics(rp)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Qf)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new va),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=bu(t)&&!Fu(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;V.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=$f(i,250),np.hasAnimatedSinceResize&&(np.hasAnimatedSinceResize=!1,this.nodes.forEach(bp)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||kp,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!Ff(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...rl(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||bp(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Za(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Cp),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&cp(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(gp),this.nodes.forEach(hp);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(_p);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(vp),this.nodes.forEach(yp),this.nodes.forEach(up),this.nodes.forEach(dp)):this.nodes.forEach(_p),this.clearAllSnapshots();let e=to.now();H.delta=aa(0,1e3/60,e-H.timestamp),H.timestamp=e,H.isProcessing=!0,Qa.update.process(H),Qa.preRender.process(H),Qa.render.process(H),H.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,$l.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(mp),this.sharedNodes.forEach(wp)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,V.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){V.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!gf(this.snapshot.measuredBox.x)&&!gf(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=q(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!jf(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||dd(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),Np(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return q();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Fp))){let{scroll:e}=this.root;e&&(xd(t.x,e.offset.x),xd(t.y,e.offset.y))}return t}removeElementScroll(e){let t=q();if(cf(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&cf(t,e),xd(t.x,i.offset.x),xd(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||q();cf(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(xd(r.x,-n.scroll.offset.x),xd(r.y,-n.scroll.offset.y)),dd(n.latestValues)&&wd(r,n.latestValues,n.layout?.layoutBox)}return dd(this.latestValues)&&wd(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=q();cf(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!dd(n.latestValues))continue;let r;n.instance&&(ud(n.latestValues)&&n.updateSnapshot(),r=q(),cf(r,n.measurePageBox())),kf(t,n.latestValues,n.snapshot?.layoutBox,r)}return dd(this.latestValues)&&kf(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==H.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=H.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=q(),this.targetWithTransforms=q()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),xf(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):cf(this.target,this.layout.layoutBox),_d(this.target,this.targetDelta)):cf(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),qa.value&&rp.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||ud(this.parent.latestValues)||fd(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=q(),this.relativeTargetOrigin=q(),Cf(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),cf(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===H.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;cf(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;bd(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=q());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(lf(this.prevProjectionDelta.x,this.projectionDelta.x),lf(this.prevProjectionDelta.y,this.projectionDelta.y)),yf(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!Lf(this.projectionDelta.x,this.prevProjectionDelta.x)||!Lf(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),qa.value&&rp.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=zu(),this.projectionDelta=zu(),this.projectionDeltaWithTransform=zu()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=zu();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=q(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(Op));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;Tp(a.x,e.x,n),Tp(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Cf(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),Dp(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&Nf(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=q(),cf(d,this.relativeTarget)),s&&(this.animationValues=i,Wf(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(Za(this.pendingAnimation),void 0),this.pendingAnimation=V.update(()=>{np.hasAnimatedSinceResize=!0,no.layout++,this.motionValue||=hl(0),this.motionValue.jump(0,!1),this.currentAnimation=Yf(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{no.layout--},onComplete:()=>{no.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(ap),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&Pp(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||q();let t=gf(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=gf(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}cf(t,n),wd(t,i),yf(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new tp),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&sp(`z`,e,r,this.animationValues);for(let t=0;t<ip.length;t++)sp(`rotate${ip[t]}`,e,r,this.animationValues),sp(`skew${ip[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=ep(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=ep(t?.pointerEvents)||``),this.hasProjected&&!dd(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=zf(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in Fd){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=Fd[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?ep(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(hp),this.root.sharedNodes.clear()}}}function up(e){e.updateLayout()}function dp(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)Rf(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=gf(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;sf(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else Pp(i,t.layoutBox,n)&&Rf(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=gf(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=zu();yf(o,n,t.layoutBox);let s=zu();a?yf(s,e.applyTransform(r,!0),t.measuredBox):yf(s,n,t.layoutBox);let c=!jf(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=q();Cf(s,t.layoutBox,i.layoutBox,o);let c=q();Cf(c,n,a.layoutBox,o),Ff(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function fp(e){qa.value&&rp.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function pp(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function mp(e){e.clearSnapshot()}function hp(e){e.clearMeasurements()}function gp(e){e.isLayoutDirty=!0,e.updateLayout()}function _p(e){e.isLayoutDirty=!1}function vp(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function yp(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function bp(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function xp(e){e.resolveTargetDelta()}function Sp(e){e.calcProjection()}function Cp(e){e.resetSkewAndRotation()}function wp(e){e.removeLeadSnapshot()}function Tp(e,t,n){e.translate=G(t.translate,0,n),e.scale=G(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Ep(e,t,n,r){e.min=G(t.min,n.min,r),e.max=G(t.max,n.max,r)}function Dp(e,t,n,r){Ep(e.x,t.x,n.x,r),Ep(e.y,t.y,n.y,r)}function Op(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var kp={duration:.45,ease:[.4,0,.1,1]},Ap=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),jp=Ap(`applewebkit/`)&&!Ap(`chrome/`)?Math.round:ma;function Mp(e){e.min=jp(e.min),e.max=jp(e.max)}function Np(e){Mp(e.x),Mp(e.y)}function Pp(e,t,n){return e===`position`||e===`preserve-aspect`&&!_f(If(t),If(n),.2)}function Fp(e){return e!==e.root&&e.scroll?.wasRoot}var Ip=lp({attachResizeListener:(e,t)=>Xf(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Lp={current:void 0},Rp=lp({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Lp.current){let e=new Ip({});e.mount(window),e.setOptions({layoutScroll:!0}),Lp.current=e}return Lp.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),zp=(0,a.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Bp(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Vp(...e){return t=>{let n=!1,r=e.map(e=>{let r=Bp(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Bp(e[t],null)}}}}function Hp(...e){return a.useCallback(Vp(...e),e)}var Up=class extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(Ql(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=Ql(e)&&e.offsetWidth||0,r=Ql(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function Wp({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:s}){let c=(0,a.useId)(),l=(0,a.useRef)(null),u=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:d}=(0,a.useContext)(zp),f=Hp(l,e.props?.ref??e?.ref);return(0,a.useInsertionEffect)(()=>{let{width:e,height:a,top:o,left:f,right:p,bottom:m}=u.current;if(t||s===!1||!l.current||!e||!a)return;let h=n===`left`?`left: ${f}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${o}`;l.current.dataset.motionPopId=c;let _=document.createElement(`style`);d&&(_.nonce=d);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
|
|
3
|
-
[data-motion-pop-id="${c}"] {
|
|
4
|
-
position: absolute !important;
|
|
5
|
-
width: ${e}px !important;
|
|
6
|
-
height: ${a}px !important;
|
|
7
|
-
${h}px !important;
|
|
8
|
-
${g}px !important;
|
|
9
|
-
}
|
|
10
|
-
`),()=>{l.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,o.jsx)(Up,{isPresent:t,childRef:l,sizeRef:u,pop:s,children:s===!1?e:a.cloneElement(e,{ref:f})})}var Gp=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:c,anchorX:l,anchorY:u,root:d})=>{let f=ea(Kp),p=(0,a.useId)(),m=!0,h=(0,a.useMemo)(()=>(m=!1,{id:p,initial:t,isPresent:n,custom:i,onExitComplete:e=>{f.set(e,!0);for(let e of f.values())if(!e)return;r&&r()},register:e=>(f.set(e,!1),()=>f.delete(e))}),[n,f,r]);return s&&m&&(h={...h}),(0,a.useMemo)(()=>{f.forEach((e,t)=>f.set(t,!1))},[n]),a.useEffect(()=>{!n&&!f.size&&r&&r()},[n]),e=(0,o.jsx)(Wp,{pop:c===`popLayout`,isPresent:n,anchorX:l,anchorY:u,root:d,children:e}),(0,o.jsx)(na.Provider,{value:h,children:e})};function Kp(){return new Map}function qp(e=!0){let t=(0,a.useContext)(na);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,o=(0,a.useId)();(0,a.useEffect)(()=>{if(e)return i(o)},[e]);let s=(0,a.useCallback)(()=>e&&r&&r(o),[o,r,e]);return!n&&r?[!1,s]:[!0]}var Jp=e=>e.key||``;function Yp(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}var Xp=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s=`sync`,propagate:c=!1,anchorX:l=`left`,anchorY:u=`top`,root:d})=>{let[f,p]=qp(c),m=(0,a.useMemo)(()=>Yp(e),[e]),h=c&&!f?[]:m.map(Jp),g=(0,a.useRef)(!0),_=(0,a.useRef)(m),v=ea(()=>new Map),y=(0,a.useRef)(new Set),[b,x]=(0,a.useState)(m),[S,C]=(0,a.useState)(m);ta(()=>{g.current=!1,_.current=m;for(let e=0;e<S.length;e++){let t=Jp(S[e]);h.includes(t)?(v.delete(t),y.current.delete(t)):v.get(t)!==!0&&v.set(t,!1)}},[S,h.length,h.join(`-`)]);let w=[];if(m!==b){let e=[...m];for(let t=0;t<S.length;t++){let n=S[t],r=Jp(n);h.includes(r)||(e.splice(t,0,n),w.push(n))}return s===`wait`&&w.length&&(e=w),C(Yp(e)),x(m),null}process.env.NODE_ENV!==`production`&&s===`wait`&&S.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);let{forceRender:T}=(0,a.useContext)($i);return(0,o.jsx)(o.Fragment,{children:S.map(e=>{let a=Jp(e),b=c&&!f?!1:m===S||h.includes(a);return(0,o.jsx)(Gp,{isPresent:b,initial:!g.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:d,onExitComplete:b?void 0:()=>{if(y.current.has(a))return;if(v.has(a))y.current.add(a),v.set(a,!0);else return;let e=!0;v.forEach(t=>{t||(e=!1)}),e&&(T?.(),C(_.current),c&&p?.(),r&&r())},anchorX:l,anchorY:u,children:e},a)})})},Zp=(0,a.createContext)({strict:!1}),Qp={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},$p=!1;function em(){if($p)return;let e={};for(let t in Qp)e[t]={isEnabled:e=>Qp[t].some(t=>!!e[t])};td(e),$p=!0}function tm(){return em(),nd()}function nm(e){let t=tm();for(let n in e)t[n]={...t[n],...e[n]};td(t)}var rm=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function im(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||rm.has(e)}var am=e.r({default:()=>om}),om,sm=e.n((()=>{throw om={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),cm=e=>!im(e);function lm(e){typeof e==`function`&&(cm=t=>t.startsWith(`on`)?!im(t):e(t))}try{lm((sm(),e.i(am)).default)}catch{}function um(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||bl(e[i])||(cm(i)||n===!0&&im(i)||!t&&!im(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var dm=(0,a.createContext)({});function fm(e,t){if(Ku(e)){let{initial:t,animate:n}=e;return{initial:t===!1||Uu(t)?t:void 0,animate:Uu(n)?n:void 0}}return e.inherit===!1?{}:t}function pm(e){let{initial:t,animate:n}=fm(e,(0,a.useContext)(dm));return(0,a.useMemo)(()=>({initial:t,animate:n}),[mm(t),mm(n)])}function mm(e){return Array.isArray(e)?e.join(` `):e}var hm=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function gm(e,t,n){for(let r in t)!bl(t[r])&&!Id(r,n)&&(e[r]=t[r])}function _m({transformTemplate:e},t){return(0,a.useMemo)(()=>{let n=hm();return Ad(n,t,e),Object.assign({},n.vars,n.style)},[t])}function vm(e,t){let n=e.style||{},r={};return gm(r,n,e),Object.assign(r,_m(e,t)),r}function ym(e,t){let n={},r=vm(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var bm=()=>({...hm(),attrs:{}});function xm(e,t,n,r){let i=(0,a.useMemo)(()=>{let n=bm();return Wd(n,t,Kd(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};gm(t,e.style,e),i.style={...t,...i.style}}return i}var Sm=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function Cm(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Sm.indexOf(e)>-1||/[A-Z]/u.test(e))}function wm(e,t,n,{latestValues:r},i,o=!1,s){let c=(s??Cm(e)?xm:ym)(t,r,i,e),l=um(t,typeof e==`string`,o),u=e===a.Fragment?{}:{...l,...c,ref:n},{children:d}=t,f=(0,a.useMemo)(()=>bl(d)?d.get():d,[d]);return(0,a.createElement)(e,{...u,children:f})}function Tm({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Em(n,r,i,e),renderState:t()}}function Em(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=ep(a[e]);let{initial:o,animate:s}=e,c=Ku(e),l=qu(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!Hu(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=cl(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Dm=e=>(t,n)=>{let r=(0,a.useContext)(dm),i=(0,a.useContext)(na),o=()=>Tm(e,t,r,i);return n?o():ea(o)},Om=Dm({scrapeMotionValuesFromProps:Ld,createRenderState:hm}),km=Dm({scrapeMotionValuesFromProps:Jd,createRenderState:bm}),Am=Symbol.for(`motionComponentSymbol`);function jm(e,t,n){let r=(0,a.useRef)(n);(0,a.useInsertionEffect)(()=>{r.current=n});let i=(0,a.useRef)(null);return(0,a.useCallback)(n=>{n&&e.onMount?.(n);let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n);t&&(n?t.mount(n):t.unmount())},[t])}var Mm=(0,a.createContext)({});function Nm(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Pm(e,t,n,r,i,o){let{visualElement:s}=(0,a.useContext)(dm),c=(0,a.useContext)(Zp),l=(0,a.useContext)(na),u=(0,a.useContext)(zp),d=u.reducedMotion,f=u.skipAnimations,p=(0,a.useRef)(null),m=(0,a.useRef)(!1);r||=c.renderer,!p.current&&r&&(p.current=r(e,{visualState:t,parent:s,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:d,skipAnimations:f,isSVG:o}),m.current&&p.current&&(p.current.manuallyAnimateOnMount=!0));let h=p.current,g=(0,a.useContext)(Mm);h&&!h.projection&&i&&(h.type===`html`||h.type===`svg`)&&Fm(p.current,n,i,g);let _=(0,a.useRef)(!1);(0,a.useInsertionEffect)(()=>{h&&_.current&&h.update(n,l)});let v=n[wl],y=(0,a.useRef)(!!v&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(v)&&window.MotionHasOptimisedAnimation?.(v));return ta(()=>{m.current=!0,h&&(_.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),h.scheduleRenderMicrotask(),y.current&&h.animationState&&h.animationState.animateChanges())}),(0,a.useEffect)(()=>{h&&(!y.current&&h.animationState&&h.animationState.animateChanges(),y.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(v)}),!1),h.enteringChildren=void 0)}),h}function Fm(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:Im(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&Nm(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function Im(e){if(e)return e.options.allowProjection===!1?Im(e.parent):e.projection}function Lm(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&nm(r);let s=n?n===`svg`:Cm(e),c=s?km:Om;function l(n,l){let u,d={...(0,a.useContext)(zp),...n,layoutId:Rm(n)},{isStatic:f}=d,p=pm(n),m=c(n,f);if(!f&&typeof window<`u`){zm(d,r);let t=Bm(d);u=t.MeasureLayout,p.visualElement=Pm(e,m,d,i,t.ProjectionNode,s)}return(0,o.jsxs)(dm.Provider,{value:p,children:[u&&p.visualElement?(0,o.jsx)(u,{visualElement:p.visualElement,...d}):null,wm(e,n,jm(m,p.visualElement,l),m,f,t,s)]})}l.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let u=(0,a.forwardRef)(l);return u[Am]=e,u}function Rm({layoutId:e}){let t=(0,a.useContext)($i).id;return t&&e!==void 0?t+`-`+e:e}function zm(e,t){let n=(0,a.useContext)(Zp).strict;if(process.env.NODE_ENV!==`production`&&t&&n){let t="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";e.ignoreStrict?sa(!1,t,`lazy-strict-mode`):ca(!1,t,`lazy-strict-mode`)}}function Bm(e){let{drag:t,layout:n}=tm();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function Vm(e,t){if(typeof Proxy>`u`)return Lm;let n=new Map,r=(n,r)=>Lm(n,r,e,t);return new Proxy((e,t)=>(process.env.NODE_ENV!==`production`&&Ca(!1,`motion() is deprecated. Use motion.create() instead.`),r(e,t)),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,Lm(a,void 0,e,t)),n.get(a))})}var Hm=(e,t)=>t.isSVG??Cm(e)?new Yd(t):new zd(t,{allowProjection:e!==a.Fragment}),Um=class extends ad{constructor(e){super(e),e.animationState||=nf(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();Hu(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},Wm=0,Gm={animation:{Feature:Um},exit:{Feature:class extends ad{constructor(){super(...arguments),this.id=Wm++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`){let n=ll(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function Km(e){return{point:{x:e.pageX,y:e.pageY}}}var qm=e=>t=>cu(t)&&e(t,Km(t));function Jm(e,t,n,r){return Xf(e,t,qm(n),r)}var Ym=({current:e})=>e?e.ownerDocument.defaultView:null,Xm=(e,t)=>Math.abs(e-t);function Zm(e,t){let n=Xm(e.x,t.x),r=Xm(e.y,t.y);return Math.sqrt(n**2+r**2)}var Qm=new Set([`auto`,`scroll`]),$m=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=eh(this.lastRawMoveEventInfo,this.transformPagePoint));let e=nh(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=Zm(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=H;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=eh(t,this.transformPagePoint),V.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=nh(e.type===`pointercancel`?this.lastMoveEventInfo:eh(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!cu(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=eh(Km(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=H;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,nh(s,this.history)),this.removeListeners=ga(Jm(this.contextWindow,`pointermove`,this.handlePointerMove),Jm(this.contextWindow,`pointerup`,this.handlePointerUp),Jm(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(Qm.has(e.overflowX)||Qm.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),V.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Za(this.updatePoint)}};function eh(e,t){return t?{point:t(e.point)}:e}function th(e,t){return{x:e.x-t.x,y:e.y-t.y}}function nh({point:e},t){return{point:e,delta:th(e,ih(t)),offset:th(e,rh(t)),velocity:ah(t,.1)}}function rh(e){return e[0]}function ih(e){return e[e.length-1]}function ah(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=ih(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>ya(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>ya(t)*2&&(r=e[1]);let a=ba(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function oh(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?G(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?G(n,e,r.max):Math.min(e,n)),e}function sh(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function ch(e,{top:t,left:n,bottom:r,right:i}){return{x:sh(e.x,n,i),y:sh(e.y,t,r)}}function lh(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function uh(e,t){return{x:lh(e.x,t.x),y:lh(e.y,t.y)}}function dh(e,t){let n=.5,r=gf(e),i=gf(t);return i>r?n=_a(t.min,t.max-r,e.min):r>i&&(n=_a(e.min,e.max-i,t.min)),aa(0,1,n)}function fh(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var ph=.35;function mh(e=ph){return e===!1?e=0:e===!0&&(e=ph),{x:hh(e,`left`,`right`),y:hh(e,`top`,`bottom`)}}function hh(e,t,n){return{min:gh(e,t),max:gh(e,n)}}function gh(e,t){return typeof e==`number`?e:e[t]||0}var _h=new WeakMap,vh=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=q(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(Km(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=ru(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Rf(e=>{let t=this.getAxisMotionValue(e).get()||0;if(Eo.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=gf(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&V.update(()=>i(e,t),!1,!0),Sl(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Sh(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&V.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new $m(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:Ym(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&V.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!xh(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=oh(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&Nm(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=ch(n.layoutBox,e):this.constraints=!1,this.elastic=mh(t),r!==this.constraints&&!Nm(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&Rf(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=fh(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Nm(e))return!1;let n=e.current;ca(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=Ed(n,r.root,this.visualElement.getTransformPagePoint()),a=uh(r.layout.layoutBox,i);if(t){let e=t(sd(a));this.hasMutatedConstraints=!!e,e&&(a=od(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=Rf(o=>{if(!xh(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return Sl(this.visualElement,e),n.start(ol(e,n,0,t,this.visualElement,!1))}stopAnimation(){Rf(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){Rf(t=>{let{drag:n}=this.getProps();if(!xh(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-G(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Nm(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};Rf(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=dh({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),Rf(t=>{if(!xh(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(G(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;_h.set(this.visualElement,this);let e=this.visualElement.current,t=Jm(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&fu(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();Nm(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=bh(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),V.read(r);let o=Xf(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(Rf(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=ph,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function yh(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function bh(e,t,n){let r=Pu(e,yh(n)),i=Pu(t,yh(n));return()=>{r(),i()}}function xh(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Sh(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Ch=class extends ad{constructor(e){super(e),this.removeGroupControls=ma,this.removeListeners=ma,this.controls=new vh(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ma}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},wh=e=>(t,n)=>{e&&V.update(()=>e(t,n),!1,!0)},Th=class extends ad{constructor(){super(...arguments),this.removePointerDownListener=ma}onPointerDown(e){this.session=new $m(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Ym(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:wh(e),onStart:wh(t),onMove:wh(n),onEnd:(e,t)=>{delete this.session,r&&V.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=Jm(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Eh=!1,Dh=class extends a.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),Eh&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),np.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),Eh=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||V.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),$l.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;Eh=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Oh(e){let[t,n]=qp(),r=(0,a.useContext)($i);return(0,o.jsx)(Dh,{...e,layoutGroup:r,switchLayoutGroup:(0,a.useContext)(Mm),isPresent:t,safeToRemove:n})}var kh={pan:{Feature:Th},drag:{Feature:Ch,ProjectionNode:Rp,MeasureLayout:Oh}};function Ah(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&V.postRender(()=>i(t,Km(t)))}var jh=class extends ad{mount(){let{current:e}=this.node;e&&(this.unmount=ou(e,(e,t)=>(Ah(this.node,t,`Start`),e=>Ah(this.node,e,`End`))))}unmount(){}},Mh=class extends ad{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=ga(Xf(this.node.current,`focus`,()=>this.onFocus()),Xf(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function Nh(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&V.postRender(()=>i(t,Km(t)))}var Ph=class extends ad{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=yu(e,(e,t)=>(Nh(this.node,t,`Start`),(e,{success:t})=>Nh(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},Fh=new WeakMap,Ih=new WeakMap,Lh=e=>{let t=Fh.get(e.target);t&&t(e)},Rh=e=>{e.forEach(Lh)};function zh({root:e,...t}){let n=e||document;Ih.has(n)||Ih.set(n,{});let r=Ih.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Rh,{root:e,...t})),r[i]}function Bh(e,t,n){let r=zh(t);return Fh.set(e,n),r.observe(e),()=>{Fh.delete(e),r.unobserve(e)}}var Vh={some:0,all:1},Hh=class extends ad{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:Vh[r]};this.stopObserver=Bh(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(Uh(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function Uh({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var Wh={inView:{Feature:Hh},tap:{Feature:Ph},focus:{Feature:Mh},hover:{Feature:jh}},Gh={layout:{ProjectionNode:Rp,MeasureLayout:Oh}},J=Vm({...Gm,...Wh,...kh,...Gh},Hm);function Kh(){!Xu.current&&Qu();let[e]=(0,a.useState)(Yu.current);return process.env.NODE_ENV!==`production`&&Ca(e!==!0,`You have Reduced Motion enabled on your device. Animations may not appear as expected.`,`reduced-motion-disabled`),e}var qh=e=>e?.formType===`private`||e?.submitPage===`requests`?`user_requests`:`user_submissions`,Jh={contact:m,support:g};function Yh(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Yh(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Xh(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Yh(e))&&(r&&(r+=` `),r+=t);return r}var Zh=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Qh=(e,t)=>({classGroupId:e,validator:t}),$h=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),eg=`-`,tg=[],ng=`arbitrary..`,rg=e=>{let t=og(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return ag(e);let n=e.split(eg);return ig(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Zh(i,t):t:i||tg}return n[e]||tg}}},ig=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=ig(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(eg):e.slice(t).join(eg),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},ag=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ng+r:void 0})(),og=e=>{let{theme:t,classGroups:n}=e;return sg(n,t)},sg=(e,t)=>{let n=$h();for(let r in e){let i=e[r];cg(i,n,r,t)}return n},cg=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];lg(i,t,n,r)}},lg=(e,t,n,r)=>{if(typeof e==`string`){ug(e,t,n);return}if(typeof e==`function`){dg(e,t,n,r);return}fg(e,t,n,r)},ug=(e,t,n)=>{let r=e===``?t:pg(t,e);r.classGroupId=n},dg=(e,t,n,r)=>{if(mg(e)){cg(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Qh(n,e))},fg=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];cg(o,pg(t,a),n,r)}},pg=(e,t)=>{let n=e,r=t.split(eg),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=$h(),n.nextPart.set(t,i)),n=i}return n},mg=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,hg=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},gg=`!`,_g=`:`,vg=[],yg=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),bg=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===_g){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(gg)?(c=s.slice(0,-1),l=!0):s.startsWith(gg)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return yg(t,l,c,u)};if(t){let e=t+_g,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):yg(vg,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},xg=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Sg=e=>({cache:hg(e.cacheSize),parseClassName:bg(e),sortModifiers:xg(e),...rg(e)}),Cg=/\s+/,wg=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Cg),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+gg:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Tg=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Eg(n))&&(i&&(i+=` `),i+=r);return i},Eg=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Eg(e[r]))&&(n&&(n+=` `),n+=t);return n},Dg=(e,...t)=>{let n,r,i,a,o=o=>(n=Sg(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=wg(e,n);return i(e,a),a};return a=o,(...e)=>a(Tg(...e))},Og=[],Y=e=>{let t=t=>t[e]||Og;return t.isThemeGetter=!0,t},kg=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ag=/^\((?:(\w[\w-]*):)?(.+)\)$/i,jg=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Mg=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ng=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Pg=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Fg=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ig=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Lg=e=>jg.test(e),X=e=>!!e&&!Number.isNaN(Number(e)),Rg=e=>!!e&&Number.isInteger(Number(e)),zg=e=>e.endsWith(`%`)&&X(e.slice(0,-1)),Bg=e=>Mg.test(e),Vg=()=>!0,Hg=e=>Ng.test(e)&&!Pg.test(e),Ug=()=>!1,Wg=e=>Fg.test(e),Gg=e=>Ig.test(e),Kg=e=>!Z(e)&&!Q(e),qg=e=>c_(e,f_,Ug),Z=e=>kg.test(e),Jg=e=>c_(e,p_,Hg),Yg=e=>c_(e,m_,X),Xg=e=>c_(e,g_,Vg),Zg=e=>c_(e,h_,Ug),Qg=e=>c_(e,u_,Ug),$g=e=>c_(e,d_,Gg),e_=e=>c_(e,__,Wg),Q=e=>Ag.test(e),t_=e=>l_(e,p_),n_=e=>l_(e,h_),r_=e=>l_(e,u_),i_=e=>l_(e,f_),a_=e=>l_(e,d_),o_=e=>l_(e,__,!0),s_=e=>l_(e,g_,!0),c_=(e,t,n)=>{let r=kg.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},l_=(e,t,n=!1)=>{let r=Ag.exec(e);return r?r[1]?t(r[1]):n:!1},u_=e=>e===`position`||e===`percentage`,d_=e=>e===`image`||e===`url`,f_=e=>e===`length`||e===`size`||e===`bg-size`,p_=e=>e===`length`,m_=e=>e===`number`,h_=e=>e===`family-name`,g_=e=>e===`number`||e===`weight`,__=e=>e===`shadow`,v_=Dg(()=>{let e=Y(`color`),t=Y(`font`),n=Y(`text`),r=Y(`font-weight`),i=Y(`tracking`),a=Y(`leading`),o=Y(`breakpoint`),s=Y(`container`),c=Y(`spacing`),l=Y(`radius`),u=Y(`shadow`),d=Y(`inset-shadow`),f=Y(`text-shadow`),p=Y(`drop-shadow`),m=Y(`blur`),h=Y(`perspective`),g=Y(`aspect`),_=Y(`ease`),v=Y(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Q,Z],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Q,Z,c],T=()=>[Lg,`full`,`auto`,...w()],ee=()=>[Rg,`none`,`subgrid`,Q,Z],E=()=>[`auto`,{span:[`full`,Rg,Q,Z]},Rg,Q,Z],D=()=>[Rg,`auto`,Q,Z],te=()=>[`auto`,`min`,`max`,`fr`,Q,Z],ne=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],A=()=>[Lg,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],re=()=>[Lg,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],j=()=>[Lg,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],M=()=>[e,Q,Z],N=()=>[...b(),r_,Qg,{position:[Q,Z]}],P=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,i_,qg,{size:[Q,Z]}],F=()=>[zg,t_,Jg],I=()=>[``,`none`,`full`,l,Q,Z],L=()=>[``,X,t_,Jg],R=()=>[`solid`,`dashed`,`dotted`,`double`],ae=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],z=()=>[X,zg,r_,Qg],oe=()=>[``,`none`,m,Q,Z],se=()=>[`none`,X,Q,Z],ce=()=>[`none`,X,Q,Z],le=()=>[X,Q,Z],B=()=>[Lg,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Bg],breakpoint:[Bg],color:[Vg],container:[Bg],"drop-shadow":[Bg],ease:[`in`,`out`,`in-out`],font:[Kg],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Bg],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Bg],shadow:[Bg],spacing:[`px`,X],text:[Bg],"text-shadow":[Bg],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Lg,Z,Q,g]}],container:[`container`],columns:[{columns:[X,Z,Q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Rg,`auto`,Q,Z]}],basis:[{basis:[Lg,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[X,Lg,`auto`,`initial`,`none`,Z]}],grow:[{grow:[``,X,Q,Z]}],shrink:[{shrink:[``,X,Q,Z]}],order:[{order:[Rg,`first`,`last`,`none`,Q,Z]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":te()}],"auto-rows":[{"auto-rows":te()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ne(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...ne()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...re()]}],"min-inline-size":[{"min-inline":[`auto`,...re()]}],"max-inline-size":[{"max-inline":[`none`,...re()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,t_,Jg]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,s_,Xg]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,zg,Z]}],"font-family":[{font:[n_,Zg,t]}],"font-features":[{"font-features":[Z]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Q,Z]}],"line-clamp":[{"line-clamp":[X,`none`,Q,Yg]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Q,Z]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Q,Z]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...R(),`wavy`]}],"text-decoration-thickness":[{decoration:[X,`from-font`,`auto`,Q,Jg]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[X,`auto`,Q,Z]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Q,Z]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Q,Z]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:P()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Rg,Q,Z],radial:[``,Q,Z],conic:[Rg,Q,Z]},a_,$g]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:L()}],"border-w-x":[{"border-x":L()}],"border-w-y":[{"border-y":L()}],"border-w-s":[{"border-s":L()}],"border-w-e":[{"border-e":L()}],"border-w-bs":[{"border-bs":L()}],"border-w-be":[{"border-be":L()}],"border-w-t":[{"border-t":L()}],"border-w-r":[{"border-r":L()}],"border-w-b":[{"border-b":L()}],"border-w-l":[{"border-l":L()}],"divide-x":[{"divide-x":L()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":L()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...R(),`hidden`,`none`]}],"divide-style":[{divide:[...R(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...R(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[X,Q,Z]}],"outline-w":[{outline:[``,X,t_,Jg]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,o_,e_]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,o_,e_]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:L()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[X,Jg]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":L()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,o_,e_]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[X,Q,Z]}],"mix-blend":[{"mix-blend":[...ae(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[X]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[X]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:P()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Q,Z]}],filter:[{filter:[``,`none`,Q,Z]}],blur:[{blur:oe()}],brightness:[{brightness:[X,Q,Z]}],contrast:[{contrast:[X,Q,Z]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,o_,e_]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,X,Q,Z]}],"hue-rotate":[{"hue-rotate":[X,Q,Z]}],invert:[{invert:[``,X,Q,Z]}],saturate:[{saturate:[X,Q,Z]}],sepia:[{sepia:[``,X,Q,Z]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Q,Z]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[X,Q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[X,Q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,X,Q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[X,Q,Z]}],"backdrop-invert":[{"backdrop-invert":[``,X,Q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[X,Q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[X,Q,Z]}],"backdrop-sepia":[{"backdrop-sepia":[``,X,Q,Z]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Q,Z]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[X,`initial`,Q,Z]}],ease:[{ease:[`linear`,`initial`,_,Q,Z]}],delay:[{delay:[X,Q,Z]}],animate:[{animate:[`none`,v,Q,Z]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Q,Z]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ce()}],"scale-x":[{"scale-x":ce()}],"scale-y":[{"scale-y":ce()}],"scale-z":[{"scale-z":ce()}],"scale-3d":[`scale-3d`],skew:[{skew:le()}],"skew-x":[{"skew-x":le()}],"skew-y":[{"skew-y":le()}],transform:[{transform:[Q,Z,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:B()}],"translate-x":[{"translate-x":B()}],"translate-y":[{"translate-y":B()}],"translate-z":[{"translate-z":B()}],"translate-none":[`translate-none`],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Q,Z]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Q,Z]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[X,t_,Jg,Yg]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function y_(...e){return v_(Xh(e))}var b_=a.default.forwardRef(({className:e,label:t,error:n,currencySymbol:r,type:i,...a},s)=>{let c=i===`currency`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[t&&(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:t}),(0,o.jsxs)(`div`,{className:`relative flex items-center lift-focus`,children:[c&&r&&(0,o.jsx)(`span`,{className:`absolute left-4 font-bold text-foreground/70 z-10 pointer-events-none text-[15px]`,children:r}),(0,o.jsx)(`input`,{ref:s,type:c?`number`:i,className:y_(`block h-12 w-full text-[15px] text-foreground py-2`,c&&r?`pl-8 pr-4`:`px-4`,`transition-all duration-300 placeholder:text-foreground/40`,`focus:outline-none focus:border-accent glow-focus`,`disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,n&&`border-red-500/50 focus:border-red-500/50`,e),style:{borderRadius:`var(--input-radius, 0.75rem)`},...a})]}),n&&(0,o.jsx)(J.p,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:`text-[13px] text-red-500 font-medium mt-1.5`,children:n})]})});b_.displayName=`Input`;var x_=a.default.forwardRef(function({className:e=``,onInput:t,...n},r){let i=(0,a.useRef)(null),{value:s,placeholder:c}=n,l=(0,a.useCallback)(e=>{i.current=e,typeof r==`function`?r(e):r&&(r.current=e)},[r]),u=(0,a.useCallback)(()=>{let e=i.current;if(!e)return;e.style.height=`auto`;let t=e.scrollHeight;!e.value&&e.placeholder&&(e.value=e.placeholder,t=Math.max(t,e.scrollHeight),e.value=``),e.style.height=`${t+(e.offsetHeight-e.clientHeight)}px`},[]);return(0,a.useLayoutEffect)(u,[u,s,c]),(0,a.useEffect)(()=>{let e=i.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(u);return e.parentElement&&t.observe(e.parentElement),()=>t.disconnect()},[u]),(0,o.jsx)(`textarea`,{ref:l,...n,onInput:e=>{u(),t?.(e)},className:`${e} resize-none overflow-hidden`,rows:n.rows||1})}),S_=a.default.forwardRef(({className:e,label:t,error:n,id:r,rows:i=2,...s},c)=>{let l=(0,a.useId)(),u=r??`textarea-${l}`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[t&&(0,o.jsx)(`label`,{htmlFor:u,className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:t}),(0,o.jsx)(x_,{ref:c,id:u,rows:i,className:y_(`block w-full text-[15px] leading-6 text-foreground px-4 py-3`,`transition-[border-color,box-shadow,background-color] duration-300 placeholder:text-foreground/40`,`focus:outline-none focus:border-accent glow-focus`,`disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,n&&`border-red-500/50 focus:border-red-500/50`,e),style:{borderRadius:`var(--input-radius, 0.75rem)`},...s}),n&&(0,o.jsx)(J.p,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:`text-[13px] text-red-500 font-medium mt-1.5`,children:n})]})});S_.displayName=`TextArea`;var C_=a.default.forwardRef(({className:e,variant:t=`primary`,isLoading:n,children:r,...i},a)=>(0,o.jsxs)(J.button,{ref:a,whileHover:{scale:1.02,y:-2},whileTap:{scale:.98},className:y_(`relative inline-flex items-center justify-center px-5 py-2 text-sm font-medium transition-all duration-300 overflow-hidden group`,{primary:`btn-primary !border-none`,secondary:`btn-secondary !border-none`,ghost:`bg-transparent hover:bg-black/5 dark:hover:bg-white/5 text-foreground/60 hover:text-foreground transition-all duration-300 !border-none`}[t],e),style:{borderRadius:`var(--btn-radius, 0.75rem)`},...i,disabled:n||i.disabled,"aria-busy":n||void 0,children:[n?(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,o.jsxs)(`svg`,{className:`w-5 h-5 animate-spin text-current`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,o.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,o.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}):null,(0,o.jsx)(`span`,{className:y_(`inline-flex items-center justify-center gap-2`,n&&`opacity-0`),children:r})]}));C_.displayName=`Button`;var w_=()=>typeof document>`u`?null:document.querySelector(`.firebase-os`)||document.body;function T_({value:e=``,options:t,onChange:r,label:i,disabled:s,variant:c=`default`,multiple:l=!1,values:u,placeholder:d,footer:p,compact:m=!1,dense:h=!1,direction:g=`up`,portal:_=!1,empty:v=`Nothing to choose from yet`,ariaLabel:y,className:b=``}){let[x,S]=(0,a.useState)(!1),[C,w]=(0,a.useState)(g===`down`?`down`:`up`),[T,ee]=(0,a.useState)(null),E=(0,a.useRef)(null),D=(0,a.useRef)(null),te=(0,a.useRef)(null);(0,a.useEffect)(()=>{function e(e){let t=e.target;E.current?.contains(t)||te.current?.contains(t)||S(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]),(0,a.useLayoutEffect)(()=>{if(!x)return;let e=()=>{let e=D.current;if(!e)return;let t=e.getBoundingClientRect();if(ee({top:t.top,left:t.left,width:t.width,height:t.height}),g===`auto`){let e=(typeof window<`u`?window.innerHeight:0)-t.bottom;w(e<260&&t.top>e?`up`:`down`)}else w(g)};return e(),window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[x,g]);let ne=l&&u||[],O=t=>l?ne.includes(t):e===t,k=t.find(t=>t.value===e)||(d==null?t[0]:void 0),A=t.filter(e=>ne.includes(e.value)).map(e=>e.label),re=l?A.length?A.map((e,t)=>(0,o.jsxs)(a.default.Fragment,{children:[t>0?`, `:``,e]},t)):d:k?.label??d,j=!s,M=!t.some(e=>e.value!==``&&!e.disabled),N=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!x)return;let e=N.current,t=e?.querySelector(`[aria-selected="true"]`);!e||!t||(e.scrollTop=t.offsetTop-e.clientHeight/2+t.clientHeight/2)},[x]);let P=(0,o.jsx)(J.div,{ref:te,role:`listbox`,"aria-label":y||i,"aria-multiselectable":l||void 0,initial:{opacity:0,y:C===`up`?5:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:C===`up`?5:-5,scale:.98},transition:{duration:.15},className:`z-[99999] glass-popover overflow-hidden ${_?`fixed`:`absolute left-0 w-full ${C===`up`?`bottom-[calc(100%+8px)]`:`top-[calc(100%+8px)]`}`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`,..._&&T?(()=>{let e=Math.max(T.width,m?180:0),t=(typeof window<`u`?window.innerWidth:T.left+e)-e-8;return{left:Math.max(8,Math.min(T.left,t)),width:e,...C===`up`?{bottom:(typeof window<`u`?window.innerHeight:0)-T.top+8}:{top:T.top+T.height+8}}})():{}},children:(0,o.jsxs)(`div`,{ref:N,className:`max-h-60 overflow-y-auto no-scrollbar p-1`,children:[t.map(e=>(0,o.jsxs)(`div`,{role:`option`,"aria-selected":O(e.value),"aria-disabled":e.disabled||void 0,onClick:()=>{e.disabled||(r(e.value),l||S(!1))},className:`flex items-center justify-between gap-3 px-3 py-2.5 transition-colors font-medium ${h?`text-[13.5px]`:`text-[13px]`} ${e.disabled?`text-foreground/30 cursor-default`:O(e.value)?`bg-accent/10 text-accent font-bold cursor-pointer`:`text-foreground/80 hover:bg-foreground/5 hover:text-foreground cursor-pointer`}`,style:{borderRadius:`calc(var(--input-radius, 0.75rem) - 0.25rem)`},children:[(0,o.jsx)(`span`,{className:`truncate`,children:e.label}),O(e.value)&&!e.disabled&&(0,o.jsx)(n.sn,{className:`w-3.5 h-3.5 shrink-0 text-accent`})]},e.value)),M&&!p&&(0,o.jsx)(`div`,{className:`px-3 py-2.5 text-foreground/50 ${h?`text-[13.5px]`:`text-[13px]`}`,children:v}),p]})}),ie=_?w_():null,F=(0,o.jsx)(Xp,{children:x&&P});return(0,o.jsxs)(`div`,{className:`flex flex-col relative ${m?`w-auto`:`w-full`} ${s?`opacity-50 pointer-events-none`:``} ${b}`,ref:E,children:[i&&(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:i}),(0,o.jsxs)(`div`,{className:`relative ${m?`w-auto`:`w-full`}`,children:[(0,o.jsxs)(`div`,{ref:D,role:`button`,tabIndex:s?-1:0,"aria-haspopup":`listbox`,"aria-expanded":x,"aria-label":y||i,"aria-disabled":s||void 0,onClick:()=>{j&&S(!x)},onKeyDown:e=>{j&&((e.key===`Enter`||e.key===` `)&&(e.preventDefault(),S(e=>!e)),e.key===`Escape`&&S(!1))},className:`text-foreground transition-all duration-300 flex items-center justify-between outline-none ${m?`h-9 px-3 gap-2 text-[12.5px] font-semibold`:h?`w-full h-11 px-4 text-[14px] font-medium`:`w-full h-12 px-4 text-[15px]`} ${j?`cursor-pointer`:`cursor-default`} ${c===`ghost`?`hover:bg-foreground/5 bg-transparent`:`border glass-panel ${m?``:`shadow-sm`} ${x?`border-accent select-open`:`border-[var(--panel-border)]`}`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:[(0,o.jsx)(`span`,{className:`truncate`,children:re}),(0,o.jsx)(n.on,{className:`w-4 h-4 text-foreground/50 shrink-0 transition-transform duration-300 ${x?`rotate-180`:``}`})]}),!(_&&ie)&&F]}),_&&ie?(0,f.createPortal)(F,ie):null]})}var E_={sm:`w-4 h-4 border-2`,md:`w-6 h-6 border-2`,lg:`w-9 h-9 border-[3px]`},D_=({label:e,size:t=`md`,block:n=!1,className:r,...i})=>(0,o.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:y_(`inline-flex items-center gap-3 text-foreground/60`,n&&`flex w-full flex-col justify-center py-20 text-center`,r),...i,children:[(0,o.jsx)(`span`,{"aria-hidden":`true`,className:y_(`rounded-full border-accent border-t-transparent animate-spin motion-reduce:animate-none motion-reduce:border-t-accent/30`,E_[t])}),e?(0,o.jsx)(`span`,{className:`text-[13px] font-medium`,children:e}):(0,o.jsx)(`span`,{className:`sr-only`,children:`Loading`})]});D_.displayName=`Loader`;var O_=({className:e,...t})=>(0,o.jsx)(`div`,{"aria-hidden":`true`,className:y_(`rounded-2xl bg-foreground/[0.06] animate-pulse motion-reduce:animate-none`,e),...t});O_.displayName=`Skeleton`;var k_=e=>`fbos.visitor.${e}`,A_=`buyer`,j_=`fbos:visitor-forgotten`;function M_(e){try{window.localStorage.removeItem(k_(e))}catch{}try{window.dispatchEvent(new CustomEvent(j_,{detail:e}))}catch{}}var N_=(e,t)=>{try{let n=window.localStorage.getItem(k_(e));if(n===null)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}};function P_(e,t,n,r){return Object.assign([e,t,n],{value:e,setValue:t,clear:n,ready:r})}function F_(e,t){let[n,r]=(0,a.useState)(t),[i,o]=(0,a.useState)(!1),s=(0,a.useRef)(t),c=(0,a.useRef)(t);(0,a.useEffect)(()=>{let t=N_(e,s.current);c.current=t,r(t),o(!0);let n=t=>{t.detail===e&&(c.current=s.current,r(s.current))};return window.addEventListener(j_,n),()=>window.removeEventListener(j_,n)},[e]);let l=(0,a.useRef)(null),u=(0,a.useCallback)(t=>{let n=typeof t==`function`?t(c.current):t;c.current=n,l.current||={json:JSON.stringify(s.current)};let i=JSON.stringify(n);try{i===l.current.json?window.localStorage.removeItem(k_(e)):window.localStorage.setItem(k_(e),i)}catch{}r(n)},[e]),d=(0,a.useCallback)(()=>{c.current=s.current;try{window.localStorage.removeItem(k_(e))}catch{}r(s.current)},[e]);return(0,a.useMemo)(()=>P_(n,u,d,i),[n,u,d,i])}var I_=e=>!!(e.width||e.height||e.size||e.bg),L_=32,R_=32,z_=24;function B_(e,t){if(!e||e.length<t*t*4||t<3)return{};let n=(e,n)=>(n*t+e)*4,r=[];for(let e=0;e<t;e++)r.push(n(e,0),n(e,t-1));for(let e=1;e<t-1;e++)r.push(n(0,e),n(t-1,e));if(r.filter(t=>e[t+3]<R_).length>r.length/2)return{bg:`clear`};let i=r.filter(t=>e[t+3]>=R_);if(!i.length)return{};let a=[0,1,2].map(t=>i.reduce((n,r)=>n+e[r+t],0)/i.length);return Math.max(...i.map(t=>Math.max(...[0,1,2].map(n=>Math.abs(e[t+n]-a[n])))))>z_?{bg:`busy`}:{bg:`plain`,bgColour:V_(a[0],a[1],a[2])}}function V_(e,t,n){let r=Math.max(e,t,n),i=Math.min(e,t,n),a=(r+i)/2/255,o=(r-i)/255,s=o===0||a===0||a===1?0:o/(1-Math.abs(2*a-1));if(o<.08||s<.12)return a>.92?`white`:a>.72?`light grey`:a>.4?`grey`:a>.14?`dark grey`:`black`;let c=r-i,l=(60*(r===e?((t-n)/c+6)%6:r===t?(n-e)/c+2:(e-t)/c+4)+360)%360,u=l<15?`red`:l<45?`orange`:l<70?`yellow`:l<165?`green`:l<200?`teal`:l<255?`blue`:l<290?`purple`:l<335?`pink`:`red`;if(u===`orange`||u===`yellow`){if(a<.4)return`brown`;if(a>.82)return`cream`}return a>.78?`pale ${u}`:a<.3?`dark ${u}`:u}var H_=[[21,9],[16,9],[3,2],[5,4],[4,3],[1,1],[3,4],[4,5],[2,3],[9,16]];function U_(e,t){if(!e||!t)return``;let n=e/t,r=n>1.06?`wide`:n<.94?`tall`:`square`,i=H_.find(([e,t])=>e!==t&&Math.abs(n-e/t)<=e/t*.03);return i?`${r} ${i[0]}:${i[1]}`:r}function W_(e){if(!e||e<0)return``;if(e<1024)return`${Math.round(e)} bytes`;let t=e/1024;if(t<1024)return`${Math.round(t)} KB`;let n=t/1024;return`${n<10?Number(n.toFixed(1)):Math.round(n)} MB`}function G_(e){return e.bg===`clear`?`see-through background`:e.bg===`plain`?e.bgColour?`plain ${e.bgColour} background`:`plain background`:e.bg===`busy`?`picture to the edges`:``}function K_(e){return[e.width&&e.height?`${e.width} × ${e.height}`:``,U_(e.width,e.height),W_(e.size),G_(e)].filter(Boolean).join(`, `)}function q_(e){return[e.width&&e.height?`${e.width} × ${e.height}`:``,W_(e.size)].filter(Boolean).join(` · `)}var J_=async e=>{if(typeof createImageBitmap==`function`){let t=await createImageBitmap(e);return{source:t,width:t.width,height:t.height,done:()=>t.close?.()}}let t=URL.createObjectURL(e);try{let e=await Y_(t);return{source:e,width:e.naturalWidth,height:e.naturalHeight,done:()=>URL.revokeObjectURL(t)}}catch(e){throw URL.revokeObjectURL(t),e}},Y_=(e,t)=>new Promise((n,r)=>{let i=new Image;t&&(i.crossOrigin=t),i.onload=()=>n(i),i.onerror=()=>r(Error(`That picture could not be read.`)),i.src=e}),X_=e=>{try{if(typeof document>`u`)return{};let t=document.createElement(`canvas`);t.width=L_,t.height=L_;let n=t.getContext(`2d`,{willReadFrequently:!0});return!n||typeof n.getImageData!=`function`?{}:(n.drawImage(e,0,0,L_,L_),B_(n.getImageData(0,0,L_,L_).data,L_))}catch{return{}}},Z_=(e,t,n)=>t&&n?{width:t,height:n,...X_(e)}:{},Q_=4e3,$_={},ev=(e,t)=>new Promise(n=>{let r=!1,i=e=>{r||(r=!0,n(e))},a=setTimeout(()=>i(t),Q_),o=e=>{clearTimeout(a),i(e)};e.then(o,()=>o(t))}),tv=async e=>{let{source:t,width:n,height:r,done:i}=await J_(e);try{return Z_(t,n,r)}finally{i()}},nv=async(e,t)=>{let n=await Y_(e,t);return Z_(n,n.naturalWidth,n.naturalHeight)};async function rv(e){let t=e?.size?{size:e.size}:{};return!e||!/^image\//i.test(e.type||``)?t:{...t,...await ev(tv(e),{})}}async function iv(e){return!e||!/^image\//i.test(e.type||``)||typeof createImageBitmap!=`function`?{}:ev((async()=>{let t=await createImageBitmap(e),{width:n,height:r}=t;return t.close?.(),n&&r?{width:n,height:r}:{}})(),{})}async function av(e){if(!e||typeof Image>`u`)return{};let t=await ev(nv(e,`anonymous`),$_);return t===$_?{}:I_(t)?t:ev(nv(e),{})}var ov=3600*24*365,sv=3600,cv=/^user_avatars\//,lv=/^pub_/;function uv(e){let t=lv.test(e.replace(/^\/+/,``))?`public`:`private`;return cv.test(e.replace(/^\/+/,``))?`${t}, max-age=${sv}`:`${t}, max-age=${ov}, immutable`}function dv(e,t){return{cacheControl:uv(e),...t?{customMetadata:t}:{}}}var fv=`pub_files`,pv=(e,t={})=>`${Date.now()}_${r.h(t.width,t.height)}${(e||`file`).replace(/[^a-zA-Z0-9.-]/g,`_`)}`;async function mv(e,t,n){let i=async(e,r)=>{try{if(!e)return``;let i=await r(t);if(!i)return``;let a=(0,u.ref)(C,e);return await(0,u.uploadBytes)(a,i,dv(e,n)),await(0,u.getDownloadURL)(a)}catch{return``}},a=await i(r.f(e),r.p),o=await i(r.v(e),r.y);return{...o?{small:o}:{},...a?{medium:a}:{}}}async function hv(e){e&&await Promise.all([r.v(e),r.f(e)].filter(Boolean).map(async e=>{try{await(0,u.deleteObject)((0,u.ref)(C,e))}catch{}}))}async function gv(e,t){if(!t)throw Error(`Sign in again before uploading.`);let n=await r.g(e),i=`${fv}/${pv(n.name,await iv(n))}`,a=(0,u.ref)(C,i);await(0,u.uploadBytes)(a,n,dv(i,{ownerId:t.uid}));let o=await(0,u.getDownloadURL)(a),s=await mv(i,n,{ownerId:t.uid});return await(0,l.addDoc)((0,l.collection)(S,fv),{fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,...s.small?{smallURL:s.small}:{},...s.medium?{mediumURL:s.medium}:{},storagePath:i,uid:t.uid,uploaderEmail:t.email||``,createdAt:(0,l.serverTimestamp)()}),{url:o,file:n,...s}}var _v=async(e,t)=>(await gv(e,t)).url,vv=`pub_form_uploads`;async function yv(e,t){let n=await r.g(e);if(n.size>=10485760)throw Error(`That file is over 10 MB. Try a smaller one.`);let i=Math.random().toString(36).slice(2,8),a=`${vv}/${Date.now()}_${i}_${(n.name||`file`).replace(/[^a-zA-Z0-9.-]/g,`_`)}`,o=(0,u.ref)(C,a);return await(0,u.uploadBytes)(o,n,dv(a,t?{ownerId:t.uid}:void 0)),(0,u.getDownloadURL)(o)}var bv=e=>typeof e==`string`?e.split(/\s+/).filter(Boolean):[],xv=e=>e.join(`
|
|
11
|
-
`),Sv=e=>/^https?:\/\/\S+$/.test(e)&&RegExp(`(/|%2F)pub_form_uploads(/|%2F)`,`i`).test(e),Cv=e=>{let t=bv(e);return t.length>0&&t.every(Sv)};function wv(e){try{let t=new URL(e);return r.b(decodeURIComponent(t.pathname.split(`/o/`)[1]||t.pathname).split(`/`).pop()||``).replace(/^\d+_[a-z0-9]+_/,``)||t.hostname||`Attached file`}catch{return`Attached file`}}var Tv=e=>e?.code===`storage/unauthorized`?`You do not have permission to upload here.`:Ee(e,`That upload did not work. Try again.`),Ev=(e,t)=>{let n=String(t||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r===e)},Dv=e=>Array.from(e.dataTransfer?.types||[]).includes(`Files`);function Ov({onFiles:e,onReject:t,accept:n,multiple:r=!1,disabled:i=!1}){let[o,s]=(0,a.useState)(!1),c=(0,a.useRef)(0);return{over:o&&!i,dropProps:{onDragEnter:e=>{i||!Dv(e)||(e.preventDefault(),c.current+=1,s(!0))},onDragOver:e=>{i||!Dv(e)||e.preventDefault()},onDragLeave:e=>{Dv(e)&&(c.current=Math.max(0,c.current-1),c.current===0&&s(!1))},onDrop:a=>{if(c.current=0,s(!1),i||!Dv(a))return;a.preventDefault();let o=Array.from(a.dataTransfer.files||[]),l=o.filter(e=>Ev(e,n)),u=o.filter(e=>!Ev(e,n));u.length&&t?.(u);let d=r?l:l.slice(0,1);d.length&&e(d)}}}}var kv=new Set,Av=e=>!!e&&kv.has(e),jv=e=>{e&&kv.add(e)},Mv=new Map,Nv=e=>e?Mv.get(e)||r.m(Fv(e)||e):void 0,Pv=(e,t,n)=>{e&&t>0&&n>0&&Mv.set(e,{width:t,height:n})},Fv=e=>{try{let t=new URL(e).pathname.split(`/o/`)[1];return t?decodeURIComponent(t):``}catch{return``}},Iv=(e,t)=>{let n=Fv(e);if(!n)return``;let r=n.lastIndexOf(`/`);return`${r>=0?n.slice(0,r+1):``}${t(n.slice(r+1))}`},Lv=e=>Iv(e,r._),Rv=e=>Iv(e,r.d),zv=(e,t)=>t===`sm`?Lv(e):t===`md`?Rv(e):Fv(e);function Bv(e,t){if(!e||t===`full`||!r.c(e))return``;let n=Fv(e);if(!n.startsWith(`pub_`))return``;let i=zv(e,t);if(!i||i===n)return``;try{let t=new URL(e);return t.pathname=`${t.pathname.split(`/o/`)[0]}/o/${encodeURIComponent(i)}`,t.search=`?alt=media`,t.toString()}catch{return``}}var Vv=`none`,Hv=new Map,Uv=new Map,Wv=`fbos_small_pictures`,Gv=()=>{try{let e=JSON.parse(sessionStorage.getItem(Wv)||`{}`)||{},t={};for(let[n,r]of Object.entries(e))t[n]=typeof r==`string`?{sm:r}:r||{};return t}catch{return{}}},Kv=e=>{let t=Hv.get(e);if(t)return t;let n=Gv()[e];return n&&Hv.set(e,n),n||{}},qv=(e,t,n)=>{if(t===`full`)return;let r={...Kv(e),[t]:n};Hv.set(e,r);try{let t=Gv();t[e]=r,sessionStorage.setItem(Wv,JSON.stringify(t))}catch{}};function Jv(e,t){if(!e||t===`full`)return``;let n=Kv(e)[t];return n===void 0?Bv(e,t):n===Vv?``:n}var Yv=(e,t)=>!!e&&t!==`full`&&Kv(e)[t]!==void 0,Xv=(e,t)=>Yv(e,t)&&!Jv(e,t),Zv=(e,t)=>{e&&t!==`full`&&qv(e,t,Vv)};async function Qv(e,t){if(t===`full`)return e;if(!e||!r.c(e)||r.u(e))return``;if(Yv(e,t))return Jv(e,t);let n=Bv(e,t);if(n)return n;let i=`${t}|${e}`,a=Uv.get(i);if(a)return a;let o=zv(e,t);if(!o||!C)return``;let s;try{s=(0,u.getDownloadURL)((0,u.ref)(C,o)).then(n=>(qv(e,t,n),n)).catch(()=>(qv(e,t,Vv),``)).finally(()=>{Uv.delete(i)})}catch{return qv(e,t,Vv),``}return Uv.set(i,s),s}var $v=[],ey=0,ty=()=>{for(;ey<3&&$v.length;){let e=$v.shift();if(Av(e))continue;ey++;let t=new Image,n=()=>{ey--,ty()};t.decoding=`async`,t.onload=()=>{jv(e),Pv(e,t.naturalWidth,t.naturalHeight),n()},t.onerror=n,t.src=e}};function ny(e){if(!(typeof Image>`u`)){for(let t of e)!t||Av(t)||$v.includes(t)||$v.push(t);ty()}}var ry={sm:400,md:800,full:1/0},iy=[`sm`,`md`,`full`],ay=e=>iy[iy.indexOf(e)+1]??null,oy=e=>iy.indexOf(e)>0?iy[iy.indexOf(e)-1]:null,sy=(e,t)=>iy.indexOf(e)>=iy.indexOf(t)?e:t;function cy(e,t,n){let r=Math.max(0,e?.width||0),i=Math.max(0,e?.height||0),a=Math.min(2,Number.isFinite(n)&&n>0?n:1),o;if(t&&t.width>0&&t.height>0){let e=Math.max(r/t.width,i/t.height);o=Math.max(t.width,t.height)*e}else o=Math.max(r,i);return o*=a,iy.find(e=>ry[e]>=o)??`full`}var ly=`60dvh`,uy=(0,a.createContext)(!1),dy=e=>!!e&&e.complete&&e.naturalWidth>0;function fy({src:e,alt:t=``,small:n,medium:r,width:i,height:s,ratio:c,className:l=``,imgClassName:u=``,fit:d=`cover`,priority:f=!1,preload:p,tint:m,onClick:h,draggable:g,fallback:_,onError:v}){let y=(0,a.useRef)(null),b=(0,a.useRef)(null),[x,S]=(0,a.useState)(null),[C,w]=(0,a.useState)(``),T=(0,a.useContext)(uy),ee=(e,t)=>!e||!t?``:t===`full`?e:t===`sm`&&n?n:t===`md`&&r?r:Jv(e,t),[E,D]=(0,a.useState)(()=>({src:e,rung:null,link:``,ready:!1,under:``,failed:!1}));if(E.src!==e||E.rung!==x){let t=ee(e,x),n=!!t&&Av(t);D({src:e,rung:x,link:t,ready:n,under:n?``:E.ready&&!E.failed?E.link:E.under,failed:!1})}let te=/(^|\s)w-auto(\s|$)/.test(l),ne=/(^|\s)(aspect-|inset-0|absolute)/.test(l)||!te&&/(^|\s)(h-|min-h-)(?!(auto|fit|min|max|0)(\s|$))/.test(l),O=(0,a.useCallback)(()=>{let t=y.current;if(!t)return;let n=t.getBoundingClientRect();ne&&n.width>0&&n.height<1&&w(l);let r=Nv(e)||(i&&s?{width:i,height:s}:void 0),a=typeof window>`u`?1:window.devicePixelRatio||1,o=n.width>0||n.height>0?cy({width:n.width,height:n.height},r,a):`full`;for(;Xv(e,o);){let e=ay(o);if(!e)break;o=e}S(e=>e?sy(e,o):o)},[e,i,s,ne,l]),k=(0,a.useCallback)(e=>{if(y.current=e,b.current?.disconnect(),b.current=null,!e||(O(),typeof ResizeObserver>`u`))return;let t=new ResizeObserver(()=>O());t.observe(e),b.current=t},[O]),A=(0,a.useCallback)(e=>{S(t=>sy(t??e,ay(e)??e))},[]);(0,a.useEffect)(()=>{if(!x||E.link||E.src!==e||E.rung!==x)return;let t=!0;return Qv(e,x).then(n=>{t&&(n?D(t=>t.src===e&&t.rung===x&&!t.link?{...t,link:n,ready:Av(n)}:t):A(x))}).catch(()=>{t&&A(x)}),()=>{t=!1}},[e,x,E.link,E.src,E.rung,A]);let re=x?oy(x):null,j=`${x}|${e}`,[M,N]=(0,a.useState)({key:``,rung:null,link:``,ready:!1});if(M.key!==j){let t=ee(e,re);N({key:j,rung:re,link:t,ready:!!t&&Av(t)})}(0,a.useEffect)(()=>{if(M.key!==j||!M.rung||M.link)return;let t=!0,n=M.rung;return Qv(e,n).then(e=>{!t||!e||N(t=>t.key===j&&!t.link?{...t,link:e,ready:Av(e)}:t)}).catch(()=>{}),()=>{t=!1}},[e,j,M.key,M.rung,M.link]);let P=(p||[]).filter(Boolean).join(`|`);(0,a.useEffect)(()=>{if(!P||!x)return;let e=setTimeout(()=>{let e=P.split(`|`);Promise.all(e.map(e=>Qv(e,x).catch(()=>``))).then(t=>ny(t.map((t,n)=>t||e[n]))).catch(()=>{})},250);return()=>clearTimeout(e)},[P,x]);let ie=Nv(e)||(i&&s?{width:i,height:s}:void 0),F=ne&&C!==l,I=F?0:c||(ie?ie.width/ie.height:0),L=d===`contain`?`object-contain`:`object-cover`,R=`absolute inset-0 w-full h-full ${L} ${u}`,ae=!ne&&!te&&!/(^|\s)max-h-/.test(l),z=T&&ae,oe=z?I?{maxWidth:`calc(${ly} * ${I})`,marginInline:`auto`}:{maxHeight:ly,marginInline:`auto`}:void 0,se=z&&!I?{maxHeight:ly,width:`auto`,marginInline:`auto`}:void 0,ce=(t,n)=>{let r={width:n.naturalWidth,height:n.naturalHeight},i=()=>{jv(t),Pv(e,r.width,r.height),D(e=>e.link===t?{...e,ready:!0,under:``}:e)},a=n.decode?.();a&&typeof a.then==`function`?a.then(i,i):i()},le=I||F?``:E.under||E.link,B=E.failed,ue=!E.ready&&!B&&!E.under,de=ue&&!!M.link&&M.key===j,fe=/(^|\s)(absolute|fixed|sticky)(\s|$)/.test(l);return(0,o.jsxs)(`span`,{ref:k,onClick:h,"data-picture":E.ready?`ready`:`loading`,"data-ratio":I?String(I):void 0,"data-rung":x||void 0,className:`${fe?``:`relative`} block overflow-hidden isolate ${l}`,style:I||oe?{...I?{aspectRatio:String(I)}:null,...oe}:void 0,children:[ue&&!(de&&M.ready)&&(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`fbos-picture-tint absolute inset-0`,style:m?{background:m}:void 0}),de&&(0,o.jsx)(`img`,{src:M.link,alt:``,"aria-hidden":`true`,draggable:!1,decoding:`async`,loading:f?`eager`:`lazy`,fetchPriority:f?`high`:void 0,ref:e=>{dy(e)&&!M.ready&&N(e=>e.link===M.link?{...e,ready:!0}:e)},onLoad:()=>N(e=>e.link===M.link?{...e,ready:!0}:e),onError:()=>{let t=M.rung;t&&Zv(e,t),N(e=>e.key===j?{key:j,rung:t?oy(t):null,link:``,ready:!1}:e)},className:`fbos-picture-standin ${R} ${M.ready?`opacity-100`:`opacity-0`}`},`stand-${M.link}`),E.under&&E.under!==E.link&&(0,o.jsx)(`img`,{src:E.under,alt:``,"aria-hidden":`true`,draggable:!1,className:le===E.under?`block w-full h-auto ${L} ${u}`:R,style:le===E.under?se:void 0},`under-${E.under}`),!B&&!!E.link&&(0,o.jsx)(`img`,{ref:e=>{e&&dy(e)&&!E.ready&&ce(E.link,e)},src:E.link,alt:t,draggable:g,loading:f?`eager`:`lazy`,fetchPriority:f?`high`:void 0,decoding:`async`,onLoad:e=>ce(E.link,e.currentTarget),onError:()=>{if(E.rung&&E.rung!==`full`){Zv(e,E.rung),A(E.rung);return}D(t=>t.src===e?{...t,failed:!0}:t),v?.()},className:`fbos-picture-img ${le===E.link?`block w-full h-auto ${L} ${u}`:R} ${E.ready?`opacity-100`:`opacity-0`}`,style:le===E.link?se:void 0},E.link),B&&!E.under&&(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center px-2 text-center text-[11px] font-semibold text-foreground/35`,children:_??(t||`Picture unavailable`)})]})}var py={borderRadius:`var(--input-radius, 0.75rem)`},my=e=>/\.(png|jpe?g|gif|webp|avif|svg|heic|heif|bmp)$/i.test(e),hy=e=>{let t=(e.split(`.`).pop()||``).toLowerCase();return t&&t.length<=4&&t!==e.toLowerCase()?t:`file`};function gy({field:e,value:t,error:r,onChange:i}){let[s,c]=(0,a.useState)(0),[l,u]=(0,a.useState)(``),d=(0,a.useRef)(null),f=s>0,p=bv(t),m=async e=>{let t=Array.from(e||[]);d.current&&(d.current.value=``),t.length&&(u(``),c(e=>e+t.length),await Promise.all(t.map(async e=>{try{let t=await yv(e,x.currentUser);i(e=>xv([...bv(e),t]))}catch(e){u(e?.code===`storage/unauthorized`?`That kind of file is not accepted. Try a PDF, a document or a picture.`:Tv(e))}finally{c(e=>e-1)}})))},h=e=>{u(``),i(t=>xv(bv(t).filter(t=>t!==e)))},{over:g,dropProps:_}=Ov({accept:e.accept,multiple:!0,disabled:f,onFiles:m,onReject:()=>u(`That kind of file is not accepted here.`)}),v=r||l,y=g?`Drop to attach`:p.length?`Add another file`:e.placeholder||`Drop a file or choose one`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:e.label}),p.length>0&&(0,o.jsx)(`ul`,{className:`flex flex-col gap-2 mb-2`,children:p.map(e=>{let t=wv(e);return(0,o.jsxs)(`li`,{className:`flex items-center gap-3 w-full pl-2 pr-2 py-2 border border-[var(--panel-border)]`,style:py,children:[my(t)?(0,o.jsx)(fy,{src:e,alt:t,fit:`cover`,className:`w-11 h-11 shrink-0 rounded-lg overflow-hidden`}):(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`w-11 h-11 shrink-0 rounded-lg bg-foreground/[0.05] flex items-center justify-center text-[11px] font-semibold uppercase tracking-wide text-foreground/60`,children:hy(t)}),(0,o.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-[14px] text-foreground`,children:t}),(0,o.jsx)(`button`,{type:`button`,onClick:()=>h(e),"aria-label":`Remove ${t}`,title:`Remove`,className:`w-8 h-8 shrink-0 inline-flex items-center justify-center rounded-lg text-foreground/45 hover:text-foreground hover:bg-foreground/[0.06] active:scale-[0.97] transition-colors cursor-pointer`,children:(0,o.jsx)(n.o,{className:`w-4 h-4`})})]},e)})}),(0,o.jsxs)(`label`,{..._,className:`flex flex-col items-center justify-center gap-1 w-full px-5 text-center border border-dashed transition-[border-color,background-color] duration-200 cursor-pointer ${p.length?`py-4`:`py-7`} ${g?`border-accent bg-accent/[0.05]`:`border-foreground/15 bg-foreground/[0.015] hover:border-accent/50 hover:bg-foreground/[0.03]`} ${f?`pointer-events-none`:``}`,style:py,children:[f?(0,o.jsx)(D_,{size:`sm`,label:s>1?`Uploading ${s} files...`:`Uploading...`}):(0,o.jsx)(`span`,{className:`text-[14px] font-medium ${g?`text-accent`:`text-foreground/70`}`,children:y}),(0,o.jsx)(`input`,{ref:d,type:`file`,multiple:!0,accept:e.accept,"aria-label":e.label,disabled:f,onChange:e=>m(e.target.files),className:`hidden`})]}),v&&(0,o.jsx)(`span`,{className:`text-[13px] text-red-500 font-medium mt-1.5`,children:v})]})}var _y=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],vy={mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},yy={mon:`Mon`,tue:`Tue`,wed:`Wed`,thu:`Thu`,fri:`Fri`,sat:`Sat`,sun:`Sun`},by=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],xy=[{value:`text`,label:`Short text`},{value:`textarea`,label:`Long text`},{value:`tel`,label:`Phone`},{value:`email`,label:`Email`},{value:`number`,label:`Number`},{value:`date`,label:`Date`},{value:`select`,label:`Choose one`},{value:`checkbox`,label:`Yes-no`},{value:`file`,label:`A file`}],Sy=new Set(xy.map(e=>e.value)),Cy={text:`Your answer`,textarea:`A sentence or two`,tel:`+1 555 0123`,email:`jane@example.com`,number:`2`,date:``,select:`Choose one…`,checkbox:``,file:`Attach a file, or drop it here`},wy=new Set(Object.values(Cy).filter(Boolean)),Ty=e=>e!==`date`&&e!==`checkbox`,Ey=(e,t)=>{if(!Ty(t))return``;let n=String(e.placeholder||``).trim();return!n||wy.has(n)?Cy[t]:e.placeholder},Dy=[{name:`name`,type:`text`,label:`Your name`,placeholder:`Jane Doe`},{name:`email`,type:`email`,label:`Your email`,placeholder:`jane@example.com`}],Oy=new Set(Dy.map(e=>e.name)),ky=e=>Oy.has(e),Ay=e=>{let t=Dy.find(t=>t.name===e);return{name:t.name,label:t.label,type:t.type,required:!0,placeholder:t.placeholder,options:[]}},jy=(e,t)=>e.find(e=>e.name===t)||Ay(t),My=()=>[Ay(`name`),Ay(`email`),{name:`note`,label:`Anything we should know?`,type:`textarea`,required:!1,placeholder:``,options:[]}],Ny=()=>({name:``,label:``,type:`text`,required:!1,placeholder:Cy.text,options:[]}),Py=e=>String(e||``).toLowerCase().trim().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).slice(0,60);function Fy(e,t,n){if(e.name&&e.name!==Py(e.label))return e.name;let r=Py(t);if(!r)return``;let i=n.filter(t=>t!==e).map(e=>e.name);if(!i.includes(r))return r;let a=2;for(;i.includes(`${r}_${a}`);)a++;return`${r}_${a}`}var Iy=(e,t)=>{let n=String(e?.label||``),r=Sy.has(String(e?.type))?String(e.type):`text`;return{name:String(e?.name||``).trim()||Py(n)||(n.trim()?`answer_${t+1}`:``),label:n,type:r,required:e?.required===!0,placeholder:String(e?.placeholder||``),options:r===`select`&&Array.isArray(e?.options)?e.options.map(e=>String(e||``)):[]}};function Ly(e){let t=Array.isArray(e)?e.map(Iy).filter(e=>e.name):My();return[...Dy.map(e=>{let n=t.find(t=>t.name===e.name),r=Ay(e.name);return n?{...r,label:n.label.trim()?n.label:r.label,placeholder:n.placeholder}:r}),...t.filter(e=>!ky(e.name))]}var Ry=e=>e.filter(e=>e.label.trim()&&!ky(e.name));function zy(e,t){let n={};for(let r of Ry(e))r.required&&(String(t[r.name]||``).trim()||(n[r.name]=r.type===`checkbox`?`Please tick this to book.`:r.type===`file`?`Please attach a file to book.`:`Please answer this.`));return n}function By(e,t){let n={};for(let r of Ry(e)){let e=String(t[r.name]||``).trim();e&&(n[r.name]=e)}return n}function Vy(e,t){let n={};for(let r of Ry(e)){let e=String(t[r.name]||``).trim();e&&(n[r.label.trim()]=e)}return n}var Hy=`booking`,Uy=`sys_schedules`,Wy=`pub_bookings`,Gy=`mem_bookings`,Ky=[{value:`15`,label:`15 minutes`},{value:`30`,label:`30 minutes`},{value:`45`,label:`45 minutes`},{value:`60`,label:`1 hour`},{value:`90`,label:`1½ hours`},{value:`120`,label:`2 hours`}],qy=[{value:`7`,label:`A week ahead`},{value:`14`,label:`Two weeks ahead`},{value:`30`,label:`A month ahead`},{value:`60`,label:`Two months ahead`},{value:`90`,label:`Three months ahead`}],Jy=[{value:`0`,label:`No notice needed`},{value:`2`,label:`At least 2 hours`},{value:`12`,label:`At least 12 hours`},{value:`24`,label:`At least a day`},{value:`48`,label:`At least two days`}],Yy=Array.from({length:48},(e,t)=>{let n=`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`;return{value:n,label:n}}),Xy=[...Yy.slice(1),{value:`24:00`,label:`Midnight`}],Zy={from:`09:00`,to:`17:00`},Qy=(e,t=e,n=``,r=ub())=>({id:e,memberId:t,memberName:n,name:``,description:``,questions:My(),paymentId:``,notifyOwner:!0,confirmBooker:!0,enabled:!1,timeZone:r,slotMinutes:30,days:{mon:[Zy],tue:[Zy],wed:[Zy],thu:[Zy],fri:[Zy],sat:[],sun:[]},blocked:[],horizonDays:30,noticeHours:12}),$y=/^([01]\d|2[0-3]):[0-5]\d$/,eb=/^(([01]\d|2[0-3]):[0-5]\d|24:00)$/,tb=e=>{let t=String(e?.from||``),n=String(e?.to||``);return $y.test(t)&&eb.test(n)?{from:t,to:n}:null},$=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},nb=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,rb=e=>{let t=String(e||``);if(!nb.test(t))return!1;let[n,r,i]=t.split(`-`).map(Number),a=new Date(Date.UTC(n,r-1,i));return a.getUTCFullYear()===n&&a.getUTCMonth()===r-1&&a.getUTCDate()===i};function ib(e){if(!Array.isArray(e))return[];let t=new Map;for(let n of e){let e=typeof n==`string`?n:String(n?.date||``);if(!rb(e))continue;let r=Array.isArray(n?.windows)?n.windows.map(e=>tb(e)).filter(e=>!!e&&$(e.to)>$(e.from)):[],i=t.get(e);i&&i.length&&r.length?t.set(e,[...i,...r]):t.set(e,i&&!i.length?[]:r)}return[...t.entries()].map(([e,t])=>({date:e,windows:t.sort((e,t)=>$(e.from)-$(t.from))})).sort((e,t)=>e.date.localeCompare(t.date))}function ab(e,t){let n=e.blocked.find(e=>e.date===t);return n?n.windows.length?n.windows:[sb]:[]}var ob=(e,t)=>e.blocked.some(e=>e.date===t&&e.windows.length===0),sb={from:`00:00`,to:`24:00`},cb=(e,t,n)=>{let r=typeof e==`number`?e:Number(e);return!Number.isFinite(r)||r<0||n&&!n.includes(r)?t:r},lb=(e,t)=>{let n=!String(t?.memberId||``).trim(),r=n?e:String(t.memberId),i=String((n?t?.name:t?.memberName)||``),a=Qy(e,r,i,`UTC`),o={...a.days};for(let e of _y){let n=t?.days?.[e];o[e]=Array.isArray(n)?n.map(tb).filter(e=>!!e):[]}let s=t?.days&&typeof t.days==`object`;return{id:e,memberId:r,memberName:i,name:String(t?.name||``),description:String(t?.description||``),questions:Ly(t?.questions),paymentId:String(t?.paymentId||``),notifyOwner:t?.notifyOwner!==!1,confirmBooker:t?.confirmBooker!==!1,enabled:t?.enabled===!0,timeZone:fb(t?.timeZone)?String(t.timeZone):a.timeZone,slotMinutes:cb(t?.slotMinutes,30,Ky.map(e=>Number(e.value))),days:s?o:a.days,blocked:ib(t?.blocked),horizonDays:cb(t?.horizonDays,30),noticeHours:cb(t?.noticeHours,12),createdAt:typeof t?.createdAt==`number`?t.createdAt:void 0,updatedAt:typeof t?.updatedAt==`number`?t.updatedAt:void 0}};function ub(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}var db=new Map;function fb(e){if(typeof e!=`string`||!e.trim())return!1;let t=db.get(e);if(t!==void 0)return t;let n=!1;try{new Intl.DateTimeFormat(`en-US`,{timeZone:e}),n=!0}catch{n=!1}return db.set(e,n),n}function pb(){try{return Intl.supportedValuesOf?Intl.supportedValuesOf(`timeZone`):[`UTC`]}catch{return[`UTC`]}}function mb(e,t=12){let n=e.trim().toLowerCase().replace(/\s+/g,`_`),r=pb(),i=ub(),a=n?r.filter(e=>e.toLowerCase().includes(n)):r;return(a.includes(i)?[i,...a.filter(e=>e!==i)]:a).slice(0,t)}var hb=new Map,gb=e=>{let t=hb.get(e);return t||(t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,hourCycle:`h23`,weekday:`short`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),hb.set(e,t)),t};function _b(e,t){let n={};for(let r of gb(t).formatToParts(e))n[r.type]=r.value;let r=Number(n.year),i=Number(n.month),a=Number(n.day),o=Number(n.hour)%24,s=Number(n.minute);return{year:r,month:i,day:a,hour:o,minute:s,second:Number(n.second),weekday:(n.weekday||`Mon`).slice(0,3).toLowerCase(),dateKey:`${r}-${String(i).padStart(2,`0`)}-${String(a).padStart(2,`0`)}`,time:`${String(o).padStart(2,`0`)}:${String(s).padStart(2,`0`)}`}}function vb(e,t){let n=_b(t,e),r=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second);return Math.round((r-t.getTime())/6e4)}function yb(e,t,n){let[r,i,a]=e.split(`-`).map(Number),[o,s]=t.split(`:`).map(Number),c=Date.UTC(r,i-1,a,o,s),l=vb(n,new Date(c)),u=c-l*6e4,d=vb(n,new Date(u));return d!==l&&(u=c-d*6e4,vb(n,new Date(u))!==d&&(u=c-Math.min(l,d)*6e4)),new Date(u)}function bb(e,t){let[n,r,i]=e.split(`-`).map(Number),a=new Date(Date.UTC(n,r-1,i+t));return`${a.getUTCFullYear()}-${String(a.getUTCMonth()+1).padStart(2,`0`)}-${String(a.getUTCDate()).padStart(2,`0`)}`}function xb(e){let[t,n,r]=e.split(`-`).map(Number);return by[new Date(Date.UTC(t,n-1,r)).getUTCDay()]}function Sb(e,t){let[n,r]=e.split(`-`).map(Number);return new Intl.DateTimeFormat(t,{month:`long`,year:`numeric`,timeZone:`UTC`}).format(new Date(Date.UTC(n,r-1,1)))}function Cb(e,t){let[n,r]=e.split(`-`).map(Number),i=new Date(Date.UTC(n,r-1+t,1));return`${i.getUTCFullYear()}-${String(i.getUTCMonth()+1).padStart(2,`0`)}`}var wb=(e,t)=>e.start<t.end&&t.start<e.end,Tb=(e,t)=>`${e}__${t.replace(/[-:]/g,``).slice(0,15)}`,Eb=[{value:``,label:`Theme`,hex:`var(--accent-color)`},{value:`rose`,label:`Rose`,hex:`#f43f5e`},{value:`amber`,label:`Amber`,hex:`#f59e0b`},{value:`emerald`,label:`Green`,hex:`#10b981`},{value:`sky`,label:`Blue`,hex:`#0ea5e9`},{value:`fuchsia`,label:`Pink`,hex:`#d946ef`},{value:`slate`,label:`Grey`,hex:`#64748b`}],Db=e=>(Eb.find(t=>t.value===e)||Eb[0]).hex,Ob=(e,t)=>`color-mix(in srgb, ${Db(e)} ${t}%, transparent)`,kb=Array.from({length:96},(e,t)=>{let n=`${String(Math.floor(t/4)).padStart(2,`0`)}:${String(t%4*15).padStart(2,`0`)}`;return{value:n,label:n}}),Ab=[...Ky,{value:`180`,label:`3 hours`},{value:`240`,label:`4 hours`}],jb=e=>e.own?(e.title||``).trim()||`Busy`:(e.name||``).trim()||`Someone`;function Mb(e,t){let{hour:n,minute:r}=_b(e,t),i=Math.ceil((n*60+r)/15);return i>=96?`23:45`:kb[i].value}function Nb(e,t){if(!ux(e))return[];let{now:n}=t,r=(t.taken||[]).filter(t=>t.memberId===e.memberId),i=e.timeZone,a=e.slotMinutes*6e4,o=n.getTime()+e.noticeHours*36e5,s=Math.max(1,Math.min(t.days??e.horizonDays,e.horizonDays)),c=_b(n,i).dateKey,l=new Map;for(let t=0;t<s;t++){let n=bb(c,t);if(ob(e,n))continue;let s=ab(e,n).map(e=>({start:yb(n,e.from,i).toISOString(),end:yb(n,e.to,i).toISOString()})),u=(e.days[xb(n)]||[]).filter(e=>$(e.to)>$(e.from)).sort((e,t)=>$(e.from)-$(t.from));for(let t of u){let c=yb(n,t.from,i).getTime(),u=yb(n,t.to,i).getTime();for(let t=c;t+a<=u;t+=a){if(t<o||l.has(t))continue;let n={start:new Date(t).toISOString(),end:new Date(t+a).toISOString(),memberId:e.memberId,scheduleId:e.id};r.some(e=>wb(e,n))||s.some(e=>wb(e,n))||l.set(t,n)}}}return[...l.keys()].sort((e,t)=>e-t).map(e=>l.get(e))}function Pb(e,t){return e.flatMap(e=>Nb(e,t)).sort((e,t)=>e.start.localeCompare(t.start)||e.memberId.localeCompare(t.memberId)||e.scheduleId.localeCompare(t.scheduleId))}function Fb(e){let t=new Set,n=[];for(let r of e)t.has(r.memberId)||(t.add(r.memberId),n.push(r));return n}function Ib(e,t,n){let r=e.timeZone,i=_b(t,r).dateKey,a=[],o=[];for(let t=0;t<n;t++){let n=bb(i,t);if(!ob(e,n)){for(let t of e.days[xb(n)]||[])$(t.to)<=$(t.from)||a.push({from:yb(n,t.from,r).getTime(),to:yb(n,t.to,r).getTime()});for(let t of ab(e,n))o.push({from:yb(n,t.from,r).getTime(),to:yb(n,t.to,r).getTime()})}}return o.reduce((e,t)=>zb(e,t),Lb(a))}function Lb(e){let t=[...e].sort((e,t)=>e.from-t.from),n=[];for(let e of t){let t=n[n.length-1];t&&e.from<=t.to?t.to=Math.max(t.to,e.to):n.push({...e})}return n}function Rb(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=Math.max(e[r].from,t[i].from),o=Math.min(e[r].to,t[i].to);a<o&&n.push({from:a,to:o}),e[r].to<t[i].to?r++:i++}return n}function zb(e,t){let n=[];for(let r of e){if(t.to<=r.from||t.from>=r.to){n.push(r);continue}t.from>r.from&&n.push({from:r.from,to:t.from}),t.to<r.to&&n.push({from:t.to,to:r.to})}return n}function Bb(e,t){let n=Fb(e.filter(ux));if(!n.length)return[];if(n.length===1)return Nb(n[0],t);let{now:r}=t,i=Math.max(...n.map(e=>e.slotMinutes))*6e4,a=Math.min(...n.map(e=>e.horizonDays)),o=Math.max(1,Math.min(t.days??a,a)),s=r.getTime()+Math.max(...n.map(e=>e.noticeHours))*36e5,c=Ib(n[0],r,o);for(let e of n.slice(1)){if(!c.length)break;c=Rb(c,Ib(e,r,o))}let l=new Set(n.map(e=>e.memberId));for(let e of t.taken||[]){if(!c.length)break;if(!l.has(e.memberId))continue;let t=Date.parse(e.start),n=Date.parse(e.end);!Number.isFinite(t)||!Number.isFinite(n)||n<=t||(c=zb(c,{from:t,to:n}))}let u=n[0],d=[];for(let e of c)for(let t=e.from;t+i<=e.to;t+=i)t<s||d.push({start:new Date(t).toISOString(),end:new Date(t+i).toISOString(),memberId:u.memberId,scheduleId:u.id});return d.sort((e,t)=>e.start.localeCompare(t.start))}var Vb=(e,t,n)=>n?Bb(e,t):Pb(e,t),Hb=(e,t)=>{let n=Fb(t);return n.length?n.map(t=>({start:e.start,end:e.end,memberId:t.memberId,scheduleId:t.id})):[e]},Ub=e=>new Set(e.map(e=>e.memberId)).size>1,Wb=(e,t)=>t.find(t=>t.id===e.scheduleId)||t.find(t=>t.memberId===e.memberId),Gb=e=>`/book/${e}`,Kb=e=>`/pay/${e}`;function qb(e){let t=typeof window<`u`&&window.location?.origin?window.location.origin:``;return t?`${t}${e}`:e}function Jb(e,t,n){let r=new Map;for(let i of e){let e=new Date(i.start),{dateKey:a}=_b(e,t),o=r.get(a);o||(o={dateKey:a,label:Yb(e,t,n),slots:[]},r.set(a,o)),o.slots.push(i)}return[...r.values()].sort((e,t)=>e.dateKey.localeCompare(t.dateKey))}function Yb(e,t,n){return new Intl.DateTimeFormat(n,{timeZone:t,weekday:`short`,day:`numeric`,month:`short`,year:`numeric`}).format(e)}function Xb(e,t,n){return new Intl.DateTimeFormat(n,{timeZone:t,hour:`numeric`,minute:`2-digit`}).resolvedOptions().hour12===!0?new Intl.DateTimeFormat(n,{timeZone:t,hour:`numeric`,minute:`2-digit`}).format(e):new Intl.DateTimeFormat(n,{timeZone:t,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}).format(e)}function Zb(e,t,n){let r=new Date(e.start),i=new Date(e.end);return`${Yb(r,t,n)}, ${Xb(r,t,n)}–${Xb(i,t,n)}`}function Qb(e,t,n){let r=new Date(e.start);return{day:Yb(r,t,n),time:`${Xb(r,t,n)} – ${Xb(new Date(e.end),t,n)}`}}var $b=e=>e.replace(/_/g,` `).replace(/\//g,` / `);function ex(e,t,n,r){let i=t.trim();return`${Zb(e,n,r)} (${$b(n)})${i?` with ${i}`:``}`}var tx=(e,t=!1)=>`${e.start}|${e.end}|${e.memberId}|${e.scheduleId}${t?`|t`:``}`;function nx(e){if(typeof e!=`string`)return null;let[t,n,r,i]=e.split(`|`);return!t||!n||!r||Number.isNaN(Date.parse(t))||Number.isNaN(Date.parse(n))?null:{start:t,end:n,memberId:r,scheduleId:i||``}}var rx=e=>typeof e==`string`&&e.split(`|`)[4]===`t`;function ix(e,t,n,r,i){return{[e]:ex(t,n,r,i),[`${e}Start`]:t.start,[`${e}End`]:t.end,[`${e}With`]:n,[`${e}TimeZone`]:r}}function ax(e,t){let n=e[`${t}Start`],r=e[`${t}End`];if(typeof n!=`string`||typeof r!=`string`||Number.isNaN(Date.parse(n))||Number.isNaN(Date.parse(r)))return null;let i=e[`${t}With`],a=e[`${t}TimeZone`];return{start:n,end:r,with:typeof i==`string`?i:``,timeZone:typeof a==`string`?a:``}}var ox=e=>Object.keys(e||{}).some(t=>ax(e,t)!==null);function sx(e){return e.memberName.trim()?e.memberId.trim()?fb(e.timeZone)?Ky.some(t=>Number(t.value)===e.slotMinutes)?cx(e,e.slotMinutes):`Say how long a booking lasts.`:`Pick a time zone we know, like Europe/Rome.`:`Say whose time this is.`:`Give the person the name visitors will see.`}function cx(e,t=0){if(!fb(e.timeZone))return`Pick a time zone we know, like Europe/Rome.`;let n=!1;for(let r of _y){let i=e.days[r]||[];for(let e of i){if(n=!0,$(e.to)<=$(e.from))return`On ${vy[r]}, the end must come after the start.`;if(t&&$(e.to)-$(e.from)<t)return`On ${vy[r]}, the hours are shorter than one booking.`}let a=i.slice().sort((e,t)=>$(e.from)-$(t.from));for(let e=1;e<a.length;e++)if($(a[e].from)<$(a[e-1].to))return`On ${vy[r]}, the two stretches of hours overlap.`}return n?``:`Turn on at least one day.`}var lx=e=>cx(e)===``,ux=e=>e.enabled&&sx(e)===``,dx={15:`A short meeting`,30:`A short meeting`,45:`A 45-minute meeting`,60:`A 1-hour meeting`,90:`A 1½-hour meeting`,120:`A 2-hour meeting`},fx=e=>dx[e.slotMinutes]||`A meeting`,px=e=>e.name.trim()||fx(e),mx=e=>{let t=px(e),n=e.memberName.trim();return n?`${t} with ${n}`:t},hx=(e,t=jx())=>!!e&&t.some(t=>t.id===e);function gx(e,t=``,n=jx()){return e&&hx(e.id,n)?px(e):t.trim()}var _x=e=>{let t=(e.scheduleName||``).trim(),n=(e.memberName||``).trim();return t&&n?`${t} with ${n}`:t||(n?`A meeting with ${n}`:`A meeting`)},vx=e=>Ky.find(t=>Number(t.value)===e)?.label||`${e} min`,yx=e=>{let t=e.memberName.trim();return`${vx(e.slotMinutes)}${t?` with ${t}`:``}. Pick a time that suits you.`},bx=e=>{let t=e.description.trim();return t&&t!==yx(e)?t:``},xx=e=>{let[t,...n]=vx(e).split(` `),r=n.join(` `)||`min`;return{value:t,unit:r.startsWith(`minute`)?`min`:r}},Sx=(e,t)=>e.length===t.length&&e.every((e,n)=>e.from===t[n].from&&e.to===t[n].to);function Cx(e){let t=_y.filter(t=>(e.days[t]||[]).length);if(!t.length)return``;let n=e.days[t[0]],r=t.every(t=>Sx(e.days[t],n)),i=t.map(e=>_y.indexOf(e)),a=i.every((e,t)=>t===0||e===i[t-1]+1)&&t.length>2?`${yy[t[0]]}–${yy[t[t.length-1]]}`:t.map(e=>yy[e]).join(`, `);return r?`${a} ${n.map(e=>`${e.from}–${e.to}`).join(`, `)}`:`${a}, hours vary`}function wx(e){let t=mx(e),n=Cx(e);return n?`${t} — ${n} · ${vx(e.slotMinutes)} · ${$b(e.timeZone)}`:`${t} — no hours yet`}var Tx=(e=new Date)=>new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,10),Ex=e=>e.name.trim()||`Working hours`,Dx=e=>{let t=e.memberName.trim();return t?`${t} · ${Ex(e)}`:Ex(e)};function Ox(e,t=Tx()){let n=Cx(e),r=Ex(e);if(!n)return`${r} — no hours yet`;let i=e.blocked.filter(e=>e.date>=t).length,a=i?` · ${i} day${i===1?``:`s`} blocked`:``;return`${r} — ${n} · ${$b(e.timeZone)}${a}`}var kx=[],Ax=e=>{kx=e},jx=()=>kx,Mx=[],Nx=e=>{Mx=e},Px=()=>Mx,Fx=()=>{let e=new Set(kx.map(e=>e.id));return[...kx,...Mx.filter(t=>!e.has(t.id)&&ux(t))]},Ix=[{value:`calendar`,label:`A full calendar — the page is about booking`},{value:`compact`,label:`A compact time picker — one question among others`}],Lx=[{value:`each`,label:`An individual schedule — they book one of us`},{value:`all`,label:`The united team schedule — one meeting with all of us`},{value:`choose`,label:`Both — the visitor chooses one of us or all of us`}],Rx=new Set(Lx.map(e=>e.value)),zx=e=>Rx.has(String(e?.party))?String(e.party):e?.together===!0?`all`:`each`,Bx=e=>(Array.isArray(e?.schedules)?e.schedules:Array.isArray(e?.members)?e.members:[]).filter(e=>typeof e==`string`||typeof e==`number`).map(e=>String(e).trim()).filter(Boolean);function Vx(e){let t=e?.booking;if(!t||typeof t!=`object`)return null;let n=Bx(t);return n.length?{schedules:n,party:zx(t),ask:String(t.ask||``),how:String(t.how||``)}:null}var Hx=(e,t,n=[])=>{let r=t.find(t=>t.id===e);if(r)return r;let i=n.find(t=>t.id===e);return i?t.find(e=>e.id===(i.scheduleId||i.id)):void 0},Ux=(e,t,n=[])=>{let r=[];for(let i of e){let e=Hx(i,t,n),a=e?e.id:i;r.includes(a)||r.push(a)}return r},Wx=(e,t,n=[])=>{let r=[];for(let i of e.schedules){let e=Hx(i,t,n);e&&!r.some(t=>t.id===e.id)&&r.push(e)}return r};function Gx(e,t,n){if(e.includes(t))return e.filter(e=>e!==t);let r=n.find(e=>e.id===t)?.memberId;return[...r?e.filter(e=>n.find(t=>t.id===e)?.memberId!==r):e,t]}var Kx=e=>{let t=e.map(e=>e.memberName.trim()||`a team member`);return t.length<=1?t.join(``):`${t.slice(0,-1).join(`, `)} and ${t[t.length-1]}`},qx=e=>{let t=e.map(mx);return t.length<=1?t.join(``):`${t.slice(0,-1).join(`, `)}, and ${t[t.length-1]}`};function Jx(e,t,n=t){let r=Vx(e);if(!r)return``;let i=Wx(r,t,n);if(!i.length)return`The schedules picked for this page no longer exist — pick one on the Schedule screen.`;let a=i.find(e=>!lx(e));return a?`Finish ${Dx(a)} on the Schedule screen first.`:r.how.trim()?``:`Say what this page should do with those hours.`}var Yx=`calls?|meetings?|times?|slots?|sessions?|appointments?|visits?|consultations?|chats?|demos?`,Xx=e=>/\b(book|books|booked|booking|bookings|appointment|appointments|reservation|reservations)\b/i.test(e)||RegExp(`\\bschedul\\w*\\s+(?:a|an|my|our|your|their|the|some)?\\s*(?:${Yx})\\b`,`i`).test(e),Zx=/\b(calls?|meetings?|sessions?|appointments?|consultations?|chats?|demos?|visits?|interviews?|viewings?|classes|lessons?|slots?|times?|diar(?:y|ies)|calendars?)\b/i,Qx=e=>{let t=Vx(e);return[e?.brief,e?.pageChange,t?.how,t?.ask].map(e=>String(e||``).trim()).filter(Boolean).join(`
|
|
12
|
-
`)},$x=e=>Xx(e)||Zx.test(e),eS=(e,t=Vx(e))=>!!t&&(!!t.ask.trim()||t.party!==`each`||$x(Qx(e))),tS=`Booking goes through the app's own form system: the page's form gets ONE question of type 'schedule', and the built-in form draws the picker — never build a calendar, a time picker, a list of times or a bookings collection of your own. The app shows every visitor the free times in their own time zone, stops two people taking the same time, and lists every booking on my Schedule screen. It also tells the people it was booked with — the booking is in their bell and on their own calendar the moment it is made — so never send a notification of your own about a booking.`,nS=(e,t=`time`,n=`each`)=>{let r=n===`all`?`, together: true`:n===`choose`?`, party: 'choose'`:``;return`{ name: '${t}', type: 'schedule', label: 'Pick a time', required: true, schedules: [${e.map(e=>`'${e}'`).join(`, `)}]${r} }`},rS=`With together: true the app offers only the times every single one of them is free at the same moment — in the visitor's own time zone — and one booking takes that time in every one of their calendars and tells every one of them. Never work the shared times out yourself, never draw a calendar or a list of anyone's hours, never ask the visitor to pick a person first, and never make more than one booking or more than one time question.`,iS=`With party: 'choose' the built-in picker shows the visitor a switch above the times — meet one of us, or meet all of us. On 'one of us' it offers each person's own free times with their name under each; on 'all of us' only the times every one of them is free at once, and the booking is then made and announced the right way for whichever they chose. Never build that switch, a calendar or a list of anyone's hours yourself, never ask the visitor to pick a person before the switch, and never make more than one time question.`,aS=()=>`More than one person can be booked here, so decide from my words which kind of booking this is. If my words ask for ONE meeting that all of them attend — a united calendar, a time that suits everyone, all of us in it together — add together: true to that question. ${rS} If my words ask to let the visitor pick either — one of us or all of us — add party: 'choose' instead. ${iS} If my words ask only for a time with ONE of them, leave the question as it is: the app then offers each person's own free times, with their name under each, and the visitor picks one of them.`,oS=e=>`Before the time is picked, this page asks the visitor: ${e}. Put each of those on the same form as one more question, choosing the kind of box each answer needs, and keep a name question and an email question on it as well — a visitor who is already signed in is never asked those two, the app fills them in from their account itself.`,sS=`Decide how the picker looks from my words and add a look to that question. look: 'calendar' when the page is about booking — the question draws a whole calendar with the free times under it, so show the form inline with <ContactPopup formId='…' isInline /> and give it the full width of the page, the other questions following once a time is picked. look: 'compact' when booking is one question among others — the question draws a compact picker of days and times and sits among the other questions like any of them, and the form shows the way any other form on the page does. If my words do not say, a page that is about nothing but booking gets the calendar and every other page gets the compact picker.`,cS=`Read them with useBookings() from 'your-ai-workflow-firebase-os' — { loading, bookings, error }, each booking with id, start and end (ISO, UTC), memberId, memberName, name, email, answers and formId — the upcoming ones, soonest first; show error when it is set, format times in the reader's own zone, and cancel one with cancelBooking(id, { reason, side: 'host' }) from the same package — always with a reason, because it is what the other side reads. Never read mem_bookings or pub_bookings by hand, and never write to them. An entry with own:true is an event the owner put on their own calendar rather than a booking: it has no name or email, so title every entry with eventName(booking) from the same package. An entry with cancelled:true was called off — its time is free again, so keep it in the list greyed out and struck through rather than dropping it, and show its cancelReason when it has one. An entry with pending:true is booked but NOT yet agreed to by the person whose hour it is: mark it Pending and never draw it as a settled meeting. They accept their own with acceptBooking(id) — offer that only when booking.memberId is the signed-in person's own uid, because a meeting in somebody else's diary is not theirs to agree to. Turning a booking down is cancelBooking with a reason, never a state of its own.`,lS=`A person's OWN meetings are read with useMyBookings() from 'your-ai-workflow-firebase-os' — { loading, bookings, error }, the same shape useBookings() gives, and it needs no arguments: it answers about whoever is signed in, and finds what they booked as a guest before they had an account as well. NEVER useBookings() on a page like this and never mem_bookings by hand — both are my team's and everybody else is refused, which shows as an error and never as an empty list. Title each one with eventName(booking) from the same package, show the times in the reader's own zone, keep a cancelled one in the list greyed out with its cancelReason rather than dropping it, and mark one that is pending:true as still waiting. They call one off with cancelBooking(id, { ids: booking.copyIds, reason, side: 'booker' }) from the same package — always with a reason — and never accept or decline anything, because the meeting is not in their diary to agree to.`,uS=e=>{let t=Fb(e).map(e=>`'${e.memberId}'`).join(`, `);return`This page is built on ${Kx(e)}'s hours — their week, their own time zone and the days they are away, kept on my Schedule screen. Read them with useTeamHours() from 'your-ai-workflow-firebase-os' and use the ones whose memberId is ${t}; my app's instructions say what is ready to use with them. Never type anybody's hours or times into the page, never invent one, and never read or write sys_schedules yourself.`},dS=(e,t,n)=>{let r=`The free times come from my Schedule screen and follow my hours there, so a change to my week changes this page — never state a length, and never type a day, an hour or a time into the page. ${tS}`;return t===`all`?`People book ONE meeting with ${e} on this page — all of them in it together. ${r}`:t===`choose`?`People book time with ${e} on this page and choose for themselves whether it is with one of them or with all of them at once. ${r}`:`People book time with ${e} on this page${n?` — the visitor picks one of them, then one of that person’s free times`:``}. ${r}`};function fS(e,t,n,r=t){let i=Vx(e);if(!i)return[];let a=Wx(i,t,r);if(!a.length)return[];let o=i.how.trim(),s=i.ask.trim();if(!eS(e,i))return[uS(a),...o?[`Here is what this page should do with those hours: ${o}`]:[]];let c=Fb(a),l=Kx(c),u=[];if(n)u.push(`This page is where my team follows the times people book with ${l}. ${cS}`);else{let t=Ub(c),n=t?i.party:`each`;u.push(dS(l,n,t),`Add exactly this question to the page's form, copied as it is: ${nS(c.map(e=>e.id),`time`,n)}`),n===`all`?u.push(rS):n===`choose`?u.push(iS):t&&u.push(aS()),u.push(sS),e?.pageType&&u.push(`If my words below also ask for the person reading to see what THEY have booked, that is a list and never a second picker. ${lS} If my words do not ask for it, put no such list on the page.`)}return s&&!n&&u.push(oS(s)),o&&u.push(`Here is how booking should work on this page: ${o}`),u}function pS(e,t,n,r,i=n){let a=Vx(t);if(!a||!eS(t,a))return``;let o=Fb(Wx(a,n,i));if(!o.length)return``;let s=Kx(o);return r?`Times are booked with ${s} on the page at ${e}, which this page is linked to. Show those bookings here. ${cS}`:`Times are booked with ${s} on the page at ${e}, which this page is linked to — the booking itself happens there. Put no picker on this page unless I ask for one below.`}var mS=`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] transition-colors hover:border-accent/40`,hS=`inline-flex items-center justify-center gap-1.5 h-8 px-2.5 sm:h-9 sm:px-3 shrink-0 whitespace-nowrap rounded-[var(--btn-radius,0.75rem)] text-[12.5px] font-semibold border border-[var(--panel-border)] bg-transparent text-foreground/60 hover:text-foreground hover:border-accent/40 hover:bg-foreground/[0.04] active:scale-[0.98] transition-all cursor-pointer disabled:opacity-40 disabled:pointer-events-none`,gS=`w-full h-11 px-4 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] text-[14px] text-foreground outline-none transition-all duration-300 placeholder:text-foreground/35 hover:border-accent/40 focus:border-accent disabled:opacity-50 disabled:cursor-not-allowed console-field`,_S=`w-full h-11 flex items-center px-4 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] transition-all duration-300 hover:border-accent/40 focus-within:border-accent console-field`,vS=`flex-1 min-w-0 h-full bg-transparent border-none outline-none shadow-none text-[14px] text-foreground placeholder:text-foreground/35 disabled:cursor-not-allowed`,yS=`text-[12.5px] sm:text-[13px] font-medium text-foreground/50 select-none`,bS=`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug`;function xS({label:e=`cog`}){return(0,o.jsx)(n.N,{role:`img`,"aria-label":e,className:`inline-block w-[1.1em] h-[1.1em] align-[-0.18em] mx-[0.08em] text-foreground/85`})}function SS({children:e,tone:t=`quiet`}){return(0,o.jsx)(`p`,{className:`text-[12.5px] font-medium leading-relaxed px-1 ${t===`error`?`text-red-500`:`text-foreground/50`}`,children:e})}function CS({onClick:e,children:t}){return(0,o.jsx)(`button`,{type:`button`,onClick:e,className:`text-accent font-bold hover:underline cursor-pointer`,children:t})}function wS({state:e=`saved`,label:t}){return(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11.5px] font-semibold text-foreground/50 whitespace-nowrap shrink-0`,children:[e===`saving`?(0,o.jsx)(n.ht,{className:`w-3 h-3 animate-spin text-foreground/40 shrink-0`}):(0,o.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full shrink-0 ${e===`saved`?`bg-emerald-500`:e===`error`?`bg-red-500`:`bg-foreground/25`}`}),t]})}function TS({icon:e,children:t,onClick:r,disabled:i,busy:a,tone:s=`default`,className:c=``,title:l,compact:u}){return(0,o.jsxs)(`button`,{type:`button`,title:l,onClick:r,disabled:i||a,className:`${hS} ${s===`danger`?`hover:text-red-500 hover:border-red-500/40 hover:bg-red-500/[0.06]`:``} ${u?`max-sm:w-8 max-sm:px-0 max-sm:gap-0 max-sm:border-transparent max-sm:hover:border-transparent max-sm:hover:bg-foreground/[0.06]`:``} ${c}`,children:[a?(0,o.jsx)(n.ht,{className:`w-3.5 h-3.5 animate-spin shrink-0`}):e?(0,o.jsx)(e,{className:`w-3.5 h-3.5 shrink-0`}):null,u?(0,o.jsx)(`span`,{className:`max-sm:hidden sm:inline-flex items-center gap-1.5`,children:t}):t]})}function ES({to:e,title:t,children:r,className:i=``}){return(0,o.jsxs)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,title:t,onClick:e=>e.stopPropagation(),className:`${hS} max-sm:w-8 max-sm:px-0 max-sm:gap-0 max-sm:border-transparent max-sm:hover:border-transparent max-sm:hover:bg-foreground/[0.06] ${i}`,children:[(0,o.jsx)(n.Ht,{className:`w-3.5 h-3.5 shrink-0`}),(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:r})]})}var DS=`w-6 h-6 rounded-md flex items-center justify-center text-inherit outline-none hover:text-foreground hover:bg-foreground/[0.07] focus-visible:text-foreground focus-visible:ring-2 focus-visible:ring-accent transition-colors cursor-pointer disabled:opacity-25 disabled:pointer-events-none`;function OS({label:e,canUp:t=!0,canDown:r=!0,onMove:i,hideOnPhone:a,className:s=``}){let c=(t,r)=>(0,o.jsx)(`button`,{type:`button`,title:t===`up`?`Move up`:`Move down`,"aria-label":`Move ${e} ${t}`,disabled:!r,onClick:()=>i(t),className:DS,children:t===`up`?(0,o.jsx)(n._n,{className:`w-3 h-3`}):(0,o.jsx)(n.xn,{className:`w-3 h-3`})});return(0,o.jsxs)(`div`,{className:`${a?`max-sm:hidden sm:flex`:`flex`} items-center shrink-0 text-foreground/40 [@media(hover:hover)]:opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity duration-150 `+s,onClick:e=>e.stopPropagation(),children:[c(`up`,t),c(`down`,r)]})}function kS({icon:e,title:t,description:r,actions:i,children:s,defaultOpen:c=!0,collapsible:l=!0}){let[u,d]=(0,a.useState)(c),f=l?u:!0,p=typeof i==`function`?i({open:()=>d(!0)}):i;return(0,o.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden transition-all`,children:[(0,o.jsxs)(`div`,{className:`w-full px-4 sm:px-5 py-4 grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-x-3 sm:gap-x-3.5 gap-y-0.5 text-left`,children:[e&&(0,o.jsx)(`div`,{className:`row-start-1 col-start-1 row-span-2 self-center w-10 h-10 rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,children:(0,o.jsx)(e,{className:`w-5 h-5`})}),(0,o.jsx)(`span`,{className:`row-start-1 col-start-2 min-w-0 text-[15px] font-bold text-foreground tracking-tight leading-tight truncate self-end`,children:t}),p&&(0,o.jsx)(`div`,{className:`row-start-1 row-span-2 col-start-3 self-center justify-self-end flex items-center gap-1 sm:gap-2 shrink-0`,children:p}),l&&(0,o.jsx)(`button`,{type:`button`,onClick:()=>d(e=>!e),"aria-expanded":f,"aria-label":f?`Collapse ${t}`:`Expand ${t}`,className:`row-start-1 col-start-4 row-span-2 self-center w-8 h-8 rounded-xl border border-[var(--panel-border)]/60 hover:border-accent/40 flex items-center justify-center text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-all cursor-pointer justify-self-end`,children:(0,o.jsx)(n.on,{className:`w-4 h-4 transition-transform duration-200 ${f?`rotate-180`:``}`})}),r&&(0,o.jsx)(`span`,{className:`row-start-2 col-start-2 min-w-0 text-[12px] text-foreground/50 font-normal leading-snug truncate self-start`,children:r})]}),(0,o.jsx)(Xp,{initial:!1,children:f&&(0,o.jsx)(J.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},className:`overflow-hidden`,children:(0,o.jsx)(`div`,{className:`border-t border-[var(--panel-border)]/40 p-4 sm:p-5 flex flex-col gap-5 bg-background/30`,children:s})})})]})}function AS({icon:e,title:t,description:n,chip:r,enabled:i,onChange:a,label:s,children:c}){return(0,o.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden`,children:[(0,o.jsxs)(`div`,{className:`w-full px-4 sm:px-5 py-4 grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-3 sm:gap-x-3.5 gap-y-0.5`,children:[(0,o.jsx)(`div`,{className:`row-start-1 col-start-1 row-span-2 self-center w-10 h-10 rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,children:(0,o.jsx)(e,{className:`w-5 h-5`})}),(0,o.jsx)(`span`,{className:`row-start-1 col-start-2 min-w-0 text-[15px] font-bold text-foreground tracking-tight leading-tight truncate self-end`,children:t}),(0,o.jsx)(`span`,{className:`row-start-2 col-start-2 min-w-0 text-[12px] text-foreground/50 font-normal leading-snug truncate self-start`,children:n}),(0,o.jsxs)(`div`,{className:`row-start-1 row-span-2 col-start-3 self-center justify-self-end flex items-center gap-2 sm:gap-3 shrink-0`,children:[r&&(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:(0,o.jsx)(wS,{state:r.state,label:r.label})}),i!==null&&(0,o.jsx)(IS,{enabled:i,onChange:a,label:s||t})]})]}),c&&(0,o.jsx)(`div`,{className:`border-t border-[var(--panel-border)]/40 p-4 sm:p-5 flex flex-col gap-4 bg-background/30`,children:c})]})}function jS({label:e,hint:t,action:n,children:r,error:i}){return(0,o.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mb-1 sm:mb-1.5 ml-1`,children:[(0,o.jsx)(`label`,{className:yS,children:e}),n]}),r,t&&!i&&(0,o.jsx)(`span`,{className:`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug mt-1 sm:mt-1.5 px-1`,children:t}),i&&(0,o.jsx)(`span`,{className:`text-[11.5px] font-semibold text-red-500 leading-snug mt-1 sm:mt-1.5 px-1`,children:i})]})}function MS({label:e,hint:t,value:n,onChange:r,onBlur:i,placeholder:a,prefix:s,error:c,disabled:l,action:u}){return(0,o.jsx)(jS,{label:e,hint:t,error:c,action:u,children:s?(0,o.jsxs)(`div`,{className:`${_S} ${c?`is-invalid border-red-500/60`:``} ${l?`opacity-50`:``}`,children:[(0,o.jsx)(`span`,{className:`mr-0.5 text-[14px] font-semibold text-foreground/40 select-none shrink-0`,children:s}),(0,o.jsx)(`input`,{type:`text`,value:n??``,disabled:l,placeholder:a,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${vS} no-glow`})]}):(0,o.jsx)(`input`,{type:`text`,value:n??``,disabled:l,placeholder:a,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${gS} ${c?`is-invalid border-red-500/60`:``}`})})}function NS({label:e,hint:t,value:n,onChange:r,onBlur:i,placeholder:a,rows:s,error:c}){return(0,o.jsx)(jS,{label:e,hint:t,error:c,children:(0,o.jsx)(x_,{value:n??``,placeholder:a,rows:s,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${gS.replace(`h-11 `,``)} min-h-11 py-2.5 leading-5 ${c?`is-invalid border-red-500/60`:``}`})})}function PS({label:e,hint:t,value:n,onChange:r,options:i,placeholder:a=`None`,allowEmpty:s=!0,disabled:c}){let l=[...s?[{value:``,label:a}]:[],...i.filter(e=>e.value!==``)];return(0,o.jsx)(jS,{label:e,hint:t,children:(0,o.jsx)(T_,{ariaLabel:e,value:n??``,options:l,onChange:r,disabled:c,className:`console-select`,dense:!0,portal:!0,direction:`auto`})})}function FS({label:e,hint:t,enabled:n,onChange:r,disabled:i,hintWideOnly:a}){return(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-4 w-full`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-0.5 min-w-0 ml-1`,children:[(0,o.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/80`,children:e}),t&&(0,o.jsx)(`span`,{className:`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug${a?` max-sm:hidden`:``}`,children:t})]}),(0,o.jsx)(IS,{enabled:n,onChange:r,disabled:i,label:e})]})}function IS({enabled:e,onChange:t,disabled:n,label:r}){return(0,o.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:n,onClick:n=>{n.stopPropagation(),t(!e)},className:`relative w-10 h-6 rounded-full transition-colors shrink-0 cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed ${e?`bg-accent`:`bg-foreground/15`}`,children:(0,o.jsx)(`span`,{className:`absolute top-1 left-1 w-4 h-4 rounded-full bg-[var(--button-fg,#fff)] shadow transition-transform ${e?`translate-x-4`:`translate-x-0`}`})})}function LS({saving:e,savedAt:t,error:n}){return n?(0,o.jsx)(wS,{state:`error`,label:n}):e?(0,o.jsx)(wS,{state:`saving`,label:`Saving`}):t?(0,o.jsx)(wS,{state:`saved`,label:`Saved`}):null}function RS({label:e=`Time zone`,hint:t,value:r,onChange:i,compact:s}){let[c,l]=(0,a.useState)(``),u=ub(),d=(r||``).trim(),f=(0,a.useMemo)(()=>mb(c),[c]),p=c.trim().length>0,m=t??(d===u?`Detected from your browser.`:`Your browser is in ${$b(u)}.`),h=(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:_S,children:[d&&!p?(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-2 mr-2.5 shrink-0 min-w-0 text-accent`,children:[(0,o.jsx)(n.jt,{className:`w-4 h-4 shrink-0`}),(0,o.jsx)(`span`,{className:`text-[13px] font-semibold truncate`,children:$b(d)}),(0,o.jsx)(n.sn,{className:`w-3.5 h-3.5 shrink-0`})]}):(0,o.jsx)(n.F,{className:`w-4 h-4 mr-2.5 text-foreground/30 shrink-0`}),(0,o.jsx)(`input`,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:d?`Type a city to change it`:`Type a city, e.g. Rome`,"aria-label":`Search time zones`,className:`${vS} no-glow`})]}),p&&(0,o.jsx)(`div`,{className:`rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] p-1.5 max-h-56 overflow-y-auto`,children:f.length>0?(0,o.jsx)(`div`,{className:`flex flex-col`,children:f.map(e=>(0,o.jsxs)(`button`,{type:`button`,"aria-pressed":e===d,onClick:()=>{i(e),l(``)},className:`w-full text-left px-2.5 py-1.5 rounded-lg text-[13px] font-medium transition-colors cursor-pointer ${e===d?`bg-accent text-[var(--button-fg,#fff)]`:`text-foreground/70 hover:text-foreground hover:bg-foreground/[0.06]`}`,children:[$b(e),e===u?` · detected`:``]},e))}):(0,o.jsx)(`span`,{className:`block px-2 py-2 text-[12px] font-medium text-foreground/45`,children:`Nothing close to that. Try a big city near you, like London or Chicago.`})})]});return s?h:(0,o.jsx)(jS,{label:e,hint:m,children:h})}function zS({timeZone:e,onTimeZone:t,action:r}){let[i,s]=(0,a.useState)(!1);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex gap-3 ${r?`max-sm:flex-col max-sm:items-stretch sm:items-center sm:justify-between`:``}`,children:[(0,o.jsxs)(`p`,{className:`flex items-center gap-1.5 text-[12px] font-medium text-foreground/50`,children:[(0,o.jsx)(n.jt,{className:`w-3.5 h-3.5 text-foreground/35 shrink-0`,"aria-hidden":!0}),(0,o.jsxs)(`span`,{children:[`Times in `,$b(e),` · `,(0,o.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`text-accent font-semibold hover:underline cursor-pointer`,children:i?`Done`:`Change`})]})]}),r]}),i&&(0,o.jsx)(RS,{compact:!0,value:e,onChange:e=>{t(e),s(!1)}})]})}var BS=(e,t)=>!!e&&e.memberId===t.memberId&&e.start===t.start&&e.scheduleId===t.scheduleId,VS=`relative flex flex-col items-center justify-center w-full min-h-11 px-3 py-2 rounded-[var(--input-radius,0.75rem)] border text-[14px] font-semibold transition-all duration-200 cursor-pointer`;function HS({slots:e,value:t,onChange:r,timeZone:i,members:a,together:s}){let c=!s&&new Set(a.map(e=>e.memberId)).size>1,l=e=>(a.find(t=>t.id===e.scheduleId)||a.find(t=>t.memberId===e.memberId))?.memberName.trim()||``;return e.length?(0,o.jsx)(`div`,{className:`grid gap-2 [grid-template-columns:repeat(auto-fill,minmax(96px,1fr))]`,role:`listbox`,"aria-label":`Free times`,children:e.map(e=>{let a=BS(t,e),s=Xb(new Date(e.start),i),u=c?l(e):``;return(0,o.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":a,"aria-label":u?`${s} with ${u}`:s,onClick:()=>r(a?null:e),className:`${VS} ${a?`bg-accent border-accent text-[var(--button-fg,#fff)] shadow-md shadow-accent/25`:`border-[var(--panel-border)] bg-transparent text-foreground/75 hover:border-accent/50 hover:text-foreground hover:bg-foreground/[0.04] active:scale-[0.98]`}`,children:[a&&(0,o.jsx)(n.sn,{className:`absolute left-2.5 w-3.5 h-3.5`,"aria-hidden":!0}),(0,o.jsx)(`span`,{className:`tabular-nums`,children:s}),u&&(0,o.jsx)(`span`,{className:`text-[11px] font-medium leading-tight ${a?`opacity-90`:`text-foreground/50`}`,children:u})]},`${Tb(e.memberId,e.start)}__${e.scheduleId}`)})}):null}function US(e,t,n,r,i){let o=(0,a.useMemo)(()=>Jb(Vb(e,{now:r?r():new Date,taken:t},!!i),n),[e,t,n,r,i]),s=i&&e.length?Fb(e).reduce((e,t)=>Math.min(e,t.horizonDays),1/0):e.reduce((e,t)=>Math.max(e,t.horizonDays),0);return{days:o,horizon:Number.isFinite(s)?s:0}}var WS=(e,t)=>e?_b(new Date(e.start),t).dateKey:``;function GS({horizon:e}){return(0,o.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 py-2`,children:e?`No free times in the next ${e} days.`:`No free times at the moment.`})}function KS({members:e,value:t,onChange:n,taken:r,timeZone:i,onTimeZone:s,now:c,together:l}){let{days:u,horizon:d}=US(e,r,i,c,l),[f,p]=(0,a.useState)({tz:i,day:``}),m=f.tz===i?f.day:``,h=(u.some(e=>e.dateKey===m)?m:``)||WS(t,i)||u[0]?.dateKey||``,g=u.find(e=>e.dateKey===h)||u[0];return(0,o.jsxs)(`div`,{className:`flex flex-col gap-3 w-full`,children:[u.length===0?(0,o.jsx)(GS,{horizon:d}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{className:`flex gap-2 overflow-x-auto no-scrollbar pb-1 -mx-1 px-1`,role:`tablist`,"aria-label":`Days with free times`,children:u.map(e=>{let t=e.dateKey===g?.dateKey;return(0,o.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,onClick:()=>p({tz:i,day:e.dateKey}),className:`shrink-0 px-3.5 py-2 rounded-xl text-[13px] font-semibold whitespace-nowrap transition-all cursor-pointer glass-panel ${t?`bg-accent text-[var(--button-fg,#fff)] border-accent shadow-lg shadow-accent/20`:`text-foreground/70 hover:text-foreground hover:border-accent`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:e.label},e.dateKey)})}),g&&(0,o.jsx)(HS,{slots:g.slots,value:t,onChange:n,timeZone:i,members:e,together:l})]}),(0,o.jsx)(zS,{timeZone:i,onTimeZone:s})]})}var qS=`rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`;function JS({slot:e,timeZone:t,who:r,onChange:i}){let a=Qb(e,t),s=(r||``).trim();return(0,o.jsxs)(`div`,{className:`flex items-center gap-3 rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] px-3.5 py-3`,children:[(0,o.jsx)(`div`,{className:`w-10 h-10 ${qS}`,children:(0,o.jsx)(n.pn,{className:`w-4 h-4`})}),(0,o.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 gap-0.5`,children:[(0,o.jsx)(`span`,{className:`text-[14px] sm:text-[15px] font-bold text-foreground leading-tight truncate`,children:a.day}),(0,o.jsxs)(`span`,{className:`text-[12.5px] sm:text-[13px] font-semibold text-foreground/55 leading-tight tabular-nums truncate`,children:[a.time,s?` · with ${s}`:``]})]}),(0,o.jsxs)(`button`,{type:`button`,onClick:i,"aria-label":`Change the time`,className:`shrink-0 cursor-pointer flex items-center justify-center transition-all max-sm:w-9 max-sm:h-9 max-sm:rounded-xl max-sm:border max-sm:border-[var(--panel-border)] max-sm:text-foreground/50 max-sm:hover:text-accent max-sm:hover:border-accent/40 max-sm:active:scale-[0.98] sm:text-[12.5px] sm:font-bold sm:text-accent sm:hover:underline`,children:[(0,o.jsx)(n.X,{className:`w-3.5 h-3.5 sm:hidden`,"aria-hidden":!0}),(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:`Change`})]})]})}var YS=[`M`,`T`,`W`,`T`,`F`,`S`,`S`],XS=`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden`,ZS=`flex items-center justify-between gap-2 px-3.5 py-2.5 border-b border-[var(--panel-border)]/40`,QS=`w-8 h-8 rounded-xl border border-[var(--panel-border)]/60 flex items-center justify-center shrink-0 text-foreground/50 hover:text-foreground hover:border-accent/40 hover:bg-foreground/5 active:scale-[0.98] transition-all cursor-pointer`;function $S(...e){let t=(0,a.useRef)(null),[n,r]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>r(e.scrollTop+e.clientHeight<e.scrollHeight-2);n(),e.addEventListener(`scroll`,n,{passive:!0});let i=typeof ResizeObserver>`u`?null:new ResizeObserver(n);return i?.observe(e),()=>{e.removeEventListener(`scroll`,n),i?.disconnect()}},e),{ref:t,moreBelow:n}}var eC=()=>(0,o.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-px bottom-px h-10 rounded-b-2xl bg-gradient-to-t from-[var(--bg-color)] to-transparent`}),tC=e=>e.slice(0,7);function nC(e){let t=`${e}-01`,n=_y.indexOf(xb(t)),r=Array.from({length:n},()=>null);for(let n=0;;n++){let i=bb(t,n);if(tC(i)!==e)break;r.push(i)}return r}function rC({members:e,value:t,onChange:r,taken:i,timeZone:s,onTimeZone:c,now:l,together:u}){let{days:d,horizon:f}=US(e,i,s,l,u),p=_b(l?l():new Date,s).dateKey,m=new Map(d.map(e=>[e.dateKey,e])),h=WS(t,s),[g,_]=(0,a.useState)(()=>({tz:s,day:h,month:tC(h||d[0]?.dateKey||p)})),v=g.tz===s,y=v?g.day:h,b=v?g.month:tC(h||d[0]?.dateKey||p),x=e=>_({tz:s,day:y,month:e(b)}),S=e=>_({tz:s,day:e,month:b}),C=y?m.get(y):void 0,w=nC(b),T=C?.slots.length||0,{ref:ee,moreBelow:E}=$S(T,y);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-4 w-full`,children:[d.length===0&&(0,o.jsx)(GS,{horizon:f}),(0,o.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-[minmax(0,1.15fr)_minmax(0,1fr)] gap-3 md:gap-4 w-full md:items-stretch`,children:[(0,o.jsxs)(`div`,{className:`${XS} w-full min-w-0`,children:[(0,o.jsxs)(`div`,{className:ZS,children:[(0,o.jsx)(`h4`,{className:`text-[14px] font-bold text-foreground tracking-tight truncate`,children:Sb(b)}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[(0,o.jsx)(`button`,{type:`button`,onClick:()=>x(()=>tC(p)),className:`h-8 px-3 rounded-xl border border-[var(--panel-border)]/60 text-[12.5px] font-semibold text-foreground/60 hover:text-foreground hover:border-accent/40 hover:bg-foreground/5 active:scale-[0.98] transition-all cursor-pointer`,children:`Today`}),(0,o.jsx)(`button`,{type:`button`,"aria-label":`Previous month`,onClick:()=>x(e=>Cb(e,-1)),className:QS,children:(0,o.jsx)(n.an,{className:`w-4 h-4`})}),(0,o.jsx)(`button`,{type:`button`,"aria-label":`Next month`,onClick:()=>x(e=>Cb(e,1)),className:QS,children:(0,o.jsx)(n.in,{className:`w-4 h-4`})})]})]}),(0,o.jsx)(`div`,{className:`p-3`,children:(0,o.jsxs)(`div`,{className:`grid grid-cols-7 gap-1 w-full max-w-[26rem] mx-auto`,role:`grid`,"aria-label":Sb(b),children:[YS.map((e,t)=>(0,o.jsx)(`div`,{className:`text-center text-[10.5px] font-bold uppercase tracking-wider text-foreground/35 pb-1`,children:e},t)),w.map((e,t)=>{if(!e)return(0,o.jsx)(`div`,{"aria-hidden":!0},`blank-${t}`);let n=m.has(e),r=e===y,i=e===p,a=Number(e.slice(8,10));return(0,o.jsxs)(`button`,{type:`button`,role:`gridcell`,"aria-label":m.get(e)?.label||e,"aria-selected":r,"aria-disabled":!n,disabled:!n,onClick:()=>S(e),className:`relative flex items-center justify-center h-10 md:h-11 rounded-xl text-[13.5px] md:text-[14px] font-semibold tabular-nums transition-all ${r?`bg-accent text-[var(--button-fg,#fff)] shadow-md shadow-accent/25 cursor-pointer`:n?`text-foreground hover:bg-foreground/[0.06] cursor-pointer`:`text-foreground/25 cursor-default`} ${i&&!r?`ring-1 ring-inset ring-accent/45`:``}`,children:[a,n&&(0,o.jsx)(`span`,{"aria-hidden":!0,className:`absolute bottom-1 w-1 h-1 rounded-full ${r?`bg-[var(--button-fg,#fff)]`:`bg-accent`}`})]},e)})]})})]}),(0,o.jsx)(`div`,{className:`w-full min-w-0 md:relative md:min-h-[320px]`,children:(0,o.jsxs)(`div`,{className:`${XS} flex flex-col md:absolute md:inset-0`,children:[(0,o.jsxs)(`div`,{className:ZS,children:[(0,o.jsx)(`p`,{className:`text-[13px] font-bold text-foreground tracking-tight truncate`,children:C?C.label:`Pick a day`}),T>0&&(0,o.jsxs)(`span`,{className:`text-[11.5px] font-semibold text-foreground/40 shrink-0 tabular-nums`,children:[T,` `,T===1?`time`:`times`]})]}),(0,o.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[(0,o.jsx)(`div`,{ref:ee,className:`p-3 h-full overflow-y-auto styled-scrollbars-mini`,children:C?(0,o.jsx)(HS,{slots:C.slots,value:t,onChange:r,timeZone:s,members:e,together:u}):(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center gap-2 py-8 px-2`,children:[(0,o.jsx)(n.dn,{className:`w-5 h-5 text-foreground/25`,"aria-hidden":!0}),(0,o.jsx)(`p`,{className:`text-[12.5px] font-medium text-foreground/45 leading-relaxed`,children:d.length>0?`Pick a day with a dot to see its times.`:`No times to show.`})]})}),E&&(0,o.jsx)(eC,{})]})]})})]}),(0,o.jsx)(zS,{timeZone:s,onTimeZone:c})]})}var iC=e=>e?.kind===`link`?`link`:`schedule`,aC=e=>e?.kind!==`schedule`&&e?.kind!==`link`,oC=()=>`l_${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`,sC=()=>`s_${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`,cC=(e,t)=>({id:e,scheduleId:t.id,memberId:t.memberId,memberName:t.memberName,name:``,description:``,slotMinutes:30,horizonDays:30,noticeHours:12,questions:My(),paymentId:``,notifyOwner:!0,confirmBooker:!0,enabled:!0}),lC=(e,t,n)=>{let r=typeof e==`number`?e:Number(e);return!Number.isFinite(r)||r<0||n&&!n.includes(r)?t:r},uC=(e,t)=>({id:e,scheduleId:String(t?.scheduleId||``),memberId:String(t?.memberId||``),memberName:String(t?.memberName||``),name:String(t?.name||``),description:String(t?.description||``),slotMinutes:lC(t?.slotMinutes,30,Ky.map(e=>Number(e.value))),horizonDays:lC(t?.horizonDays,30),noticeHours:lC(t?.noticeHours,12),questions:Ly(t?.questions),paymentId:String(t?.paymentId||``),notifyOwner:t?.notifyOwner!==!1,confirmBooker:t?.confirmBooker!==!1,enabled:t?.enabled===!0,createdAt:typeof t?.createdAt==`number`?t.createdAt:void 0,updatedAt:typeof t?.updatedAt==`number`?t.updatedAt:void 0});function dC(e,t){return t?{...t,id:e.id,scheduleId:t.id,memberId:t.memberId,memberName:e.memberName||t.memberName,name:e.name,description:e.description,slotMinutes:e.slotMinutes,horizonDays:e.horizonDays,noticeHours:e.noticeHours,questions:e.questions,paymentId:e.paymentId,notifyOwner:e.notifyOwner,confirmBooker:e.confirmBooker,enabled:e.enabled,createdAt:e.createdAt,updatedAt:e.updatedAt,joined:!0}:null}function fC(e){let t=new Map(e.schedules.map(e=>[e.id,e])),n=new Set(e.legacyIds),r=e.schedules.filter(e=>n.has(e.id));for(let n of e.links){let e=dC(n,t.get(n.scheduleId));e&&r.push(e)}return r.sort((e,t)=>(e.createdAt||0)-(t.createdAt||0)||e.id.localeCompare(t.id))}var pC=e=>e.name.trim()||fx(e),mC=(e,t)=>t?`${pC(e)} — ${vx(e.slotMinutes)} · ${Dx(t)}`:`${pC(e)} — the hours it was booked in are gone`,hC=(e,t)=>{let n=t?dC(e,t):null;return n&&ux(n)?{state:`saved`,label:`Bookable`}:{state:`off`,label:e.enabled?`In progress`:`Turned off`}};function gC(e,t){if(!t)return`The hours this link was booked in are gone — pick another set.`;let n=dC(e,t);return n?sx({...n,enabled:!0}):`The hours this link was booked in are gone — pick another set.`}function _C(e,t=`Working hours`){let n=[],r=[],i=new Map;for(let a of e){let e=[a.memberId,a.timeZone,JSON.stringify(a.days),JSON.stringify(a.blocked)].join(`|`),o=i.get(e);o||(o={...Qy(sC(),a.memberId,a.memberName,a.timeZone),name:t,days:a.days,blocked:a.blocked,enabled:!0,createdAt:a.createdAt},i.set(e,o),n.push(o)),r.push({...cC(a.id,o),memberName:a.memberName,name:a.name,description:a.description,slotMinutes:a.slotMinutes,horizonDays:a.horizonDays,noticeHours:a.noticeHours,questions:a.questions,paymentId:a.paymentId,notifyOwner:a.notifyOwner,confirmBooker:a.confirmBooker,enabled:a.enabled,createdAt:a.createdAt})}return{schedules:n,links:r}}var vC=e=>{let{id:t,...n}=e;return{...n,kind:`link`}},yC=e=>({kind:`schedule`,memberId:e.memberId,memberName:e.memberName,name:e.name,timeZone:e.timeZone,days:e.days,blocked:e.blocked,enabled:!0,createdAt:e.createdAt||Date.now()}),bC=e=>e.entryId?`${e.entryId}__${e.start}`:e.id;function xC(e){let t=e.filter(e=>!e.cancelled),n=t.length?t:e;return{copyIds:e.map(e=>e.id),pending:n.some(e=>e.pending),partySize:n.length,partyAccepted:n.filter(e=>!e.pending).length}}function SC(e){let t=new Map;for(let n of e){if(n.own)continue;let e=bC(n),r=t.get(e);r?r.push(n):t.set(e,[n])}let n=new Map;for(let e of t.values()){let t=xC(e);for(let r of e)n.set(r.id,t)}return n}var CC=5*6e4;function wC(e,t,n){let r=new Set(t.map(e=>e.id));return e.filter(e=>r.has(Tb(e.memberId,e.start))?!1:(e.createdAt||0)<n-CC)}var TC=(e,t=``)=>({id:Tb(e.memberId,e.start),memberId:e.memberId,memberName:t,scheduleId:``,scheduleName:``,own:!1,title:``,color:``,paymentId:``,paymentSession:``,cancelled:!1,cancelledAt:0,cancelReason:``,cancelledBy:``,cancelledSide:``,cancelledByUid:``,pending:!1,acceptedAt:0,heldOnly:!0,copyIds:[],partySize:0,partyAccepted:0,start:e.start,end:e.end,timeZone:``,name:``,email:``,answers:{},formId:``,entryId:``,uid:``,createdAt:e.createdAt||0}),EC=(e,t)=>(e.createdAt||0)-(t.createdAt||0)||e.id.localeCompare(t.id),DC={schedules:[],links:[],legacyIds:[]};function OC(){let[e,t]=(0,a.useState)({loading:!0,docs:DC});return(0,a.useEffect)(()=>{let e=ke(Uy,()=>(0,l.collection)(S,Uy),e=>{let n=[],r=[],i=[];e.forEach(e=>{let t=e.data();if(iC(t)===`link`){r.push(uC(e.id,t));return}let a=lb(e.id,t);if(aC(t)){n.push(a),i.push(e.id);return}n.push({...a,enabled:!0})}),n.sort(EC),r.sort(EC);let a={schedules:n,links:r,legacyIds:i};Ax(fC(a)),Nx(n),t({loading:!1,docs:a})},()=>t({loading:!1,docs:DC}));return()=>e()},[]),e}function kC(){let{loading:e,docs:t}=OC();return{loading:e,schedules:(0,a.useMemo)(()=>fC(t),[t])}}function AC(){let{loading:e,docs:t}=OC();return{loading:e,schedules:t.schedules}}function jC(){let{loading:e,docs:t}=OC();return{loading:e,schedules:(0,a.useMemo)(()=>{let e=fC(t),n=new Set(e.map(e=>e.id));return[...e,...t.schedules.filter(e=>!n.has(e.id)&&ux(e))]},[t])}}function MC(e){let[t,n]=(0,a.useState)({id:``,schedule:null});return(0,a.useEffect)(()=>{if(!e)return;let t=!1;return NC(e).then(r=>{t||n({id:e,schedule:r})}).catch(()=>{t||n({id:e,schedule:null})}),()=>{t=!0}},[e]),e?t.id===e?{loading:!1,schedule:t.schedule}:{loading:!0,schedule:null}:{loading:!1,schedule:null}}async function NC(e){let t=await(0,l.getDoc)((0,l.doc)(S,Uy,e));if(!t.exists())return null;let n=t.data();if(iC(n)!==`link`){let e=lb(t.id,n);return aC(n)?e:{...e,name:``}}let r=uC(t.id,n);if(!r.scheduleId)return null;let i=await(0,l.getDoc)((0,l.doc)(S,Uy,r.scheduleId));return i.exists()?dC(r,lb(i.id,i.data())):null}async function PC(e){if(e.joined)return console.error(`Refused to save a joined bookable as one schedule`,e.id),`That meeting is a booking link on a schedule — change the link or the schedule, not the two at once.`;try{return await(0,l.setDoc)((0,l.doc)(S,Uy,e.id),{...yC(e),updatedAt:Date.now()}),null}catch(e){return console.error(`Could not save the schedule`,e),`The hours could not be saved — make sure you are signed in and that this schedule is yours, then try again.`}}async function FC(e){try{return await(0,l.setDoc)((0,l.doc)(S,Uy,e.id),{...vC(e),updatedAt:Date.now()}),null}catch(e){return console.error(`Could not save the booking link`,e),`The link could not be saved — make sure you are signed in and that this schedule is yours, then try again.`}}async function IC(e){try{return await(0,l.deleteDoc)((0,l.doc)(S,Uy,e)),null}catch(e){return console.error(`Could not remove the booking link`,e),`It could not be removed — make sure you are signed in and that this link is yours, then try again.`}}async function LC(e){if(!e.length)return null;let{schedules:t,links:n}=_C(e);try{let e=Date.now();for(let n of t)await(0,l.setDoc)((0,l.doc)(S,Uy,n.id),{...yC(n),updatedAt:e});for(let t of n)await(0,l.setDoc)((0,l.doc)(S,Uy,t.id),{...vC(t),updatedAt:e});return null}catch(e){return console.error(`Could not split the older schedules into hours and links`,e),`Your older schedules could not be tidied into hours and booking links — make sure you are signed in, then reload the screen.`}}async function RC(e){try{return await(0,l.deleteDoc)((0,l.doc)(S,Uy,e)),null}catch(e){return console.error(`Could not remove the schedule`,e),`It could not be removed — make sure you are signed in and that this schedule is yours, then try again.`}}var zC=e=>e.name.trim()||e.email.split(`@`)[0]||``;function BC(){let[e,t]=(0,a.useState)({loading:!0,members:[]});return(0,a.useEffect)(()=>{let e=ke(`user_profiles/team`,()=>(0,l.query)((0,l.collection)(S,`user_profiles`),(0,l.where)(`role`,`in`,[`internal`,`admin`])),e=>{let n=[];e.forEach(e=>{let t=e.data()||{},r=t.role===`admin`||t.role===`internal`?t.role:null;!r||t.inactive===!0||n.push({id:e.id,name:String(t.displayName||``),email:String(t.email||``),role:r})}),n.sort((e,t)=>(e.name||e.email).localeCompare(t.name||t.email)),t({loading:!1,members:n})},()=>t({loading:!1,members:[]}));return()=>e()},[]),e}function VC(e,t){let[n,r]=(0,a.useState)([]),i=e.slice().sort().join(`,`),o=t.toISOString();return(0,a.useEffect)(()=>{if(!i)return;let e=new Set(i.split(`,`)),n=new Date(t.getTime()-UC).toISOString(),a=(0,l.onSnapshot)((0,l.query)((0,l.collection)(S,Wy),(0,l.where)(`start`,`>=`,n)),t=>{let n=[];t.forEach(t=>{let r=t.data()||{},i=String(r.memberId||``);if(!e.has(i))return;let a={memberId:i,start:String(r.start||``),end:String(r.end||``),createdAt:typeof r.createdAt==`number`?r.createdAt:0};a.end>=o&&n.push(a)}),r(n)},()=>r([]));return()=>a()},[i,o]),i?n:HC}var HC=[],UC=4*36e5,WC=15*6e4,GC=`taken`,KC=`That time was just taken — pick another.`;function qC(e){let t=Date.parse(e.start),n=Date.parse(e.end),r=Math.ceil((t-UC)/WC)*WC,i=[];for(let t=r;t<n;t+=WC)i.push(Tb(e.memberId,new Date(t).toISOString()));return i}async function JC(e){let t=Tb(e.memberId,e.start);try{return await(0,l.runTransaction)(S,async n=>{let r=(0,l.doc)(S,Wy,t),i=qC(e).filter(e=>e!==t),[a,...o]=await Promise.all([n.get(r),...i.map(e=>n.get((0,l.doc)(S,Wy,e)))]);if(a.exists())throw Error(GC);for(let t of o){if(!t.exists())continue;let n=t.data()||{};if(wb({start:String(n.start||``),end:String(n.end||``)},e))throw Error(GC)}n.set(r,{memberId:e.memberId,start:e.start,end:e.end,createdAt:Date.now()})}),null}catch(e){return e?.message===GC?KC:(console.error(`Could not claim the time`,e),`The time could not be saved — check your connection and try again.`)}}async function YC(e){try{await(0,l.deleteDoc)((0,l.doc)(S,Wy,Tb(e.memberId,e.start)))}catch{}}async function XC(e,t){try{return await(0,l.setDoc)((0,l.doc)(S,Gy,Tb(e.memberId,e.start)),{memberId:e.memberId,memberName:t.memberName,scheduleId:t.scheduleId,scheduleName:t.scheduleName,paymentId:t.paymentId||``,paymentSession:t.paymentSession||``,start:e.start,end:e.end,timeZone:t.timeZone,name:t.name,email:t.email.trim().toLowerCase(),answers:t.answers,formId:t.formId,entryId:t.entryId,uid:x.currentUser?.uid||`guest`,createdAt:Date.now(),pending:!0}),null}catch(e){return console.error(`Could not write the booking`,e),`The booking could not be saved — check your connection and try again.`}}var ZC=(e,t)=>({id:e,memberId:String(t?.memberId||``),scheduleId:String(t?.scheduleId||``),scheduleName:String(t?.scheduleName||``),own:t?.own===!0,title:String(t?.title||``),color:String(t?.color||``),paymentId:String(t?.paymentId||``),paymentSession:String(t?.paymentSession||``),cancelled:t?.cancelled===!0,cancelledAt:typeof t?.cancelledAt==`number`?t.cancelledAt:0,cancelReason:String(t?.cancelReason||``),cancelledBy:String(t?.cancelledBy||``),cancelledSide:t?.cancelledSide===`host`||t?.cancelledSide===`booker`?t.cancelledSide:``,cancelledByUid:String(t?.cancelledByUid||``),pending:t?.pending===!0,acceptedAt:typeof t?.acceptedAt==`number`?t.acceptedAt:0,heldOnly:!1,copyIds:[e],partySize:1,partyAccepted:t?.pending===!0?0:1,start:String(t?.start||``),end:String(t?.end||``),memberName:String(t?.memberName||``),timeZone:String(t?.timeZone||``),name:String(t?.name||``),email:String(t?.email||``),answers:t?.answers&&typeof t.answers==`object`?Object.fromEntries(Object.entries(t.answers).map(([e,t])=>[e,String(t??``)])):{},formId:String(t?.formId||``),entryId:String(t?.entryId||``),uid:String(t?.uid||``),createdAt:typeof t?.createdAt==`number`?t.createdAt:0});function QC(e={}){let[t,n]=(0,a.useState)({loading:!0,bookings:[],error:null}),r=(e.members||[]).slice().sort().join(`,`),i=!!e.includePast,o=e.now;return(0,a.useEffect)(()=>{let e=r?new Set(r.split(`,`)):null,t=(o?o():new Date).toISOString(),a=(0,l.onSnapshot)(i?(0,l.collection)(S,Gy):(0,l.query)((0,l.collection)(S,Gy),(0,l.where)(`end`,`>=`,t)),t=>{let r=(o?o():new Date).toISOString(),a=[];t.forEach(t=>{let n=ZC(t.id,t.data());e&&!e.has(n.memberId)||a.push(n)});let s=a.filter(e=>e.end>=r).sort((e,t)=>e.start.localeCompare(t.start)),c=i?a.filter(e=>e.end<r).sort((e,t)=>t.start.localeCompare(e.start)):[];n({loading:!1,bookings:[...s,...c],error:null})},e=>{n({loading:!1,bookings:[],error:String(e?.code||``).includes(`permission`)?`This is for the team — sign in as a team member or admin to see the bookings.`:`The bookings could not be loaded.`})});return()=>a()},[r,i,o]),t}function $C(e,t,n){return ke(`${Gy}/uid=${e}`,()=>(0,l.query)((0,l.collection)(S,Gy),(0,l.where)(`uid`,`==`,e)),e=>t(e.docs),n)}function ew(e,t,n){return ke(`${Gy}/email=${e}`,()=>(0,l.query)((0,l.collection)(S,Gy),(0,l.where)(`email`,`==`,e)),e=>t(e.docs),n)}function tw(e,t){let{user:n}=Qi(),r=e===void 0&&t===void 0,i=r?n?.uid||``:e||``,o=(r?n?.email||``:t||``).trim().toLowerCase(),[s,c]=(0,a.useState)(nw),[l,u]=(0,a.useState)(nw);(0,a.useEffect)(()=>{if(i)return $C(i,e=>c({done:!0,list:e.map(e=>ZC(e.id,e.data())),error:null}),e=>c({done:!0,list:[],error:iw(e)}))},[i]),(0,a.useEffect)(()=>{if(o)return ew(o,e=>u({done:!0,list:e.map(e=>ZC(e.id,e.data())),error:null}),e=>u({done:!0,list:[],error:iw(e)}))},[o]);let d=i?s:rw,f=o?l:rw;return{loading:!d.done||!f.done,bookings:(0,a.useMemo)(()=>cw(sw(d.list,f.list)),[d.list,f.list]),error:d.error&&f.error?d.error:null}}var nw={done:!1,list:[],error:null},rw={done:!0,list:[],error:null},iw=e=>String(e?.code||``).includes(`permission`)?`These are not readable from this account.`:`The bookings could not be loaded.`,aw=e=>{let t=new Set(e.legacyIds);return new Set(e.schedules.filter(e=>!t.has(e.id)).map(e=>e.id))},ow=(e,t)=>e.map(e=>e.scheduleId&&t.has(e.scheduleId)?{...e,scheduleName:``}:e);function sw(...e){let t=new Map;for(let n of e)for(let e of n)e.own||t.set(e.id,e);return[...t.values()].sort((e,t)=>e.start.localeCompare(t.start))}function cw(e){let t=new Map;for(let n of e){let e=bC(n),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.values()].map(e=>{let t=xC(e);if(e.length===1)return{...e[0],...t};let n=e.map(e=>e.memberName.trim()).filter(Boolean),r=n.length<=1?n.join(``):`${n.slice(0,-1).join(`, `)} and ${n[n.length-1]}`,i=e.find(e=>e.cancelled&&(e.cancelReason||e.cancelledBy));return{...e[0],...t,memberName:r,cancelled:e.every(e=>e.cancelled),cancelReason:i?.cancelReason||e[0].cancelReason,cancelledBy:i?.cancelledBy||e[0].cancelledBy,cancelledSide:i?.cancelledSide||e[0].cancelledSide}})}async function lw(e,t){try{return await(0,l.setDoc)((0,l.doc)(S,Gy,e),{color:t},{merge:!0}),null}catch(e){return console.error(`Could not colour the booking`,e),`The colour could not be saved — make sure you are signed in as a team member and try again.`}}async function uw(e){let t={memberId:e.memberId,scheduleId:``,start:e.start,end:e.end},n=await JC(t);if(n)return n===`That time was just taken — pick another.`?`Something is already booked at that time — pick another.`:n;try{return await(0,l.setDoc)((0,l.doc)(S,Gy,Tb(e.memberId,e.start)),{memberId:e.memberId,memberName:e.memberName,scheduleId:``,scheduleName:``,paymentId:``,paymentSession:``,own:!0,title:e.title,color:e.color,start:e.start,end:e.end,timeZone:e.timeZone,name:``,email:``,answers:e.note?{note:e.note}:{},formId:``,entryId:``,uid:x.currentUser?.uid||``,createdAt:Date.now()}),null}catch(e){return console.error(`Could not save the event`,e),await YC(t),`The event could not be saved — make sure you are signed in as a team member and try again.`}}async function dw(e){try{return await(0,l.setDoc)((0,l.doc)(S,Gy,e),{pending:!1,acceptedAt:Date.now()},{merge:!0}),null}catch(e){return console.error(`Could not accept the booking`,e),`It could not be accepted — make sure you are signed in as a team member and try again.`}}async function fw(e,t={}){try{let n=t.ids?.length?t.ids:await pw(e),r={cancelled:!0,cancelledAt:Date.now(),cancelReason:(t.reason||``).trim(),cancelledBy:(t.by||``).trim(),cancelledSide:t.side||``,...t.byUid&&t.side!==`booker`?{cancelledByUid:t.byUid}:{}};for(let e of n)await(0,l.setDoc)((0,l.doc)(S,Gy,e),r,{merge:!0}),await(0,l.deleteDoc)((0,l.doc)(S,Wy,e));return null}catch(e){return console.error(`Could not cancel the booking`,e),t.side===`booker`?`It could not be cancelled — check your connection and try again.`:`It could not be cancelled — make sure you are signed in as a team member and try again.`}}async function pw(e){try{let t=await(0,l.getDoc)((0,l.doc)(S,Gy,e)),n=t.exists()&&t.data()||{},r=String(n.entryId||``),i=String(n.start||``);if(!r||!i)return[e];let a=await(0,l.getDocs)((0,l.query)((0,l.collection)(S,Gy),(0,l.where)(`entryId`,`==`,r))),o=new Set([e]);return a.forEach(e=>{String(e.data()?.start||``)===i&&o.add(e.id)}),[...o]}catch{return[e]}}async function mw(e,t){try{let n=t?.length?t:await pw(e);for(let e of n)await(0,l.deleteDoc)((0,l.doc)(S,Gy,e)),await(0,l.deleteDoc)((0,l.doc)(S,Wy,e));return null}catch(e){return console.error(`Could not remove the booking`,e),`It could not be removed — make sure you are signed in as a team member and try again.`}}async function hw(e,t){try{return await(0,l.deleteDoc)((0,l.doc)(S,Wy,Tb(e,t))),null}catch(e){return console.error(`Could not free the held time`,e),`The time could not be freed — make sure you are signed in as a team member and try again.`}}var gw=new Set([`uid`,`formId`,`submittedAt`,`submitterName`,`submitterEmail`,`submitterAvatar`]),_w=(e,t)=>{if(!e||typeof e!=`object`)return{};let n;try{n=JSON.parse(JSON.stringify(e))}catch{return{}}let r={};for(let[e,i]of Object.entries(n||{}))gw.has(e)||e in t||(r[e]=i);return r},vw=ie(()=>Promise.resolve().then(()=>require(`./PhoneInputField-B3P_vUDW.cjs`))),yw=ie(()=>Promise.resolve().then(()=>require(`./AddressField-BBv8NGX8.cjs`))),bw=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i,xw=`text-[13px] font-medium text-foreground/70 select-none mb-2`,Sw=`text-[13px] text-red-500 font-medium mt-1.5`,Cw=`block h-12 w-full text-[15px] text-foreground py-2 transition-all duration-300 placeholder:text-foreground/40 focus:outline-none focus:border-accent glow-focus disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,ww={borderRadius:`var(--input-radius, 0.75rem)`},Tw=[.16,1,.3,1];function Ew({field:e,value:t,error:n,timeZone:r,onTimeZone:i,onChange:s}){let{schedules:c}=jC(),l=Bx(e),u=c.filter(e=>l.includes(e.id)&&ux(e)),d=new Set(u.map(e=>e.memberId)).size>1,f=zx(e),p=f===`choose`&&d,[m,h]=(0,a.useState)(!1),g=d&&(f===`all`||p&&m),_=g?Fb(u):[],[v]=(0,a.useState)(()=>new Date),y=VC(u.map(e=>e.memberId),v),b=nx(t),x=e.look===`calendar`?rC:KS;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,o.jsx)(`label`,{className:xw,children:e.label}),p&&(0,o.jsx)(`div`,{className:`flex gap-1.5 mb-2.5 p-1 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] w-fit`,children:[{on:!m,label:`One of them`,v:!1},{on:m,label:`All of them`,v:!0}].map(e=>(0,o.jsx)(`button`,{type:`button`,"aria-pressed":e.on,onClick:()=>{e.v!==m&&(h(e.v),s(``))},className:`px-3 h-8 rounded-[calc(var(--input-radius,0.75rem)-0.25rem)] text-[12.5px] font-semibold transition-all cursor-pointer ${e.on?`bg-accent text-[var(--button-fg,#fff)] shadow-sm`:`text-foreground/55 hover:text-foreground`}`,children:e.label},e.label))}),g&&(0,o.jsxs)(`p`,{className:`text-[12.5px] font-medium text-foreground/50 mb-2 ml-1`,children:[`Times `,Kx(_),` are all free.`]}),(0,o.jsx)(x,{members:u,value:b,onChange:e=>s(e?tx(e,g):``),taken:y,timeZone:r,onTimeZone:i,together:g}),n&&(0,o.jsx)(`span`,{className:Sw,children:n})]})}var Dw=(e,t)=>{let n=e.find(e=>e.type===`text`&&/name/i.test(String(e.name||``)))||e.find(e=>e.type===`text`);return String(n&&t[n.name]||x.currentUser?.displayName||``).trim()},Ow=(e,t)=>{let n=e.find(e=>e.type===`email`);return String(n&&t[n.name]||x.currentUser?.email||``).trim()},kw=(e,t)=>{let n=zx(e);if(!(n===`all`||n===`choose`&&rx(t)))return[];let r=Bx(e),i=Fb(Fx().filter(e=>r.includes(e.id)&&ux(e)));return i.length>1?i:[]};function Aw(e,t){if(!t||!e.some(e=>e?.type===`schedule`))return{};let n={},r=String(t.email||``).trim(),i=e.find(e=>e?.type===`email`&&e.name);i&&r&&(n[i.name]=r);let a=String(t.displayName||``).trim(),o=e.find(e=>e?.type===`text`&&e.name&&/name/i.test(`${e.name} ${e.label||``}`));return o&&a&&(n[o.name]=a),n}function jw(e,t){let n={};for(let[r,i]of Object.entries(t||{})){if(i===``||i==null||i===!1)continue;let t=(e||[]).find(e=>e?.name&&(r===e.name||e.type===`address`&&r.startsWith(e.name)));!t||t.type===`schedule`||(n[r]=i)}return n}var Mw=(e,t)=>Object.fromEntries(e.filter(e=>e.type!==`schedule`&&e.name&&t[e.name]!==void 0&&t[e.name]!==``).map(e=>[e.name,String(t[e.name])])),Nw=(e,t)=>Object.fromEntries(Object.entries(_w(e,t)).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>[e,typeof t==`object`?JSON.stringify(t):String(t)]));function Pw({onClose:e,formId:t,formConfig:r,isInline:s,bare:c,onSubmitted:u,extra:p}){let[h,_]=(0,a.useState)({}),[v,b]=(0,a.useState)(`idle`),[C,w]=(0,a.useState)(``),[T,ee]=(0,a.useState)({}),[E,D]=(0,a.useState)(()=>ub()),[te,ne]=(0,a.useState)(``),O=(0,a.useRef)(null),[k,A]=(0,a.useState)(r||null),[re,j]=(0,a.useState)(!r),M=(0,d.useNavigate)(),N=y(),{user:P}=Qi(),ie=Aw(k?.fields||[],P),F=String(P?.displayName||``).trim(),I=String(P?.email||``).trim(),L=e=>{let t=(typeof window<`u`?window.__FBOS_FORMS__:null)||{};return N?.defaultConfigs?.[e]||N?.defaultConfigs?.[`${e}Form`]||t[e]||(e===`contact`?m:e===`support`?g:null)};(0,a.useEffect)(()=>{if(r){A(r),j(!1);return}if(!t){A(L(`contact`)),j(!1);return}if(!localStorage.getItem(`fbos_custom_form_${t}`)){let e=L(t);if(e){A(e),j(!1);return}}try{let e=localStorage.getItem(`fbos_form_${t}`);e&&(A(JSON.parse(e)),j(!1))}catch{}(async()=>{try{let e=await(0,l.getDoc)((0,l.doc)(S,`sys_forms`,t));if(e.exists()){let n={...e.data(),id:e.id};A(n),localStorage.setItem(`fbos_form_${t}`,JSON.stringify(n))}else{let e=L(t);e&&(A(e),localStorage.removeItem(`fbos_custom_form_${t}`))}}catch(e){console.error(`Failed to load form config:`,e);let n=L(t);n&&A(n)}finally{j(!1)}})()},[t,r]),(0,a.useEffect)(()=>{k&&k.fields&&_(e=>{let t={...e},n=!1;return k.fields.forEach(e=>{(e.name===`contactEmail`||e.type===`email`)&&!t[e.name]&&x.currentUser?.email&&(t[e.name]=x.currentUser.email,n=!0)}),n?t:e})},[k]);let R=F_(`form.${t||``}`,{}),ae=(0,a.useRef)(!1),z=R.setValue;(0,a.useEffect)(()=>{!t||!ae.current||v===`success`||z(jw(k?.fields||[],h))},[t,h,k,v,z]),(0,a.useEffect)(()=>{if(!t||ae.current||!R.ready||!k?.fields)return;ae.current=!0;let e=jw(k.fields,R.value);Object.keys(e).length&&_(t=>({...e,...t}))},[t,R.ready,R.value,k]),(0,a.useEffect)(()=>{function t(t){O.current&&!O.current.contains(t.target)&&e?.()}return document.addEventListener(`mousedown`,t),()=>document.removeEventListener(`mousedown`,t)},[e]),(0,a.useEffect)(()=>{if(s)return;let t=t=>{t.key===`Escape`&&e?.()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,s]),(0,a.useEffect)(()=>{if(!s)return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=`unset`}},[s]);let oe=async n=>{n.preventDefault();let a=(k?.fields||[]).filter(e=>e.type===`email`),o={},s={};a.forEach(e=>{let t=String(h[e.name]??``).trim();t&&(s[e.name]=t,bw.test(t)||(o[e.name]=`That does not look like an email address — check for a typo, e.g. jane@example.com`))}),(k?.fields||[]).filter(e=>e.type===`address`).forEach(e=>{Object.assign(s,i.r(e.name,i.u(i.i(e.name,h))))}),(k?.fields||[]).filter(e=>e.type===`file`&&e.required&&!h[e.name]).forEach(e=>{o[e.name]=`Please attach a file before sending.`});let c=(k?.fields||[]).filter(e=>e.type===`schedule`);if(c.filter(e=>e.required&&!nx(h[e.name])).forEach(e=>{o[e.name]=`Pick a time before sending.`}),Object.keys(o).length>0){ee(o);return}ee({}),b(`loading`),w(``);try{let n=qh(k),i=t||k?.systemName||k?.title||`unknown`,a=[],o=[],d=async()=>{for(let e of o)await YC(e)};for(let e of c){let t=nx(h[e.name]);if(!t)continue;let n=kw(e,h[e.name]),r=n.length?Hb(t,n):[t],i=[],s=null;for(let e of r){if(s=await JC(e),s)break;o.push(e);let t=Wb(e,Fx());i.push({slot:e,memberName:t?.memberName||``,scheduleId:t?.id||e.scheduleId,scheduleName:gx(t,String(k?.title||``))})}if(s){await d(),ee({[e.name]:s}),b(`idle`);return}a.push({field:e,slot:t,whoName:n.length?Kx(n):i[0]?.memberName||``,each:i})}let f={...h,...s,...ie};for(let e of a)delete f[e.field.name],Object.assign(f,ix(e.field.name,e.slot,e.whoName,E));let m=x.currentUser?{uid:x.currentUser.uid,submitterName:x.currentUser.displayName||``,submitterEmail:x.currentUser.email||``,submitterAvatar:x.currentUser.photoURL||``}:{uid:`guest`},g=a.length>0,v;if(g)v=(0,l.doc)((0,l.collection)(S,n));else try{v=await(0,l.addDoc)((0,l.collection)(S,n),{..._w(p,f),...f,...m,formId:i,submittedAt:(0,l.serverTimestamp)(),...k?.transaction===!0?{transaction:!0}:{}})}catch(e){throw await d(),e}let y=k?.fields||[],C=``;for(let e of a)for(let t of e.each){let e=await XC(t.slot,{memberName:t.memberName,scheduleId:t.scheduleId,scheduleName:t.scheduleName,timeZone:E,name:Dw(y,f),email:Ow(y,f),answers:{...Nw(p,f),...Mw(y,f)},formId:i,entryId:v.id});if(e){await d(),b(`error`),w(e);return}C||=Tb(t.slot.memberId,t.slot.start)}a.length&&ne(a.map(e=>ex(e.slot,e.whoName,E)).join(`; `)),b(`success`),t&&R.clear();try{u?.(Object.fromEntries(Object.entries(f).map(([e,t])=>[e,String(t??``)])),g?{collection:Gy,id:C}:{collection:n,id:v.id})}catch{}setTimeout(()=>{k?.redirectTo&&!r&&(k.redirectTo.startsWith(`/`)?M(k.redirectTo):window.location.href=k.redirectTo),e?.(),b(`idle`),_({}),ne(``)},3e3)}catch(e){console.error(`Submission error:`,e),b(`error`),w(`We could not send your message right now. Please try again.`)}},[se,ce]=(0,a.useState)(!1),le=Kh();if((0,a.useEffect)(()=>{let e;return re||!k&&!r?e=setTimeout(()=>ce(!0),150):ce(!1),()=>clearTimeout(e)},[re,k,r]),re||!k)return se?s?(0,o.jsx)(`div`,{className:`w-full flex items-center justify-center py-[10vh]`,children:(0,o.jsx)(D_,{size:`sm`,label:`Loading the form`})}):(0,f.createPortal)((0,o.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-background/10 backdrop-blur-sm`,children:(0,o.jsx)(`div`,{className:`px-5 py-4 glass-popover border border-[var(--panel-border)]`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:(0,o.jsx)(D_,{size:`sm`,label:`Loading the form`})})}),document.body):null;let B=(k.fields||[]).find(e=>e.type===`schedule`&&e.look===`calendar`),ue=B?nx(h[B.name]):null,de=!!B&&!ue,fe=de?`max-w-[880px]`:`max-w-[500px]`,pe=ue?kw(B,h[B.name]):[],me=ue?pe.length?Kx(pe):Wb(ue,Fx())?.memberName||``:``,he=e=>le?{initial:!1}:{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.35,ease:Tw,delay:Math.min(e,12)*.04}},ge=!de&&Object.keys(ie).length>0,_e=+!!B+ +!!ge,ve=v===`loading`,ye=k.submitText||k.buttonName||`Submit`,be=(0,o.jsx)(`div`,{className:`relative z-10 w-full`,children:v===`success`?(0,o.jsxs)(J.div,{role:`status`,"aria-live":`polite`,initial:le?!1:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.4,ease:Tw},className:`flex flex-col items-center text-center gap-2 py-2`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-center gap-2.5`,children:[(0,o.jsx)(`svg`,{viewBox:`0 0 20 20`,className:`w-5 h-5 text-accent shrink-0`,fill:`none`,"aria-hidden":`true`,children:(0,o.jsx)(J.path,{d:`M4 10.5l4 4 8-9`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,initial:le?!1:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:1},transition:{duration:.45,ease:Tw,delay:.15}})}),(0,o.jsx)(`h4`,{className:`text-lg font-semibold text-foreground tracking-tight`,children:`Sent. Thank you.`})]}),te?(0,o.jsxs)(`p`,{className:`text-[14px] font-medium text-foreground leading-relaxed`,children:[`Booked: `,te]}):(0,o.jsx)(`p`,{className:`text-[14px] text-foreground/60 leading-relaxed`,children:`We'll be in touch soon.`})]},`sent`):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:s&&c?`sr-only`:`mb-7`,children:[(0,o.jsx)(`h3`,{className:`text-[22px] sm:text-2xl font-semibold text-foreground tracking-tight leading-snug break-words`,children:k.title}),k.description&&(0,o.jsx)(`p`,{className:`mt-1.5 text-[14px] text-foreground/60 leading-relaxed`,children:k.description})]}),(0,o.jsx)(Xp,{initial:!1,children:v===`error`&&C&&(0,o.jsx)(J.p,{role:`alert`,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.2,ease:Tw},className:`mb-5 text-[13px] font-medium text-red-500 leading-relaxed`,children:C},`error`)}),(0,o.jsxs)(`form`,{onSubmit:oe,"aria-busy":ve||void 0,className:`flex flex-col gap-5 w-full`,children:[B&&(0,o.jsx)(J.div,{...he(0),className:`w-full`,children:ue?(0,o.jsx)(JS,{slot:ue,timeZone:E,who:me,onChange:()=>_(e=>({...e,[B.name]:``}))}):(0,o.jsx)(Ew,{field:B,value:h[B.name]||``,error:T[B.name],timeZone:E,onTimeZone:D,onChange:e=>_(t=>({...t,[B.name]:e}))})},ue?`picked`:`calendar`),ge&&(0,o.jsxs)(J.div,{...he(+!!B),className:`flex items-center gap-2 px-4 py-3 border border-[var(--panel-border)]`,style:ww,children:[(0,o.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/60 shrink-0`,children:`Booking as`}),(0,o.jsx)(`span`,{className:`text-[14px] font-medium text-foreground truncate`,children:[F,I].filter(Boolean).join(` · `)})]}),!de&&[...k.fields||[]].filter(e=>e!==B&&!(e.name in ie)).sort((e,t)=>{let n=e.type===`checkbox`,r=t.type===`checkbox`;return n&&!r?1:!n&&r?-1:0}).map((e,t)=>{let r=he(_e+t),s=()=>{T[e.name]&&ee(t=>{let n={...t};return delete n[e.name],n})};if(e.type===`schedule`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(Ew,{field:e,value:h[e.name]||``,error:T[e.name],timeZone:E,onTimeZone:D,onChange:t=>{_(n=>({...n,[e.name]:t})),s()}})},t);if(e.type===`tel`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(a.Suspense,{fallback:(0,o.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse`,style:ww}),children:(0,o.jsx)(vw,{field:e,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t}))})})},t);if(e.type===`address`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(a.Suspense,{fallback:(0,o.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse`,style:ww}),children:(0,o.jsx)(yw,{id:`form-${e.name}`,label:e.label,required:e.required,placeholder:e.placeholder,error:T[e.name],value:i.i(e.name,h),onChange:t=>{_(n=>({...n,...i.r(e.name,t)})),s()}})})},t);if(e.type===`file`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(gy,{field:e,value:h[e.name]||``,error:T[e.name],onChange:t=>{_(n=>({...n,[e.name]:t(n[e.name]||``)})),s()}})},t);if(e.type===`textarea`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(S_,{label:e.label,required:e.required,placeholder:e.placeholder,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t.target.value}))})},t);if(e.type===`select`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(T_,{label:e.label,direction:`auto`,value:h[e.name]||``,options:[{value:``,label:(0,o.jsx)(`span`,{className:`text-foreground/40`,children:`Select an option...`})},...(e.options||[]).map(e=>({value:e,label:e}))],onChange:t=>_(n=>({...n,[e.name]:t}))})},t);if(e.type===`checkbox`){let n=!!h[e.name];return(0,o.jsxs)(J.label,{...r,className:`flex items-start gap-3 w-full cursor-pointer group py-1`,children:[(0,o.jsxs)(`span`,{className:`relative mt-0.5 flex items-center justify-center w-5 h-5 shrink-0 rounded-md border border-foreground/25 group-hover:border-accent/60 group-focus-within:border-accent group-focus-within:ring-[3px] group-focus-within:ring-accent/20 transition-colors`,children:[(0,o.jsx)(`input`,{type:`checkbox`,required:e.required,checked:n,onChange:t=>_(n=>({...n,[e.name]:t.target.checked})),className:`absolute inset-0 opacity-0 w-full h-full cursor-pointer`}),n&&(0,o.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-[3px] shrink-0`})]}),(0,o.jsx)(`span`,{className:`text-[14px] text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:e.label})]},t)}if(e.type===`date`){let i=h[e.name]||``;return(0,o.jsxs)(J.div,{...r,className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:xw,children:e.label}),(0,o.jsxs)(`div`,{className:`relative flex items-center`,children:[(0,o.jsx)(`input`,{type:`date`,required:e.required,value:i,onChange:t=>_(n=>({...n,[e.name]:t.target.value})),className:`date-field ${Cw} pl-4 pr-11 ${i?`text-foreground`:`text-foreground/40`}`,style:ww}),(0,o.jsx)(n.ln,{className:`w-4 h-4 text-foreground/40 absolute right-4 pointer-events-none`})]})]},t)}return e.type===`age`?(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(b_,{label:e.label,required:e.required,type:`number`,min:0,max:120,placeholder:e.placeholder||`Age (Max 120)`,value:h[e.name]||``,onChange:t=>{let n=t.target.value;if(n===``)_(t=>({...t,[e.name]:``}));else{let t=Math.max(0,Math.min(120,parseInt(n,10)));_(n=>({...n,[e.name]:isNaN(t)?``:String(t)}))}}})},t):e.type===`currency`||e.type===`number`&&e.name===`budget`?(0,o.jsxs)(J.div,{...r,className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:xw,children:e.label}),(0,o.jsxs)(`div`,{className:`relative flex items-center`,children:[(0,o.jsx)(`span`,{className:`absolute left-4 text-foreground/60 font-medium flex items-center h-full z-10 pointer-events-none text-[15px]`,children:e.currencySymbol||`$`}),(0,o.jsx)(`input`,{required:e.required,type:`number`,placeholder:e.placeholder,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t.target.value})),className:`${Cw} pl-8 pr-4`,style:ww})]})]},t):(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(b_,{label:e.label,required:e.required,type:e.type,placeholder:e.placeholder,currencySymbol:e.currencySymbol,error:T[e.name],value:h[e.name]||``,onChange:t=>{_(n=>({...n,[e.name]:t.target.value})),s()}})},t)}),ue?(0,o.jsxs)(`div`,{className:`flex flex-col gap-4 pt-1`,children:[(0,o.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60`}),(0,o.jsx)(zS,{timeZone:E,onTimeZone:D,action:(0,o.jsx)(C_,{type:`submit`,className:`max-sm:w-full h-11 px-6 text-[13.5px] font-semibold shrink-0`,isLoading:ve,children:ye})})]}):!de&&(0,o.jsx)(J.div,{...he(_e+(k.fields||[]).length),className:`pt-2`,children:(0,o.jsx)(C_,{type:`submit`,className:`w-full h-12 text-[15px] font-semibold`,isLoading:ve,children:ye})})]})]})});return s&&c?(0,o.jsx)(`div`,{className:`form-calm w-full ${fe} mx-auto relative transition-[max-width] duration-500 ease-out`,children:be}):s?(0,o.jsx)(`div`,{className:`form-calm w-full flex justify-center flex-col items-center`,children:(0,o.jsx)(J.div,{initial:le?!1:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.4,ease:Tw},className:`w-full ${fe} p-6 sm:p-8 glass-form relative shadow-[0_8px_32px_rgba(0,0,0,0.06)] z-10 mx-auto transition-[max-width] duration-500 ease-out`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:be})}):(0,f.createPortal)((0,o.jsxs)(`div`,{className:`form-calm fixed inset-0 z-[100] flex items-start justify-center p-4 py-20 md:py-10 h-[-webkit-fill-available] md:h-screen w-screen overflow-y-auto no-scrollbar`,children:[(0,o.jsx)(J.div,{onClick:e,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.25},className:`fixed inset-0 bg-background/60 backdrop-blur-xl cursor-pointer`}),(0,o.jsx)(J.div,{initial:le?!1:{opacity:0,scale:.98,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:10},transition:{duration:.35,ease:Tw},ref:O,className:`w-full ${fe} p-6 sm:p-8 glass-popover relative z-10 mx-auto my-auto border border-[var(--panel-border)] shrink-0 transition-[max-width] duration-500 ease-out`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:be})]}),document.body)}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return mS}}),Object.defineProperty(exports,`$a`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`$i`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`$n`,{enumerable:!0,get:function(){return $b}}),Object.defineProperty(exports,`$r`,{enumerable:!0,get:function(){return ci}}),Object.defineProperty(exports,`$t`,{enumerable:!0,get:function(){return Vy}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return SC}}),Object.defineProperty(exports,`Aa`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`Ai`,{enumerable:!0,get:function(){return Tr}}),Object.defineProperty(exports,`An`,{enumerable:!0,get:function(){return Xx}}),Object.defineProperty(exports,`Ar`,{enumerable:!0,get:function(){return j_}}),Object.defineProperty(exports,`At`,{enumerable:!0,get:function(){return vy}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return QS}}),Object.defineProperty(exports,`Ba`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`Bi`,{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,`Bn`,{enumerable:!0,get:function(){return sx}}),Object.defineProperty(exports,`Br`,{enumerable:!0,get:function(){return b_}}),Object.defineProperty(exports,`Bt`,{enumerable:!0,get:function(){return cS}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return BC}}),Object.defineProperty(exports,`Ca`,{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,`Ci`,{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,`Cn`,{enumerable:!0,get:function(){return lx}}),Object.defineProperty(exports,`Cr`,{enumerable:!0,get:function(){return I_}}),Object.defineProperty(exports,`Ct`,{enumerable:!0,get:function(){return Ix}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return ow}}),Object.defineProperty(exports,`Da`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`Di`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`Dn`,{enumerable:!0,get:function(){return Px}}),Object.defineProperty(exports,`Dr`,{enumerable:!0,get:function(){return iv}}),Object.defineProperty(exports,`Dt`,{enumerable:!0,get:function(){return xy}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return aw}}),Object.defineProperty(exports,`Ea`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`Ei`,{enumerable:!0,get:function(){return lr}}),Object.defineProperty(exports,`En`,{enumerable:!0,get:function(){return jx}}),Object.defineProperty(exports,`Er`,{enumerable:!0,get:function(){return av}}),Object.defineProperty(exports,`Et`,{enumerable:!0,get:function(){return Cy}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return gC}}),Object.defineProperty(exports,`Fa`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`Fi`,{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,`Fn`,{enumerable:!0,get:function(){return Hb}}),Object.defineProperty(exports,`Fr`,{enumerable:!0,get:function(){return O_}}),Object.defineProperty(exports,`Ft`,{enumerable:!0,get:function(){return qy}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return nC}}),Object.defineProperty(exports,`Ga`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`Gi`,{enumerable:!0,get:function(){return En}}),Object.defineProperty(exports,`Gn`,{enumerable:!0,get:function(){return Cb}}),Object.defineProperty(exports,`Gr`,{enumerable:!0,get:function(){return Xp}}),Object.defineProperty(exports,`Gt`,{enumerable:!0,get:function(){return fx}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return XS}}),Object.defineProperty(exports,`Ha`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`Hi`,{enumerable:!0,get:function(){return Dn}}),Object.defineProperty(exports,`Hn`,{enumerable:!0,get:function(){return wx}}),Object.defineProperty(exports,`Hr`,{enumerable:!0,get:function(){return Jh}}),Object.defineProperty(exports,`Ht`,{enumerable:!0,get:function(){return jy}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return mC}}),Object.defineProperty(exports,`Ia`,{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,`Ii`,{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,`In`,{enumerable:!0,get:function(){return Kb}}),Object.defineProperty(exports,`Ir`,{enumerable:!0,get:function(){return T_}}),Object.defineProperty(exports,`It`,{enumerable:!0,get:function(){return lS}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return qS}}),Object.defineProperty(exports,`Ja`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`Ji`,{enumerable:!0,get:function(){return Nn}}),Object.defineProperty(exports,`Jn`,{enumerable:!0,get:function(){return xx}}),Object.defineProperty(exports,`Jr`,{enumerable:!0,get:function(){return Qi}}),Object.defineProperty(exports,`Jt`,{enumerable:!0,get:function(){return Ny}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return $S}}),Object.defineProperty(exports,`Ka`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`Ki`,{enumerable:!0,get:function(){return Un}}),Object.defineProperty(exports,`Kn`,{enumerable:!0,get:function(){return Tb}}),Object.defineProperty(exports,`Kr`,{enumerable:!0,get:function(){return Zi}}),Object.defineProperty(exports,`Kt`,{enumerable:!0,get:function(){return Nb}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return pC}}),Object.defineProperty(exports,`La`,{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,`Li`,{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,`Ln`,{enumerable:!0,get:function(){return Gx}}),Object.defineProperty(exports,`Lr`,{enumerable:!0,get:function(){return C_}}),Object.defineProperty(exports,`Lt`,{enumerable:!0,get:function(){return Jy}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return cC}}),Object.defineProperty(exports,`Ma`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`Mi`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`Mn`,{enumerable:!0,get:function(){return Mb}}),Object.defineProperty(exports,`Mr`,{enumerable:!0,get:function(){return k_}}),Object.defineProperty(exports,`Mt`,{enumerable:!0,get:function(){return Eb}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return dC}}),Object.defineProperty(exports,`Na`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`Ni`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`Nn`,{enumerable:!0,get:function(){return Fb}}),Object.defineProperty(exports,`Nr`,{enumerable:!0,get:function(){return F_}}),Object.defineProperty(exports,`Nt`,{enumerable:!0,get:function(){return Ab}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return XC}}),Object.defineProperty(exports,`Oa`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`Oi`,{enumerable:!0,get:function(){return wr}}),Object.defineProperty(exports,`On`,{enumerable:!0,get:function(){return pS}}),Object.defineProperty(exports,`Or`,{enumerable:!0,get:function(){return q_}}),Object.defineProperty(exports,`Ot`,{enumerable:!0,get:function(){return tS}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return hC}}),Object.defineProperty(exports,`Pa`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`Pi`,{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,`Pn`,{enumerable:!0,get:function(){return Vx}}),Object.defineProperty(exports,`Pr`,{enumerable:!0,get:function(){return D_}}),Object.defineProperty(exports,`Pt`,{enumerable:!0,get:function(){return Yy}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return xS}}),Object.defineProperty(exports,`Qa`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`Qi`,{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,`Qn`,{enumerable:!0,get:function(){return Bx}}),Object.defineProperty(exports,`Qr`,{enumerable:!0,get:function(){return Ci}}),Object.defineProperty(exports,`Qt`,{enumerable:!0,get:function(){return By}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return oC}}),Object.defineProperty(exports,`Ra`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`Ri`,{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,`Rn`,{enumerable:!0,get:function(){return bx}}),Object.defineProperty(exports,`Rr`,{enumerable:!0,get:function(){return S_}}),Object.defineProperty(exports,`Rt`,{enumerable:!0,get:function(){return kb}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return AC}}),Object.defineProperty(exports,`Sa`,{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(exports,`Si`,{enumerable:!0,get:function(){return sr}}),Object.defineProperty(exports,`Sn`,{enumerable:!0,get:function(){return cx}}),Object.defineProperty(exports,`Sr`,{enumerable:!0,get:function(){return dv}}),Object.defineProperty(exports,`St`,{enumerable:!0,get:function(){return Hy}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return $C}}),Object.defineProperty(exports,`Ta`,{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,`Ti`,{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,`Tn`,{enumerable:!0,get:function(){return ky}}),Object.defineProperty(exports,`Tr`,{enumerable:!0,get:function(){return K_}}),Object.defineProperty(exports,`Tt`,{enumerable:!0,get:function(){return Lx}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return ZS}}),Object.defineProperty(exports,`Ua`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`Ui`,{enumerable:!0,get:function(){return On}}),Object.defineProperty(exports,`Un`,{enumerable:!0,get:function(){return mx}}),Object.defineProperty(exports,`Ur`,{enumerable:!0,get:function(){return Kh}}),Object.defineProperty(exports,`Ut`,{enumerable:!0,get:function(){return Ry}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return rC}}),Object.defineProperty(exports,`Va`,{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,`Vi`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`Vn`,{enumerable:!0,get:function(){return nS}}),Object.defineProperty(exports,`Vr`,{enumerable:!0,get:function(){return y_}}),Object.defineProperty(exports,`Vt`,{enumerable:!0,get:function(){return qb}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return eC}}),Object.defineProperty(exports,`Wa`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`Wi`,{enumerable:!0,get:function(){return Mn}}),Object.defineProperty(exports,`Wn`,{enumerable:!0,get:function(){return qx}}),Object.defineProperty(exports,`Wr`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`Wt`,{enumerable:!0,get:function(){return yx}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return zS}}),Object.defineProperty(exports,`Xa`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`Xi`,{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,`Xn`,{enumerable:!0,get:function(){return Vb}}),Object.defineProperty(exports,`Xr`,{enumerable:!0,get:function(){return Ri}}),Object.defineProperty(exports,`Xt`,{enumerable:!0,get:function(){return ab}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return HS}}),Object.defineProperty(exports,`Ya`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`Yi`,{enumerable:!0,get:function(){return Gn}}),Object.defineProperty(exports,`Yn`,{enumerable:!0,get:function(){return Qb}}),Object.defineProperty(exports,`Yr`,{enumerable:!0,get:function(){return Pi}}),Object.defineProperty(exports,`Yt`,{enumerable:!0,get:function(){return Qy}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return RS}}),Object.defineProperty(exports,`Za`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`Zi`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,`Zn`,{enumerable:!0,get:function(){return zx}}),Object.defineProperty(exports,`Zr`,{enumerable:!0,get:function(){return Li}}),Object.defineProperty(exports,`Zt`,{enumerable:!0,get:function(){return ux}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return kC}}),Object.defineProperty(exports,`_a`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`_i`,{enumerable:!0,get:function(){return qr}}),Object.defineProperty(exports,`_n`,{enumerable:!0,get:function(){return Yb}}),Object.defineProperty(exports,`_o`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`_r`,{enumerable:!0,get:function(){return mv}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return MS}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return JC}}),Object.defineProperty(exports,`aa`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`ai`,{enumerable:!0,get:function(){return ki}}),Object.defineProperty(exports,`an`,{enumerable:!0,get:function(){return Gb}}),Object.defineProperty(exports,`ao`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`ar`,{enumerable:!0,get:function(){return yb}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return _S}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return OC}}),Object.defineProperty(exports,`ba`,{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,`bi`,{enumerable:!0,get:function(){return pr}}),Object.defineProperty(exports,`bn`,{enumerable:!0,get:function(){return Dx}}),Object.defineProperty(exports,`br`,{enumerable:!0,get:function(){return gv}}),Object.defineProperty(exports,`bt`,{enumerable:!0,get:function(){return ES}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return YC}}),Object.defineProperty(exports,`ca`,{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,`ci`,{enumerable:!0,get:function(){return pi}}),Object.defineProperty(exports,`cn`,{enumerable:!0,get:function(){return Fy}}),Object.defineProperty(exports,`co`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`cr`,{enumerable:!0,get:function(){return uy}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return OS}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return FC}}),Object.defineProperty(exports,`da`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`di`,{enumerable:!0,get:function(){return Zr}}),Object.defineProperty(exports,`dn`,{enumerable:!0,get:function(){return Cx}}),Object.defineProperty(exports,`do`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`dr`,{enumerable:!0,get:function(){return vv}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return kS}}),Object.defineProperty(exports,`ea`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`ei`,{enumerable:!0,get:function(){return di}}),Object.defineProperty(exports,`en`,{enumerable:!0,get:function(){return zy}}),Object.defineProperty(exports,`eo`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`er`,{enumerable:!0,get:function(){return Tx}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return jS}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return PC}}),Object.defineProperty(exports,`fa`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`fi`,{enumerable:!0,get:function(){return $r}}),Object.defineProperty(exports,`fn`,{enumerable:!0,get:function(){return ub}}),Object.defineProperty(exports,`fo`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`fr`,{enumerable:!0,get:function(){return fv}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return SS}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return QC}}),Object.defineProperty(exports,`ga`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`gi`,{enumerable:!0,get:function(){return Ur}}),Object.defineProperty(exports,`gn`,{enumerable:!0,get:function(){return Ob}}),Object.defineProperty(exports,`go`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`gr`,{enumerable:!0,get:function(){return Cv}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return NS}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return zC}}),Object.defineProperty(exports,`ha`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`hi`,{enumerable:!0,get:function(){return ei}}),Object.defineProperty(exports,`hn`,{enumerable:!0,get:function(){return jb}}),Object.defineProperty(exports,`ho`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`hr`,{enumerable:!0,get:function(){return hv}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return AS}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return fw}}),Object.defineProperty(exports,`ia`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`ii`,{enumerable:!0,get:function(){return fi}}),Object.defineProperty(exports,`in`,{enumerable:!0,get:function(){return Wx}}),Object.defineProperty(exports,`io`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`ir`,{enumerable:!0,get:function(){return _b}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return gS}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return wC}}),Object.defineProperty(exports,`ja`,{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,`ji`,{enumerable:!0,get:function(){return Cr}}),Object.defineProperty(exports,`jn`,{enumerable:!0,get:function(){return Sb}}),Object.defineProperty(exports,`jr`,{enumerable:!0,get:function(){return M_}}),Object.defineProperty(exports,`jt`,{enumerable:!0,get:function(){return Xy}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return TC}}),Object.defineProperty(exports,`ka`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`ki`,{enumerable:!0,get:function(){return cr}}),Object.defineProperty(exports,`kn`,{enumerable:!0,get:function(){return Kx}}),Object.defineProperty(exports,`kr`,{enumerable:!0,get:function(){return A_}}),Object.defineProperty(exports,`kt`,{enumerable:!0,get:function(){return _y}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return IC}}),Object.defineProperty(exports,`la`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`li`,{enumerable:!0,get:function(){return Xr}}),Object.defineProperty(exports,`ln`,{enumerable:!0,get:function(){return ex}}),Object.defineProperty(exports,`lo`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`lr`,{enumerable:!0,get:function(){return Nv}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return vS}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return LC}}),Object.defineProperty(exports,`ma`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`mi`,{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(exports,`mn`,{enumerable:!0,get:function(){return Db}}),Object.defineProperty(exports,`mo`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`mr`,{enumerable:!0,get:function(){return bv}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return wS}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return dw}}),Object.defineProperty(exports,`na`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`ni`,{enumerable:!0,get:function(){return ui}}),Object.defineProperty(exports,`nn`,{enumerable:!0,get:function(){return _x}}),Object.defineProperty(exports,`no`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`nr`,{enumerable:!0,get:function(){return Ub}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return TS}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return mw}}),Object.defineProperty(exports,`oa`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`oi`,{enumerable:!0,get:function(){return ii}}),Object.defineProperty(exports,`on`,{enumerable:!0,get:function(){return Ey}}),Object.defineProperty(exports,`oo`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`or`,{enumerable:!0,get:function(){return gy}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return yS}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return lw}}),Object.defineProperty(exports,`pa`,{enumerable:!0,get:function(){return It}}),Object.defineProperty(exports,`pi`,{enumerable:!0,get:function(){return Yr}}),Object.defineProperty(exports,`pn`,{enumerable:!0,get:function(){return ox}}),Object.defineProperty(exports,`po`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`pr`,{enumerable:!0,get:function(){return wv}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return PS}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return JS}}),Object.defineProperty(exports,`qa`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`qi`,{enumerable:!0,get:function(){return Wn}}),Object.defineProperty(exports,`qn`,{enumerable:!0,get:function(){return vx}}),Object.defineProperty(exports,`qr`,{enumerable:!0,get:function(){return Gi}}),Object.defineProperty(exports,`qt`,{enumerable:!0,get:function(){return Pb}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return uw}}),Object.defineProperty(exports,`ra`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`ri`,{enumerable:!0,get:function(){return si}}),Object.defineProperty(exports,`rn`,{enumerable:!0,get:function(){return fS}}),Object.defineProperty(exports,`ro`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`rr`,{enumerable:!0,get:function(){return Bb}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return bS}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return hw}}),Object.defineProperty(exports,`sa`,{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,`si`,{enumerable:!0,get:function(){return Ti}}),Object.defineProperty(exports,`sn`,{enumerable:!0,get:function(){return Ty}}),Object.defineProperty(exports,`so`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`sr`,{enumerable:!0,get:function(){return fy}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return CS}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Pw}}),Object.defineProperty(exports,`ta`,{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,`ti`,{enumerable:!0,get:function(){return ri}}),Object.defineProperty(exports,`tn`,{enumerable:!0,get:function(){return Jx}}),Object.defineProperty(exports,`to`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`tr`,{enumerable:!0,get:function(){return aS}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return hS}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return RC}}),Object.defineProperty(exports,`ua`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`ui`,{enumerable:!0,get:function(){return Qr}}),Object.defineProperty(exports,`un`,{enumerable:!0,get:function(){return ob}}),Object.defineProperty(exports,`uo`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`ur`,{enumerable:!0,get:function(){return Ov}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return LS}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return tw}}),Object.defineProperty(exports,`va`,{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,`vi`,{enumerable:!0,get:function(){return Jr}}),Object.defineProperty(exports,`vn`,{enumerable:!0,get:function(){return Xb}}),Object.defineProperty(exports,`vo`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`vr`,{enumerable:!0,get:function(){return Tv}}),Object.defineProperty(exports,`vt`,{enumerable:!0,get:function(){return IS}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ew}}),Object.defineProperty(exports,`wa`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`wi`,{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,`wn`,{enumerable:!0,get:function(){return Ox}}),Object.defineProperty(exports,`wr`,{enumerable:!0,get:function(){return rv}}),Object.defineProperty(exports,`wt`,{enumerable:!0,get:function(){return sS}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return VC}}),Object.defineProperty(exports,`xa`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`xi`,{enumerable:!0,get:function(){return or}}),Object.defineProperty(exports,`xn`,{enumerable:!0,get:function(){return Ex}}),Object.defineProperty(exports,`xr`,{enumerable:!0,get:function(){return ov}}),Object.defineProperty(exports,`xt`,{enumerable:!0,get:function(){return Gy}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return MC}}),Object.defineProperty(exports,`ya`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`yi`,{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,`yn`,{enumerable:!0,get:function(){return Ux}}),Object.defineProperty(exports,`yr`,{enumerable:!0,get:function(){return _v}}),Object.defineProperty(exports,`yt`,{enumerable:!0,get:function(){return FS}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return sC}}),Object.defineProperty(exports,`za`,{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,`zi`,{enumerable:!0,get:function(){return nr}}),Object.defineProperty(exports,`zn`,{enumerable:!0,get:function(){return px}}),Object.defineProperty(exports,`zr`,{enumerable:!0,get:function(){return x_}}),Object.defineProperty(exports,`zt`,{enumerable:!0,get:function(){return Ky}});
|