kennel 0.2.32 → 0.2.33

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.
Files changed (80) hide show
  1. package/dist/cli/dispatch.js +5 -0
  2. package/dist/cli/usage.js +5 -0
  3. package/dist/core/runtime.js +458 -166
  4. package/dist/llm/command.js +10 -3
  5. package/dist/llm/worker.js +297 -32
  6. package/dist/notes/command.d.ts +1 -0
  7. package/dist/notes/command.js +556 -0
  8. package/dist/package/preview.js +481 -188
  9. package/dist/site/server-plugins.js +51 -10
  10. package/package.json +3 -2
  11. package/schemas/config.schema.json +11 -0
  12. package/web/assets/{abnfDiagram-VRR7QNED-DPZyna8O.js → abnfDiagram-VRR7QNED-CpP1VHKI.js} +1 -1
  13. package/web/assets/{arc-BAcU9y_V.js → arc-kL4AxfvR.js} +1 -1
  14. package/web/assets/{architectureDiagram-ZJ3FMSHR-D5yd7Cag.js → architectureDiagram-ZJ3FMSHR-BWaRktRJ.js} +1 -1
  15. package/web/assets/{ask-tray-PMT6VVXN-C4dJH21Q.js → ask-tray-PMT6VVXN-FqPDpwtw.js} +3 -3
  16. package/web/assets/{blockDiagram-677ZJIJ3-C7LSGyxV.js → blockDiagram-677ZJIJ3-B07uVoPU.js} +1 -1
  17. package/web/assets/{c4Diagram-LMCZKHZV-BW2KfoQr.js → c4Diagram-LMCZKHZV-uvoaQC09.js} +1 -1
  18. package/web/assets/channel-Djmf1Ik1.js +1 -0
  19. package/web/assets/{chunk-2Q5K7J3B-4Og6VAFG.js → chunk-2Q5K7J3B-BH3SaHqk.js} +1 -1
  20. package/web/assets/{chunk-32BRIVSS-BYOowQl5.js → chunk-32BRIVSS-SPD8Eraw.js} +1 -1
  21. package/web/assets/{chunk-5VM5RSS4-C1m-lq64.js → chunk-5VM5RSS4-DNeOgOuZ.js} +1 -1
  22. package/web/assets/{chunk-EX3LRPZG-B2hriRpJ.js → chunk-EX3LRPZG-SJQ-vKGz.js} +1 -1
  23. package/web/assets/{chunk-JWPE2WC7-C6RsnzVA.js → chunk-JWPE2WC7-Dy_9wZ2Y.js} +1 -1
  24. package/web/assets/{chunk-MOJQB5TN-yKbMmUWf.js → chunk-MOJQB5TN-CuIx80Vn.js} +1 -1
  25. package/web/assets/{chunk-RYQCIY6F-BOokm3Qc.js → chunk-RYQCIY6F-DDG61RKR.js} +1 -1
  26. package/web/assets/{chunk-V7JOEXUC-CKW-H5An.js → chunk-V7JOEXUC-7OMVhaoH.js} +1 -1
  27. package/web/assets/{chunk-VR4S4FIN-BU5pFrup.js → chunk-VR4S4FIN-Y-HNaSmV.js} +1 -1
  28. package/web/assets/{chunk-XXDRQBXY-DYtdSJHU.js → chunk-XXDRQBXY-CtG0MPgC.js} +1 -1
  29. package/web/assets/classDiagram-OUVF2IWQ-hlDS9RWf.js +1 -0
  30. package/web/assets/classDiagram-v2-EOCWNBFH-hlDS9RWf.js +1 -0
  31. package/web/assets/{cose-bilkent-JH36ORCC-BZeXtC6E.js → cose-bilkent-JH36ORCC-BZaPMYcl.js} +1 -1
  32. package/web/assets/{cynefin-VYW2F7L2-BSDVyzMI.js → cynefin-VYW2F7L2-DxAlRHA1.js} +1 -1
  33. package/web/assets/{cynefinDiagram-TSTJHNR4-CReoDBYo.js → cynefinDiagram-TSTJHNR4-gjgzmagS.js} +1 -1
  34. package/web/assets/{dagre-VKFMJZFB-CBLLzMxd.js → dagre-VKFMJZFB-DvLPeYuw.js} +1 -1
  35. package/web/assets/{diagram-FQU43EPY-BcGWiZXZ.js → diagram-FQU43EPY-443LFnzG.js} +1 -1
  36. package/web/assets/{diagram-G47NLZAW-BXUYZA9N.js → diagram-G47NLZAW-CqfUewot.js} +1 -1
  37. package/web/assets/{diagram-NH7WQ7WH-BrvrZs7N.js → diagram-NH7WQ7WH-D-FElUGW.js} +1 -1
  38. package/web/assets/{diagram-OA4YK3LP-7lnVcjXL.js → diagram-OA4YK3LP-DbidUAp5.js} +1 -1
  39. package/web/assets/{diagram-WEI45ONY-s58_bMFf.js → diagram-WEI45ONY-CPLeckCZ.js} +1 -1
  40. package/web/assets/{ebnfDiagram-CCIWWBDH-BemWecoD.js → ebnfDiagram-CCIWWBDH-DR0rqZzN.js} +1 -1
  41. package/web/assets/{entity-search-page-G6QEQNXT--sKP5dP3.js → entity-search-page-G6QEQNXT-CnG8d-at.js} +1 -1
  42. package/web/assets/{erDiagram-Q63AITRT-ClVJddch.js → erDiagram-Q63AITRT-DMXv_8Tj.js} +1 -1
  43. package/web/assets/{flowDiagram-23GEKE2U-xzUJu-i_.js → flowDiagram-23GEKE2U-DnbQjZs0.js} +1 -1
  44. package/web/assets/{ganttDiagram-NO4QXBWP-CXQmtF5g.js → ganttDiagram-NO4QXBWP-DBKIrjj8.js} +1 -1
  45. package/web/assets/{gitGraphDiagram-IHSO6WYX-DCdljcLl.js → gitGraphDiagram-IHSO6WYX-BqqxKWT_.js} +1 -1
  46. package/web/assets/{index-CtTx1o2d.js → index-Bd3ghcW-.js} +5 -5
  47. package/web/assets/{index-vjrhIAJn.css → index-Dt8OzQCe.css} +1 -1
  48. package/web/assets/{infoDiagram-FWYZ7A6U-B11SJYSK.js → infoDiagram-FWYZ7A6U-Ba6Fs17y.js} +1 -1
  49. package/web/assets/{ishikawaDiagram-FXEZZL3T-B2CCGlAm.js → ishikawaDiagram-FXEZZL3T-D3BOtFjy.js} +1 -1
  50. package/web/assets/{journeyDiagram-5HDEW3XC-CBPETzOk.js → journeyDiagram-5HDEW3XC-MbzFPQm8.js} +1 -1
  51. package/web/assets/{kanban-definition-HUTT4EX6-unhQ3RPE.js → kanban-definition-HUTT4EX6-CurBmwu1.js} +1 -1
  52. package/web/assets/{linear-DuP_pG51.js → linear-CQIr4JjI.js} +1 -1
  53. package/web/assets/{linked-session-header-M7WY6IGF-DwlNCJlj.js → linked-session-header-M7WY6IGF-BBgN8zTq.js} +1 -1
  54. package/web/assets/{mermaid.core-BlYNzkpn.js → mermaid.core-bE6Vl3bZ.js} +4 -4
  55. package/web/assets/{mindmap-definition-LN4V7U3C-CtKHN6O1.js → mindmap-definition-LN4V7U3C-C1a46OGU.js} +1 -1
  56. package/web/assets/{pegDiagram-2B236MQR-CRyz6XWY.js → pegDiagram-2B236MQR-DZxMOxek.js} +1 -1
  57. package/web/assets/{pieDiagram-ENE6RG2P-BXfkPm3Q.js → pieDiagram-ENE6RG2P-BN0XOKLi.js} +1 -1
  58. package/web/assets/{plugin-host-modules-5NQgs5Cq.js → plugin-host-modules-CaRD5_5q.js} +1 -1
  59. package/web/assets/{project-search-dialog-HJFGW4DG-DPly4OiB.js → project-search-dialog-HJFGW4DG-h_dHeh7g.js} +1 -1
  60. package/web/assets/{project-search-page-NKQEBGPF-Cc6HV7BN.js → project-search-page-NKQEBGPF-2AzjjLEC.js} +1 -1
  61. package/web/assets/{quadrantDiagram-ABIIQ3AL-Drb_qWex.js → quadrantDiagram-ABIIQ3AL-C6IegTP-.js} +1 -1
  62. package/web/assets/{railroadDiagram-RFXS5EU6-DCKk2Pix.js → railroadDiagram-RFXS5EU6-bsjyAl-q.js} +1 -1
  63. package/web/assets/{requirementDiagram-TGXJPOKE-6WwZwcpD.js → requirementDiagram-TGXJPOKE-Cl8EZWy7.js} +1 -1
  64. package/web/assets/{sankeyDiagram-HTMAVEWB-DGGk3WCE.js → sankeyDiagram-HTMAVEWB-DhK4rRux.js} +1 -1
  65. package/web/assets/{selection-popup-532EHNCZ-yPhTrk7L.js → selection-popup-532EHNCZ-E2iQ2gQQ.js} +1 -1
  66. package/web/assets/{sequenceDiagram-DBY2YBRQ-a4tGi3DH.js → sequenceDiagram-DBY2YBRQ-DQTaPSD6.js} +1 -1
  67. package/web/assets/{sizeCapture-X5ZJPWSS-CHehBmy9.js → sizeCapture-X5ZJPWSS-k77bZ1zg.js} +1 -1
  68. package/web/assets/{stateDiagram-2N3HPSRC-Bn9GSWgV.js → stateDiagram-2N3HPSRC-Cv_5WuZJ.js} +1 -1
  69. package/web/assets/{stateDiagram-v2-6OUMAXLB-DI7fdBd7.js → stateDiagram-v2-6OUMAXLB-DJ1Lrskh.js} +1 -1
  70. package/web/assets/{swimlanes-5IMT3BWC-BX0WRzfR.js → swimlanes-5IMT3BWC-gBtAjG3z.js} +2 -2
  71. package/web/assets/swimlanesDiagram-G3AALYLV-DF1K9voG.js +8 -0
  72. package/web/assets/{timeline-definition-FHXFAJF6-9Ni2kIzq.js → timeline-definition-FHXFAJF6-CFjnM1Qq.js} +1 -1
  73. package/web/assets/{vennDiagram-L72KCM5P-rfBSNh3U.js → vennDiagram-L72KCM5P-CeMWrThY.js} +1 -1
  74. package/web/assets/{wardleyDiagram-EHGQE667-CzziImCC.js → wardleyDiagram-EHGQE667-R-ZaAOAI.js} +1 -1
  75. package/web/assets/{xychartDiagram-FW5EYKEG-DTLI4h5R.js → xychartDiagram-FW5EYKEG-BFXoMXiN.js} +1 -1
  76. package/web/index.html +2 -2
  77. package/web/assets/channel-um92dqpm.js +0 -1
  78. package/web/assets/classDiagram-OUVF2IWQ-h7sFEJBg.js +0 -1
  79. package/web/assets/classDiagram-v2-EOCWNBFH-h7sFEJBg.js +0 -1
  80. package/web/assets/swimlanesDiagram-G3AALYLV-OGHC9nqi.js +0 -8
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/plugin-host-modules-5NQgs5Cq.js","assets/react-DELVxLrX.js","assets/markdown-BP-54rPU.js","assets/tanstack-CRaSxWtK.js","assets/mermaid.core-BlYNzkpn.js","assets/ask-tray-PMT6VVXN-C4dJH21Q.js","assets/project-search-dialog-HJFGW4DG-DPly4OiB.js","assets/project-search-page-NKQEBGPF-Cc6HV7BN.js","assets/entity-search-page-G6QEQNXT--sKP5dP3.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/plugin-host-modules-CaRD5_5q.js","assets/react-DELVxLrX.js","assets/markdown-BP-54rPU.js","assets/tanstack-CRaSxWtK.js","assets/mermaid.core-bE6Vl3bZ.js","assets/ask-tray-PMT6VVXN-FqPDpwtw.js","assets/project-search-dialog-HJFGW4DG-h_dHeh7g.js","assets/project-search-page-NKQEBGPF-2AzjjLEC.js","assets/entity-search-page-G6QEQNXT-CnG8d-at.js"])))=>i.map(i=>d[i]);
2
2
  var Dm=e=>{throw TypeError(e)};var Fm=(e,t,n)=>t.has(e)||Dm("Cannot "+n);var At=(e,t,n)=>(Fm(e,t,"read from private field"),n?n.call(e):t.get(e)),$m=(e,t,n)=>t.has(e)?Dm("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),tl=(e,t,n,o)=>(Fm(e,t,"write to private field"),o?o.call(e,n):t.set(e,n),n);import{r as f,j as d,R as eo,a as Wo,e as oe,f as va,b as KS,g as ey,h as qS}from"./react-DELVxLrX.js";import{V as WS,w as _s,o as Wt,n as Fo,a as GS,s as su,p as gs,u as ZS,r as YS,b as XS,c as JS,d as QS,e as e0,f as t0,h as xi,C as n0,i as Lm,j as o0,k as Bm,l as zm,m as Vm,q as r0,M as s0,t as i0,v as a0,x as c0}from"./markdown-BP-54rPU.js";import{u as xo,Q as l0,a as u0,b as Pd}from"./tanstack-CRaSxWtK.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();const d0=/\{[^{}]+\}/g,f0=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function m0(){return Math.random().toString(36).slice(2,11)}function p0(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:r,bodySerializer:s,pathSerializer:i,headers:a,requestInitExt:c=void 0,...l}={...e};c=f0()?c:void 0,t=Km(t);const m=[];async function u(p,g){const{baseUrl:b,fetch:h=o,Request:y=n,headers:w,params:v={},parseAs:j="json",querySerializer:x,bodySerializer:k=s??h0,pathSerializer:S,body:E,middleware:_=[],...P}=g||{};let C=t;b&&(C=Km(b)??t);let I=typeof r=="function"?r:Um(r);x&&(I=typeof x=="function"?x:Um({...typeof r=="object"?r:{},...x}));const M=S||i||g0,B=E===void 0?void 0:k(E,Hm(a,w,v.header)),A=Hm(B===void 0||B instanceof FormData?{}:{"Content-Type":"application/json"},a,w,v.header),$=[...m,..._],U={redirect:"follow",...l,...P,body:B,headers:A};let F,R,K=new y(y0(p,{baseUrl:C,params:v,querySerializer:I,pathSerializer:M}),U),N;for(const O in P)O in K||(K[O]=P[O]);if($.length){F=m0(),R=Object.freeze({baseUrl:C,fetch:h,parseAs:j,querySerializer:I,bodySerializer:k,pathSerializer:M});for(const O of $)if(O&&typeof O=="object"&&typeof O.onRequest=="function"){const D=await O.onRequest({request:K,schemaPath:p,params:v,options:R,id:F});if(D)if(D instanceof y)K=D;else if(D instanceof Response){N=D;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!N){try{N=await h(K,c)}catch(O){let D=O;if($.length)for(let V=$.length-1;V>=0;V--){const H=$[V];if(H&&typeof H=="object"&&typeof H.onError=="function"){const q=await H.onError({request:K,error:D,schemaPath:p,params:v,options:R,id:F});if(q){if(q instanceof Response){D=void 0,N=q;break}if(q instanceof Error){D=q;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(D)throw D}if($.length)for(let O=$.length-1;O>=0;O--){const D=$[O];if(D&&typeof D=="object"&&typeof D.onResponse=="function"){const V=await D.onResponse({request:K,response:N,schemaPath:p,params:v,options:R,id:F});if(V){if(!(V instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");N=V}}}}const z=N.headers.get("Content-Length");if(N.status===204||K.method==="HEAD"||z==="0"&&!N.headers.get("Transfer-Encoding")?.includes("chunked"))return N.ok?{data:void 0,response:N}:{error:void 0,response:N};if(N.ok)return{data:await(async()=>{if(j==="stream")return N.body;if(j==="json"&&!z){const D=await N.text();return D?JSON.parse(D):void 0}return await N[j]()})(),response:N};let T=await N.text();try{T=JSON.parse(T)}catch{}return{error:T,response:N}}return{request(p,g,b){return u(g,{...b,method:p.toUpperCase()})},GET(p,g){return u(p,{...g,method:"GET"})},PUT(p,g){return u(p,{...g,method:"PUT"})},POST(p,g){return u(p,{...g,method:"POST"})},DELETE(p,g){return u(p,{...g,method:"DELETE"})},OPTIONS(p,g){return u(p,{...g,method:"OPTIONS"})},HEAD(p,g){return u(p,{...g,method:"HEAD"})},PATCH(p,g){return u(p,{...g,method:"PATCH"})},TRACE(p,g){return u(p,{...g,method:"TRACE"})},use(...p){for(const g of p)if(g){if(typeof g!="object"||!("onRequest"in g||"onResponse"in g||"onError"in g))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");m.push(g)}},eject(...p){for(const g of p){const b=m.indexOf(g);b!==-1&&m.splice(b,1)}}}}function Xa(e,t,n){if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function ty(e,t,n){if(!t||typeof t!="object")return"";const o=[],r={simple:",",label:".",matrix:";"}[n.style]||"&";if(n.style!=="deepObject"&&n.explode===!1){for(const a in t)o.push(a,n.allowReserved===!0?t[a]:encodeURIComponent(t[a]));const i=o.join(",");switch(n.style){case"form":return`${e}=${i}`;case"label":return`.${i}`;case"matrix":return`;${e}=${i}`;default:return i}}for(const i in t){const a=n.style==="deepObject"?`${e}[${i}]`:i;o.push(Xa(a,t[i],n))}const s=o.join(r);return n.style==="label"||n.style==="matrix"?`${r}${s}`:s}function ny(e,t,n){if(!Array.isArray(t))return"";if(n.explode===!1){const s={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",i=(n.allowReserved===!0?t:t.map(a=>encodeURIComponent(a))).join(s);switch(n.style){case"simple":return i;case"label":return`.${i}`;case"matrix":return`;${e}=${i}`;default:return`${e}=${i}`}}const o={simple:",",label:".",matrix:";"}[n.style]||"&",r=[];for(const s of t)n.style==="simple"||n.style==="label"?r.push(n.allowReserved===!0?s:encodeURIComponent(s)):r.push(Xa(e,s,n));return n.style==="label"||n.style==="matrix"?`${o}${r.join(o)}`:r.join(o)}function Um(e){return function(n){const o=[];if(n&&typeof n=="object")for(const r in n){const s=n[r];if(s!=null){if(Array.isArray(s)){if(s.length===0)continue;o.push(ny(r,s,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof s=="object"){o.push(ty(r,s,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}o.push(Xa(r,s,e))}}return o.join("&")}}function g0(e,t){let n=e;for(const o of e.match(d0)??[]){let r=o.substring(1,o.length-1),s=!1,i="simple";if(r.endsWith("*")&&(s=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(i="label",r=r.substring(1)):r.startsWith(";")&&(i="matrix",r=r.substring(1)),!t||t[r]===void 0||t[r]===null)continue;const a=t[r];if(Array.isArray(a)){n=n.replace(o,ny(r,a,{style:i,explode:s}));continue}if(typeof a=="object"){n=n.replace(o,ty(r,a,{style:i,explode:s}));continue}if(i==="matrix"){n=n.replace(o,`;${Xa(r,a)}`);continue}n=n.replace(o,i==="label"?`.${encodeURIComponent(a)}`:encodeURIComponent(a))}return n}function h0(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(e).toString():JSON.stringify(e)}function y0(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let o=t.querySerializer(t.params.query??{});return o.startsWith("?")&&(o=o.substring(1)),o&&(n+=`?${o}`),n}function Hm(...e){const t=new Headers;for(const n of e){if(!n||typeof n!="object")continue;const o=n instanceof Headers?n.entries():Object.entries(n);for(const[r,s]of o)if(s===null)t.delete(r);else if(Array.isArray(s))for(const i of s)t.append(r,i);else s!==void 0&&t.set(r,s)}return t}function Km(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var qm;function Y(e,t,n){function o(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);const l=i.prototype,m=Object.keys(l);for(let u=0;u<m.length;u++){const p=m[u];p in a||(a[p]=l[p].bind(a))}}const r=n?.Parent??Object;class s extends r{}Object.defineProperty(s,"name",{value:e});function i(a){var c;const l=n?.Parent?new s:this;o(l,a),(c=l._zod).deferred??(c.deferred=[]);for(const m of l._zod.deferred)m();return l}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class Sr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class oy extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(qm=globalThis).__zod_globalConfig??(qm.__zod_globalConfig={});const Cd=globalThis.__zod_globalConfig;function Xn(e){return Cd}function ry(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,r])=>t.indexOf(+o)===-1).map(([o,r])=>r)}function iu(e,t){return typeof t=="bigint"?t.toString():t}function Td(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Od(e){return e==null}function Rd(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function b0(e,t){const n=e/t,o=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<r?0:n-o}const Wm=Symbol("evaluating");function We(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==Wm)return o===void 0&&(o=Wm,o=n()),o},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function Go(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Eo(...e){const t={};for(const n of e){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function Gm(e){return JSON.stringify(e)}function v0(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const sy="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function wa(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const w0=Td(()=>{if(Cd.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Rr(e){if(wa(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(wa(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function iy(e){return Rr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const x0=new Set(["string","number","symbol"]);function Ir(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Po(e,t,n){const o=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(o._zod.parent=e),o}function xe(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function j0(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const _0={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function S0(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const s=Eo(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=n.shape[a])}return Go(this,"shape",i),i},checks:[]});return Po(e,s)}function k0(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=Eo(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return Go(this,"shape",i),i},checks:[]});return Po(e,s)}function E0(e,t){if(!Rr(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const s=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(s,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const r=Eo(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return Go(this,"shape",s),s}});return Po(e,r)}function P0(e,t){if(!Rr(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=Eo(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Go(this,"shape",o),o}});return Po(e,n)}function C0(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n=Eo(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Go(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Po(e,n)}function T0(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const i=Eo(t._zod.def,{get shape(){const a=t._zod.def.shape,c={...a};if(n)for(const l in n){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(c[l]=e?new e({type:"optional",innerType:a[l]}):a[l])}else for(const l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return Go(this,"shape",c),c},checks:[]});return Po(t,i)}function O0(e,t,n){const o=Eo(t._zod.def,{get shape(){const r=t._zod.def.shape,s={...r};if(n)for(const i in n){if(!(i in s))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(s[i]=new e({type:"nonoptional",innerType:r[i]}))}else for(const i in r)s[i]=new e({type:"nonoptional",innerType:r[i]});return Go(this,"shape",s),s}});return Po(t,o)}function yr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function R0(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function br(e,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(e),n})}function ji(e){return typeof e=="string"?e:e?.message}function Jn(e,t,n){const o=e.message?e.message:ji(e.inst?._zod.def?.error?.(e))??ji(t?.error?.(e))??ji(n.customError?.(e))??ji(n.localeError?.(e))??"Invalid input",{inst:r,continue:s,input:i,...a}=e;return a.path??(a.path=[]),a.message=o,t?.reportInput&&(a.input=i),a}function Id(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function As(...e){const[t,n,o]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}const ay=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,iu,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},cy=Y("$ZodError",ay),ly=Y("$ZodError",ay,{Parent:Error});function I0(e,t=n=>n.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}function A0(e,t=n=>n.message){const n={_errors:[]},o=(r,s=[])=>{for(const i of r.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")o({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")o({issues:i.issues},[...s,...i.path]);else{const a=[...s,...i.path];if(a.length===0)n._errors.push(t(i));else{let c=n,l=0;for(;l<a.length;){const m=a[l];l===a.length-1?(c[m]=c[m]||{_errors:[]},c[m]._errors.push(t(i))):c[m]=c[m]||{_errors:[]},c=c[m],l++}}}};return o(e),n}const Ad=e=>(t,n,o,r)=>{const s=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new Sr;if(i.issues.length){const a=new(r?.Err??e)(i.issues.map(c=>Jn(c,s,Xn())));throw sy(a,r?.callee),a}return i.value},Nd=e=>async(t,n,o,r)=>{const s=o?{...o,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const a=new(r?.Err??e)(i.issues.map(c=>Jn(c,s,Xn())));throw sy(a,r?.callee),a}return i.value},Ja=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},r);if(s instanceof Promise)throw new Sr;return s.issues.length?{success:!1,error:new(e??cy)(s.issues.map(i=>Jn(i,r,Xn())))}:{success:!0,data:s.value}},N0=Ja(ly),Qa=e=>async(t,n,o)=>{const r=o?{...o,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},r);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>Jn(i,r,Xn())))}:{success:!0,data:s.value}},M0=Qa(ly),D0=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Ad(e)(t,n,r)},F0=e=>(t,n,o)=>Ad(e)(t,n,o),$0=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Nd(e)(t,n,r)},L0=e=>async(t,n,o)=>Nd(e)(t,n,o),B0=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Ja(e)(t,n,r)},z0=e=>(t,n,o)=>Ja(e)(t,n,o),V0=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Qa(e)(t,n,r)},U0=e=>async(t,n,o)=>Qa(e)(t,n,o),H0=/^[cC][0-9a-z]{6,}$/,K0=/^[0-9a-z]+$/,q0=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,W0=/^[0-9a-vA-V]{20}$/,G0=/^[A-Za-z0-9]{27}$/,Z0=/^[a-zA-Z0-9_-]{21}$/,Y0=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,X0=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Zm=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,J0=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Q0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ek(){return new RegExp(Q0,"u")}const tk=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,nk=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ok=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,rk=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,sk=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,uy=/^[A-Za-z0-9_-]*$/,ik=/^https?$/,ak=/^\+[1-9]\d{6,14}$/,dy="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",ck=new RegExp(`^${dy}$`);function fy(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function lk(e){return new RegExp(`^${fy(e)}$`)}function uk(e){const t=fy({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${dy}T(?:${o})$`)}const dk=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},fk=/^-?\d+$/,my=/^-?\d+(?:\.\d+)?$/,mk=/^(?:true|false)$/i,pk=/^[^A-Z]*$/,gk=/^[^a-z]*$/,Xt=Y("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),py={number:"number",bigint:"bigint",object:"date"},gy=Y("$ZodCheckLessThan",(e,t)=>{Xt.init(e,t);const n=py[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,s=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),hy=Y("$ZodCheckGreaterThan",(e,t)=>{Xt.init(e,t);const n=py[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,s=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),hk=Y("$ZodCheckMultipleOf",(e,t)=>{Xt.init(e,t),e._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):b0(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),yk=Y("$ZodCheckNumberFormat",(e,t)=>{Xt.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,s]=_0[t.format];e._zod.onattach.push(i=>{const a=i._zod.bag;a.format=t.format,a.minimum=r,a.maximum=s,n&&(a.pattern=fk)}),e._zod.check=i=>{const a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}a<r&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),bk=Y("$ZodCheckMaxLength",(e,t)=>{var n;Xt.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Od(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const r=o.value;if(r.length<=t.maximum)return;const i=Id(r);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),vk=Y("$ZodCheckMinLength",(e,t)=>{var n;Xt.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Od(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const r=o.value;if(r.length>=t.minimum)return;const i=Id(r);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),wk=Y("$ZodCheckLengthEquals",(e,t)=>{var n;Xt.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Od(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=o=>{const r=o.value,s=r.length;if(s===t.length)return;const i=Id(r),a=s>t.length;o.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),ec=Y("$ZodCheckStringFormat",(e,t)=>{var n,o;Xt.init(e,t),e._zod.onattach.push(r=>{const s=r._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),xk=Y("$ZodCheckRegex",(e,t)=>{ec.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),jk=Y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=pk),ec.init(e,t)}),_k=Y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=gk),ec.init(e,t)}),Sk=Y("$ZodCheckIncludes",(e,t)=>{Xt.init(e,t);const n=Ir(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(r=>{const s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(o)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),kk=Y("$ZodCheckStartsWith",(e,t)=>{Xt.init(e,t);const n=new RegExp(`^${Ir(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Ek=Y("$ZodCheckEndsWith",(e,t)=>{Xt.init(e,t);const n=new RegExp(`.*${Ir(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Pk=Y("$ZodCheckOverwrite",(e,t)=>{Xt.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Ck{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
3
3
  `).filter(i=>i),r=Math.min(...o.map(i=>i.length-i.trimStart().length)),s=o.map(i=>i.slice(r)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const t=Function,n=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,r.join(`
4
4
  `))}}const Tk={major:4,minor:4,patch:3},it=Y("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Tk;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const r of o)for(const s of r._zod.onattach)s(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const r=(i,a,c)=>{let l=yr(i),m;for(const u of a){if(u._zod.def.when){if(R0(i)||!u._zod.def.when(i))continue}else if(l)continue;const p=i.issues.length,g=u._zod.check(i);if(g instanceof Promise&&c?.async===!1)throw new Sr;if(m||g instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await g,i.issues.length!==p&&(l||(l=yr(i,p)))});else{if(i.issues.length===p)continue;l||(l=yr(i,p))}}return m?m.then(()=>i):i},s=(i,a,c)=>{if(yr(i))return i.aborted=!0,i;const l=r(a,o,c);if(l instanceof Promise){if(c.async===!1)throw new Sr;return l.then(m=>e._zod.parse(m,c))}return e._zod.parse(l,c)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction==="backward"){const l=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(m=>s(m,i,a)):s(l,i,a)}const c=e._zod.parse(i,a);if(c instanceof Promise){if(a.async===!1)throw new Sr;return c.then(l=>r(l,o,a))}return r(c,o,a)}}We(e,"~standard",()=>({validate:r=>{try{const s=N0(e,r);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return M0(e,r).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),Md=Y("$ZodString",(e,t)=>{it.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??dk(e._zod.bag),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),rt=Y("$ZodStringFormat",(e,t)=>{ec.init(e,t),Md.init(e,t)}),Ok=Y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=X0),rt.init(e,t)}),Rk=Y("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Zm(o))}else t.pattern??(t.pattern=Zm());rt.init(e,t)}),Ik=Y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=J0),rt.init(e,t)}),Ak=Y("$ZodURL",(e,t)=>{rt.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===ik.source&&!/^https?:\/\//i.test(o)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}const r=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Nk=Y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=ek()),rt.init(e,t)}),Mk=Y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Z0),rt.init(e,t)}),Dk=Y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=H0),rt.init(e,t)}),Fk=Y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=K0),rt.init(e,t)}),$k=Y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=q0),rt.init(e,t)}),Lk=Y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=W0),rt.init(e,t)}),Bk=Y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=G0),rt.init(e,t)}),zk=Y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=uk(t)),rt.init(e,t)}),Vk=Y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=ck),rt.init(e,t)}),Uk=Y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=lk(t)),rt.init(e,t)}),Hk=Y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Y0),rt.init(e,t)}),Kk=Y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=tk),rt.init(e,t),e._zod.bag.format="ipv4"}),qk=Y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=nk),rt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Wk=Y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ok),rt.init(e,t)}),Gk=Y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=rk),rt.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(o.length!==2)throw new Error;const[r,s]=o;if(!s)throw new Error;const i=Number(s);if(`${i}`!==s)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function yy(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Zk=Y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=sk),rt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{yy(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Yk(e){if(!uy.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return yy(n)}const Xk=Y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=uy),rt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{Yk(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Jk=Y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ak),rt.init(e,t)});function Qk(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[o]=n;if(!o)return!1;const r=JSON.parse(atob(o));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}const eE=Y("$ZodJWT",(e,t)=>{rt.init(e,t),e._zod.check=n=>{Qk(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),by=Y("$ZodNumber",(e,t)=>{it.init(e,t),e._zod.pattern=e._zod.bag.pattern??my,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;const s=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...s?{received:s}:{}}),n}}),tE=Y("$ZodNumberFormat",(e,t)=>{yk.init(e,t),by.init(e,t)}),nE=Y("$ZodBoolean",(e,t)=>{it.init(e,t),e._zod.pattern=mk,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=!!n.value}catch{}const r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),oE=Y("$ZodUnknown",(e,t)=>{it.init(e,t),e._zod.parse=n=>n}),rE=Y("$ZodNever",(e,t)=>{it.init(e,t),e._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Ym(e,t,n){e.issues.length&&t.issues.push(...br(n,e.issues)),t.value[n]=e.value}const sE=Y("$ZodArray",(e,t)=>{it.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const s=[];for(let i=0;i<r.length;i++){const a=r[i],c=t.element._zod.run({value:a,issues:[]},o);c instanceof Promise?s.push(c.then(l=>Ym(l,n,i))):Ym(c,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function xa(e,t,n,o,r,s){const i=n in o;if(e.issues.length){if(r&&s&&!i)return;t.issues.push(...br(n,e.issues))}if(!i&&!r){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?i&&(t.value[n]=void 0):t.value[n]=e.value}function vy(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=j0(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function wy(e,t,n,o,r,s){const i=[],a=r.keySet,c=r.catchall._zod,l=c.def.type,m=c.optin==="optional",u=c.optout==="optional";for(const p in t){if(p==="__proto__"||a.has(p))continue;if(l==="never"){i.push(p);continue}const g=c.run({value:t[p],issues:[]},o);g instanceof Promise?e.push(g.then(b=>xa(b,n,p,t,m,u))):xa(g,n,p,t,m,u)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:s}),e.length?Promise.all(e).then(()=>n):n}const iE=Y("$ZodObject",(e,t)=>{if(it.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}const o=Td(()=>vy(t));We(e._zod,"propValues",()=>{const a=t.shape,c={};for(const l in a){const m=a[l]._zod;if(m.values){c[l]??(c[l]=new Set);for(const u of m.values)c[l].add(u)}}return c});const r=wa,s=t.catchall;let i;e._zod.parse=(a,c)=>{i??(i=o.value);const l=a.value;if(!r(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};const m=[],u=i.shape;for(const p of i.keys){const g=u[p],b=g._zod.optin==="optional",h=g._zod.optout==="optional",y=g._zod.run({value:l[p],issues:[]},c);y instanceof Promise?m.push(y.then(w=>xa(w,a,p,l,b,h))):xa(y,a,p,l,b,h)}return s?wy(m,l,a,c,o.value,e):m.length?Promise.all(m).then(()=>a):a}}),aE=Y("$ZodObjectJIT",(e,t)=>{iE.init(e,t);const n=e._zod.parse,o=Td(()=>vy(t)),r=p=>{const g=new Ck(["shape","payload","ctx"]),b=o.value,h=j=>{const x=Gm(j);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};g.write("const input = payload.value;");const y=Object.create(null);let w=0;for(const j of b.keys)y[j]=`key_${w++}`;g.write("const newResult = {};");for(const j of b.keys){const x=y[j],k=Gm(j),S=p[j],E=S?._zod?.optin==="optional",_=S?._zod?.optout==="optional";g.write(`const ${x} = ${h(j)};`),E&&_?g.write(`
@@ -62,7 +62,7 @@ var Dm=e=>{throw TypeError(e)};var Fm=(e,t,n)=>t.has(e)||Dm("Cannot "+n);var At=
62
62
 
63
63
  `)}g.write("payload.value = newResult;"),g.write("return payload;");const v=g.compile();return(j,x)=>v(p,j,x)};let s;const i=wa,a=!Cd.jitless,l=a&&w0.value,m=t.catchall;let u;e._zod.parse=(p,g)=>{u??(u=o.value);const b=p.value;return i(b)?a&&l&&g?.async===!1&&g.jitless!==!0?(s||(s=r(t.shape)),p=s(p,g),m?wy([],b,p,g,u,e):p):n(p,g):(p.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),p)}});function Xm(e,t,n,o){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const r=e.filter(s=>!yr(s));return r.length===1?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(i=>Jn(i,o,Xn())))}),t)}const cE=Y("$ZodUnion",(e,t)=>{it.init(e,t),We(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),We(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),We(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),We(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${o.map(r=>Rd(r.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(o,r)=>{if(n)return n(o,r);let s=!1;const i=[];for(const a of t.options){const c=a._zod.run({value:o.value,issues:[]},r);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}return s?Promise.all(i).then(a=>Xm(a,o,e,r)):Xm(i,o,e,r)}}),lE=Y("$ZodIntersection",(e,t)=>{it.init(e,t),e._zod.parse=(n,o)=>{const r=n.value,s=t.left._zod.run({value:r,issues:[]},o),i=t.right._zod.run({value:r,issues:[]},o);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,l])=>Jm(n,c,l)):Jm(n,s,i)}});function au(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Rr(e)&&Rr(t)){const n=Object.keys(t),o=Object.keys(e).filter(s=>n.indexOf(s)!==-1),r={...e,...t};for(const s of o){const i=au(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};r[s]=i.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=e[o],s=t[o],i=au(r,s);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Jm(e,t,n){const o=new Map;let r;for(const a of t.issues)if(a.code==="unrecognized_keys"){r??(r=a);for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).r=!0;else e.issues.push(a);const s=[...o].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(s.length&&r&&e.issues.push({...r,keys:s}),yr(e))return e;const i=au(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const uE=Y("$ZodRecord",(e,t)=>{it.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Rr(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const s=[],i=t.keyType._zod.values;if(i){n.value={};const a=new Set;for(const l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);const m=t.keyType._zod.run({value:l,issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(m.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:m.issues.map(g=>Jn(g,o,Xn())),input:l,path:[l],inst:e});continue}const u=m.value,p=t.valueType._zod.run({value:r[l],issues:[]},o);p instanceof Promise?s.push(p.then(g=>{g.issues.length&&n.issues.push(...br(l,g.issues)),n.value[u]=g.value})):(p.issues.length&&n.issues.push(...br(l,p.issues)),n.value[u]=p.value)}let c;for(const l in r)a.has(l)||(c=c??[],c.push(l));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:c})}else{n.value={};for(const a of Reflect.ownKeys(r)){if(a==="__proto__"||!Object.prototype.propertyIsEnumerable.call(r,a))continue;let c=t.keyType._zod.run({value:a,issues:[]},o);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&my.test(a)&&c.issues.length){const u=t.keyType._zod.run({value:Number(a),issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");u.issues.length===0&&(c=u)}if(c.issues.length){t.mode==="loose"?n.value[a]=r[a]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(u=>Jn(u,o,Xn())),input:a,path:[a],inst:e});continue}const m=t.valueType._zod.run({value:r[a],issues:[]},o);m instanceof Promise?s.push(m.then(u=>{u.issues.length&&n.issues.push(...br(a,u.issues)),n.value[c.value]=u.value})):(m.issues.length&&n.issues.push(...br(a,m.issues)),n.value[c.value]=m.value)}}return s.length?Promise.all(s).then(()=>n):n}}),dE=Y("$ZodEnum",(e,t)=>{it.init(e,t);const n=ry(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(r=>x0.has(typeof r)).map(r=>typeof r=="string"?Ir(r):r.toString()).join("|")})$`),e._zod.parse=(r,s)=>{const i=r.value;return o.has(i)||r.issues.push({code:"invalid_value",values:n,input:i,inst:e}),r}}),fE=Y("$ZodLiteral",(e,t)=>{if(it.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?Ir(o):o?Ir(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,r)=>{const s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),o}}),mE=Y("$ZodTransform",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new oy(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(i=>(n.value=i,n.fallback=!0,n));if(r instanceof Promise)throw new Sr;return n.value=r,n.fallback=!0,n}});function Qm(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const xy=Y("$ZodOptional",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.optout="optional",We(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),We(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Rd(n.source)})?$`):void 0}),e._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const r=n.value,s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>Qm(i,r)):Qm(s,r)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),pE=Y("$ZodExactOptional",(e,t)=>{xy.init(e,t),We(e._zod,"values",()=>t.innerType._zod.values),We(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,o)=>t.innerType._zod.run(n,o)}),gE=Y("$ZodNullable",(e,t)=>{it.init(e,t),We(e._zod,"optin",()=>t.innerType._zod.optin),We(e._zod,"optout",()=>t.innerType._zod.optout),We(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Rd(n.source)}|null)$`):void 0}),We(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),hE=Y("$ZodDefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>ep(s,t)):ep(r,t)}});function ep(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const yE=Y("$ZodPrefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),bE=Y("$ZodNonOptional",(e,t)=>{it.init(e,t),We(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>tp(s,e)):tp(r,e)}});function tp(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const vE=Y("$ZodCatch",(e,t)=>{it.init(e,t),e._zod.optin="optional",We(e._zod,"optout",()=>t.innerType._zod.optout),We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>Jn(i,o,Xn()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=r.value,r.issues.length&&(n.value=t.catchValue({...n,error:{issues:r.issues.map(s=>Jn(s,o,Xn()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),wE=Y("$ZodPipe",(e,t)=>{it.init(e,t),We(e._zod,"values",()=>t.in._zod.values),We(e._zod,"optin",()=>t.in._zod.optin),We(e._zod,"optout",()=>t.out._zod.optout),We(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,o)=>{if(o.direction==="backward"){const s=t.out._zod.run(n,o);return s instanceof Promise?s.then(i=>_i(i,t.in,o)):_i(s,t.in,o)}const r=t.in._zod.run(n,o);return r instanceof Promise?r.then(s=>_i(s,t.out,o)):_i(r,t.out,o)}});function _i(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}const xE=Y("$ZodReadonly",(e,t)=>{it.init(e,t),We(e._zod,"propValues",()=>t.innerType._zod.propValues),We(e._zod,"values",()=>t.innerType._zod.values),We(e._zod,"optin",()=>t.innerType?._zod?.optin),We(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(np):np(r)}});function np(e){return e.value=Object.freeze(e.value),e}const jE=Y("$ZodCustom",(e,t)=>{Xt.init(e,t),it.init(e,t),e._zod.parse=(n,o)=>n,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(s=>op(s,n,o,e));op(r,n,o,e)}});function op(e,t,n,o){if(!e){const r={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(r.params=o._zod.def.params),t.issues.push(As(r))}}var rp;class _E{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const r={...o,...this._map.get(t)};return Object.keys(r).length?r:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function SE(){return new _E}(rp=globalThis).__zod_globalRegistry??(rp.__zod_globalRegistry=SE());const hs=globalThis.__zod_globalRegistry;function kE(e,t){return new e({type:"string",...xe(t)})}function EE(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...xe(t)})}function sp(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...xe(t)})}function PE(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...xe(t)})}function CE(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...xe(t)})}function TE(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...xe(t)})}function OE(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...xe(t)})}function RE(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...xe(t)})}function IE(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...xe(t)})}function AE(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...xe(t)})}function NE(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...xe(t)})}function ME(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...xe(t)})}function DE(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...xe(t)})}function FE(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...xe(t)})}function $E(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...xe(t)})}function LE(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...xe(t)})}function BE(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...xe(t)})}function zE(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...xe(t)})}function VE(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...xe(t)})}function UE(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...xe(t)})}function HE(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...xe(t)})}function KE(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...xe(t)})}function qE(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...xe(t)})}function WE(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...xe(t)})}function GE(e,t){return new e({type:"string",format:"date",check:"string_format",...xe(t)})}function ZE(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...xe(t)})}function YE(e,t){return new e({type:"string",format:"duration",check:"string_format",...xe(t)})}function XE(e,t){return new e({type:"number",checks:[],...xe(t)})}function JE(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...xe(t)})}function QE(e,t){return new e({type:"boolean",...xe(t)})}function eP(e){return new e({type:"unknown"})}function tP(e,t){return new e({type:"never",...xe(t)})}function ip(e,t){return new gy({check:"less_than",...xe(t),value:e,inclusive:!1})}function nl(e,t){return new gy({check:"less_than",...xe(t),value:e,inclusive:!0})}function ap(e,t){return new hy({check:"greater_than",...xe(t),value:e,inclusive:!1})}function ol(e,t){return new hy({check:"greater_than",...xe(t),value:e,inclusive:!0})}function cp(e,t){return new hk({check:"multiple_of",...xe(t),value:e})}function jy(e,t){return new bk({check:"max_length",...xe(t),maximum:e})}function ja(e,t){return new vk({check:"min_length",...xe(t),minimum:e})}function _y(e,t){return new wk({check:"length_equals",...xe(t),length:e})}function nP(e,t){return new xk({check:"string_format",format:"regex",...xe(t),pattern:e})}function oP(e){return new jk({check:"string_format",format:"lowercase",...xe(e)})}function rP(e){return new _k({check:"string_format",format:"uppercase",...xe(e)})}function sP(e,t){return new Sk({check:"string_format",format:"includes",...xe(t),includes:e})}function iP(e,t){return new kk({check:"string_format",format:"starts_with",...xe(t),prefix:e})}function aP(e,t){return new Ek({check:"string_format",format:"ends_with",...xe(t),suffix:e})}function qr(e){return new Pk({check:"overwrite",tx:e})}function cP(e){return qr(t=>t.normalize(e))}function lP(){return qr(e=>e.trim())}function uP(){return qr(e=>e.toLowerCase())}function dP(){return qr(e=>e.toUpperCase())}function fP(){return qr(e=>v0(e))}function mP(e,t,n){return new e({type:"array",element:t,...xe(n)})}function pP(e,t,n){return new e({type:"custom",check:"custom",fn:t,...xe(n)})}function gP(e,t){const n=hP(o=>(o.addIssue=r=>{if(typeof r=="string")o.issues.push(As(r,o.value,n._zod.def));else{const s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=o.value),s.inst??(s.inst=n),s.continue??(s.continue=!n._zod.def.abort),o.issues.push(As(s))}},e(o.value,o)),t);return n}function hP(e,t){const n=new Xt({check:"custom",...xe(t)});return n._zod.check=e,n}function Sy(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??hs,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function ht(e,t,n={path:[],schemaPath:[]}){var o;const r=e._zod.def,s=t.seen.get(e);if(s)return s.count++,n.schemaPath.includes(e)&&(s.cycle=n.path),s.schema;const i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);const a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{const m={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,m);else{const p=i.schema,g=t.processors[r.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);g(e,t,p,m)}const u=e._zod.parent;u&&(i.ref||(i.ref=u),ht(u,t,m),t.seen.get(u).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Lt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&"_prefault"in i.schema&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function ky(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const i of e.seen.entries()){const a=e.metadataRegistry.get(i[0])?.id;if(a){const c=o.get(a);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(a,i[0])}}const r=i=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const u=e.external.registry.get(i[0])?.id,p=e.external.uri??(b=>b);if(u)return{ref:p(u)};const g=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=g,{defId:g,ref:`${p("__shared")}#/${a}/${g}`}}if(i[1]===n)return{ref:"#"};const l=`#/${a}/`,m=i[1].schema.id??`__schema${e.counter++}`;return{defId:m,ref:l+m}},s=i=>{if(i[1].schema.$ref)return;const a=i[1],{ref:c,defId:l}=r(i);a.def={...a.schema},l&&(a.defId=l);const m=a.schema;for(const u in m)delete m[u];m.$ref=c};if(e.cycles==="throw")for(const i of e.seen.entries()){const a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
64
64
 
65
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const a=i[1];if(t===i[0]){s(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1&&e.reused==="ref"){s(i);continue}}}function Ey(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const c=e.seen.get(a);if(c.ref===null)return;const l=c.def??c.schema,m={...l},u=c.ref;if(c.ref=null,u){o(u);const g=e.seen.get(u),b=g.schema;if(b.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(b)):Object.assign(l,b),Object.assign(l,m),a._zod.parent===u)for(const y in l)y==="$ref"||y==="allOf"||y in m||delete l[y];if(b.$ref&&g.def)for(const y in l)y==="$ref"||y==="allOf"||y in g.def&&JSON.stringify(l[y])===JSON.stringify(g.def[y])&&delete l[y]}const p=a._zod.parent;if(p&&p!==u){o(p);const g=e.seen.get(p);if(g?.schema.$ref&&(l.$ref=g.schema.$ref,g.def))for(const b in l)b==="$ref"||b==="allOf"||b in g.def&&JSON.stringify(l[b])===JSON.stringify(g.def[b])&&delete l[b]}e.override({zodSchema:a,jsonSchema:l,path:c.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(a)}Object.assign(r,n.def??n.schema);const s=e.metadataRegistry.get(t)?.id;s!==void 0&&r.id===s&&delete r.id;const i=e.external?.defs??{};for(const a of e.seen.entries()){const c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,i[c.defId]=c.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?r.$defs=i:r.definitions=i);try{const a=JSON.parse(JSON.stringify(r));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:_a(t,"input",e.processors),output:_a(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Lt(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return Lt(o.element,n);if(o.type==="set")return Lt(o.valueType,n);if(o.type==="lazy")return Lt(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Lt(o.innerType,n);if(o.type==="intersection")return Lt(o.left,n)||Lt(o.right,n);if(o.type==="record"||o.type==="map")return Lt(o.keyType,n)||Lt(o.valueType,n);if(o.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Lt(o.in,n)||Lt(o.out,n);if(o.type==="object"){for(const r in o.shape)if(Lt(o.shape[r],n))return!0;return!1}if(o.type==="union"){for(const r of o.options)if(Lt(r,n))return!0;return!1}if(o.type==="tuple"){for(const r of o.items)if(Lt(r,n))return!0;return!!(o.rest&&Lt(o.rest,n))}return!1}const yP=(e,t={})=>n=>{const o=Sy({...n,processors:t});return ht(e,o),ky(o,e),Ey(o,e)},_a=(e,t,n={})=>o=>{const{libraryOptions:r,target:s}=o??{},i=Sy({...r??{},target:s,io:t,processors:n});return ht(e,i),ky(i,e),Ey(i,e)},bP={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},vP=(e,t,n,o)=>{const r=n;r.type="string";const{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof s=="number"&&(r.minLength=s),typeof i=="number"&&(r.maxLength=i),a&&(r.format=bP[a]??a,r.format===""&&delete r.format,a==="time"&&delete r.format),l&&(r.contentEncoding=l),c&&c.size>0){const m=[...c];m.length===1?r.pattern=m[0].source:m.length>1&&(r.allOf=[...m.map(u=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:u.source}))])}},wP=(e,t,n,o)=>{const r=n,{minimum:s,maximum:i,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof a=="string"&&a.includes("int")?r.type="integer":r.type="number";const u=typeof m=="number"&&m>=(s??Number.NEGATIVE_INFINITY),p=typeof l=="number"&&l<=(i??Number.POSITIVE_INFINITY),g=t.target==="draft-04"||t.target==="openapi-3.0";u?g?(r.minimum=m,r.exclusiveMinimum=!0):r.exclusiveMinimum=m:typeof s=="number"&&(r.minimum=s),p?g?(r.maximum=l,r.exclusiveMaximum=!0):r.exclusiveMaximum=l:typeof i=="number"&&(r.maximum=i),typeof c=="number"&&(r.multipleOf=c)},xP=(e,t,n,o)=>{n.type="boolean"},jP=(e,t,n,o)=>{n.not={}},_P=(e,t,n,o)=>{},SP=(e,t,n,o)=>{const r=e._zod.def,s=ry(r.entries);s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},kP=(e,t,n,o)=>{const r=e._zod.def,s=[];for(const i of r.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},EP=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},PP=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},CP=(e,t,n,o)=>{const r=n,s=e._zod.def,{minimum:i,maximum:a}=e._zod.bag;typeof i=="number"&&(r.minItems=i),typeof a=="number"&&(r.maxItems=a),r.type="array",r.items=ht(s.element,t,{...o,path:[...o.path,"items"]})},TP=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object",r.properties={};const i=s.shape;for(const l in i)r.properties[l]=ht(i[l],t,{...o,path:[...o.path,"properties",l]});const a=new Set(Object.keys(i)),c=new Set([...a].filter(l=>{const m=s.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));c.size>0&&(r.required=Array.from(c)),s.catchall?._zod.def.type==="never"?r.additionalProperties=!1:s.catchall?s.catchall&&(r.additionalProperties=ht(s.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},OP=(e,t,n,o)=>{const r=e._zod.def,s=r.inclusive===!1,i=r.options.map((a,c)=>ht(a,t,{...o,path:[...o.path,s?"oneOf":"anyOf",c]}));s?n.oneOf=i:n.anyOf=i},RP=(e,t,n,o)=>{const r=e._zod.def,s=ht(r.left,t,{...o,path:[...o.path,"allOf",0]}),i=ht(r.right,t,{...o,path:[...o.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];n.allOf=c},IP=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object";const i=s.keyType,c=i._zod.bag?.patterns;if(s.mode==="loose"&&c&&c.size>0){const m=ht(s.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const u of c)r.patternProperties[u.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=ht(s.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=ht(s.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=i._zod.values;if(l){const m=[...l].filter(u=>typeof u=="string"||typeof u=="number");m.length>0&&(r.required=m)}},AP=(e,t,n,o)=>{const r=e._zod.def,s=ht(r.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=r.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},NP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},MP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},DP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},FP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType;let i;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},$P=(e,t,n,o)=>{const r=e._zod.def,s=r.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?r.out:r.in:r.out;ht(i,t,o);const a=t.seen.get(e);a.ref=i},LP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.readOnly=!0},Py=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},BP=Y("ZodISODateTime",(e,t)=>{zk.init(e,t),ct.init(e,t)});function zP(e){return WE(BP,e)}const VP=Y("ZodISODate",(e,t)=>{Vk.init(e,t),ct.init(e,t)});function UP(e){return GE(VP,e)}const HP=Y("ZodISOTime",(e,t)=>{Uk.init(e,t),ct.init(e,t)});function KP(e){return ZE(HP,e)}const qP=Y("ZodISODuration",(e,t)=>{Hk.init(e,t),ct.init(e,t)});function WP(e){return YE(qP,e)}const GP=(e,t)=>{cy.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>A0(e,n)},flatten:{value:n=>I0(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,iu,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,iu,2)}},isEmpty:{get(){return e.issues.length===0}}})},mn=Y("ZodError",GP,{Parent:Error}),ZP=Ad(mn),YP=Nd(mn),XP=Ja(mn),JP=Qa(mn),QP=D0(mn),eC=F0(mn),tC=$0(mn),nC=L0(mn),oC=B0(mn),rC=z0(mn),sC=V0(mn),iC=U0(mn),lp=new WeakMap;function Qs(e,t,n){const o=Object.getPrototypeOf(e);let r=lp.get(o);if(r||(r=new Set,lp.set(o,r)),!r.has(t)){r.add(t);for(const s in n){const i=n[s];Object.defineProperty(o,s,{configurable:!0,enumerable:!1,get(){const a=i.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}const at=Y("ZodType",(e,t)=>(it.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:_a(e,"input"),output:_a(e,"output")}}),e.toJSONSchema=yP(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,o)=>ZP(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>XP(e,n,o),e.parseAsync=async(n,o)=>YP(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>JP(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>QP(e,n,o),e.decode=(n,o)=>eC(e,n,o),e.encodeAsync=async(n,o)=>tC(e,n,o),e.decodeAsync=async(n,o)=>nC(e,n,o),e.safeEncode=(n,o)=>oC(e,n,o),e.safeDecode=(n,o)=>rC(e,n,o),e.safeEncodeAsync=async(n,o)=>sC(e,n,o),e.safeDecodeAsync=async(n,o)=>iC(e,n,o),Qs(e,"ZodType",{check(...n){const o=this.def;return this.clone(Eo(o,{checks:[...o.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,o){return Po(this,n,o)},brand(){return this},register(n,o){return n.add(this,o),this},refine(n,o){return this.check(QC(n,o))},superRefine(n,o){return this.check(e1(n,o))},overwrite(n){return this.check(qr(n))},optional(){return mp(this)},exactOptional(){return BC(this)},nullable(){return pp(this)},nullish(){return mp(pp(this))},nonoptional(n){return qC(this,n)},array(){return yt(this)},or(n){return Oy([this,n])},and(n){return NC(this,n)},transform(n){return gp(this,$C(n))},default(n){return UC(this,n)},prefault(n){return KC(this,n)},catch(n){return GC(this,n)},pipe(n){return gp(this,n)},readonly(){return XC(this)},describe(n){const o=this.clone();return hs.add(o,{description:n}),o},meta(...n){if(n.length===0)return hs.get(this);const o=this.clone();return hs.add(o,n[0]),o},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return hs.get(e)?.description},configurable:!0}),e)),Cy=Y("_ZodString",(e,t)=>{Md.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>vP(e,o,r);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Qs(e,"_ZodString",{regex(...o){return this.check(nP(...o))},includes(...o){return this.check(sP(...o))},startsWith(...o){return this.check(iP(...o))},endsWith(...o){return this.check(aP(...o))},min(...o){return this.check(ja(...o))},max(...o){return this.check(jy(...o))},length(...o){return this.check(_y(...o))},nonempty(...o){return this.check(ja(1,...o))},lowercase(o){return this.check(oP(o))},uppercase(o){return this.check(rP(o))},trim(){return this.check(lP())},normalize(...o){return this.check(cP(...o))},toLowerCase(){return this.check(uP())},toUpperCase(){return this.check(dP())},slugify(){return this.check(fP())}})}),aC=Y("ZodString",(e,t)=>{Md.init(e,t),Cy.init(e,t),e.email=n=>e.check(EE(cC,n)),e.url=n=>e.check(RE(lC,n)),e.jwt=n=>e.check(qE(SC,n)),e.emoji=n=>e.check(IE(uC,n)),e.guid=n=>e.check(sp(up,n)),e.uuid=n=>e.check(PE(Si,n)),e.uuidv4=n=>e.check(CE(Si,n)),e.uuidv6=n=>e.check(TE(Si,n)),e.uuidv7=n=>e.check(OE(Si,n)),e.nanoid=n=>e.check(AE(dC,n)),e.guid=n=>e.check(sp(up,n)),e.cuid=n=>e.check(NE(fC,n)),e.cuid2=n=>e.check(ME(mC,n)),e.ulid=n=>e.check(DE(pC,n)),e.base64=n=>e.check(UE(xC,n)),e.base64url=n=>e.check(HE(jC,n)),e.xid=n=>e.check(FE(gC,n)),e.ksuid=n=>e.check($E(hC,n)),e.ipv4=n=>e.check(LE(yC,n)),e.ipv6=n=>e.check(BE(bC,n)),e.cidrv4=n=>e.check(zE(vC,n)),e.cidrv6=n=>e.check(VE(wC,n)),e.e164=n=>e.check(KE(_C,n)),e.datetime=n=>e.check(zP(n)),e.date=n=>e.check(UP(n)),e.time=n=>e.check(KP(n)),e.duration=n=>e.check(WP(n))});function Z(e){return kE(aC,e)}const ct=Y("ZodStringFormat",(e,t)=>{rt.init(e,t),Cy.init(e,t)}),cC=Y("ZodEmail",(e,t)=>{Ik.init(e,t),ct.init(e,t)}),up=Y("ZodGUID",(e,t)=>{Ok.init(e,t),ct.init(e,t)}),Si=Y("ZodUUID",(e,t)=>{Rk.init(e,t),ct.init(e,t)}),lC=Y("ZodURL",(e,t)=>{Ak.init(e,t),ct.init(e,t)}),uC=Y("ZodEmoji",(e,t)=>{Nk.init(e,t),ct.init(e,t)}),dC=Y("ZodNanoID",(e,t)=>{Mk.init(e,t),ct.init(e,t)}),fC=Y("ZodCUID",(e,t)=>{Dk.init(e,t),ct.init(e,t)}),mC=Y("ZodCUID2",(e,t)=>{Fk.init(e,t),ct.init(e,t)}),pC=Y("ZodULID",(e,t)=>{$k.init(e,t),ct.init(e,t)}),gC=Y("ZodXID",(e,t)=>{Lk.init(e,t),ct.init(e,t)}),hC=Y("ZodKSUID",(e,t)=>{Bk.init(e,t),ct.init(e,t)}),yC=Y("ZodIPv4",(e,t)=>{Kk.init(e,t),ct.init(e,t)}),bC=Y("ZodIPv6",(e,t)=>{qk.init(e,t),ct.init(e,t)}),vC=Y("ZodCIDRv4",(e,t)=>{Wk.init(e,t),ct.init(e,t)}),wC=Y("ZodCIDRv6",(e,t)=>{Gk.init(e,t),ct.init(e,t)}),xC=Y("ZodBase64",(e,t)=>{Zk.init(e,t),ct.init(e,t)}),jC=Y("ZodBase64URL",(e,t)=>{Xk.init(e,t),ct.init(e,t)}),_C=Y("ZodE164",(e,t)=>{Jk.init(e,t),ct.init(e,t)}),SC=Y("ZodJWT",(e,t)=>{eE.init(e,t),ct.init(e,t)}),Ty=Y("ZodNumber",(e,t)=>{by.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>wP(e,o,r),Qs(e,"ZodNumber",{gt(o,r){return this.check(ap(o,r))},gte(o,r){return this.check(ol(o,r))},min(o,r){return this.check(ol(o,r))},lt(o,r){return this.check(ip(o,r))},lte(o,r){return this.check(nl(o,r))},max(o,r){return this.check(nl(o,r))},int(o){return this.check(dp(o))},safe(o){return this.check(dp(o))},positive(o){return this.check(ap(0,o))},nonnegative(o){return this.check(ol(0,o))},negative(o){return this.check(ip(0,o))},nonpositive(o){return this.check(nl(0,o))},multipleOf(o,r){return this.check(cp(o,r))},step(o,r){return this.check(cp(o,r))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function wn(e){return XE(Ty,e)}const kC=Y("ZodNumberFormat",(e,t)=>{tE.init(e,t),Ty.init(e,t)});function dp(e){return JE(kC,e)}const EC=Y("ZodBoolean",(e,t)=>{nE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>xP(e,n,o)});function cu(e){return QE(EC,e)}const PC=Y("ZodUnknown",(e,t)=>{oE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>_P()});function lu(){return eP(PC)}const CC=Y("ZodNever",(e,t)=>{rE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>jP(e,n,o)});function TC(e){return tP(CC,e)}const OC=Y("ZodArray",(e,t)=>{sE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>CP(e,n,o,r),e.element=t.element,Qs(e,"ZodArray",{min(n,o){return this.check(ja(n,o))},nonempty(n){return this.check(ja(1,n))},max(n,o){return this.check(jy(n,o))},length(n,o){return this.check(_y(n,o))},unwrap(){return this.element}})});function yt(e,t){return mP(OC,e,t)}const RC=Y("ZodObject",(e,t)=>{aE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>TP(e,n,o,r),We(e,"shape",()=>t.shape),Qs(e,"ZodObject",{keyof(){return Gt(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:lu()})},loose(){return this.clone({...this._zod.def,catchall:lu()})},strict(){return this.clone({...this._zod.def,catchall:TC()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return E0(this,n)},safeExtend(n){return P0(this,n)},merge(n){return C0(this,n)},pick(n){return S0(this,n)},omit(n){return k0(this,n)},partial(...n){return T0(Ry,this,n[0])},required(...n){return O0(Iy,this,n[0])}})});function Te(e,t){const n={type:"object",shape:e??{},...xe(t)};return new RC(n)}const IC=Y("ZodUnion",(e,t)=>{cE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>OP(e,n,o,r),e.options=t.options});function Oy(e,t){return new IC({type:"union",options:e,...xe(t)})}const AC=Y("ZodIntersection",(e,t)=>{lE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>RP(e,n,o,r)});function NC(e,t){return new AC({type:"intersection",left:e,right:t})}const fp=Y("ZodRecord",(e,t)=>{uE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>IP(e,n,o,r),e.keyType=t.keyType,e.valueType=t.valueType});function Dd(e,t,n){return!t||!t._zod?new fp({type:"record",keyType:Z(),valueType:e,...xe(t)}):new fp({type:"record",keyType:e,valueType:t,...xe(n)})}const uu=Y("ZodEnum",(e,t)=>{dE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>SP(e,o,r),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,r)=>{const s={};for(const i of o)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new uu({...t,checks:[],...xe(r),entries:s})},e.exclude=(o,r)=>{const s={...t.entries};for(const i of o)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new uu({...t,checks:[],...xe(r),entries:s})}});function Gt(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new uu({type:"enum",entries:n,...xe(t)})}const MC=Y("ZodLiteral",(e,t)=>{fE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>kP(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function DC(e,t){return new MC({type:"literal",values:Array.isArray(e)?e:[e],...xe(t)})}const FC=Y("ZodTransform",(e,t)=>{mE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>PP(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new oy(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(As(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(As(i))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(s=>(n.value=s,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function $C(e){return new FC({type:"transform",transform:e})}const Ry=Y("ZodOptional",(e,t)=>{xy.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Py(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function mp(e){return new Ry({type:"optional",innerType:e})}const LC=Y("ZodExactOptional",(e,t)=>{pE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Py(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function BC(e){return new LC({type:"optional",innerType:e})}const zC=Y("ZodNullable",(e,t)=>{gE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>AP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function pp(e){return new zC({type:"nullable",innerType:e})}const VC=Y("ZodDefault",(e,t)=>{hE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>MP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function UC(e,t){return new VC({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():iy(t)}})}const HC=Y("ZodPrefault",(e,t)=>{yE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>DP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function KC(e,t){return new HC({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():iy(t)}})}const Iy=Y("ZodNonOptional",(e,t)=>{bE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>NP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function qC(e,t){return new Iy({type:"nonoptional",innerType:e,...xe(t)})}const WC=Y("ZodCatch",(e,t)=>{vE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>FP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function GC(e,t){return new WC({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const ZC=Y("ZodPipe",(e,t)=>{wE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>$P(e,n,o,r),e.in=t.in,e.out=t.out});function gp(e,t){return new ZC({type:"pipe",in:e,out:t})}const YC=Y("ZodReadonly",(e,t)=>{xE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>LP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function XC(e){return new YC({type:"readonly",innerType:e})}const JC=Y("ZodCustom",(e,t)=>{jE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>EP(e,n)});function QC(e,t={}){return pP(JC,e,t)}function e1(e,t){return gP(e,t)}const Fd=Te({path:Z(),message:Z()}),t1=Te({source:Gt(["local","favicon"]),host:Z().optional(),path:Z().optional()}),n1=Te({data:Z().optional(),mediaType:Z(),source:Gt(["local","favicon"]).optional(),url:Z().optional()}),o1=Te({field:Z(),direction:Gt(["asc","desc"])}),r1=Te({primaryField:Z(),secondaryField:Z().optional(),filters:yt(Z()),numericFilters:yt(Z()).default([]),sort:yt(o1).optional()}),Ay=Te({id:Z().optional(),count:wn().optional(),navLabel:Z().optional(),icon:Z().optional(),revision:Z().optional(),indexedAt:Z().optional(),state:Gt(["ready","error"]).optional(),diagnostics:yt(Fd).optional(),folder:Z(),schemaPath:Z(),title:Z()}),s1=Te({icon:t1.optional(),iconAssetKey:Z().optional(),id:Z(),path:Z(),relativePath:Z(),title:Z(),modifiedAt:wn(),fields:Dd(Z(),lu()),validationErrors:yt(Fd)}),i1=Ay.extend({id:Z(),count:wn(),diagnostics:yt(Fd),revision:Z(),indexedAt:Z(),state:Gt(["ready","error"]),ui:r1,assets:Dd(Z(),n1).optional(),records:yt(s1)}),Ss=e=>Te({items:yt(e)}),Ny=Te({data:Z().optional(),mediaType:Z(),source:Gt(["github","local","favicon"]).optional(),url:Z().optional()}),My=Te({activityAt:wn(),folder:Z().optional(),name:Z(),path:Z().optional(),openHref:Z().optional(),relativePath:Z()}),Dy=Te({id:Z(),iconAssetKey:Z().optional(),name:Z(),relativePath:Z(),worktree:Z()}),a1=Te({client:Gt(["claude","codex","cursor","opencode","pi"]),href:Z().optional(),id:Z(),lastMessageAt:Z().optional(),messageCount:wn(),resumeCommand:Z().optional(),title:Z()}),c1=Ay,du=Te({breadcrumbs:yt(Te({icon:Ny.optional(),path:Z(),schema:cu().optional(),title:Z()})),root:Z(),configPath:Z().optional(),schemaPath:Z().optional(),revision:Z().optional(),state:Gt(["ready","error"]).optional(),schemas:yt(c1).optional()}),l1=Te({count:wn().optional(),error:Z().optional(),icon:Te({paths:yt(Z().min(1)).min(1)}).optional(),id:Z(),label:Z()}),Fy=Te({configWarnings:yt(Z()).optional(),items:yt(l1)}),Ao={folder:Z()},fu=Dd(Z(),Ny),aa=Te({...Ao,assets:fu,files:Ss(My),iconAssetKey:Z().optional(),plugins:Fy.optional(),projects:Ss(Dy),sessions:Ss(a1),workspace:du.optional()}),u1=i1,$d={notes:Te({...Ao,files:Ss(My)}),identity:Te({...Ao,assets:fu,faviconAssetKey:Z().optional(),iconAssetKey:Z().optional(),repository:Te({avatarAssetKey:Z().optional(),name:Z()}).optional()}),discovery:Te({...Ao,assets:fu,projects:Ss(Dy),workspace:du}),workspace:Te({...Ao,workspace:du}),collections:Te({...Ao,collection:u1}),plugins:Te({...Ao,configWarnings:yt(Z()).optional(),plugins:Fy.optional()}),sessions:aa,calendar:aa,schema:aa};Te({path:Z().optional(),part:Gt(Object.keys($d)).optional(),notesScope:Gt(["local","linked","all"]).optional(),id:Z().optional(),sort:Gt(["alpha","recent"]).optional(),schema:Z().optional()});const d1=Te({folder:Z(),path:Z(),original:Z(),start:wn().int().nonnegative(),end:wn().int().nonnegative(),replacement:Z()}),$y=Te({path:Z(),content:Z(),kind:Gt(["binary","code","eml","html","image","markdown","table","text"])}),f1=$y.extend({root:Z(),rawUrl:Z().optional()}),hp=Te({aliases:yt(Z()),content:Z(),description:Z(),documents:yt(Te({path:Z(),title:Z()})),folderPath:Z(),relativePath:Z(),schemaPath:Z().nullable(),slug:Z(),status:Z().nullable(),title:Z(),type:Z()}),m1=Te({id:Z(),icon:Z().optional(),latestSessionTitle:Z().optional(),matchedField:Z(),matchTier:Z(),relativePath:Z().optional(),repositoryLabel:Z().optional(),score:wn(),subtitle:Z().optional(),title:Z(),worktree:Z()}),p1=Te({path:Z().optional()});Te({});const ut={health:{path:"/api/health",response:Te({viewer:Z(),root:Z(),kernelKey:Z()})},capabilities:{path:"/api/capabilities",response:Te({download:cu(),hostActions:Gt(["local","none"]),local:cu(),viewer:Z()})},config:{path:"/api/config",response:Te({aiInputModule:Z().nullable()})},metadata:{path:"/api/metadata",response:Oy([aa,...Object.values($d)])},document:{path:"/api/document",query:p1.extend({file:Z()}),response:f1},documents:{path:"/api/documents",response:Te({root:Z(),documents:yt($y)})},entities:{path:"/api/entities",query:Te({entity:Z().optional(),q:Z().optional(),root:Z().optional()}),response:Te({entities:yt(hp),query:Z(),rootPath:Z(),selected:hp.nullable()})},projectSearch:{path:"/api/project-search",query:Te({q:Z().optional()}),response:Te({items:yt(m1),query:Z(),scanned:wn(),total:wn()})},documentEdit:{path:"/api/document/edit",response:Te({saved:DC(!0)})},openFolder:{path:"/api/open-folder",query:Te({path:Z()})},createAgentFile:{path:"/api/create-agent-file",query:Te({path:Z()}),response:Te({path:Z()})},openPath:{path:"/api/open-path",query:Te({path:Z()})}};function g1(e){const t=new TextEncoder().encode(e);let n="";for(const o of t)n+=String.fromCharCode(o);return btoa(n).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}function h1(e){const t=`${e}${"=".repeat((4-e.length%4)%4)}`,n=atob(t.replaceAll("-","+").replaceAll("_","/"));return new TextDecoder().decode(Uint8Array.from(n,o=>o.charCodeAt(0)))}function Ly(e){return/^https?:\/\//.test(e)?new URL(e):e.startsWith("?")?new URL(`/${e}`,"http://127.0.0.1"):new URL(e||"/","http://127.0.0.1")}function mu(e){if(e==="files")return"notes";if(e==="projects"||e==="sessions")return e}function Ar(e){return g1(e)}function rl(e){return h1(e)}function By(e,t){return`/folder/${Ar(e)}/${t}`}function y1(e,t,n=""){const o=`/folder/${Ar(e)}/views/${t}`;return n?`${o}/${encodeURIComponent(n)}`:o}function b1(e,t){return`/folder/${Ar(e)}/collections/${Ar(t)}`}function zy(e,t){return`/folder/${Ar(e)}/document/${Ar(t)}`}function ei(e){const t=Ly(e),n=t.searchParams.get("session")??void 0,o=t.searchParams.get("folder");if(o)return{document:t.searchParams.get("document")??t.searchParams.get("file")??void 0,embedded:t.searchParams.get("embedded")==="1",folder:o,panel:t.searchParams.get("panel")==="1",section:mu(t.searchParams.get("tab"))??"notes",...n?{session:n}:{}};const r=t.pathname.split("/").filter(Boolean);if(r[0]!=="folder"||!r[1])return{document:t.searchParams.get("file")??t.searchParams.get("document")??void 0,embedded:t.searchParams.get("embedded")==="1",folder:void 0,panel:t.searchParams.get("panel")==="1",section:mu(t.searchParams.get("tab")),...n?{session:n}:{}};const s=r[2],i={embedded:t.searchParams.get("embedded")==="1",folder:rl(r[1]),panel:t.searchParams.get("panel")==="1",...n?{session:n}:{}};return s==="collections"&&r[3]?{...i,collectionId:rl(r[3])}:s==="views"&&r[3]?{...i,view:{pluginId:r[3],...r[4]?{subpath:r[4]}:{}}}:s==="notes"||s==="projects"||s==="sessions"?{...i,section:s}:s==="document"&&r[3]?{...i,document:rl(r[3])}:{...i,section:"notes"}}function v1(e){const t=Ly(e),n=t.searchParams.get("folder");if(!n)return;const o=t.searchParams.get("session"),r=o?`?session=${encodeURIComponent(o)}`:"",s=t.searchParams.get("document");if(s)return`${zy(n,s)}${r}`;const i=mu(t.searchParams.get("tab"))??"notes";return`${By(n,i)}${r}`}class ca extends Error{code;status;constructor(t,n={}){super(t),this.name="ApiClientError",this.code=n.code,this.status=n.status}}async function sl(e){const t=await e.text().catch(()=>"");if(e.headers.get("content-type")?.includes("application/json"))try{const r=JSON.parse(t)?.error;if(r&&typeof r=="object"&&r.message)return new ca(r.message,{code:r.code,status:e.status});if(typeof r=="string"&&r)return new ca(r,{status:e.status})}catch{}return new ca(t.trim()||`Request failed with status ${e.status}`,{status:e.status})}function Vy(e={}){const t=e.baseUrl??(typeof window>"u"?"http://localhost":window.location.origin),n=p0({baseUrl:t,fetch:i=>(e.fetch??globalThis.fetch)(i)});n.use({async onResponse({response:i}){if(!i.ok)throw await sl(i);if(i.status!==204&&!i.headers.get("content-type")?.includes("application/json"))throw new Error("The server returned a non-JSON response.");return i}});async function o(i,a){return i.parse((await a).data)}const r=i=>{const a=ei(i).folder;return a?.startsWith("/")?a:void 0},s=async(i,a,c={})=>{const{signal:l,headers:m,...u}=c,p=await n.GET(ut.metadata.path,{params:{query:{path:r(i),part:a,...u}},signal:l,headers:m});return $d[a].parse(p.data)};return{metadata:s,notes:i=>s(`/?folder=${encodeURIComponent(i.path)}`,"notes",{notesScope:i.notesScope,signal:i.signal}),health:(i={})=>o(ut.health.response,n.GET(ut.health.path,i)),capabilities:(i={})=>o(ut.capabilities.response,n.GET(ut.capabilities.path,i)),config:(i,a={})=>o(ut.config.response,n.GET(ut.config.path,{params:{query:{path:i}},...a})),document:(i,a,c={})=>o(ut.document.response,n.GET(ut.document.path,{params:{query:{path:r(i),file:a}},...c})),documents:(i,a={})=>o(ut.documents.response,n.GET(ut.documents.path,{params:{query:{path:r(i)}},...a})),projectSearch:(i,a={})=>o(ut.projectSearch.response,n.GET(ut.projectSearch.path,{params:{query:{q:i}},...a})),entities:(i={},a={})=>o(ut.entities.response,n.GET(ut.entities.path,{params:{query:i},...a})),async documentEdit(i,a={}){await o(ut.documentEdit.response,n.POST(ut.documentEdit.path,{body:d1.parse(i),...a}))},async openPath(i,a={}){await n.GET(ut.openPath.path,{params:{query:{path:i}},...a,parseAs:"text"})},async openFolder(i,a={}){await n.POST(ut.openFolder.path,{params:{query:{path:i}},...a,parseAs:"text"})},async createAgentFile(i,a={}){return o(ut.createAgentFile.response,n.POST(ut.createAgentFile.path,{params:{query:{path:i}},...a}))},async raw(i,a,c={}){const l=new URL("/api/raw",t);l.search=new URLSearchParams({path:i,file:a}).toString();const m=await(e.fetch??globalThis.fetch)(l,c);if(!m.ok)throw await sl(m);return m},async plugin(i,a,c="",l){const m=new URL(`/api/plugins/${encodeURIComponent(i)}`,t);m.search=new URLSearchParams({path:a,...c?{subpath:c}:{}}).toString();const u=await(e.fetch??globalThis.fetch)(m,l);if(!u.ok)throw await sl(u);return u.json()}}}Vy();const w1="Kennel",x1="/favicon.svg";function j1(){const e=document.head.querySelector('link[rel="icon"]');if(e)return e;const t=document.createElement("link");return t.rel="icon",document.head.append(t),t}function Uy(e){document.title=e.name?`${e.name} - Kennel`:w1,j1().href=e.icon??x1}function yp(e){try{const t=new URL(e);return t.username||t.password||t.protocol!=="https:"&&t.protocol!=="http:"||t.protocol==="http:"&&t.hostname!=="localhost"&&!t.hostname.startsWith("127.")&&t.hostname!=="[::1]"?void 0:t.origin}catch{return}}function _1(e,t,n){const{panel:o}=ei(e);if(!o)return[];const s=new URL(e,"http://127.0.0.1").searchParams.get("host");if(s!==null){const a=yp(s);return a?[a]:[]}const i=new Set;for(const a of[t,n]){const c=a?yp(a):void 0;c&&i.add(c)}return[...i]}function S1(e,t){return t.includes(e)}function k1(e){if(!e||typeof e!="object")return;const t=e;if(t.type==="kennel:close")return{type:"kennel:close"};if(t.type==="kennel:resize")return{type:"kennel:resize"};if(t.type==="kennel:request"&&(t.request==="state"||t.request==="selection"))return{type:"kennel:request",request:t.request}}function E1(e,t,n){return e===t||e===n}function P1(e){const t=o=>{if(!S1(o.origin,e.allowedOrigins))return;const r=e.windowRef();if(!r||!E1(o.source,r.parent,r.opener))return;const s=k1(o.data);if(s)switch(s.type){case"kennel:close":e.onClose?.();break;case"kennel:resize":e.onResize?.();break;case"kennel:request":e.onRequest?.(s.request);break}},n=e.windowRef();return n?.addEventListener("message",t),e.post({type:"kennel:ready",payload:Hy()}),()=>{n?.removeEventListener("message",t)}}function Hy(){const e=document.documentElement.scrollWidth||document.documentElement.clientWidth;return{height:document.documentElement.scrollHeight||document.documentElement.clientHeight,url:window.location.href,width:e}}function C1(e,t){return{...Hy(),...e?{path:e}:{},...t?{title:t}:{}}}function T1(e,t){return{text:window.getSelection()?.toString().trim()??"",url:window.location.href,...e?{path:e}:{},...t?{title:t}:{}}}function O1(e){e({type:"kennel:closed"}),window.close()}function R1(e){if(!ei(window.location.href).panel)return;const t=_1(window.location.href,document.referrer,window.opener?.origin);if(!t.length){console.error("Chat panel bridge has no trusted host origin");return}const n=s=>{for(const i of[window.parent,window.opener])if(i)try{i.postMessage(s,t[0])}catch{}},o=()=>{const{path:s,title:i}=e();return{type:"kennel:state",payload:C1(s,i)}},r=P1({allowedOrigins:t,post:n,windowRef:()=>window,onClose:()=>O1(n),onResize:()=>n(o()),onRequest:s=>{const{path:i,title:a}=e();n(s==="selection"?{type:"kennel:selection",payload:T1(i,a)}:o())}});return{send:async s=>{n({type:"kennel:selection",payload:{text:s.text,url:window.location.href,...s.path?{path:s.path}:{},...s.title?{title:s.title}:{}}})},stop:r}}const I1="modulepreload",A1=function(e){return"/"+e},bp={},Wr=function(t,n,o){let r=Promise.resolve();if(n&&n.length>0){let c=function(l){return Promise.all(l.map(m=>Promise.resolve(m).then(u=>({status:"fulfilled",value:u}),u=>({status:"rejected",reason:u}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=i?.nonce||i?.getAttribute("nonce");r=c(n.map(l=>{if(l=A1(l),l in bp)return;bp[l]=!0;const m=l.endsWith(".css"),u=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${u}`))return;const p=document.createElement("link");if(p.rel=m?"stylesheet":I1,m||(p.as="script"),p.crossOrigin="",p.href=l,a&&p.setAttribute("nonce",a),document.head.appendChild(p),m)return new Promise((g,b)=>{p.addEventListener("load",g),p.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return r.then(i=>{for(const a of i||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})},N1="/_kennel/plugins/registry.js";async function M1(){const e=(await import(N1)).default;if(e.plugins.length===0)return[];const{pluginHostModules:t}=await Wr(async()=>{const{pluginHostModules:n}=await import("./plugin-host-modules-5NQgs5Cq.js");return{pluginHostModules:n}},__vite__mapDeps([0,1,2,3]));globalThis.__kennelPluginHost={modules:t};for(const n of e.plugins)for(const o of n.styles){const r=document.createElement("link");r.rel="stylesheet",r.href=o,document.head.append(r)}return e.plugins.map(n=>{let o=0;const r=async()=>{const s=o?`${n.module}${n.module.includes("?")?"&":"?"}retry=${o}`:n.module;try{return{default:(await import(s)).default.component}}catch(i){throw o+=1,i}};return{...n.manifest,component:f.lazy(r),load:r}})}async function D1(){try{return await M1()}catch(e){return console.error("Kennel could not load external plugins",e),[]}}function F1(){const e=window.visualViewport;if(!e)return()=>{};const t=()=>{document.documentElement.style.setProperty("--kennel-vh",`${Math.round(e.height)}px`)};return e.addEventListener("resize",t),e.addEventListener("scroll",t),t(),()=>{e.removeEventListener("resize",t),e.removeEventListener("scroll",t)}}function Ky(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(n=Ky(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}function qy(){for(var e,t,n=0,o="",r=arguments.length;n<r;n++)(e=arguments[n])&&(t=Ky(e))&&(o&&(o+=" "),o+=t);return o}const $1=(e,t)=>{const n=new Array(e.length+t.length);for(let o=0;o<e.length;o++)n[o]=e[o];for(let o=0;o<t.length;o++)n[e.length+o]=t[o];return n},L1=(e,t)=>({classGroupId:e,validator:t}),Wy=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Sa="-",vp=[],B1="arbitrary..",z1=e=>{const t=U1(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return V1(i);const a=i.split(Sa),c=a[0]===""&&a.length>1?1:0;return Gy(a,c,t)},getConflictingClassGroupIds:(i,a)=>{if(a){const c=o[i],l=n[i];return c?l?$1(l,c):c:l||vp}return n[i]||vp}}},Gy=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const r=e[t],s=n.nextPart.get(r);if(s){const l=Gy(e,t+1,s);if(l)return l}const i=n.validators;if(i===null)return;const a=t===0?e.join(Sa):e.slice(t).join(Sa),c=i.length;for(let l=0;l<c;l++){const m=i[l];if(m.validator(a))return m.classGroupId}},V1=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),o=t.slice(0,n);return o?B1+o:void 0})(),U1=e=>{const{theme:t,classGroups:n}=e;return H1(n,t)},H1=(e,t)=>{const n=Wy();for(const o in e){const r=e[o];Ld(r,n,o,t)}return n},Ld=(e,t,n,o)=>{const r=e.length;for(let s=0;s<r;s++){const i=e[s];K1(i,t,n,o)}},K1=(e,t,n,o)=>{if(typeof e=="string"){q1(e,t,n);return}if(typeof e=="function"){W1(e,t,n,o);return}G1(e,t,n,o)},q1=(e,t,n)=>{const o=e===""?t:Zy(t,e);o.classGroupId=n},W1=(e,t,n,o)=>{if(Z1(e)){Ld(e(o),t,n,o);return}t.validators===null&&(t.validators=[]),t.validators.push(L1(n,e))},G1=(e,t,n,o)=>{const r=Object.entries(e),s=r.length;for(let i=0;i<s;i++){const[a,c]=r[i];Ld(c,Zy(t,a),n,o)}},Zy=(e,t)=>{let n=e;const o=t.split(Sa),r=o.length;for(let s=0;s<r;s++){const i=o[s];let a=n.nextPart.get(i);a||(a=Wy(),n.nextPart.set(i,a)),n=a}return n},Z1=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Y1=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),o=Object.create(null);const r=(s,i)=>{n[s]=i,t++,t>e&&(t=0,o=n,n=Object.create(null))};return{get(s){let i=n[s];if(i!==void 0)return i;if((i=o[s])!==void 0)return r(s,i),i},set(s,i){s in n?n[s]=i:r(s,i)}}},pu="!",wp=":",X1=[],xp=(e,t,n,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:o,isExternal:r}),J1=e=>{const{prefix:t,experimentalParseClassName:n}=e;let o=r=>{const s=[];let i=0,a=0,c=0,l;const m=r.length;for(let h=0;h<m;h++){const y=r[h];if(i===0&&a===0){if(y===wp){s.push(r.slice(c,h)),c=h+1;continue}if(y==="/"){l=h;continue}}y==="["?i++:y==="]"?i--:y==="("?a++:y===")"&&a--}const u=s.length===0?r:r.slice(c);let p=u,g=!1;u.endsWith(pu)?(p=u.slice(0,-1),g=!0):u.startsWith(pu)&&(p=u.slice(1),g=!0);const b=l&&l>c?l-c:void 0;return xp(s,g,p,b)};if(t){const r=t+wp,s=o;o=i=>i.startsWith(r)?s(i.slice(r.length)):xp(X1,!1,i,void 0,!0)}if(n){const r=o;o=s=>n({className:s,parseClassName:r})}return o},Q1=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,o)=>{t.set(n,1e6+o)}),n=>{const o=[];let r=[];for(let s=0;s<n.length;s++){const i=n[s],a=i[0]==="[",c=t.has(i);a||c?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(i)):r.push(i)}return r.length>0&&(r.sort(),o.push(...r)),o}},eT=e=>({cache:Y1(e.cacheSize),parseClassName:J1(e),sortModifiers:Q1(e),...z1(e)}),tT=/\s+/,nT=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:s}=t,i=[],a=e.trim().split(tT);let c="";for(let l=a.length-1;l>=0;l-=1){const m=a[l],{isExternal:u,modifiers:p,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:h}=n(m);if(u){c=m+(c.length>0?" "+c:c);continue}let y=!!h,w=o(y?b.substring(0,h):b);if(!w){if(!y){c=m+(c.length>0?" "+c:c);continue}if(w=o(b),!w){c=m+(c.length>0?" "+c:c);continue}y=!1}const v=p.length===0?"":p.length===1?p[0]:s(p).join(":"),j=g?v+pu:v,x=j+w;if(i.indexOf(x)>-1)continue;i.push(x);const k=r(w,y);for(let S=0;S<k.length;++S){const E=k[S];i.push(j+E)}c=m+(c.length>0?" "+c:c)}return c},oT=(...e)=>{let t=0,n,o,r="";for(;t<e.length;)(n=e[t++])&&(o=Yy(n))&&(r&&(r+=" "),r+=o);return r},Yy=e=>{if(typeof e=="string")return e;let t,n="";for(let o=0;o<e.length;o++)e[o]&&(t=Yy(e[o]))&&(n&&(n+=" "),n+=t);return n},rT=(e,...t)=>{let n,o,r,s;const i=c=>{const l=t.reduce((m,u)=>u(m),e());return n=eT(l),o=n.cache.get,r=n.cache.set,s=a,a(c)},a=c=>{const l=o(c);if(l)return l;const m=nT(c,n);return r(c,m),m};return s=i,(...c)=>s(oT(...c))},sT=[],_t=e=>{const t=n=>n[e]||sT;return t.isThemeGetter=!0,t},Xy=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jy=/^\((?:(\w[\w-]*):)?(.+)\)$/i,iT=/^\d+\/\d+$/,aT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,cT=/\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$/,lT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,uT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Jo=e=>iT.test(e),Ie=e=>!!e&&!Number.isNaN(Number(e)),io=e=>!!e&&Number.isInteger(Number(e)),il=e=>e.endsWith("%")&&Ie(e.slice(0,-1)),zn=e=>aT.test(e),fT=()=>!0,mT=e=>cT.test(e)&&!lT.test(e),Qy=()=>!1,pT=e=>uT.test(e),gT=e=>dT.test(e),hT=e=>!pe(e)&&!ge(e),yT=e=>Gr(e,nb,Qy),pe=e=>Xy.test(e),Oo=e=>Gr(e,ob,mT),al=e=>Gr(e,jT,Ie),jp=e=>Gr(e,eb,Qy),bT=e=>Gr(e,tb,gT),ki=e=>Gr(e,rb,pT),ge=e=>Jy.test(e),ls=e=>Zr(e,ob),vT=e=>Zr(e,_T),_p=e=>Zr(e,eb),wT=e=>Zr(e,nb),xT=e=>Zr(e,tb),Ei=e=>Zr(e,rb,!0),Gr=(e,t,n)=>{const o=Xy.exec(e);return o?o[1]?t(o[1]):n(o[2]):!1},Zr=(e,t,n=!1)=>{const o=Jy.exec(e);return o?o[1]?t(o[1]):n:!1},eb=e=>e==="position"||e==="percentage",tb=e=>e==="image"||e==="url",nb=e=>e==="length"||e==="size"||e==="bg-size",ob=e=>e==="length",jT=e=>e==="number",_T=e=>e==="family-name",rb=e=>e==="shadow",ST=()=>{const e=_t("color"),t=_t("font"),n=_t("text"),o=_t("font-weight"),r=_t("tracking"),s=_t("leading"),i=_t("breakpoint"),a=_t("container"),c=_t("spacing"),l=_t("radius"),m=_t("shadow"),u=_t("inset-shadow"),p=_t("text-shadow"),g=_t("drop-shadow"),b=_t("blur"),h=_t("perspective"),y=_t("aspect"),w=_t("ease"),v=_t("animate"),j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),ge,pe],S=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],_=()=>[ge,pe,c],P=()=>[Jo,"full","auto",..._()],C=()=>[io,"none","subgrid",ge,pe],I=()=>["auto",{span:["full",io,ge,pe]},io,ge,pe],M=()=>[io,"auto",ge,pe],B=()=>["auto","min","max","fr",ge,pe],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],$=()=>["start","end","center","stretch","center-safe","end-safe"],U=()=>["auto",..._()],F=()=>[Jo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",..._()],R=()=>[e,ge,pe],K=()=>[...x(),_p,jp,{position:[ge,pe]}],N=()=>["no-repeat",{repeat:["","x","y","space","round"]}],z=()=>["auto","cover","contain",wT,yT,{size:[ge,pe]}],T=()=>[il,ls,Oo],O=()=>["","none","full",l,ge,pe],D=()=>["",Ie,ls,Oo],V=()=>["solid","dashed","dotted","double"],H=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],q=()=>[Ie,il,_p,jp],L=()=>["","none",b,ge,pe],ee=()=>["none",Ie,ge,pe],ce=()=>["none",Ie,ge,pe],G=()=>[Ie,ge,pe],X=()=>[Jo,"full",..._()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[zn],breakpoint:[zn],color:[fT],container:[zn],"drop-shadow":[zn],ease:["in","out","in-out"],font:[hT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[zn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[zn],shadow:[zn],spacing:["px",Ie],text:[zn],"text-shadow":[zn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Jo,pe,ge,y]}],container:["container"],columns:[{columns:[Ie,pe,ge,a]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"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:k()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{start:P()}],end:[{end:P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[io,"auto",ge,pe]}],basis:[{basis:[Jo,"full","auto",a,..._()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ie,Jo,"auto","initial","none",pe]}],grow:[{grow:["",Ie,ge,pe]}],shrink:[{shrink:["",Ie,ge,pe]}],order:[{order:[io,"first","last","none",ge,pe]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...$(),"normal"]}],"justify-self":[{"justify-self":["auto",...$()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...$(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...$(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...$(),"baseline"]}],"place-self":[{"place-self":["auto",...$()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:U()}],mx:[{mx:U()}],my:[{my:U()}],ms:[{ms:U()}],me:[{me:U()}],mt:[{mt:U()}],mr:[{mr:U()}],mb:[{mb:U()}],ml:[{ml:U()}],"space-x":[{"space-x":_()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":_()}],"space-y-reverse":["space-y-reverse"],size:[{size:F()}],w:[{w:[a,"screen",...F()]}],"min-w":[{"min-w":[a,"screen","none",...F()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[i]},...F()]}],h:[{h:["screen","lh",...F()]}],"min-h":[{"min-h":["screen","lh","none",...F()]}],"max-h":[{"max-h":["screen","lh",...F()]}],"font-size":[{text:["base",n,ls,Oo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ge,al]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",il,pe]}],"font-family":[{font:[vT,pe,t]}],"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:[r,ge,pe]}],"line-clamp":[{"line-clamp":[Ie,"none",ge,al]}],leading:[{leading:[s,..._()]}],"list-image":[{"list-image":["none",ge,pe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ge,pe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:R()}],"text-color":[{text:R()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ie,"from-font","auto",ge,Oo]}],"text-decoration-color":[{decoration:R()}],"underline-offset":[{"underline-offset":[Ie,"auto",ge,pe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ge,pe]}],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",ge,pe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:z()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},io,ge,pe],radial:["",ge,pe],conic:[io,ge,pe]},xT,bT]}],"bg-color":[{bg:R()}],"gradient-from-pos":[{from:T()}],"gradient-via-pos":[{via:T()}],"gradient-to-pos":[{to:T()}],"gradient-from":[{from:R()}],"gradient-via":[{via:R()}],"gradient-to":[{to:R()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D()}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}],"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{"divide-x":D()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":D()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...V(),"hidden","none"]}],"divide-style":[{divide:[...V(),"hidden","none"]}],"border-color":[{border:R()}],"border-color-x":[{"border-x":R()}],"border-color-y":[{"border-y":R()}],"border-color-s":[{"border-s":R()}],"border-color-e":[{"border-e":R()}],"border-color-t":[{"border-t":R()}],"border-color-r":[{"border-r":R()}],"border-color-b":[{"border-b":R()}],"border-color-l":[{"border-l":R()}],"divide-color":[{divide:R()}],"outline-style":[{outline:[...V(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ie,ge,pe]}],"outline-w":[{outline:["",Ie,ls,Oo]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",m,Ei,ki]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",u,Ei,ki]}],"inset-shadow-color":[{"inset-shadow":R()}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:R()}],"ring-offset-w":[{"ring-offset":[Ie,Oo]}],"ring-offset-color":[{"ring-offset":R()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{"inset-ring":R()}],"text-shadow":[{"text-shadow":["none",p,Ei,ki]}],"text-shadow-color":[{"text-shadow":R()}],opacity:[{opacity:[Ie,ge,pe]}],"mix-blend":[{"mix-blend":[...H(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":H()}],"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":[Ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":R()}],"mask-image-linear-to-color":[{"mask-linear-to":R()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":R()}],"mask-image-t-to-color":[{"mask-t-to":R()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":R()}],"mask-image-r-to-color":[{"mask-r-to":R()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":R()}],"mask-image-b-to-color":[{"mask-b-to":R()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":R()}],"mask-image-l-to-color":[{"mask-l-to":R()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":R()}],"mask-image-x-to-color":[{"mask-x-to":R()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":R()}],"mask-image-y-to-color":[{"mask-y-to":R()}],"mask-image-radial":[{"mask-radial":[ge,pe]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":R()}],"mask-image-radial-to-color":[{"mask-radial-to":R()}],"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":x()}],"mask-image-conic-pos":[{"mask-conic":[Ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":R()}],"mask-image-conic-to-color":[{"mask-conic-to":R()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:z()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ge,pe]}],filter:[{filter:["","none",ge,pe]}],blur:[{blur:L()}],brightness:[{brightness:[Ie,ge,pe]}],contrast:[{contrast:[Ie,ge,pe]}],"drop-shadow":[{"drop-shadow":["","none",g,Ei,ki]}],"drop-shadow-color":[{"drop-shadow":R()}],grayscale:[{grayscale:["",Ie,ge,pe]}],"hue-rotate":[{"hue-rotate":[Ie,ge,pe]}],invert:[{invert:["",Ie,ge,pe]}],saturate:[{saturate:[Ie,ge,pe]}],sepia:[{sepia:["",Ie,ge,pe]}],"backdrop-filter":[{"backdrop-filter":["","none",ge,pe]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[Ie,ge,pe]}],"backdrop-contrast":[{"backdrop-contrast":[Ie,ge,pe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ie,ge,pe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ie,ge,pe]}],"backdrop-invert":[{"backdrop-invert":["",Ie,ge,pe]}],"backdrop-opacity":[{"backdrop-opacity":[Ie,ge,pe]}],"backdrop-saturate":[{"backdrop-saturate":[Ie,ge,pe]}],"backdrop-sepia":[{"backdrop-sepia":["",Ie,ge,pe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ge,pe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ie,"initial",ge,pe]}],ease:[{ease:["linear","initial",w,ge,pe]}],delay:[{delay:[Ie,ge,pe]}],animate:[{animate:["none",v,ge,pe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,ge,pe]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:ce()}],"scale-x":[{"scale-x":ce()}],"scale-y":[{"scale-y":ce()}],"scale-z":[{"scale-z":ce()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[ge,pe,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],accent:[{accent:R()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:R()}],"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",ge,pe]}],"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":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"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",ge,pe]}],fill:[{fill:["none",...R()]}],"stroke-w":[{stroke:[Ie,ls,Oo,al]}],stroke:[{stroke:["none",...R()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-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-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-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-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"]}},kT=rT(ST);function ue(...e){return kT(qy(e))}var sb=Object.defineProperty,ET=Object.getOwnPropertyDescriptor,PT=Object.getOwnPropertyNames,CT=Object.prototype.hasOwnProperty,TT=(e,t)=>{for(var n in t)sb(e,n,{get:t[n],enumerable:!0})},OT=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of PT(t))!CT.call(e,r)&&r!==n&&sb(e,r,{get:()=>t[r],enumerable:!(o=ET(t,r))||o.enumerable});return e},RT=(e,t,n)=>(OT(e,t,"default"),n),ib=f.createContext(null);function IT({children:e,value:t}){return d.jsx(ib.Provider,{value:t,children:e})}function Rt(){const e=f.useContext(ib);if(!e)throw new Error("useViewer must be used inside KennelViewer");return e}const Sp=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,kp=qy,Bd=(e,t)=>n=>{var o;if(t?.variants==null)return kp(e,n?.class,n?.className);const{variants:r,defaultVariants:s}=t,i=Object.keys(r).map(l=>{const m=n?.[l],u=s?.[l];if(m===null)return null;const p=Sp(m)||Sp(u);return r[l][p]}),a=n&&Object.entries(n).reduce((l,m)=>{let[u,p]=m;return p===void 0||(l[u]=p),l},{}),c=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((l,m)=>{let{class:u,className:p,...g}=m;return Object.entries(g).every(b=>{let[h,y]=b;return Array.isArray(y)?y.includes({...s,...a}[h]):{...s,...a}[h]===y})?[...l,u,p]:l},[]);return kp(e,i,c,n?.class,n?.className)};var AT=Object.defineProperty,zd=(e,t)=>AT(e,"name",{value:t,configurable:!0});function gu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}zd(gu,"setRef");function ab(...e){return t=>{let n=!1;const o=e.map(r=>{const s=gu(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;r<o.length;r++){const s=o[r];typeof s=="function"?s():gu(e[r],null)}}}}zd(ab,"composeRefs");function $e(...e){return f.useCallback(ab(...e),e)}zd($e,"useComposedRefs");var NT=Object.defineProperty,_n=(e,t)=>NT(e,"name",{value:t,configurable:!0});function xn(e){const t=f.forwardRef((n,o)=>{let{children:r,...s}=n,i=null,a=!1;const c=[];hu(r)&&typeof Pi=="function"&&(r=Pi(r._payload)),f.Children.forEach(r,p=>{if(db(p)){a=!0;const g=p;let b="child"in g.props?g.props.child:g.props.children;hu(b)&&typeof Pi=="function"&&(b=Pi(b._payload)),i=DT(g,b),c.push(i?.props?.children)}else c.push(p)}),i?i=f.cloneElement(i,void 0,c):!a&&f.Children.count(r)===1&&f.isValidElement(r)&&(i=r);const l=i?ub(i):void 0,m=$e(o,l);if(!i){if(r||r===0)throw new Error(a?LT(e):$T(e));return r}const u=lb(s,i.props??{});return i.type!==f.Fragment&&(u.ref=o?m:l),f.cloneElement(i,u)});return t.displayName=`${e}.Slot`,t}_n(xn,"createSlot");var Nr=xn("Slot"),cb=Symbol.for("radix.slottable");function tc(e){const t=_n(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=cb,t}_n(tc,"createSlottable");var MT=tc("Slottable"),DT=_n((e,t)=>{if("child"in e.props){const n=e.props.child;return f.isValidElement(n)?f.cloneElement(n,void 0,e.props.children(n.props.children)):null}return f.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function lb(e,t){const n={...t};for(const o in t){const r=e[o],s=t[o];/^on[A-Z]/.test(o)?r&&s?n[o]=(...a)=>{const c=s(...a);return r(...a),c}:r&&(n[o]=r):o==="style"?n[o]={...r,...s}:o==="className"&&(n[o]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}_n(lb,"mergeProps");function ub(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}_n(ub,"getElementRef");function db(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cb}_n(db,"isSlottable");var FT=Symbol.for("react.lazy");function hu(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===FT&&"_payload"in e&&fb(e._payload)}_n(hu,"isLazyComponent");function fb(e){return typeof e=="object"&&e!==null&&"then"in e}_n(fb,"isPromiseLike");var $T=_n(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),LT=_n(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),Pi=eo[" use ".trim().toString()];const Y5=Object.freeze(Object.defineProperty({__proto__:null,Root:Nr,Slot:Nr,Slottable:MT,createSlot:xn,createSlottable:tc},Symbol.toStringTag,{value:"Module"}));var BT=Object.defineProperty,zT=(e,t)=>BT(e,"name",{value:t,configurable:!0}),VT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Le=VT.reduce((e,t)=>{const n=xn(`Primitive.${t}`),o=f.forwardRef((r,s)=>{const{asChild:i,...a}=r,c=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...a,ref:s})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Vd(e,t){e&&Wo.flushSync(()=>e.dispatchEvent(t))}zT(Vd,"dispatchDiscreteCustomEvent");var X5=Le,UT=Object.defineProperty,HT=(e,t)=>UT(e,"name",{value:t,configurable:!0}),mb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),pb=f.forwardRef(HT(function(t,n){return d.jsx(Le.span,{...t,ref:n,style:{...mb,...t.style}})},"VisuallyHidden")),gb=pb;const J5=Object.freeze(Object.defineProperty({__proto__:null,Root:gb,VISUALLY_HIDDEN_STYLES:mb,VisuallyHidden:pb},Symbol.toStringTag,{value:"Module"}));var KT=Object.defineProperty,nn=(e,t)=>KT(e,"name",{value:t,configurable:!0});function qT(e,t){const n=f.createContext(t);n.displayName=e+"Context";const o=nn(s=>{const{children:i,...a}=s,c=f.useMemo(()=>a,Object.values(a));return d.jsx(n.Provider,{value:c,children:i})},"Provider");o.displayName=e+"Provider";function r(s,i={}){const{optional:a=!1}=i,c=f.useContext(n);if(c)return c;if(t!==void 0)return t;if(!a)throw new Error(`\`${s}\` must be used within \`${e}\``)}return nn(r,"useContext"),[o,r]}nn(qT,"createContext");function pn(e,t=[]){let n=[];function o(s,i){const a=f.createContext(i);a.displayName=s+"Context";const c=n.length;n=[...n,i];const l=nn(u=>{const{scope:p,children:g,...b}=u,h=p?.[e]?.[c]||a,y=f.useMemo(()=>b,Object.values(b));return d.jsx(h.Provider,{value:y,children:g})},"Provider");l.displayName=s+"Provider";function m(u,p,g={}){const{optional:b=!1}=g,h=p?.[e]?.[c]||a,y=f.useContext(h);if(y)return y;if(i!==void 0)return i;if(!b)throw new Error(`\`${u}\` must be used within \`${s}\``)}return nn(m,"useContext"),[l,m]}nn(o,"createContext");const r=nn(()=>{const s=n.map(i=>f.createContext(i));return nn(function(a){const c=a?.[e]||s;return f.useMemo(()=>({[`__scope${e}`]:{...a,[e]:c}}),[a,c])},"useScope")},"createScope");return r.scopeName=e,[o,hb(r,...t)]}nn(pn,"createContextScope");function hb(...e){const t=e[0];if(e.length===1)return t;const n=nn(()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return nn(function(s){const i=o.reduce((a,{useScope:c,scopeName:l})=>{const u=c(s)[`__scope${l}`];return{...a,...u}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}nn(hb,"composeContextScopes");var WT=Object.defineProperty,Tt=(e,t)=>WT(e,"name",{value:t,configurable:!0});function nc(e){const t=e+"CollectionProvider",[n,o]=pn(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=Tt(h=>{const{scope:y,children:w}=h,v=f.useRef(null),j=f.useRef(new Map).current;return d.jsx(r,{scope:y,itemMap:j,collectionRef:v,children:w})},"CollectionProvider");i.displayName=t;const a=e+"CollectionSlot",c=xn(a),l=f.forwardRef((h,y)=>{const{scope:w,children:v}=h,j=s(a,w),x=$e(y,j.collectionRef);return d.jsx(c,{ref:x,children:v})});l.displayName=a;const m=e+"CollectionItemSlot",u="data-radix-collection-item",p=xn(m),g=f.forwardRef((h,y)=>{const{scope:w,children:v,...j}=h,x=f.useRef(null),k=$e(y,x),S=s(m,w);return f.useEffect(()=>(S.itemMap.set(x,{ref:x,...j}),()=>{S.itemMap.delete(x)})),d.jsx(p,{[u]:"",ref:k,children:v})});g.displayName=m;function b(h){const y=s(e+"CollectionConsumer",h);return f.useCallback(()=>{const v=y.collectionRef.current;if(!v)return[];const j=Array.from(v.querySelectorAll(`[${u}]`));return Array.from(y.itemMap.values()).sort((S,E)=>j.indexOf(S.ref.current)-j.indexOf(E.ref.current))},[y.collectionRef,y.itemMap])}return Tt(b,"useCollection"),[{Provider:i,Slot:l,ItemSlot:g},b,o]}Tt(nc,"createCollection");var Ep=new WeakMap,gt,en,cl=(en=class extends Map{constructor(n){super(n);$m(this,gt);tl(this,gt,[...super.keys()]),Ep.set(this,!0)}set(n,o){return Ep.get(this)&&(this.has(n)?At(this,gt)[At(this,gt).indexOf(n)]=n:At(this,gt).push(n)),super.set(n,o),this}insert(n,o,r){const s=this.has(o),i=At(this,gt).length,a=Ud(n);let c=a>=0?a:i+a;const l=c<0||c>=i?-1:c;if(l===this.size||s&&l===this.size-1||l===-1)return this.set(o,r),this;const m=this.size+(s?0:1);a<0&&c++;const u=[...At(this,gt)];let p,g=!1;for(let b=c;b<m;b++)if(c===b){let h=u[b];u[b]===o&&(h=u[b+1]),s&&this.delete(o),p=this.get(h),this.set(o,r)}else{!g&&u[b-1]===o&&(g=!0);const h=u[g?b:b-1],y=p;p=this.get(h),this.delete(h),this.set(h,y)}return this}with(n,o,r){const s=new en(this);return s.insert(n,o,r),s}before(n){const o=At(this,gt).indexOf(n)-1;if(!(o<0))return this.entryAt(o)}setBefore(n,o,r){const s=At(this,gt).indexOf(n);return s===-1?this:this.insert(s,o,r)}after(n){let o=At(this,gt).indexOf(n);if(o=o===-1||o===this.size-1?-1:o+1,o!==-1)return this.entryAt(o)}setAfter(n,o,r){const s=At(this,gt).indexOf(n);return s===-1?this:this.insert(s+1,o,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return tl(this,gt,[]),super.clear()}delete(n){const o=super.delete(n);return o&&At(this,gt).splice(At(this,gt).indexOf(n),1),o}deleteAt(n){const o=this.keyAt(n);return o!==void 0?this.delete(o):!1}at(n){const o=la(At(this,gt),n);if(o!==void 0)return this.get(o)}entryAt(n){const o=la(At(this,gt),n);if(o!==void 0)return[o,this.get(o)]}indexOf(n){return At(this,gt).indexOf(n)}keyAt(n){return la(At(this,gt),n)}from(n,o){const r=this.indexOf(n);if(r===-1)return;let s=r+o;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,o){const r=this.indexOf(n);if(r===-1)return;let s=r+o;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return s;r++}}findIndex(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return r;r++}return-1}filter(n,o){const r=[];let s=0;for(const i of this)Reflect.apply(n,o,[i,s,this])&&r.push(i),s++;return new en(r)}map(n,o){const r=[];let s=0;for(const i of this)r.push([i[0],Reflect.apply(n,o,[i,s,this])]),s++;return new en(r)}reduce(...n){const[o,r]=n;let s=0,i=r??this.at(0);for(const a of this)s===0&&n.length===1?i=a:i=Reflect.apply(o,this,[i,a,s,this]),s++;return i}reduceRight(...n){const[o,r]=n;let s=r??this.at(-1);for(let i=this.size-1;i>=0;i--){const a=this.at(i);i===this.size-1&&n.length===1?s=a:s=Reflect.apply(o,this,[s,a,i,this])}return s}toSorted(n){const o=[...this.entries()].sort(n);return new en(o)}toReversed(){const n=new en;for(let o=this.size-1;o>=0;o--){const r=this.keyAt(o),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const o=[...this.entries()];return o.splice(...n),new en(o)}slice(n,o){const r=new en;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),o!==void 0&&o>0&&(s=o-1);for(let i=n;i<=s;i++){const a=this.keyAt(i),c=this.get(a);r.set(a,c)}return r}every(n,o){let r=0;for(const s of this){if(!Reflect.apply(n,o,[s,r,this]))return!1;r++}return!0}some(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return!0;r++}return!1}},gt=new WeakMap,Tt(en,"OrderedDict"),en);function la(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=yb(e,t);return n===-1?void 0:e[n]}Tt(la,"at");function yb(e,t){const n=e.length,o=Ud(t),r=o>=0?o:n+o;return r<0||r>=n?-1:r}Tt(yb,"toSafeIndex");function Ud(e){return e!==e||e===0?0:Math.trunc(e)}Tt(Ud,"toSafeInteger");function GT(e){const t=e+"CollectionProvider",[n,o]=pn(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new cl,setItemMap:Tt(()=>{},"setItemMap")}),i=Tt(({state:j,...x})=>j?d.jsx(c,{...x,state:j}):d.jsx(a,{...x}),"CollectionProvider");i.displayName=t;const a=Tt(j=>{const x=y();return d.jsx(c,{...j,state:x})},"CollectionInit");a.displayName=t+"Init";const c=Tt(j=>{const{scope:x,children:k,state:S}=j,E=f.useRef(null),[_,P]=f.useState(null),C=$e(E,P),[I,M]=S;return f.useEffect(()=>{if(!_)return;const B=wb(()=>{});return B.observe(_,{childList:!0,subtree:!0}),()=>{B.disconnect()}},[_]),d.jsx(r,{scope:x,itemMap:I,setItemMap:M,collectionRef:C,collectionRefObject:E,collectionElement:_,children:k})},"CollectionProviderImpl");c.displayName=t+"Impl";const l=e+"CollectionSlot",m=xn(l),u=f.forwardRef((j,x)=>{const{scope:k,children:S}=j,E=s(l,k),_=$e(x,E.collectionRef);return d.jsx(m,{ref:_,children:S})});u.displayName=l;const p=e+"CollectionItemSlot",g="data-radix-collection-item",b=xn(p),h=f.forwardRef((j,x)=>{const{scope:k,children:S,...E}=j,_=f.useRef(null),[P,C]=f.useState(null),I=$e(x,_,C),M=s(p,k),{setItemMap:B}=M,A=f.useRef(E);bb(A.current,E)||(A.current=E);const $=A.current;return f.useEffect(()=>{const U=$;return B(F=>P?F.has(P)?F.set(P,{...U,element:P}).toSorted(yu):(F.set(P,{...U,element:P}),F.toSorted(yu)):F),()=>{B(F=>!P||!F.has(P)?F:(F.delete(P),new cl(F)))}},[P,$,B]),d.jsx(b,{[g]:"",ref:I,children:S})});h.displayName=p;function y(){return f.useState(new cl)}Tt(y,"useInitCollection");function w(j){const{itemMap:x}=s(e+"CollectionConsumer",j);return x}return Tt(w,"useCollection"),[{Provider:i,Slot:u,ItemSlot:h},{createCollectionScope:o,useCollection:w,useInitCollection:y}]}Tt(GT,"createCollection");function bb(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Tt(bb,"shallowEqual");function vb(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Tt(vb,"isElementPreceding");function yu(e,t){return!e[1].element||!t[1].element?0:vb(e[1].element,t[1].element)?-1:1}Tt(yu,"sortByDocumentPosition");function wb(e){return new MutationObserver(n=>{for(const o of n)if(o.type==="childList"){e();return}})}Tt(wb,"getChildListObserver");var ZT=Object.defineProperty,Yr=(e,t)=>ZT(e,"name",{value:t,configurable:!0}),xb=!!(typeof window<"u"&&window.document&&window.document.createElement);function ve(e,t,{checkForDefaultPrevented:n=!0}={}){return Yr(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},"handleEvent")}Yr(ve,"composeEventHandlers");function YT(e){if(!xb)throw new Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window}Yr(YT,"getOwnerWindow");function bu(e){if(!xb)throw new Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}Yr(bu,"getOwnerDocument");function jb(e,t=!1){const{activeElement:n}=bu(e);if(!n?.nodeName)return null;if(_b(n)&&n.contentDocument)return jb(n.contentDocument.body,t);if(t){const o=n.getAttribute("aria-activedescendant");if(o){const r=bu(n).getElementById(o);if(r)return r}}return n}Yr(jb,"getActiveElement");function _b(e){return e.tagName==="IFRAME"}Yr(_b,"isFrame");var Ht=globalThis?.document?f.useLayoutEffect:()=>{},XT=Object.defineProperty,JT=(e,t)=>XT(e,"name",{value:t,configurable:!0}),Pp=eo[" useEffectEvent ".trim().toString()],Cp=eo[" useInsertionEffect ".trim().toString()];function Sb(e){if(typeof Pp=="function")return Pp(e);const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof Cp=="function"?Cp(()=>{t.current=e}):Ht(()=>{t.current=e}),f.useMemo(()=>((...n)=>t.current?.(...n)),[])}JT(Sb,"useEffectEvent");var QT=Object.defineProperty,ti=(e,t)=>QT(e,"name",{value:t,configurable:!0}),eO=eo[" useInsertionEffect ".trim().toString()]||Ht;function to({prop:e,defaultProp:t,onChange:n=ti(()=>{},"onChange"),caller:o}){const[r,s,i]=kb({defaultProp:t,onChange:n}),a=e!==void 0,c=a?e:r,l=f.useCallback(m=>{if(a){const u=Eb(m)?m(e):m;u!==e&&i.current?.(u)}else s(m)},[a,e,s,i]);return[c,l]}ti(to,"useControllableState");function kb({defaultProp:e,onChange:t}){const[n,o]=f.useState(e),r=f.useRef(n),s=f.useRef(t);return eO(()=>{s.current=t},[t]),f.useEffect(()=>{r.current!==n&&(s.current?.(n),r.current=n)},[n,r]),[n,o,s]}ti(kb,"useUncontrolledState");function Eb(e){return typeof e=="function"}ti(Eb,"isFunction");var Tp=Symbol("RADIX:SYNC_STATE");function tO(e,t,n,o){const{prop:r,defaultProp:s,onChange:i,caller:a}=t,c=r!==void 0,l=Sb(i),m=[{...n,state:s}];o&&m.push(o);const[u,p]=f.useReducer((y,w)=>{if(w.type===Tp)return{...y,state:w.state};const v=e(y,w);return c&&!Object.is(v.state,y.state)&&l(v.state),v},...m),g=u.state,b=f.useRef(g);f.useEffect(()=>{b.current!==g&&(b.current=g,c||l(g))},[g,b,c]);const h=f.useMemo(()=>r!==void 0?{...u,state:r}:u,[u,r]);return f.useEffect(()=>{c&&!Object.is(r,u.state)&&p({type:Tp,state:r})},[r,u.state,c]),[h,p]}ti(tO,"useControllableStateReducer");var nO=Object.defineProperty,Qn=(e,t)=>nO(e,"name",{value:t,configurable:!0});function Pb(e,t){return f.useReducer((n,o)=>t[n][o]??n,e)}Qn(Pb,"useStateMachine");var gn=Qn(e=>{const{present:t,children:n}=e,o=Cb(t),r=typeof n=="function"?n({present:o.isPresent}):f.Children.only(n),s=Tb(o.ref,Ob(r));return typeof n=="function"||o.isPresent?f.cloneElement(r,{ref:s}):null},"Presence");function Cb(e){const[t,n]=f.useState(),o=f.useRef(null),r=f.useRef(e),s=f.useRef("none"),i=f.useRef(void 0),a=e?"mounted":"unmounted",[c,l]=Pb(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{c==="mounted"?(s.current=i.current??mr(o.current),i.current=void 0):s.current="none"},[c]),Ht(()=>{const m=o.current,u=r.current;if(u!==e){const g=s.current,b=mr(m);e?(i.current=b,l("MOUNT")):b==="none"||m?.display==="none"?l("UNMOUNT"):l(u&&g!==b?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),Ht(()=>{if(t){let m;const u=t.ownerDocument.defaultView??window,p=Qn(b=>{const y=mr(o.current).includes(CSS.escape(b.animationName));if(b.target===t&&y&&(l("ANIMATION_END"),!r.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",m=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},"handleAnimationEnd"),g=Qn(b=>{b.target===t&&(s.current=mr(o.current))},"handleAnimationStart");return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(m),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(m=>{if(m){const u=getComputedStyle(m);o.current=u,i.current=mr(u)}else o.current=null;n(m)},[])}}Qn(Cb,"usePresence");function vu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Qn(vu,"setRef");function Tb(...e){const t=f.useRef(e);return t.current=e,f.useCallback(n=>{const o=t.current;let r=!1;const s=o.map(i=>{const a=vu(i,n);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i<s.length;i++){const a=s[i];typeof a=="function"?a():vu(o[i],null)}}},[])}Qn(Tb,"useStableComposedRefs");function mr(e){return e?.animationName||"none"}Qn(mr,"getAnimationName");function Ob(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Qn(Ob,"getElementRef");var oO=Object.defineProperty,rO=(e,t)=>oO(e,"name",{value:t,configurable:!0}),sO=eo[" useId ".trim().toString()]||(()=>{}),iO=0;function an(e){const[t,n]=f.useState(sO());return Ht(()=>{e||n(o=>o??String(iO++))},[e]),e||(t?`radix-${t}`:"")}rO(an,"useId");var aO=Object.defineProperty,ni=(e,t)=>aO(e,"name",{value:t,configurable:!0}),Hd="Collapsible",[cO,lO]=pn(Hd),[uO,Kd]=cO(Hd),Rb=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,open:r,defaultOpen:s,disabled:i,onOpenChange:a,...c}=t,[l,m]=to({prop:r,defaultProp:s??!1,onChange:a,caller:Hd});return d.jsx(uO,{scope:o,disabled:i,contentId:an(),open:l,onOpenToggle:f.useCallback(()=>m(u=>!u),[m]),children:d.jsx(Le.div,{"data-state":oc(l),"data-disabled":i?"":void 0,...c,ref:n})})},"Collapsible")),dO="CollapsibleTrigger",Ib=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,...r}=t,s=Kd(dO,o);return d.jsx(Le.button,{type:"button","aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open||!1,"data-state":oc(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:n,onClick:ve(t.onClick,s.onOpenToggle)})},"CollapsibleTrigger")),Ab="CollapsibleContent",qd=f.forwardRef(ni(function(t,n){const{forceMount:o,...r}=t,s=Kd(Ab,t.__scopeCollapsible);return d.jsx(gn,{present:o||s.open,children:({present:i})=>d.jsx(fO,{...r,ref:n,present:i})})},"CollapsibleContent")),fO=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,present:r,children:s,...i}=t,a=Kd(Ab,o),[c,l]=f.useState(r),m=f.useRef(null),u=$e(n,m),p=f.useRef(0),g=p.current,b=f.useRef(0),h=b.current,y=a.open||c,w=f.useRef(y),v=f.useRef(void 0);return f.useEffect(()=>{const j=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(j)},[]),Ht(()=>{const j=m.current;if(j){v.current=v.current||{transitionDuration:j.style.transitionDuration,animationName:j.style.animationName},j.style.transitionDuration="0s",j.style.animationName="none";const x=j.getBoundingClientRect();p.current=x.height,b.current=x.width,w.current||(j.style.transitionDuration=v.current.transitionDuration,j.style.animationName=v.current.animationName),l(r)}},[a.open,r]),d.jsx(Le.div,{"data-state":oc(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!y,...i,ref:u,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...t.style},children:y&&s})},"CollapsibleContentImpl"));function oc(e){return e?"open":"closed"}ni(oc,"getState");var Nb=Rb,mO=Ib,pO=qd;const Q5=Object.freeze(Object.defineProperty({__proto__:null,Collapsible:Rb,CollapsibleContent:qd,CollapsibleTrigger:Ib,Content:pO,Root:Nb,Trigger:mO,createCollapsibleScope:lO},Symbol.toStringTag,{value:"Module"}));var gO=Object.defineProperty,Mb=(e,t)=>gO(e,"name",{value:t,configurable:!0}),Db=f.createContext(void 0),Fb=Mb(e=>{const{dir:t,children:n}=e;return d.jsx(Db.Provider,{value:t,children:n})},"DirectionProvider");function oi(e){const t=f.useContext(Db);return e||t||"ltr"}Mb(oi,"useDirection");var hO=Fb;const eK=Object.freeze(Object.defineProperty({__proto__:null,DirectionProvider:Fb,Provider:hO,useDirection:oi},Symbol.toStringTag,{value:"Module"}));var yO=Object.defineProperty,bO=(e,t)=>yO(e,"name",{value:t,configurable:!0});function jn(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>((...n)=>t.current?.(...n)),[])}bO(jn,"useCallbackRef");var vO=Object.defineProperty,St=(e,t)=>vO(e,"name",{value:t,configurable:!0}),wu="dismissableLayer.update",wO="dismissableLayer.pointerDownOutside",xO="dismissableLayer.focusOutside",Op,Wd=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ri=f.forwardRef(St(function(t,n){const{disableOutsidePointerEvents:o=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:c,onDismiss:l,...m}=t,u=f.useContext(Wd),[p,g]=f.useState(null),b=p?.ownerDocument??globalThis?.document,[,h]=f.useState({}),y=$e(n,g),w=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),j=v?w.indexOf(v):-1,x=p?w.indexOf(p):-1,k=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=j,E=f.useRef(!1),_=Lb(M=>{i?.(M),c?.(M),M.defaultPrevented||l?.()},{ownerDocument:b,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:E,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:f.useCallback(M=>{if(!(M instanceof Node))return!1;const B=[...u.branches].some(A=>A.contains(M));return S&&!B},[u.branches,S])}),P=Bb(M=>{if(r&&E.current)return;const B=M.target;[...u.branches].some($=>$.contains(B))||(a?.(M),c?.(M),M.defaultPrevented||l?.())},b),C=p?x===w.length-1:!1,I=jn(M=>{M.key==="Escape"&&(s?.(M),!M.defaultPrevented&&l&&(M.preventDefault(),l()))});return f.useEffect(()=>{if(C)return b.addEventListener("keydown",I,{capture:!0}),()=>b.removeEventListener("keydown",I,{capture:!0})},[b,C,I]),f.useEffect(()=>{if(p)return o&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Op=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(p)),u.layers.add(p),xu(),()=>{o&&(u.layersWithOutsidePointerEventsDisabled.delete(p),u.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Op))}},[p,b,o,u]),f.useEffect(()=>()=>{p&&(u.layers.delete(p),u.layersWithOutsidePointerEventsDisabled.delete(p),xu())},[p,u]),f.useEffect(()=>{const M=St(()=>h({}),"handleUpdate");return document.addEventListener(wu,M),()=>document.removeEventListener(wu,M)},[]),d.jsx(Le.div,{...m,ref:y,style:{pointerEvents:k?S?"auto":"none":void 0,...t.style},onFocusCapture:ve(t.onFocusCapture,P.onFocusCapture),onBlurCapture:ve(t.onBlurCapture,P.onBlurCapture),onPointerDownCapture:ve(t.onPointerDownCapture,_.onPointerDownCapture)})},"DismissableLayer")),jO=f.forwardRef(St(function(t,n){const o=f.useContext(Wd),r=f.useRef(null),s=$e(n,r);return f.useEffect(()=>{const i=r.current;if(i)return o.branches.add(i),()=>{o.branches.delete(i)}},[o.branches]),d.jsx(Le.div,{...t,ref:s})},"DismissableLayerBranch"));function $b(){const e=f.useContext(Wd),[t,n]=f.useState(null);return f.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}St($b,"useDismissableLayerSurface");var _O=St(()=>!0,"IS_TRUE");function Lb(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:i=_O}=t,a=jn(e),c=f.useRef(!1),l=f.useRef(!1),m=f.useRef(new Map),u=f.useRef(()=>{});return f.useEffect(()=>{function p(){l.current=!1,r.current=!1,m.current.clear()}St(p,"resetOutsideInteraction");function g(){return Array.from(m.current.values()).some(Boolean)}St(g,"isOutsideInteractionIntercepted");function b(j){if(!l.current)return;const x=j.target;x instanceof Node&&[...s].some(S=>S.contains(x))||m.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{l.current&&u.current()},0)}St(b,"handleInteractionCapture");function h(j){l.current&&m.current.set(j.type,!1)}St(h,"handleInteractionBubble");const y=St(j=>{if(j.target&&!c.current){let x=function(){n.removeEventListener("click",u.current);const S=g();p(),S||Gd(wO,a,k,{discrete:!0})};if(St(x,"handleAndDispatchPointerDownOutsideEvent"),!i(j.target)){n.removeEventListener("click",u.current),p(),c.current=!1;return}const k={originalEvent:j};l.current=!0,r.current=o&&j.button===0,m.current.clear(),!o||j.button!==0?x():(n.removeEventListener("click",u.current),u.current=x,n.addEventListener("click",u.current,{once:!0}))}else n.removeEventListener("click",u.current),p();c.current=!1},"handlePointerDown"),w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of w)n.addEventListener(j,b,!0),n.addEventListener(j,h);const v=window.setTimeout(()=>{n.addEventListener("pointerdown",y)},0);return()=>{window.clearTimeout(v),n.removeEventListener("pointerdown",y),n.removeEventListener("click",u.current);for(const j of w)n.removeEventListener(j,b,!0),n.removeEventListener(j,h)}},[n,a,o,r,s,i]),{onPointerDownCapture:St(()=>c.current=!0,"onPointerDownCapture")}}St(Lb,"usePointerDownOutside");function Bb(e,t=globalThis?.document){const n=jn(e),o=f.useRef(!1);return f.useEffect(()=>{const r=St(s=>{s.target&&!o.current&&Gd(xO,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:St(()=>o.current=!0,"onFocusCapture"),onBlurCapture:St(()=>o.current=!1,"onBlurCapture")}}St(Bb,"useFocusOutside");function xu(){const e=new CustomEvent(wu);document.dispatchEvent(e)}St(xu,"dispatchUpdate");function Gd(e,t,n,{discrete:o}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Vd(r,s):r.dispatchEvent(s)}St(Gd,"handleAndDispatchCustomEvent");var tK=ri,nK=jO,SO=Object.defineProperty,Ut=(e,t)=>SO(e,"name",{value:t,configurable:!0}),ll="focusScope.autoFocusOnMount",ul="focusScope.autoFocusOnUnmount",Rp={bubbles:!1,cancelable:!0},Zd=f.forwardRef(Ut(function(t,n){const{loop:o=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:i,...a}=t,[c,l]=f.useState(null),m=jn(s),u=jn(i),p=f.useRef(null),g=$e(n,l),b=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(r){let y=function(x){if(b.paused||!c)return;const k=x.target;c.contains(k)?p.current=k:Un(p.current,{select:!0})},w=function(x){if(b.paused||!c)return;const k=x.relatedTarget;k!==null&&(c.contains(k)||Un(p.current,{select:!0}))},v=function(x){if(document.activeElement===document.body)for(const S of x)S.removedNodes.length>0&&Un(c)};Ut(y,"handleFocusIn"),Ut(w,"handleFocusOut"),Ut(v,"handleMutations"),document.addEventListener("focusin",y),document.addEventListener("focusout",w);const j=new MutationObserver(v);return c&&j.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",w),j.disconnect()}}},[r,c,b.paused]),f.useEffect(()=>{if(c){Ip.add(b);const y=document.activeElement;if(!c.contains(y)){const v=new CustomEvent(ll,Rp);c.addEventListener(ll,m),c.dispatchEvent(v),v.defaultPrevented||(zb(qb(Yd(c)),{select:!0}),document.activeElement===y&&Un(c))}return()=>{c.removeEventListener(ll,m),setTimeout(()=>{const v=new CustomEvent(ul,Rp);c.addEventListener(ul,u),c.dispatchEvent(v),v.defaultPrevented||Un(y??document.body,{select:!0}),c.removeEventListener(ul,u),Ip.remove(b)},0)}}},[c,m,u,b]);const h=f.useCallback(y=>{if(!o&&!r||b.paused)return;const w=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,v=document.activeElement;if(w&&v){const j=y.currentTarget,[x,k]=Vb(j);x&&k?!y.shiftKey&&v===k?(y.preventDefault(),o&&Un(x,{select:!0})):y.shiftKey&&v===x&&(y.preventDefault(),o&&Un(k,{select:!0})):v===j&&y.preventDefault()}},[o,r,b.paused]);return d.jsx(Le.div,{tabIndex:-1,...a,ref:g,onKeyDown:h})},"FocusScope"));function zb(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(Un(o,{select:t}),document.activeElement!==n)return}Ut(zb,"focusFirst");function Vb(e){const t=Yd(e),n=ju(t,e),o=ju(t.reverse(),e);return[n,o]}Ut(Vb,"getTabbableEdges");function Yd(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Ut(o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}Ut(Yd,"getTabbableCandidates");function ju(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const o of e)if(!(n?!o.checkVisibility({checkVisibilityCSS:!0}):Ub(o,{upTo:t})))return o}Ut(ju,"findVisible");function Ub(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Ut(Ub,"isHidden");function Hb(e){return e instanceof HTMLInputElement&&"select"in e}Ut(Hb,"isSelectableInput");function Un(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Hb(e)&&t&&e.select()}}Ut(Un,"focus");var Ip=Kb();function Kb(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=_u(e,t),e.unshift(t)},remove(t){e=_u(e,t),e[0]?.resume()}}}Ut(Kb,"createFocusScopesStack");function _u(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}Ut(_u,"arrayRemove");function qb(e){return e.filter(t=>t.tagName!=="A")}Ut(qb,"removeLinks");var kO=Object.defineProperty,EO=(e,t)=>kO(e,"name",{value:t,configurable:!0}),Xr=f.forwardRef(EO(function(t,n){const{container:o,...r}=t,[s,i]=f.useState(!1);Ht(()=>i(!0),[]);const a=o||s&&globalThis?.document?.body;return a?Wo.createPortal(d.jsx(Le.div,{...r,ref:n}),a):null},"Portal")),PO=Xr;const oK=Object.freeze(Object.defineProperty({__proto__:null,Portal:Xr,Root:PO},Symbol.toStringTag,{value:"Module"}));var CO=Object.defineProperty,Xd=(e,t)=>CO(e,"name",{value:t,configurable:!0}),Ci=0,Qo=null;function TO(e){return si(),e.children}Xd(TO,"FocusGuards");function si(){f.useEffect(()=>{Qo||(Qo={start:Su(),end:Su()});const{start:e,end:t}=Qo;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ci++,()=>{Ci===1&&(Qo?.start.remove(),Qo?.end.remove(),Qo=null),Ci=Math.max(0,Ci-1)}},[])}Xd(si,"useFocusGuards");function Su(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}Xd(Su,"createFocusGuard");var An=function(){return An=Object.assign||function(t){for(var n,o=1,r=arguments.length;o<r;o++){n=arguments[o];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},An.apply(this,arguments)};function Wb(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n}function OO(e,t,n){if(n||arguments.length===2)for(var o=0,r=t.length,s;o<r;o++)(s||!(o in t))&&(s||(s=Array.prototype.slice.call(t,0,o)),s[o]=t[o]);return e.concat(s||Array.prototype.slice.call(t))}var ua="right-scroll-bar-position",da="width-before-scroll-bar",RO="with-scroll-bars-hidden",IO="--removed-body-scroll-bar-size";function dl(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function AO(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(o){var r=n.value;r!==o&&(n.value=o,n.callback(o,r))}}}})[0];return n.callback=t,n.facade}var NO=typeof window<"u"?f.useLayoutEffect:f.useEffect,Ap=new WeakMap;function MO(e,t){var n=AO(null,function(o){return e.forEach(function(r){return dl(r,o)})});return NO(function(){var o=Ap.get(n);if(o){var r=new Set(o),s=new Set(e),i=n.current;r.forEach(function(a){s.has(a)||dl(a,null)}),s.forEach(function(a){r.has(a)||dl(a,i)})}Ap.set(n,e)},[e]),n}function DO(e){return e}function FO(e,t){t===void 0&&(t=DO);var n=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(s){var i=t(s,o);return n.push(i),function(){n=n.filter(function(a){return a!==i})}},assignSyncMedium:function(s){for(o=!0;n.length;){var i=n;n=[],i.forEach(s)}n={push:function(a){return s(a)},filter:function(){return n}}},assignMedium:function(s){o=!0;var i=[];if(n.length){var a=n;n=[],a.forEach(s),i=n}var c=function(){var m=i;i=[],m.forEach(s)},l=function(){return Promise.resolve().then(c)};l(),n={push:function(m){i.push(m),l()},filter:function(m){return i=i.filter(m),n}}}};return r}function $O(e){e===void 0&&(e={});var t=FO(null);return t.options=An({async:!0,ssr:!1},e),t}var Gb=function(e){var t=e.sideCar,n=Wb(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=t.read();if(!o)throw new Error("Sidecar medium not found");return f.createElement(o,An({},n))};Gb.isSideCarExport=!0;function LO(e,t){return e.useMedium(t),Gb}var Zb=$O(),fl=function(){},rc=f.forwardRef(function(e,t){var n=f.useRef(null),o=f.useState({onScrollCapture:fl,onWheelCapture:fl,onTouchMoveCapture:fl}),r=o[0],s=o[1],i=e.forwardProps,a=e.children,c=e.className,l=e.removeScrollBar,m=e.enabled,u=e.shards,p=e.sideCar,g=e.noRelative,b=e.noIsolation,h=e.inert,y=e.allowPinchZoom,w=e.as,v=w===void 0?"div":w,j=e.gapMode,x=Wb(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=p,S=MO([n,t]),E=An(An({},x),r);return f.createElement(f.Fragment,null,m&&f.createElement(k,{sideCar:Zb,removeScrollBar:l,shards:u,noRelative:g,noIsolation:b,inert:h,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:j}),i?f.cloneElement(f.Children.only(a),An(An({},E),{ref:S})):f.createElement(v,An({},E,{className:c,ref:S}),a))});rc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};rc.classNames={fullWidth:da,zeroRight:ua};var BO=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function zO(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=BO();return t&&e.setAttribute("nonce",t),e}function VO(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function UO(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var HO=function(){var e=0,t=null;return{add:function(n){e==0&&(t=zO())&&(VO(t,n),UO(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},KO=function(){var e=HO();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Yb=function(){var e=KO(),t=function(n){var o=n.styles,r=n.dynamic;return e(o,r),null};return t},qO={left:0,top:0,right:0,gap:0},ml=function(e){return parseInt(e||"",10)||0},WO=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],o=t[e==="padding"?"paddingTop":"marginTop"],r=t[e==="padding"?"paddingRight":"marginRight"];return[ml(n),ml(o),ml(r)]},GO=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return qO;var t=WO(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},ZO=Yb(),kr="data-scroll-locked",YO=function(e,t,n,o){var r=e.left,s=e.top,i=e.right,a=e.gap;return n===void 0&&(n="margin"),`
65
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const a=i[1];if(t===i[0]){s(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1&&e.reused==="ref"){s(i);continue}}}function Ey(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const c=e.seen.get(a);if(c.ref===null)return;const l=c.def??c.schema,m={...l},u=c.ref;if(c.ref=null,u){o(u);const g=e.seen.get(u),b=g.schema;if(b.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(b)):Object.assign(l,b),Object.assign(l,m),a._zod.parent===u)for(const y in l)y==="$ref"||y==="allOf"||y in m||delete l[y];if(b.$ref&&g.def)for(const y in l)y==="$ref"||y==="allOf"||y in g.def&&JSON.stringify(l[y])===JSON.stringify(g.def[y])&&delete l[y]}const p=a._zod.parent;if(p&&p!==u){o(p);const g=e.seen.get(p);if(g?.schema.$ref&&(l.$ref=g.schema.$ref,g.def))for(const b in l)b==="$ref"||b==="allOf"||b in g.def&&JSON.stringify(l[b])===JSON.stringify(g.def[b])&&delete l[b]}e.override({zodSchema:a,jsonSchema:l,path:c.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(a)}Object.assign(r,n.def??n.schema);const s=e.metadataRegistry.get(t)?.id;s!==void 0&&r.id===s&&delete r.id;const i=e.external?.defs??{};for(const a of e.seen.entries()){const c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,i[c.defId]=c.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?r.$defs=i:r.definitions=i);try{const a=JSON.parse(JSON.stringify(r));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:_a(t,"input",e.processors),output:_a(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Lt(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return Lt(o.element,n);if(o.type==="set")return Lt(o.valueType,n);if(o.type==="lazy")return Lt(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Lt(o.innerType,n);if(o.type==="intersection")return Lt(o.left,n)||Lt(o.right,n);if(o.type==="record"||o.type==="map")return Lt(o.keyType,n)||Lt(o.valueType,n);if(o.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Lt(o.in,n)||Lt(o.out,n);if(o.type==="object"){for(const r in o.shape)if(Lt(o.shape[r],n))return!0;return!1}if(o.type==="union"){for(const r of o.options)if(Lt(r,n))return!0;return!1}if(o.type==="tuple"){for(const r of o.items)if(Lt(r,n))return!0;return!!(o.rest&&Lt(o.rest,n))}return!1}const yP=(e,t={})=>n=>{const o=Sy({...n,processors:t});return ht(e,o),ky(o,e),Ey(o,e)},_a=(e,t,n={})=>o=>{const{libraryOptions:r,target:s}=o??{},i=Sy({...r??{},target:s,io:t,processors:n});return ht(e,i),ky(i,e),Ey(i,e)},bP={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},vP=(e,t,n,o)=>{const r=n;r.type="string";const{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof s=="number"&&(r.minLength=s),typeof i=="number"&&(r.maxLength=i),a&&(r.format=bP[a]??a,r.format===""&&delete r.format,a==="time"&&delete r.format),l&&(r.contentEncoding=l),c&&c.size>0){const m=[...c];m.length===1?r.pattern=m[0].source:m.length>1&&(r.allOf=[...m.map(u=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:u.source}))])}},wP=(e,t,n,o)=>{const r=n,{minimum:s,maximum:i,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof a=="string"&&a.includes("int")?r.type="integer":r.type="number";const u=typeof m=="number"&&m>=(s??Number.NEGATIVE_INFINITY),p=typeof l=="number"&&l<=(i??Number.POSITIVE_INFINITY),g=t.target==="draft-04"||t.target==="openapi-3.0";u?g?(r.minimum=m,r.exclusiveMinimum=!0):r.exclusiveMinimum=m:typeof s=="number"&&(r.minimum=s),p?g?(r.maximum=l,r.exclusiveMaximum=!0):r.exclusiveMaximum=l:typeof i=="number"&&(r.maximum=i),typeof c=="number"&&(r.multipleOf=c)},xP=(e,t,n,o)=>{n.type="boolean"},jP=(e,t,n,o)=>{n.not={}},_P=(e,t,n,o)=>{},SP=(e,t,n,o)=>{const r=e._zod.def,s=ry(r.entries);s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},kP=(e,t,n,o)=>{const r=e._zod.def,s=[];for(const i of r.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},EP=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},PP=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},CP=(e,t,n,o)=>{const r=n,s=e._zod.def,{minimum:i,maximum:a}=e._zod.bag;typeof i=="number"&&(r.minItems=i),typeof a=="number"&&(r.maxItems=a),r.type="array",r.items=ht(s.element,t,{...o,path:[...o.path,"items"]})},TP=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object",r.properties={};const i=s.shape;for(const l in i)r.properties[l]=ht(i[l],t,{...o,path:[...o.path,"properties",l]});const a=new Set(Object.keys(i)),c=new Set([...a].filter(l=>{const m=s.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));c.size>0&&(r.required=Array.from(c)),s.catchall?._zod.def.type==="never"?r.additionalProperties=!1:s.catchall?s.catchall&&(r.additionalProperties=ht(s.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},OP=(e,t,n,o)=>{const r=e._zod.def,s=r.inclusive===!1,i=r.options.map((a,c)=>ht(a,t,{...o,path:[...o.path,s?"oneOf":"anyOf",c]}));s?n.oneOf=i:n.anyOf=i},RP=(e,t,n,o)=>{const r=e._zod.def,s=ht(r.left,t,{...o,path:[...o.path,"allOf",0]}),i=ht(r.right,t,{...o,path:[...o.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];n.allOf=c},IP=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object";const i=s.keyType,c=i._zod.bag?.patterns;if(s.mode==="loose"&&c&&c.size>0){const m=ht(s.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const u of c)r.patternProperties[u.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=ht(s.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=ht(s.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=i._zod.values;if(l){const m=[...l].filter(u=>typeof u=="string"||typeof u=="number");m.length>0&&(r.required=m)}},AP=(e,t,n,o)=>{const r=e._zod.def,s=ht(r.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=r.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},NP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},MP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},DP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},FP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType;let i;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},$P=(e,t,n,o)=>{const r=e._zod.def,s=r.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?r.out:r.in:r.out;ht(i,t,o);const a=t.seen.get(e);a.ref=i},LP=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.readOnly=!0},Py=(e,t,n,o)=>{const r=e._zod.def;ht(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},BP=Y("ZodISODateTime",(e,t)=>{zk.init(e,t),ct.init(e,t)});function zP(e){return WE(BP,e)}const VP=Y("ZodISODate",(e,t)=>{Vk.init(e,t),ct.init(e,t)});function UP(e){return GE(VP,e)}const HP=Y("ZodISOTime",(e,t)=>{Uk.init(e,t),ct.init(e,t)});function KP(e){return ZE(HP,e)}const qP=Y("ZodISODuration",(e,t)=>{Hk.init(e,t),ct.init(e,t)});function WP(e){return YE(qP,e)}const GP=(e,t)=>{cy.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>A0(e,n)},flatten:{value:n=>I0(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,iu,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,iu,2)}},isEmpty:{get(){return e.issues.length===0}}})},mn=Y("ZodError",GP,{Parent:Error}),ZP=Ad(mn),YP=Nd(mn),XP=Ja(mn),JP=Qa(mn),QP=D0(mn),eC=F0(mn),tC=$0(mn),nC=L0(mn),oC=B0(mn),rC=z0(mn),sC=V0(mn),iC=U0(mn),lp=new WeakMap;function Qs(e,t,n){const o=Object.getPrototypeOf(e);let r=lp.get(o);if(r||(r=new Set,lp.set(o,r)),!r.has(t)){r.add(t);for(const s in n){const i=n[s];Object.defineProperty(o,s,{configurable:!0,enumerable:!1,get(){const a=i.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}const at=Y("ZodType",(e,t)=>(it.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:_a(e,"input"),output:_a(e,"output")}}),e.toJSONSchema=yP(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,o)=>ZP(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>XP(e,n,o),e.parseAsync=async(n,o)=>YP(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>JP(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>QP(e,n,o),e.decode=(n,o)=>eC(e,n,o),e.encodeAsync=async(n,o)=>tC(e,n,o),e.decodeAsync=async(n,o)=>nC(e,n,o),e.safeEncode=(n,o)=>oC(e,n,o),e.safeDecode=(n,o)=>rC(e,n,o),e.safeEncodeAsync=async(n,o)=>sC(e,n,o),e.safeDecodeAsync=async(n,o)=>iC(e,n,o),Qs(e,"ZodType",{check(...n){const o=this.def;return this.clone(Eo(o,{checks:[...o.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,o){return Po(this,n,o)},brand(){return this},register(n,o){return n.add(this,o),this},refine(n,o){return this.check(QC(n,o))},superRefine(n,o){return this.check(e1(n,o))},overwrite(n){return this.check(qr(n))},optional(){return mp(this)},exactOptional(){return BC(this)},nullable(){return pp(this)},nullish(){return mp(pp(this))},nonoptional(n){return qC(this,n)},array(){return yt(this)},or(n){return Oy([this,n])},and(n){return NC(this,n)},transform(n){return gp(this,$C(n))},default(n){return UC(this,n)},prefault(n){return KC(this,n)},catch(n){return GC(this,n)},pipe(n){return gp(this,n)},readonly(){return XC(this)},describe(n){const o=this.clone();return hs.add(o,{description:n}),o},meta(...n){if(n.length===0)return hs.get(this);const o=this.clone();return hs.add(o,n[0]),o},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return hs.get(e)?.description},configurable:!0}),e)),Cy=Y("_ZodString",(e,t)=>{Md.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>vP(e,o,r);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Qs(e,"_ZodString",{regex(...o){return this.check(nP(...o))},includes(...o){return this.check(sP(...o))},startsWith(...o){return this.check(iP(...o))},endsWith(...o){return this.check(aP(...o))},min(...o){return this.check(ja(...o))},max(...o){return this.check(jy(...o))},length(...o){return this.check(_y(...o))},nonempty(...o){return this.check(ja(1,...o))},lowercase(o){return this.check(oP(o))},uppercase(o){return this.check(rP(o))},trim(){return this.check(lP())},normalize(...o){return this.check(cP(...o))},toLowerCase(){return this.check(uP())},toUpperCase(){return this.check(dP())},slugify(){return this.check(fP())}})}),aC=Y("ZodString",(e,t)=>{Md.init(e,t),Cy.init(e,t),e.email=n=>e.check(EE(cC,n)),e.url=n=>e.check(RE(lC,n)),e.jwt=n=>e.check(qE(SC,n)),e.emoji=n=>e.check(IE(uC,n)),e.guid=n=>e.check(sp(up,n)),e.uuid=n=>e.check(PE(Si,n)),e.uuidv4=n=>e.check(CE(Si,n)),e.uuidv6=n=>e.check(TE(Si,n)),e.uuidv7=n=>e.check(OE(Si,n)),e.nanoid=n=>e.check(AE(dC,n)),e.guid=n=>e.check(sp(up,n)),e.cuid=n=>e.check(NE(fC,n)),e.cuid2=n=>e.check(ME(mC,n)),e.ulid=n=>e.check(DE(pC,n)),e.base64=n=>e.check(UE(xC,n)),e.base64url=n=>e.check(HE(jC,n)),e.xid=n=>e.check(FE(gC,n)),e.ksuid=n=>e.check($E(hC,n)),e.ipv4=n=>e.check(LE(yC,n)),e.ipv6=n=>e.check(BE(bC,n)),e.cidrv4=n=>e.check(zE(vC,n)),e.cidrv6=n=>e.check(VE(wC,n)),e.e164=n=>e.check(KE(_C,n)),e.datetime=n=>e.check(zP(n)),e.date=n=>e.check(UP(n)),e.time=n=>e.check(KP(n)),e.duration=n=>e.check(WP(n))});function Z(e){return kE(aC,e)}const ct=Y("ZodStringFormat",(e,t)=>{rt.init(e,t),Cy.init(e,t)}),cC=Y("ZodEmail",(e,t)=>{Ik.init(e,t),ct.init(e,t)}),up=Y("ZodGUID",(e,t)=>{Ok.init(e,t),ct.init(e,t)}),Si=Y("ZodUUID",(e,t)=>{Rk.init(e,t),ct.init(e,t)}),lC=Y("ZodURL",(e,t)=>{Ak.init(e,t),ct.init(e,t)}),uC=Y("ZodEmoji",(e,t)=>{Nk.init(e,t),ct.init(e,t)}),dC=Y("ZodNanoID",(e,t)=>{Mk.init(e,t),ct.init(e,t)}),fC=Y("ZodCUID",(e,t)=>{Dk.init(e,t),ct.init(e,t)}),mC=Y("ZodCUID2",(e,t)=>{Fk.init(e,t),ct.init(e,t)}),pC=Y("ZodULID",(e,t)=>{$k.init(e,t),ct.init(e,t)}),gC=Y("ZodXID",(e,t)=>{Lk.init(e,t),ct.init(e,t)}),hC=Y("ZodKSUID",(e,t)=>{Bk.init(e,t),ct.init(e,t)}),yC=Y("ZodIPv4",(e,t)=>{Kk.init(e,t),ct.init(e,t)}),bC=Y("ZodIPv6",(e,t)=>{qk.init(e,t),ct.init(e,t)}),vC=Y("ZodCIDRv4",(e,t)=>{Wk.init(e,t),ct.init(e,t)}),wC=Y("ZodCIDRv6",(e,t)=>{Gk.init(e,t),ct.init(e,t)}),xC=Y("ZodBase64",(e,t)=>{Zk.init(e,t),ct.init(e,t)}),jC=Y("ZodBase64URL",(e,t)=>{Xk.init(e,t),ct.init(e,t)}),_C=Y("ZodE164",(e,t)=>{Jk.init(e,t),ct.init(e,t)}),SC=Y("ZodJWT",(e,t)=>{eE.init(e,t),ct.init(e,t)}),Ty=Y("ZodNumber",(e,t)=>{by.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>wP(e,o,r),Qs(e,"ZodNumber",{gt(o,r){return this.check(ap(o,r))},gte(o,r){return this.check(ol(o,r))},min(o,r){return this.check(ol(o,r))},lt(o,r){return this.check(ip(o,r))},lte(o,r){return this.check(nl(o,r))},max(o,r){return this.check(nl(o,r))},int(o){return this.check(dp(o))},safe(o){return this.check(dp(o))},positive(o){return this.check(ap(0,o))},nonnegative(o){return this.check(ol(0,o))},negative(o){return this.check(ip(0,o))},nonpositive(o){return this.check(nl(0,o))},multipleOf(o,r){return this.check(cp(o,r))},step(o,r){return this.check(cp(o,r))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function wn(e){return XE(Ty,e)}const kC=Y("ZodNumberFormat",(e,t)=>{tE.init(e,t),Ty.init(e,t)});function dp(e){return JE(kC,e)}const EC=Y("ZodBoolean",(e,t)=>{nE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>xP(e,n,o)});function cu(e){return QE(EC,e)}const PC=Y("ZodUnknown",(e,t)=>{oE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>_P()});function lu(){return eP(PC)}const CC=Y("ZodNever",(e,t)=>{rE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>jP(e,n,o)});function TC(e){return tP(CC,e)}const OC=Y("ZodArray",(e,t)=>{sE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>CP(e,n,o,r),e.element=t.element,Qs(e,"ZodArray",{min(n,o){return this.check(ja(n,o))},nonempty(n){return this.check(ja(1,n))},max(n,o){return this.check(jy(n,o))},length(n,o){return this.check(_y(n,o))},unwrap(){return this.element}})});function yt(e,t){return mP(OC,e,t)}const RC=Y("ZodObject",(e,t)=>{aE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>TP(e,n,o,r),We(e,"shape",()=>t.shape),Qs(e,"ZodObject",{keyof(){return Gt(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:lu()})},loose(){return this.clone({...this._zod.def,catchall:lu()})},strict(){return this.clone({...this._zod.def,catchall:TC()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return E0(this,n)},safeExtend(n){return P0(this,n)},merge(n){return C0(this,n)},pick(n){return S0(this,n)},omit(n){return k0(this,n)},partial(...n){return T0(Ry,this,n[0])},required(...n){return O0(Iy,this,n[0])}})});function Te(e,t){const n={type:"object",shape:e??{},...xe(t)};return new RC(n)}const IC=Y("ZodUnion",(e,t)=>{cE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>OP(e,n,o,r),e.options=t.options});function Oy(e,t){return new IC({type:"union",options:e,...xe(t)})}const AC=Y("ZodIntersection",(e,t)=>{lE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>RP(e,n,o,r)});function NC(e,t){return new AC({type:"intersection",left:e,right:t})}const fp=Y("ZodRecord",(e,t)=>{uE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>IP(e,n,o,r),e.keyType=t.keyType,e.valueType=t.valueType});function Dd(e,t,n){return!t||!t._zod?new fp({type:"record",keyType:Z(),valueType:e,...xe(t)}):new fp({type:"record",keyType:e,valueType:t,...xe(n)})}const uu=Y("ZodEnum",(e,t)=>{dE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(o,r,s)=>SP(e,o,r),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,r)=>{const s={};for(const i of o)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new uu({...t,checks:[],...xe(r),entries:s})},e.exclude=(o,r)=>{const s={...t.entries};for(const i of o)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new uu({...t,checks:[],...xe(r),entries:s})}});function Gt(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new uu({type:"enum",entries:n,...xe(t)})}const MC=Y("ZodLiteral",(e,t)=>{fE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>kP(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function DC(e,t){return new MC({type:"literal",values:Array.isArray(e)?e:[e],...xe(t)})}const FC=Y("ZodTransform",(e,t)=>{mE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>PP(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new oy(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(As(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(As(i))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(s=>(n.value=s,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function $C(e){return new FC({type:"transform",transform:e})}const Ry=Y("ZodOptional",(e,t)=>{xy.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Py(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function mp(e){return new Ry({type:"optional",innerType:e})}const LC=Y("ZodExactOptional",(e,t)=>{pE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Py(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function BC(e){return new LC({type:"optional",innerType:e})}const zC=Y("ZodNullable",(e,t)=>{gE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>AP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function pp(e){return new zC({type:"nullable",innerType:e})}const VC=Y("ZodDefault",(e,t)=>{hE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>MP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function UC(e,t){return new VC({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():iy(t)}})}const HC=Y("ZodPrefault",(e,t)=>{yE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>DP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function KC(e,t){return new HC({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():iy(t)}})}const Iy=Y("ZodNonOptional",(e,t)=>{bE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>NP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function qC(e,t){return new Iy({type:"nonoptional",innerType:e,...xe(t)})}const WC=Y("ZodCatch",(e,t)=>{vE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>FP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function GC(e,t){return new WC({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const ZC=Y("ZodPipe",(e,t)=>{wE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>$P(e,n,o,r),e.in=t.in,e.out=t.out});function gp(e,t){return new ZC({type:"pipe",in:e,out:t})}const YC=Y("ZodReadonly",(e,t)=>{xE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>LP(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function XC(e){return new YC({type:"readonly",innerType:e})}const JC=Y("ZodCustom",(e,t)=>{jE.init(e,t),at.init(e,t),e._zod.processJSONSchema=(n,o,r)=>EP(e,n)});function QC(e,t={}){return pP(JC,e,t)}function e1(e,t){return gP(e,t)}const Fd=Te({path:Z(),message:Z()}),t1=Te({source:Gt(["local","favicon"]),host:Z().optional(),path:Z().optional()}),n1=Te({data:Z().optional(),mediaType:Z(),source:Gt(["local","favicon"]).optional(),url:Z().optional()}),o1=Te({field:Z(),direction:Gt(["asc","desc"])}),r1=Te({primaryField:Z(),secondaryField:Z().optional(),filters:yt(Z()),numericFilters:yt(Z()).default([]),sort:yt(o1).optional()}),Ay=Te({id:Z().optional(),count:wn().optional(),navLabel:Z().optional(),icon:Z().optional(),revision:Z().optional(),indexedAt:Z().optional(),state:Gt(["ready","error"]).optional(),diagnostics:yt(Fd).optional(),folder:Z(),schemaPath:Z(),title:Z()}),s1=Te({icon:t1.optional(),iconAssetKey:Z().optional(),id:Z(),path:Z(),relativePath:Z(),title:Z(),modifiedAt:wn(),fields:Dd(Z(),lu()),validationErrors:yt(Fd)}),i1=Ay.extend({id:Z(),count:wn(),diagnostics:yt(Fd),revision:Z(),indexedAt:Z(),state:Gt(["ready","error"]),ui:r1,assets:Dd(Z(),n1).optional(),records:yt(s1)}),Ss=e=>Te({items:yt(e)}),Ny=Te({data:Z().optional(),mediaType:Z(),source:Gt(["github","local","favicon"]).optional(),url:Z().optional()}),My=Te({activityAt:wn(),folder:Z().optional(),name:Z(),path:Z().optional(),openHref:Z().optional(),relativePath:Z()}),Dy=Te({id:Z(),iconAssetKey:Z().optional(),name:Z(),relativePath:Z(),worktree:Z()}),a1=Te({client:Gt(["claude","codex","cursor","opencode","pi"]),href:Z().optional(),id:Z(),lastMessageAt:Z().optional(),messageCount:wn(),resumeCommand:Z().optional(),title:Z()}),c1=Ay,du=Te({breadcrumbs:yt(Te({icon:Ny.optional(),path:Z(),schema:cu().optional(),title:Z()})),root:Z(),configPath:Z().optional(),schemaPath:Z().optional(),revision:Z().optional(),state:Gt(["ready","error"]).optional(),schemas:yt(c1).optional()}),l1=Te({count:wn().optional(),error:Z().optional(),icon:Te({paths:yt(Z().min(1)).min(1)}).optional(),id:Z(),label:Z()}),Fy=Te({configWarnings:yt(Z()).optional(),items:yt(l1)}),Ao={folder:Z()},fu=Dd(Z(),Ny),aa=Te({...Ao,assets:fu,files:Ss(My),iconAssetKey:Z().optional(),plugins:Fy.optional(),projects:Ss(Dy),sessions:Ss(a1),workspace:du.optional()}),u1=i1,$d={notes:Te({...Ao,files:Ss(My)}),identity:Te({...Ao,assets:fu,faviconAssetKey:Z().optional(),iconAssetKey:Z().optional(),repository:Te({avatarAssetKey:Z().optional(),name:Z()}).optional()}),discovery:Te({...Ao,assets:fu,projects:Ss(Dy),workspace:du}),workspace:Te({...Ao,workspace:du}),collections:Te({...Ao,collection:u1}),plugins:Te({...Ao,configWarnings:yt(Z()).optional(),plugins:Fy.optional()}),sessions:aa,calendar:aa,schema:aa};Te({path:Z().optional(),part:Gt(Object.keys($d)).optional(),notesScope:Gt(["local","linked","all"]).optional(),id:Z().optional(),sort:Gt(["alpha","recent"]).optional(),schema:Z().optional()});const d1=Te({folder:Z(),path:Z(),original:Z(),start:wn().int().nonnegative(),end:wn().int().nonnegative(),replacement:Z()}),$y=Te({path:Z(),content:Z(),kind:Gt(["binary","code","eml","html","image","markdown","table","text"])}),f1=$y.extend({root:Z(),rawUrl:Z().optional()}),hp=Te({aliases:yt(Z()),content:Z(),description:Z(),documents:yt(Te({path:Z(),title:Z()})),folderPath:Z(),relativePath:Z(),schemaPath:Z().nullable(),slug:Z(),status:Z().nullable(),title:Z(),type:Z()}),m1=Te({id:Z(),icon:Z().optional(),latestSessionTitle:Z().optional(),matchedField:Z(),matchTier:Z(),relativePath:Z().optional(),repositoryLabel:Z().optional(),score:wn(),subtitle:Z().optional(),title:Z(),worktree:Z()}),p1=Te({path:Z().optional()});Te({});const ut={health:{path:"/api/health",response:Te({viewer:Z(),root:Z(),kernelKey:Z()})},capabilities:{path:"/api/capabilities",response:Te({download:cu(),hostActions:Gt(["local","none"]),local:cu(),viewer:Z()})},config:{path:"/api/config",response:Te({aiInputModule:Z().nullable()})},metadata:{path:"/api/metadata",response:Oy([aa,...Object.values($d)])},document:{path:"/api/document",query:p1.extend({file:Z()}),response:f1},documents:{path:"/api/documents",response:Te({root:Z(),documents:yt($y)})},entities:{path:"/api/entities",query:Te({entity:Z().optional(),q:Z().optional(),root:Z().optional()}),response:Te({entities:yt(hp),query:Z(),rootPath:Z(),selected:hp.nullable()})},projectSearch:{path:"/api/project-search",query:Te({q:Z().optional()}),response:Te({items:yt(m1),query:Z(),scanned:wn(),total:wn()})},documentEdit:{path:"/api/document/edit",response:Te({saved:DC(!0)})},openFolder:{path:"/api/open-folder",query:Te({path:Z()})},createAgentFile:{path:"/api/create-agent-file",query:Te({path:Z()}),response:Te({path:Z()})},openPath:{path:"/api/open-path",query:Te({path:Z()})}};function g1(e){const t=new TextEncoder().encode(e);let n="";for(const o of t)n+=String.fromCharCode(o);return btoa(n).replaceAll("+","-").replaceAll("/","_").replaceAll("=","")}function h1(e){const t=`${e}${"=".repeat((4-e.length%4)%4)}`,n=atob(t.replaceAll("-","+").replaceAll("_","/"));return new TextDecoder().decode(Uint8Array.from(n,o=>o.charCodeAt(0)))}function Ly(e){return/^https?:\/\//.test(e)?new URL(e):e.startsWith("?")?new URL(`/${e}`,"http://127.0.0.1"):new URL(e||"/","http://127.0.0.1")}function mu(e){if(e==="files")return"notes";if(e==="projects"||e==="sessions")return e}function Ar(e){return g1(e)}function rl(e){return h1(e)}function By(e,t){return`/folder/${Ar(e)}/${t}`}function y1(e,t,n=""){const o=`/folder/${Ar(e)}/views/${t}`;return n?`${o}/${encodeURIComponent(n)}`:o}function b1(e,t){return`/folder/${Ar(e)}/collections/${Ar(t)}`}function zy(e,t){return`/folder/${Ar(e)}/document/${Ar(t)}`}function ei(e){const t=Ly(e),n=t.searchParams.get("session")??void 0,o=t.searchParams.get("folder");if(o)return{document:t.searchParams.get("document")??t.searchParams.get("file")??void 0,embedded:t.searchParams.get("embedded")==="1",folder:o,panel:t.searchParams.get("panel")==="1",section:mu(t.searchParams.get("tab"))??"notes",...n?{session:n}:{}};const r=t.pathname.split("/").filter(Boolean);if(r[0]!=="folder"||!r[1])return{document:t.searchParams.get("file")??t.searchParams.get("document")??void 0,embedded:t.searchParams.get("embedded")==="1",folder:void 0,panel:t.searchParams.get("panel")==="1",section:mu(t.searchParams.get("tab")),...n?{session:n}:{}};const s=r[2],i={embedded:t.searchParams.get("embedded")==="1",folder:rl(r[1]),panel:t.searchParams.get("panel")==="1",...n?{session:n}:{}};return s==="collections"&&r[3]?{...i,collectionId:rl(r[3])}:s==="views"&&r[3]?{...i,view:{pluginId:r[3],...r[4]?{subpath:r[4]}:{}}}:s==="notes"||s==="projects"||s==="sessions"?{...i,section:s}:s==="document"&&r[3]?{...i,document:rl(r[3])}:{...i,section:"notes"}}function v1(e){const t=Ly(e),n=t.searchParams.get("folder");if(!n)return;const o=t.searchParams.get("session"),r=o?`?session=${encodeURIComponent(o)}`:"",s=t.searchParams.get("document");if(s)return`${zy(n,s)}${r}`;const i=mu(t.searchParams.get("tab"))??"notes";return`${By(n,i)}${r}`}class ca extends Error{code;status;constructor(t,n={}){super(t),this.name="ApiClientError",this.code=n.code,this.status=n.status}}async function sl(e){const t=await e.text().catch(()=>"");if(e.headers.get("content-type")?.includes("application/json"))try{const r=JSON.parse(t)?.error;if(r&&typeof r=="object"&&r.message)return new ca(r.message,{code:r.code,status:e.status});if(typeof r=="string"&&r)return new ca(r,{status:e.status})}catch{}return new ca(t.trim()||`Request failed with status ${e.status}`,{status:e.status})}function Vy(e={}){const t=e.baseUrl??(typeof window>"u"?"http://localhost":window.location.origin),n=p0({baseUrl:t,fetch:i=>(e.fetch??globalThis.fetch)(i)});n.use({async onResponse({response:i}){if(!i.ok)throw await sl(i);if(i.status!==204&&!i.headers.get("content-type")?.includes("application/json"))throw new Error("The server returned a non-JSON response.");return i}});async function o(i,a){return i.parse((await a).data)}const r=i=>{const a=ei(i).folder;return a?.startsWith("/")?a:void 0},s=async(i,a,c={})=>{const{signal:l,headers:m,...u}=c,p=await n.GET(ut.metadata.path,{params:{query:{path:r(i),part:a,...u}},signal:l,headers:m});return $d[a].parse(p.data)};return{metadata:s,notes:i=>s(`/?folder=${encodeURIComponent(i.path)}`,"notes",{notesScope:i.notesScope,signal:i.signal}),health:(i={})=>o(ut.health.response,n.GET(ut.health.path,i)),capabilities:(i={})=>o(ut.capabilities.response,n.GET(ut.capabilities.path,i)),config:(i,a={})=>o(ut.config.response,n.GET(ut.config.path,{params:{query:{path:i}},...a})),document:(i,a,c={})=>o(ut.document.response,n.GET(ut.document.path,{params:{query:{path:r(i),file:a}},...c})),documents:(i,a={})=>o(ut.documents.response,n.GET(ut.documents.path,{params:{query:{path:r(i)}},...a})),projectSearch:(i,a={})=>o(ut.projectSearch.response,n.GET(ut.projectSearch.path,{params:{query:{q:i}},...a})),entities:(i={},a={})=>o(ut.entities.response,n.GET(ut.entities.path,{params:{query:i},...a})),async documentEdit(i,a={}){await o(ut.documentEdit.response,n.POST(ut.documentEdit.path,{body:d1.parse(i),...a}))},async openPath(i,a={}){await n.GET(ut.openPath.path,{params:{query:{path:i}},...a,parseAs:"text"})},async openFolder(i,a={}){await n.POST(ut.openFolder.path,{params:{query:{path:i}},...a,parseAs:"text"})},async createAgentFile(i,a={}){return o(ut.createAgentFile.response,n.POST(ut.createAgentFile.path,{params:{query:{path:i}},...a}))},async raw(i,a,c={}){const l=new URL("/api/raw",t);l.search=new URLSearchParams({path:i,file:a}).toString();const m=await(e.fetch??globalThis.fetch)(l,c);if(!m.ok)throw await sl(m);return m},async plugin(i,a,c="",l){const m=new URL(`/api/plugins/${encodeURIComponent(i)}`,t);m.search=new URLSearchParams({path:a,...c?{subpath:c}:{}}).toString();const u=await(e.fetch??globalThis.fetch)(m,l);if(!u.ok)throw await sl(u);return u.json()}}}Vy();const w1="Kennel",x1="/favicon.svg";function j1(){const e=document.head.querySelector('link[rel="icon"]');if(e)return e;const t=document.createElement("link");return t.rel="icon",document.head.append(t),t}function Uy(e){document.title=e.name?`${e.name} - Kennel`:w1,j1().href=e.icon??x1}function yp(e){try{const t=new URL(e);return t.username||t.password||t.protocol!=="https:"&&t.protocol!=="http:"||t.protocol==="http:"&&t.hostname!=="localhost"&&!t.hostname.startsWith("127.")&&t.hostname!=="[::1]"?void 0:t.origin}catch{return}}function _1(e,t,n){const{panel:o}=ei(e);if(!o)return[];const s=new URL(e,"http://127.0.0.1").searchParams.get("host");if(s!==null){const a=yp(s);return a?[a]:[]}const i=new Set;for(const a of[t,n]){const c=a?yp(a):void 0;c&&i.add(c)}return[...i]}function S1(e,t){return t.includes(e)}function k1(e){if(!e||typeof e!="object")return;const t=e;if(t.type==="kennel:close")return{type:"kennel:close"};if(t.type==="kennel:resize")return{type:"kennel:resize"};if(t.type==="kennel:request"&&(t.request==="state"||t.request==="selection"))return{type:"kennel:request",request:t.request}}function E1(e,t,n){return e===t||e===n}function P1(e){const t=o=>{if(!S1(o.origin,e.allowedOrigins))return;const r=e.windowRef();if(!r||!E1(o.source,r.parent,r.opener))return;const s=k1(o.data);if(s)switch(s.type){case"kennel:close":e.onClose?.();break;case"kennel:resize":e.onResize?.();break;case"kennel:request":e.onRequest?.(s.request);break}},n=e.windowRef();return n?.addEventListener("message",t),e.post({type:"kennel:ready",payload:Hy()}),()=>{n?.removeEventListener("message",t)}}function Hy(){const e=document.documentElement.scrollWidth||document.documentElement.clientWidth;return{height:document.documentElement.scrollHeight||document.documentElement.clientHeight,url:window.location.href,width:e}}function C1(e,t){return{...Hy(),...e?{path:e}:{},...t?{title:t}:{}}}function T1(e,t){return{text:window.getSelection()?.toString().trim()??"",url:window.location.href,...e?{path:e}:{},...t?{title:t}:{}}}function O1(e){e({type:"kennel:closed"}),window.close()}function R1(e){if(!ei(window.location.href).panel)return;const t=_1(window.location.href,document.referrer,window.opener?.origin);if(!t.length){console.error("Chat panel bridge has no trusted host origin");return}const n=s=>{for(const i of[window.parent,window.opener])if(i)try{i.postMessage(s,t[0])}catch{}},o=()=>{const{path:s,title:i}=e();return{type:"kennel:state",payload:C1(s,i)}},r=P1({allowedOrigins:t,post:n,windowRef:()=>window,onClose:()=>O1(n),onResize:()=>n(o()),onRequest:s=>{const{path:i,title:a}=e();n(s==="selection"?{type:"kennel:selection",payload:T1(i,a)}:o())}});return{send:async s=>{n({type:"kennel:selection",payload:{text:s.text,url:window.location.href,...s.path?{path:s.path}:{},...s.title?{title:s.title}:{}}})},stop:r}}const I1="modulepreload",A1=function(e){return"/"+e},bp={},Wr=function(t,n,o){let r=Promise.resolve();if(n&&n.length>0){let c=function(l){return Promise.all(l.map(m=>Promise.resolve(m).then(u=>({status:"fulfilled",value:u}),u=>({status:"rejected",reason:u}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=i?.nonce||i?.getAttribute("nonce");r=c(n.map(l=>{if(l=A1(l),l in bp)return;bp[l]=!0;const m=l.endsWith(".css"),u=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${u}`))return;const p=document.createElement("link");if(p.rel=m?"stylesheet":I1,m||(p.as="script"),p.crossOrigin="",p.href=l,a&&p.setAttribute("nonce",a),document.head.appendChild(p),m)return new Promise((g,b)=>{p.addEventListener("load",g),p.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return r.then(i=>{for(const a of i||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})},N1="/_kennel/plugins/registry.js";async function M1(){const e=(await import(N1)).default;if(e.plugins.length===0)return[];const{pluginHostModules:t}=await Wr(async()=>{const{pluginHostModules:n}=await import("./plugin-host-modules-CaRD5_5q.js");return{pluginHostModules:n}},__vite__mapDeps([0,1,2,3]));globalThis.__kennelPluginHost={modules:t};for(const n of e.plugins)for(const o of n.styles){const r=document.createElement("link");r.rel="stylesheet",r.href=o,document.head.append(r)}return e.plugins.map(n=>{let o=0;const r=async()=>{const s=o?`${n.module}${n.module.includes("?")?"&":"?"}retry=${o}`:n.module;try{return{default:(await import(s)).default.component}}catch(i){throw o+=1,i}};return{...n.manifest,component:f.lazy(r),load:r}})}async function D1(){try{return await M1()}catch(e){return console.error("Kennel could not load external plugins",e),[]}}function F1(){const e=window.visualViewport;if(!e)return()=>{};const t=()=>{document.documentElement.style.setProperty("--kennel-vh",`${Math.round(e.height)}px`)};return e.addEventListener("resize",t),e.addEventListener("scroll",t),t(),()=>{e.removeEventListener("resize",t),e.removeEventListener("scroll",t)}}function Ky(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(n=Ky(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}function qy(){for(var e,t,n=0,o="",r=arguments.length;n<r;n++)(e=arguments[n])&&(t=Ky(e))&&(o&&(o+=" "),o+=t);return o}const $1=(e,t)=>{const n=new Array(e.length+t.length);for(let o=0;o<e.length;o++)n[o]=e[o];for(let o=0;o<t.length;o++)n[e.length+o]=t[o];return n},L1=(e,t)=>({classGroupId:e,validator:t}),Wy=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Sa="-",vp=[],B1="arbitrary..",z1=e=>{const t=U1(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return V1(i);const a=i.split(Sa),c=a[0]===""&&a.length>1?1:0;return Gy(a,c,t)},getConflictingClassGroupIds:(i,a)=>{if(a){const c=o[i],l=n[i];return c?l?$1(l,c):c:l||vp}return n[i]||vp}}},Gy=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const r=e[t],s=n.nextPart.get(r);if(s){const l=Gy(e,t+1,s);if(l)return l}const i=n.validators;if(i===null)return;const a=t===0?e.join(Sa):e.slice(t).join(Sa),c=i.length;for(let l=0;l<c;l++){const m=i[l];if(m.validator(a))return m.classGroupId}},V1=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),o=t.slice(0,n);return o?B1+o:void 0})(),U1=e=>{const{theme:t,classGroups:n}=e;return H1(n,t)},H1=(e,t)=>{const n=Wy();for(const o in e){const r=e[o];Ld(r,n,o,t)}return n},Ld=(e,t,n,o)=>{const r=e.length;for(let s=0;s<r;s++){const i=e[s];K1(i,t,n,o)}},K1=(e,t,n,o)=>{if(typeof e=="string"){q1(e,t,n);return}if(typeof e=="function"){W1(e,t,n,o);return}G1(e,t,n,o)},q1=(e,t,n)=>{const o=e===""?t:Zy(t,e);o.classGroupId=n},W1=(e,t,n,o)=>{if(Z1(e)){Ld(e(o),t,n,o);return}t.validators===null&&(t.validators=[]),t.validators.push(L1(n,e))},G1=(e,t,n,o)=>{const r=Object.entries(e),s=r.length;for(let i=0;i<s;i++){const[a,c]=r[i];Ld(c,Zy(t,a),n,o)}},Zy=(e,t)=>{let n=e;const o=t.split(Sa),r=o.length;for(let s=0;s<r;s++){const i=o[s];let a=n.nextPart.get(i);a||(a=Wy(),n.nextPart.set(i,a)),n=a}return n},Z1=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Y1=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),o=Object.create(null);const r=(s,i)=>{n[s]=i,t++,t>e&&(t=0,o=n,n=Object.create(null))};return{get(s){let i=n[s];if(i!==void 0)return i;if((i=o[s])!==void 0)return r(s,i),i},set(s,i){s in n?n[s]=i:r(s,i)}}},pu="!",wp=":",X1=[],xp=(e,t,n,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:o,isExternal:r}),J1=e=>{const{prefix:t,experimentalParseClassName:n}=e;let o=r=>{const s=[];let i=0,a=0,c=0,l;const m=r.length;for(let h=0;h<m;h++){const y=r[h];if(i===0&&a===0){if(y===wp){s.push(r.slice(c,h)),c=h+1;continue}if(y==="/"){l=h;continue}}y==="["?i++:y==="]"?i--:y==="("?a++:y===")"&&a--}const u=s.length===0?r:r.slice(c);let p=u,g=!1;u.endsWith(pu)?(p=u.slice(0,-1),g=!0):u.startsWith(pu)&&(p=u.slice(1),g=!0);const b=l&&l>c?l-c:void 0;return xp(s,g,p,b)};if(t){const r=t+wp,s=o;o=i=>i.startsWith(r)?s(i.slice(r.length)):xp(X1,!1,i,void 0,!0)}if(n){const r=o;o=s=>n({className:s,parseClassName:r})}return o},Q1=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,o)=>{t.set(n,1e6+o)}),n=>{const o=[];let r=[];for(let s=0;s<n.length;s++){const i=n[s],a=i[0]==="[",c=t.has(i);a||c?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(i)):r.push(i)}return r.length>0&&(r.sort(),o.push(...r)),o}},eT=e=>({cache:Y1(e.cacheSize),parseClassName:J1(e),sortModifiers:Q1(e),...z1(e)}),tT=/\s+/,nT=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:s}=t,i=[],a=e.trim().split(tT);let c="";for(let l=a.length-1;l>=0;l-=1){const m=a[l],{isExternal:u,modifiers:p,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:h}=n(m);if(u){c=m+(c.length>0?" "+c:c);continue}let y=!!h,w=o(y?b.substring(0,h):b);if(!w){if(!y){c=m+(c.length>0?" "+c:c);continue}if(w=o(b),!w){c=m+(c.length>0?" "+c:c);continue}y=!1}const v=p.length===0?"":p.length===1?p[0]:s(p).join(":"),j=g?v+pu:v,x=j+w;if(i.indexOf(x)>-1)continue;i.push(x);const k=r(w,y);for(let S=0;S<k.length;++S){const E=k[S];i.push(j+E)}c=m+(c.length>0?" "+c:c)}return c},oT=(...e)=>{let t=0,n,o,r="";for(;t<e.length;)(n=e[t++])&&(o=Yy(n))&&(r&&(r+=" "),r+=o);return r},Yy=e=>{if(typeof e=="string")return e;let t,n="";for(let o=0;o<e.length;o++)e[o]&&(t=Yy(e[o]))&&(n&&(n+=" "),n+=t);return n},rT=(e,...t)=>{let n,o,r,s;const i=c=>{const l=t.reduce((m,u)=>u(m),e());return n=eT(l),o=n.cache.get,r=n.cache.set,s=a,a(c)},a=c=>{const l=o(c);if(l)return l;const m=nT(c,n);return r(c,m),m};return s=i,(...c)=>s(oT(...c))},sT=[],_t=e=>{const t=n=>n[e]||sT;return t.isThemeGetter=!0,t},Xy=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jy=/^\((?:(\w[\w-]*):)?(.+)\)$/i,iT=/^\d+\/\d+$/,aT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,cT=/\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$/,lT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,uT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Jo=e=>iT.test(e),Ie=e=>!!e&&!Number.isNaN(Number(e)),io=e=>!!e&&Number.isInteger(Number(e)),il=e=>e.endsWith("%")&&Ie(e.slice(0,-1)),zn=e=>aT.test(e),fT=()=>!0,mT=e=>cT.test(e)&&!lT.test(e),Qy=()=>!1,pT=e=>uT.test(e),gT=e=>dT.test(e),hT=e=>!pe(e)&&!ge(e),yT=e=>Gr(e,nb,Qy),pe=e=>Xy.test(e),Oo=e=>Gr(e,ob,mT),al=e=>Gr(e,jT,Ie),jp=e=>Gr(e,eb,Qy),bT=e=>Gr(e,tb,gT),ki=e=>Gr(e,rb,pT),ge=e=>Jy.test(e),ls=e=>Zr(e,ob),vT=e=>Zr(e,_T),_p=e=>Zr(e,eb),wT=e=>Zr(e,nb),xT=e=>Zr(e,tb),Ei=e=>Zr(e,rb,!0),Gr=(e,t,n)=>{const o=Xy.exec(e);return o?o[1]?t(o[1]):n(o[2]):!1},Zr=(e,t,n=!1)=>{const o=Jy.exec(e);return o?o[1]?t(o[1]):n:!1},eb=e=>e==="position"||e==="percentage",tb=e=>e==="image"||e==="url",nb=e=>e==="length"||e==="size"||e==="bg-size",ob=e=>e==="length",jT=e=>e==="number",_T=e=>e==="family-name",rb=e=>e==="shadow",ST=()=>{const e=_t("color"),t=_t("font"),n=_t("text"),o=_t("font-weight"),r=_t("tracking"),s=_t("leading"),i=_t("breakpoint"),a=_t("container"),c=_t("spacing"),l=_t("radius"),m=_t("shadow"),u=_t("inset-shadow"),p=_t("text-shadow"),g=_t("drop-shadow"),b=_t("blur"),h=_t("perspective"),y=_t("aspect"),w=_t("ease"),v=_t("animate"),j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),ge,pe],S=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],_=()=>[ge,pe,c],P=()=>[Jo,"full","auto",..._()],C=()=>[io,"none","subgrid",ge,pe],I=()=>["auto",{span:["full",io,ge,pe]},io,ge,pe],M=()=>[io,"auto",ge,pe],B=()=>["auto","min","max","fr",ge,pe],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],$=()=>["start","end","center","stretch","center-safe","end-safe"],U=()=>["auto",..._()],F=()=>[Jo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",..._()],R=()=>[e,ge,pe],K=()=>[...x(),_p,jp,{position:[ge,pe]}],N=()=>["no-repeat",{repeat:["","x","y","space","round"]}],z=()=>["auto","cover","contain",wT,yT,{size:[ge,pe]}],T=()=>[il,ls,Oo],O=()=>["","none","full",l,ge,pe],D=()=>["",Ie,ls,Oo],V=()=>["solid","dashed","dotted","double"],H=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],q=()=>[Ie,il,_p,jp],L=()=>["","none",b,ge,pe],ee=()=>["none",Ie,ge,pe],ce=()=>["none",Ie,ge,pe],G=()=>[Ie,ge,pe],X=()=>[Jo,"full",..._()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[zn],breakpoint:[zn],color:[fT],container:[zn],"drop-shadow":[zn],ease:["in","out","in-out"],font:[hT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[zn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[zn],shadow:[zn],spacing:["px",Ie],text:[zn],"text-shadow":[zn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Jo,pe,ge,y]}],container:["container"],columns:[{columns:[Ie,pe,ge,a]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"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:k()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{start:P()}],end:[{end:P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[io,"auto",ge,pe]}],basis:[{basis:[Jo,"full","auto",a,..._()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ie,Jo,"auto","initial","none",pe]}],grow:[{grow:["",Ie,ge,pe]}],shrink:[{shrink:["",Ie,ge,pe]}],order:[{order:[io,"first","last","none",ge,pe]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...$(),"normal"]}],"justify-self":[{"justify-self":["auto",...$()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...$(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...$(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...$(),"baseline"]}],"place-self":[{"place-self":["auto",...$()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:U()}],mx:[{mx:U()}],my:[{my:U()}],ms:[{ms:U()}],me:[{me:U()}],mt:[{mt:U()}],mr:[{mr:U()}],mb:[{mb:U()}],ml:[{ml:U()}],"space-x":[{"space-x":_()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":_()}],"space-y-reverse":["space-y-reverse"],size:[{size:F()}],w:[{w:[a,"screen",...F()]}],"min-w":[{"min-w":[a,"screen","none",...F()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[i]},...F()]}],h:[{h:["screen","lh",...F()]}],"min-h":[{"min-h":["screen","lh","none",...F()]}],"max-h":[{"max-h":["screen","lh",...F()]}],"font-size":[{text:["base",n,ls,Oo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ge,al]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",il,pe]}],"font-family":[{font:[vT,pe,t]}],"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:[r,ge,pe]}],"line-clamp":[{"line-clamp":[Ie,"none",ge,al]}],leading:[{leading:[s,..._()]}],"list-image":[{"list-image":["none",ge,pe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ge,pe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:R()}],"text-color":[{text:R()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ie,"from-font","auto",ge,Oo]}],"text-decoration-color":[{decoration:R()}],"underline-offset":[{"underline-offset":[Ie,"auto",ge,pe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ge,pe]}],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",ge,pe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:z()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},io,ge,pe],radial:["",ge,pe],conic:[io,ge,pe]},xT,bT]}],"bg-color":[{bg:R()}],"gradient-from-pos":[{from:T()}],"gradient-via-pos":[{via:T()}],"gradient-to-pos":[{to:T()}],"gradient-from":[{from:R()}],"gradient-via":[{via:R()}],"gradient-to":[{to:R()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D()}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}],"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{"divide-x":D()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":D()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...V(),"hidden","none"]}],"divide-style":[{divide:[...V(),"hidden","none"]}],"border-color":[{border:R()}],"border-color-x":[{"border-x":R()}],"border-color-y":[{"border-y":R()}],"border-color-s":[{"border-s":R()}],"border-color-e":[{"border-e":R()}],"border-color-t":[{"border-t":R()}],"border-color-r":[{"border-r":R()}],"border-color-b":[{"border-b":R()}],"border-color-l":[{"border-l":R()}],"divide-color":[{divide:R()}],"outline-style":[{outline:[...V(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ie,ge,pe]}],"outline-w":[{outline:["",Ie,ls,Oo]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",m,Ei,ki]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",u,Ei,ki]}],"inset-shadow-color":[{"inset-shadow":R()}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:R()}],"ring-offset-w":[{"ring-offset":[Ie,Oo]}],"ring-offset-color":[{"ring-offset":R()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{"inset-ring":R()}],"text-shadow":[{"text-shadow":["none",p,Ei,ki]}],"text-shadow-color":[{"text-shadow":R()}],opacity:[{opacity:[Ie,ge,pe]}],"mix-blend":[{"mix-blend":[...H(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":H()}],"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":[Ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":R()}],"mask-image-linear-to-color":[{"mask-linear-to":R()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":R()}],"mask-image-t-to-color":[{"mask-t-to":R()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":R()}],"mask-image-r-to-color":[{"mask-r-to":R()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":R()}],"mask-image-b-to-color":[{"mask-b-to":R()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":R()}],"mask-image-l-to-color":[{"mask-l-to":R()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":R()}],"mask-image-x-to-color":[{"mask-x-to":R()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":R()}],"mask-image-y-to-color":[{"mask-y-to":R()}],"mask-image-radial":[{"mask-radial":[ge,pe]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":R()}],"mask-image-radial-to-color":[{"mask-radial-to":R()}],"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":x()}],"mask-image-conic-pos":[{"mask-conic":[Ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":R()}],"mask-image-conic-to-color":[{"mask-conic-to":R()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:z()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ge,pe]}],filter:[{filter:["","none",ge,pe]}],blur:[{blur:L()}],brightness:[{brightness:[Ie,ge,pe]}],contrast:[{contrast:[Ie,ge,pe]}],"drop-shadow":[{"drop-shadow":["","none",g,Ei,ki]}],"drop-shadow-color":[{"drop-shadow":R()}],grayscale:[{grayscale:["",Ie,ge,pe]}],"hue-rotate":[{"hue-rotate":[Ie,ge,pe]}],invert:[{invert:["",Ie,ge,pe]}],saturate:[{saturate:[Ie,ge,pe]}],sepia:[{sepia:["",Ie,ge,pe]}],"backdrop-filter":[{"backdrop-filter":["","none",ge,pe]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[Ie,ge,pe]}],"backdrop-contrast":[{"backdrop-contrast":[Ie,ge,pe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ie,ge,pe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ie,ge,pe]}],"backdrop-invert":[{"backdrop-invert":["",Ie,ge,pe]}],"backdrop-opacity":[{"backdrop-opacity":[Ie,ge,pe]}],"backdrop-saturate":[{"backdrop-saturate":[Ie,ge,pe]}],"backdrop-sepia":[{"backdrop-sepia":["",Ie,ge,pe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ge,pe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ie,"initial",ge,pe]}],ease:[{ease:["linear","initial",w,ge,pe]}],delay:[{delay:[Ie,ge,pe]}],animate:[{animate:["none",v,ge,pe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,ge,pe]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:ce()}],"scale-x":[{"scale-x":ce()}],"scale-y":[{"scale-y":ce()}],"scale-z":[{"scale-z":ce()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[ge,pe,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],accent:[{accent:R()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:R()}],"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",ge,pe]}],"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":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"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",ge,pe]}],fill:[{fill:["none",...R()]}],"stroke-w":[{stroke:[Ie,ls,Oo,al]}],stroke:[{stroke:["none",...R()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-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-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-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-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"]}},kT=rT(ST);function ue(...e){return kT(qy(e))}var sb=Object.defineProperty,ET=Object.getOwnPropertyDescriptor,PT=Object.getOwnPropertyNames,CT=Object.prototype.hasOwnProperty,TT=(e,t)=>{for(var n in t)sb(e,n,{get:t[n],enumerable:!0})},OT=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of PT(t))!CT.call(e,r)&&r!==n&&sb(e,r,{get:()=>t[r],enumerable:!(o=ET(t,r))||o.enumerable});return e},RT=(e,t,n)=>(OT(e,t,"default"),n),ib=f.createContext(null);function IT({children:e,value:t}){return d.jsx(ib.Provider,{value:t,children:e})}function Rt(){const e=f.useContext(ib);if(!e)throw new Error("useViewer must be used inside KennelViewer");return e}const Sp=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,kp=qy,Bd=(e,t)=>n=>{var o;if(t?.variants==null)return kp(e,n?.class,n?.className);const{variants:r,defaultVariants:s}=t,i=Object.keys(r).map(l=>{const m=n?.[l],u=s?.[l];if(m===null)return null;const p=Sp(m)||Sp(u);return r[l][p]}),a=n&&Object.entries(n).reduce((l,m)=>{let[u,p]=m;return p===void 0||(l[u]=p),l},{}),c=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((l,m)=>{let{class:u,className:p,...g}=m;return Object.entries(g).every(b=>{let[h,y]=b;return Array.isArray(y)?y.includes({...s,...a}[h]):{...s,...a}[h]===y})?[...l,u,p]:l},[]);return kp(e,i,c,n?.class,n?.className)};var AT=Object.defineProperty,zd=(e,t)=>AT(e,"name",{value:t,configurable:!0});function gu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}zd(gu,"setRef");function ab(...e){return t=>{let n=!1;const o=e.map(r=>{const s=gu(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;r<o.length;r++){const s=o[r];typeof s=="function"?s():gu(e[r],null)}}}}zd(ab,"composeRefs");function $e(...e){return f.useCallback(ab(...e),e)}zd($e,"useComposedRefs");var NT=Object.defineProperty,_n=(e,t)=>NT(e,"name",{value:t,configurable:!0});function xn(e){const t=f.forwardRef((n,o)=>{let{children:r,...s}=n,i=null,a=!1;const c=[];hu(r)&&typeof Pi=="function"&&(r=Pi(r._payload)),f.Children.forEach(r,p=>{if(db(p)){a=!0;const g=p;let b="child"in g.props?g.props.child:g.props.children;hu(b)&&typeof Pi=="function"&&(b=Pi(b._payload)),i=DT(g,b),c.push(i?.props?.children)}else c.push(p)}),i?i=f.cloneElement(i,void 0,c):!a&&f.Children.count(r)===1&&f.isValidElement(r)&&(i=r);const l=i?ub(i):void 0,m=$e(o,l);if(!i){if(r||r===0)throw new Error(a?LT(e):$T(e));return r}const u=lb(s,i.props??{});return i.type!==f.Fragment&&(u.ref=o?m:l),f.cloneElement(i,u)});return t.displayName=`${e}.Slot`,t}_n(xn,"createSlot");var Nr=xn("Slot"),cb=Symbol.for("radix.slottable");function tc(e){const t=_n(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=cb,t}_n(tc,"createSlottable");var MT=tc("Slottable"),DT=_n((e,t)=>{if("child"in e.props){const n=e.props.child;return f.isValidElement(n)?f.cloneElement(n,void 0,e.props.children(n.props.children)):null}return f.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function lb(e,t){const n={...t};for(const o in t){const r=e[o],s=t[o];/^on[A-Z]/.test(o)?r&&s?n[o]=(...a)=>{const c=s(...a);return r(...a),c}:r&&(n[o]=r):o==="style"?n[o]={...r,...s}:o==="className"&&(n[o]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}_n(lb,"mergeProps");function ub(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}_n(ub,"getElementRef");function db(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cb}_n(db,"isSlottable");var FT=Symbol.for("react.lazy");function hu(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===FT&&"_payload"in e&&fb(e._payload)}_n(hu,"isLazyComponent");function fb(e){return typeof e=="object"&&e!==null&&"then"in e}_n(fb,"isPromiseLike");var $T=_n(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),LT=_n(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),Pi=eo[" use ".trim().toString()];const Y5=Object.freeze(Object.defineProperty({__proto__:null,Root:Nr,Slot:Nr,Slottable:MT,createSlot:xn,createSlottable:tc},Symbol.toStringTag,{value:"Module"}));var BT=Object.defineProperty,zT=(e,t)=>BT(e,"name",{value:t,configurable:!0}),VT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Le=VT.reduce((e,t)=>{const n=xn(`Primitive.${t}`),o=f.forwardRef((r,s)=>{const{asChild:i,...a}=r,c=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...a,ref:s})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Vd(e,t){e&&Wo.flushSync(()=>e.dispatchEvent(t))}zT(Vd,"dispatchDiscreteCustomEvent");var X5=Le,UT=Object.defineProperty,HT=(e,t)=>UT(e,"name",{value:t,configurable:!0}),mb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),pb=f.forwardRef(HT(function(t,n){return d.jsx(Le.span,{...t,ref:n,style:{...mb,...t.style}})},"VisuallyHidden")),gb=pb;const J5=Object.freeze(Object.defineProperty({__proto__:null,Root:gb,VISUALLY_HIDDEN_STYLES:mb,VisuallyHidden:pb},Symbol.toStringTag,{value:"Module"}));var KT=Object.defineProperty,nn=(e,t)=>KT(e,"name",{value:t,configurable:!0});function qT(e,t){const n=f.createContext(t);n.displayName=e+"Context";const o=nn(s=>{const{children:i,...a}=s,c=f.useMemo(()=>a,Object.values(a));return d.jsx(n.Provider,{value:c,children:i})},"Provider");o.displayName=e+"Provider";function r(s,i={}){const{optional:a=!1}=i,c=f.useContext(n);if(c)return c;if(t!==void 0)return t;if(!a)throw new Error(`\`${s}\` must be used within \`${e}\``)}return nn(r,"useContext"),[o,r]}nn(qT,"createContext");function pn(e,t=[]){let n=[];function o(s,i){const a=f.createContext(i);a.displayName=s+"Context";const c=n.length;n=[...n,i];const l=nn(u=>{const{scope:p,children:g,...b}=u,h=p?.[e]?.[c]||a,y=f.useMemo(()=>b,Object.values(b));return d.jsx(h.Provider,{value:y,children:g})},"Provider");l.displayName=s+"Provider";function m(u,p,g={}){const{optional:b=!1}=g,h=p?.[e]?.[c]||a,y=f.useContext(h);if(y)return y;if(i!==void 0)return i;if(!b)throw new Error(`\`${u}\` must be used within \`${s}\``)}return nn(m,"useContext"),[l,m]}nn(o,"createContext");const r=nn(()=>{const s=n.map(i=>f.createContext(i));return nn(function(a){const c=a?.[e]||s;return f.useMemo(()=>({[`__scope${e}`]:{...a,[e]:c}}),[a,c])},"useScope")},"createScope");return r.scopeName=e,[o,hb(r,...t)]}nn(pn,"createContextScope");function hb(...e){const t=e[0];if(e.length===1)return t;const n=nn(()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return nn(function(s){const i=o.reduce((a,{useScope:c,scopeName:l})=>{const u=c(s)[`__scope${l}`];return{...a,...u}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}nn(hb,"composeContextScopes");var WT=Object.defineProperty,Tt=(e,t)=>WT(e,"name",{value:t,configurable:!0});function nc(e){const t=e+"CollectionProvider",[n,o]=pn(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=Tt(h=>{const{scope:y,children:w}=h,v=f.useRef(null),j=f.useRef(new Map).current;return d.jsx(r,{scope:y,itemMap:j,collectionRef:v,children:w})},"CollectionProvider");i.displayName=t;const a=e+"CollectionSlot",c=xn(a),l=f.forwardRef((h,y)=>{const{scope:w,children:v}=h,j=s(a,w),x=$e(y,j.collectionRef);return d.jsx(c,{ref:x,children:v})});l.displayName=a;const m=e+"CollectionItemSlot",u="data-radix-collection-item",p=xn(m),g=f.forwardRef((h,y)=>{const{scope:w,children:v,...j}=h,x=f.useRef(null),k=$e(y,x),S=s(m,w);return f.useEffect(()=>(S.itemMap.set(x,{ref:x,...j}),()=>{S.itemMap.delete(x)})),d.jsx(p,{[u]:"",ref:k,children:v})});g.displayName=m;function b(h){const y=s(e+"CollectionConsumer",h);return f.useCallback(()=>{const v=y.collectionRef.current;if(!v)return[];const j=Array.from(v.querySelectorAll(`[${u}]`));return Array.from(y.itemMap.values()).sort((S,E)=>j.indexOf(S.ref.current)-j.indexOf(E.ref.current))},[y.collectionRef,y.itemMap])}return Tt(b,"useCollection"),[{Provider:i,Slot:l,ItemSlot:g},b,o]}Tt(nc,"createCollection");var Ep=new WeakMap,gt,en,cl=(en=class extends Map{constructor(n){super(n);$m(this,gt);tl(this,gt,[...super.keys()]),Ep.set(this,!0)}set(n,o){return Ep.get(this)&&(this.has(n)?At(this,gt)[At(this,gt).indexOf(n)]=n:At(this,gt).push(n)),super.set(n,o),this}insert(n,o,r){const s=this.has(o),i=At(this,gt).length,a=Ud(n);let c=a>=0?a:i+a;const l=c<0||c>=i?-1:c;if(l===this.size||s&&l===this.size-1||l===-1)return this.set(o,r),this;const m=this.size+(s?0:1);a<0&&c++;const u=[...At(this,gt)];let p,g=!1;for(let b=c;b<m;b++)if(c===b){let h=u[b];u[b]===o&&(h=u[b+1]),s&&this.delete(o),p=this.get(h),this.set(o,r)}else{!g&&u[b-1]===o&&(g=!0);const h=u[g?b:b-1],y=p;p=this.get(h),this.delete(h),this.set(h,y)}return this}with(n,o,r){const s=new en(this);return s.insert(n,o,r),s}before(n){const o=At(this,gt).indexOf(n)-1;if(!(o<0))return this.entryAt(o)}setBefore(n,o,r){const s=At(this,gt).indexOf(n);return s===-1?this:this.insert(s,o,r)}after(n){let o=At(this,gt).indexOf(n);if(o=o===-1||o===this.size-1?-1:o+1,o!==-1)return this.entryAt(o)}setAfter(n,o,r){const s=At(this,gt).indexOf(n);return s===-1?this:this.insert(s+1,o,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return tl(this,gt,[]),super.clear()}delete(n){const o=super.delete(n);return o&&At(this,gt).splice(At(this,gt).indexOf(n),1),o}deleteAt(n){const o=this.keyAt(n);return o!==void 0?this.delete(o):!1}at(n){const o=la(At(this,gt),n);if(o!==void 0)return this.get(o)}entryAt(n){const o=la(At(this,gt),n);if(o!==void 0)return[o,this.get(o)]}indexOf(n){return At(this,gt).indexOf(n)}keyAt(n){return la(At(this,gt),n)}from(n,o){const r=this.indexOf(n);if(r===-1)return;let s=r+o;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,o){const r=this.indexOf(n);if(r===-1)return;let s=r+o;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return s;r++}}findIndex(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return r;r++}return-1}filter(n,o){const r=[];let s=0;for(const i of this)Reflect.apply(n,o,[i,s,this])&&r.push(i),s++;return new en(r)}map(n,o){const r=[];let s=0;for(const i of this)r.push([i[0],Reflect.apply(n,o,[i,s,this])]),s++;return new en(r)}reduce(...n){const[o,r]=n;let s=0,i=r??this.at(0);for(const a of this)s===0&&n.length===1?i=a:i=Reflect.apply(o,this,[i,a,s,this]),s++;return i}reduceRight(...n){const[o,r]=n;let s=r??this.at(-1);for(let i=this.size-1;i>=0;i--){const a=this.at(i);i===this.size-1&&n.length===1?s=a:s=Reflect.apply(o,this,[s,a,i,this])}return s}toSorted(n){const o=[...this.entries()].sort(n);return new en(o)}toReversed(){const n=new en;for(let o=this.size-1;o>=0;o--){const r=this.keyAt(o),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const o=[...this.entries()];return o.splice(...n),new en(o)}slice(n,o){const r=new en;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),o!==void 0&&o>0&&(s=o-1);for(let i=n;i<=s;i++){const a=this.keyAt(i),c=this.get(a);r.set(a,c)}return r}every(n,o){let r=0;for(const s of this){if(!Reflect.apply(n,o,[s,r,this]))return!1;r++}return!0}some(n,o){let r=0;for(const s of this){if(Reflect.apply(n,o,[s,r,this]))return!0;r++}return!1}},gt=new WeakMap,Tt(en,"OrderedDict"),en);function la(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=yb(e,t);return n===-1?void 0:e[n]}Tt(la,"at");function yb(e,t){const n=e.length,o=Ud(t),r=o>=0?o:n+o;return r<0||r>=n?-1:r}Tt(yb,"toSafeIndex");function Ud(e){return e!==e||e===0?0:Math.trunc(e)}Tt(Ud,"toSafeInteger");function GT(e){const t=e+"CollectionProvider",[n,o]=pn(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new cl,setItemMap:Tt(()=>{},"setItemMap")}),i=Tt(({state:j,...x})=>j?d.jsx(c,{...x,state:j}):d.jsx(a,{...x}),"CollectionProvider");i.displayName=t;const a=Tt(j=>{const x=y();return d.jsx(c,{...j,state:x})},"CollectionInit");a.displayName=t+"Init";const c=Tt(j=>{const{scope:x,children:k,state:S}=j,E=f.useRef(null),[_,P]=f.useState(null),C=$e(E,P),[I,M]=S;return f.useEffect(()=>{if(!_)return;const B=wb(()=>{});return B.observe(_,{childList:!0,subtree:!0}),()=>{B.disconnect()}},[_]),d.jsx(r,{scope:x,itemMap:I,setItemMap:M,collectionRef:C,collectionRefObject:E,collectionElement:_,children:k})},"CollectionProviderImpl");c.displayName=t+"Impl";const l=e+"CollectionSlot",m=xn(l),u=f.forwardRef((j,x)=>{const{scope:k,children:S}=j,E=s(l,k),_=$e(x,E.collectionRef);return d.jsx(m,{ref:_,children:S})});u.displayName=l;const p=e+"CollectionItemSlot",g="data-radix-collection-item",b=xn(p),h=f.forwardRef((j,x)=>{const{scope:k,children:S,...E}=j,_=f.useRef(null),[P,C]=f.useState(null),I=$e(x,_,C),M=s(p,k),{setItemMap:B}=M,A=f.useRef(E);bb(A.current,E)||(A.current=E);const $=A.current;return f.useEffect(()=>{const U=$;return B(F=>P?F.has(P)?F.set(P,{...U,element:P}).toSorted(yu):(F.set(P,{...U,element:P}),F.toSorted(yu)):F),()=>{B(F=>!P||!F.has(P)?F:(F.delete(P),new cl(F)))}},[P,$,B]),d.jsx(b,{[g]:"",ref:I,children:S})});h.displayName=p;function y(){return f.useState(new cl)}Tt(y,"useInitCollection");function w(j){const{itemMap:x}=s(e+"CollectionConsumer",j);return x}return Tt(w,"useCollection"),[{Provider:i,Slot:u,ItemSlot:h},{createCollectionScope:o,useCollection:w,useInitCollection:y}]}Tt(GT,"createCollection");function bb(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Tt(bb,"shallowEqual");function vb(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Tt(vb,"isElementPreceding");function yu(e,t){return!e[1].element||!t[1].element?0:vb(e[1].element,t[1].element)?-1:1}Tt(yu,"sortByDocumentPosition");function wb(e){return new MutationObserver(n=>{for(const o of n)if(o.type==="childList"){e();return}})}Tt(wb,"getChildListObserver");var ZT=Object.defineProperty,Yr=(e,t)=>ZT(e,"name",{value:t,configurable:!0}),xb=!!(typeof window<"u"&&window.document&&window.document.createElement);function ve(e,t,{checkForDefaultPrevented:n=!0}={}){return Yr(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},"handleEvent")}Yr(ve,"composeEventHandlers");function YT(e){if(!xb)throw new Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window}Yr(YT,"getOwnerWindow");function bu(e){if(!xb)throw new Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}Yr(bu,"getOwnerDocument");function jb(e,t=!1){const{activeElement:n}=bu(e);if(!n?.nodeName)return null;if(_b(n)&&n.contentDocument)return jb(n.contentDocument.body,t);if(t){const o=n.getAttribute("aria-activedescendant");if(o){const r=bu(n).getElementById(o);if(r)return r}}return n}Yr(jb,"getActiveElement");function _b(e){return e.tagName==="IFRAME"}Yr(_b,"isFrame");var Ht=globalThis?.document?f.useLayoutEffect:()=>{},XT=Object.defineProperty,JT=(e,t)=>XT(e,"name",{value:t,configurable:!0}),Pp=eo[" useEffectEvent ".trim().toString()],Cp=eo[" useInsertionEffect ".trim().toString()];function Sb(e){if(typeof Pp=="function")return Pp(e);const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof Cp=="function"?Cp(()=>{t.current=e}):Ht(()=>{t.current=e}),f.useMemo(()=>((...n)=>t.current?.(...n)),[])}JT(Sb,"useEffectEvent");var QT=Object.defineProperty,ti=(e,t)=>QT(e,"name",{value:t,configurable:!0}),eO=eo[" useInsertionEffect ".trim().toString()]||Ht;function to({prop:e,defaultProp:t,onChange:n=ti(()=>{},"onChange"),caller:o}){const[r,s,i]=kb({defaultProp:t,onChange:n}),a=e!==void 0,c=a?e:r,l=f.useCallback(m=>{if(a){const u=Eb(m)?m(e):m;u!==e&&i.current?.(u)}else s(m)},[a,e,s,i]);return[c,l]}ti(to,"useControllableState");function kb({defaultProp:e,onChange:t}){const[n,o]=f.useState(e),r=f.useRef(n),s=f.useRef(t);return eO(()=>{s.current=t},[t]),f.useEffect(()=>{r.current!==n&&(s.current?.(n),r.current=n)},[n,r]),[n,o,s]}ti(kb,"useUncontrolledState");function Eb(e){return typeof e=="function"}ti(Eb,"isFunction");var Tp=Symbol("RADIX:SYNC_STATE");function tO(e,t,n,o){const{prop:r,defaultProp:s,onChange:i,caller:a}=t,c=r!==void 0,l=Sb(i),m=[{...n,state:s}];o&&m.push(o);const[u,p]=f.useReducer((y,w)=>{if(w.type===Tp)return{...y,state:w.state};const v=e(y,w);return c&&!Object.is(v.state,y.state)&&l(v.state),v},...m),g=u.state,b=f.useRef(g);f.useEffect(()=>{b.current!==g&&(b.current=g,c||l(g))},[g,b,c]);const h=f.useMemo(()=>r!==void 0?{...u,state:r}:u,[u,r]);return f.useEffect(()=>{c&&!Object.is(r,u.state)&&p({type:Tp,state:r})},[r,u.state,c]),[h,p]}ti(tO,"useControllableStateReducer");var nO=Object.defineProperty,Qn=(e,t)=>nO(e,"name",{value:t,configurable:!0});function Pb(e,t){return f.useReducer((n,o)=>t[n][o]??n,e)}Qn(Pb,"useStateMachine");var gn=Qn(e=>{const{present:t,children:n}=e,o=Cb(t),r=typeof n=="function"?n({present:o.isPresent}):f.Children.only(n),s=Tb(o.ref,Ob(r));return typeof n=="function"||o.isPresent?f.cloneElement(r,{ref:s}):null},"Presence");function Cb(e){const[t,n]=f.useState(),o=f.useRef(null),r=f.useRef(e),s=f.useRef("none"),i=f.useRef(void 0),a=e?"mounted":"unmounted",[c,l]=Pb(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{c==="mounted"?(s.current=i.current??mr(o.current),i.current=void 0):s.current="none"},[c]),Ht(()=>{const m=o.current,u=r.current;if(u!==e){const g=s.current,b=mr(m);e?(i.current=b,l("MOUNT")):b==="none"||m?.display==="none"?l("UNMOUNT"):l(u&&g!==b?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),Ht(()=>{if(t){let m;const u=t.ownerDocument.defaultView??window,p=Qn(b=>{const y=mr(o.current).includes(CSS.escape(b.animationName));if(b.target===t&&y&&(l("ANIMATION_END"),!r.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",m=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},"handleAnimationEnd"),g=Qn(b=>{b.target===t&&(s.current=mr(o.current))},"handleAnimationStart");return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(m),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(m=>{if(m){const u=getComputedStyle(m);o.current=u,i.current=mr(u)}else o.current=null;n(m)},[])}}Qn(Cb,"usePresence");function vu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Qn(vu,"setRef");function Tb(...e){const t=f.useRef(e);return t.current=e,f.useCallback(n=>{const o=t.current;let r=!1;const s=o.map(i=>{const a=vu(i,n);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i<s.length;i++){const a=s[i];typeof a=="function"?a():vu(o[i],null)}}},[])}Qn(Tb,"useStableComposedRefs");function mr(e){return e?.animationName||"none"}Qn(mr,"getAnimationName");function Ob(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Qn(Ob,"getElementRef");var oO=Object.defineProperty,rO=(e,t)=>oO(e,"name",{value:t,configurable:!0}),sO=eo[" useId ".trim().toString()]||(()=>{}),iO=0;function an(e){const[t,n]=f.useState(sO());return Ht(()=>{e||n(o=>o??String(iO++))},[e]),e||(t?`radix-${t}`:"")}rO(an,"useId");var aO=Object.defineProperty,ni=(e,t)=>aO(e,"name",{value:t,configurable:!0}),Hd="Collapsible",[cO,lO]=pn(Hd),[uO,Kd]=cO(Hd),Rb=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,open:r,defaultOpen:s,disabled:i,onOpenChange:a,...c}=t,[l,m]=to({prop:r,defaultProp:s??!1,onChange:a,caller:Hd});return d.jsx(uO,{scope:o,disabled:i,contentId:an(),open:l,onOpenToggle:f.useCallback(()=>m(u=>!u),[m]),children:d.jsx(Le.div,{"data-state":oc(l),"data-disabled":i?"":void 0,...c,ref:n})})},"Collapsible")),dO="CollapsibleTrigger",Ib=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,...r}=t,s=Kd(dO,o);return d.jsx(Le.button,{type:"button","aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open||!1,"data-state":oc(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:n,onClick:ve(t.onClick,s.onOpenToggle)})},"CollapsibleTrigger")),Ab="CollapsibleContent",qd=f.forwardRef(ni(function(t,n){const{forceMount:o,...r}=t,s=Kd(Ab,t.__scopeCollapsible);return d.jsx(gn,{present:o||s.open,children:({present:i})=>d.jsx(fO,{...r,ref:n,present:i})})},"CollapsibleContent")),fO=f.forwardRef(ni(function(t,n){const{__scopeCollapsible:o,present:r,children:s,...i}=t,a=Kd(Ab,o),[c,l]=f.useState(r),m=f.useRef(null),u=$e(n,m),p=f.useRef(0),g=p.current,b=f.useRef(0),h=b.current,y=a.open||c,w=f.useRef(y),v=f.useRef(void 0);return f.useEffect(()=>{const j=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(j)},[]),Ht(()=>{const j=m.current;if(j){v.current=v.current||{transitionDuration:j.style.transitionDuration,animationName:j.style.animationName},j.style.transitionDuration="0s",j.style.animationName="none";const x=j.getBoundingClientRect();p.current=x.height,b.current=x.width,w.current||(j.style.transitionDuration=v.current.transitionDuration,j.style.animationName=v.current.animationName),l(r)}},[a.open,r]),d.jsx(Le.div,{"data-state":oc(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!y,...i,ref:u,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...t.style},children:y&&s})},"CollapsibleContentImpl"));function oc(e){return e?"open":"closed"}ni(oc,"getState");var Nb=Rb,mO=Ib,pO=qd;const Q5=Object.freeze(Object.defineProperty({__proto__:null,Collapsible:Rb,CollapsibleContent:qd,CollapsibleTrigger:Ib,Content:pO,Root:Nb,Trigger:mO,createCollapsibleScope:lO},Symbol.toStringTag,{value:"Module"}));var gO=Object.defineProperty,Mb=(e,t)=>gO(e,"name",{value:t,configurable:!0}),Db=f.createContext(void 0),Fb=Mb(e=>{const{dir:t,children:n}=e;return d.jsx(Db.Provider,{value:t,children:n})},"DirectionProvider");function oi(e){const t=f.useContext(Db);return e||t||"ltr"}Mb(oi,"useDirection");var hO=Fb;const eK=Object.freeze(Object.defineProperty({__proto__:null,DirectionProvider:Fb,Provider:hO,useDirection:oi},Symbol.toStringTag,{value:"Module"}));var yO=Object.defineProperty,bO=(e,t)=>yO(e,"name",{value:t,configurable:!0});function jn(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>((...n)=>t.current?.(...n)),[])}bO(jn,"useCallbackRef");var vO=Object.defineProperty,St=(e,t)=>vO(e,"name",{value:t,configurable:!0}),wu="dismissableLayer.update",wO="dismissableLayer.pointerDownOutside",xO="dismissableLayer.focusOutside",Op,Wd=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ri=f.forwardRef(St(function(t,n){const{disableOutsidePointerEvents:o=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:c,onDismiss:l,...m}=t,u=f.useContext(Wd),[p,g]=f.useState(null),b=p?.ownerDocument??globalThis?.document,[,h]=f.useState({}),y=$e(n,g),w=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),j=v?w.indexOf(v):-1,x=p?w.indexOf(p):-1,k=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=j,E=f.useRef(!1),_=Lb(M=>{i?.(M),c?.(M),M.defaultPrevented||l?.()},{ownerDocument:b,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:E,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:f.useCallback(M=>{if(!(M instanceof Node))return!1;const B=[...u.branches].some(A=>A.contains(M));return S&&!B},[u.branches,S])}),P=Bb(M=>{if(r&&E.current)return;const B=M.target;[...u.branches].some($=>$.contains(B))||(a?.(M),c?.(M),M.defaultPrevented||l?.())},b),C=p?x===w.length-1:!1,I=jn(M=>{M.key==="Escape"&&(s?.(M),!M.defaultPrevented&&l&&(M.preventDefault(),l()))});return f.useEffect(()=>{if(C)return b.addEventListener("keydown",I,{capture:!0}),()=>b.removeEventListener("keydown",I,{capture:!0})},[b,C,I]),f.useEffect(()=>{if(p)return o&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Op=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(p)),u.layers.add(p),xu(),()=>{o&&(u.layersWithOutsidePointerEventsDisabled.delete(p),u.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=Op))}},[p,b,o,u]),f.useEffect(()=>()=>{p&&(u.layers.delete(p),u.layersWithOutsidePointerEventsDisabled.delete(p),xu())},[p,u]),f.useEffect(()=>{const M=St(()=>h({}),"handleUpdate");return document.addEventListener(wu,M),()=>document.removeEventListener(wu,M)},[]),d.jsx(Le.div,{...m,ref:y,style:{pointerEvents:k?S?"auto":"none":void 0,...t.style},onFocusCapture:ve(t.onFocusCapture,P.onFocusCapture),onBlurCapture:ve(t.onBlurCapture,P.onBlurCapture),onPointerDownCapture:ve(t.onPointerDownCapture,_.onPointerDownCapture)})},"DismissableLayer")),jO=f.forwardRef(St(function(t,n){const o=f.useContext(Wd),r=f.useRef(null),s=$e(n,r);return f.useEffect(()=>{const i=r.current;if(i)return o.branches.add(i),()=>{o.branches.delete(i)}},[o.branches]),d.jsx(Le.div,{...t,ref:s})},"DismissableLayerBranch"));function $b(){const e=f.useContext(Wd),[t,n]=f.useState(null);return f.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}St($b,"useDismissableLayerSurface");var _O=St(()=>!0,"IS_TRUE");function Lb(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:i=_O}=t,a=jn(e),c=f.useRef(!1),l=f.useRef(!1),m=f.useRef(new Map),u=f.useRef(()=>{});return f.useEffect(()=>{function p(){l.current=!1,r.current=!1,m.current.clear()}St(p,"resetOutsideInteraction");function g(){return Array.from(m.current.values()).some(Boolean)}St(g,"isOutsideInteractionIntercepted");function b(j){if(!l.current)return;const x=j.target;x instanceof Node&&[...s].some(S=>S.contains(x))||m.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{l.current&&u.current()},0)}St(b,"handleInteractionCapture");function h(j){l.current&&m.current.set(j.type,!1)}St(h,"handleInteractionBubble");const y=St(j=>{if(j.target&&!c.current){let x=function(){n.removeEventListener("click",u.current);const S=g();p(),S||Gd(wO,a,k,{discrete:!0})};if(St(x,"handleAndDispatchPointerDownOutsideEvent"),!i(j.target)){n.removeEventListener("click",u.current),p(),c.current=!1;return}const k={originalEvent:j};l.current=!0,r.current=o&&j.button===0,m.current.clear(),!o||j.button!==0?x():(n.removeEventListener("click",u.current),u.current=x,n.addEventListener("click",u.current,{once:!0}))}else n.removeEventListener("click",u.current),p();c.current=!1},"handlePointerDown"),w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of w)n.addEventListener(j,b,!0),n.addEventListener(j,h);const v=window.setTimeout(()=>{n.addEventListener("pointerdown",y)},0);return()=>{window.clearTimeout(v),n.removeEventListener("pointerdown",y),n.removeEventListener("click",u.current);for(const j of w)n.removeEventListener(j,b,!0),n.removeEventListener(j,h)}},[n,a,o,r,s,i]),{onPointerDownCapture:St(()=>c.current=!0,"onPointerDownCapture")}}St(Lb,"usePointerDownOutside");function Bb(e,t=globalThis?.document){const n=jn(e),o=f.useRef(!1);return f.useEffect(()=>{const r=St(s=>{s.target&&!o.current&&Gd(xO,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:St(()=>o.current=!0,"onFocusCapture"),onBlurCapture:St(()=>o.current=!1,"onBlurCapture")}}St(Bb,"useFocusOutside");function xu(){const e=new CustomEvent(wu);document.dispatchEvent(e)}St(xu,"dispatchUpdate");function Gd(e,t,n,{discrete:o}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Vd(r,s):r.dispatchEvent(s)}St(Gd,"handleAndDispatchCustomEvent");var tK=ri,nK=jO,SO=Object.defineProperty,Ut=(e,t)=>SO(e,"name",{value:t,configurable:!0}),ll="focusScope.autoFocusOnMount",ul="focusScope.autoFocusOnUnmount",Rp={bubbles:!1,cancelable:!0},Zd=f.forwardRef(Ut(function(t,n){const{loop:o=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:i,...a}=t,[c,l]=f.useState(null),m=jn(s),u=jn(i),p=f.useRef(null),g=$e(n,l),b=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(r){let y=function(x){if(b.paused||!c)return;const k=x.target;c.contains(k)?p.current=k:Un(p.current,{select:!0})},w=function(x){if(b.paused||!c)return;const k=x.relatedTarget;k!==null&&(c.contains(k)||Un(p.current,{select:!0}))},v=function(x){if(document.activeElement===document.body)for(const S of x)S.removedNodes.length>0&&Un(c)};Ut(y,"handleFocusIn"),Ut(w,"handleFocusOut"),Ut(v,"handleMutations"),document.addEventListener("focusin",y),document.addEventListener("focusout",w);const j=new MutationObserver(v);return c&&j.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",w),j.disconnect()}}},[r,c,b.paused]),f.useEffect(()=>{if(c){Ip.add(b);const y=document.activeElement;if(!c.contains(y)){const v=new CustomEvent(ll,Rp);c.addEventListener(ll,m),c.dispatchEvent(v),v.defaultPrevented||(zb(qb(Yd(c)),{select:!0}),document.activeElement===y&&Un(c))}return()=>{c.removeEventListener(ll,m),setTimeout(()=>{const v=new CustomEvent(ul,Rp);c.addEventListener(ul,u),c.dispatchEvent(v),v.defaultPrevented||Un(y??document.body,{select:!0}),c.removeEventListener(ul,u),Ip.remove(b)},0)}}},[c,m,u,b]);const h=f.useCallback(y=>{if(!o&&!r||b.paused)return;const w=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,v=document.activeElement;if(w&&v){const j=y.currentTarget,[x,k]=Vb(j);x&&k?!y.shiftKey&&v===k?(y.preventDefault(),o&&Un(x,{select:!0})):y.shiftKey&&v===x&&(y.preventDefault(),o&&Un(k,{select:!0})):v===j&&y.preventDefault()}},[o,r,b.paused]);return d.jsx(Le.div,{tabIndex:-1,...a,ref:g,onKeyDown:h})},"FocusScope"));function zb(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(Un(o,{select:t}),document.activeElement!==n)return}Ut(zb,"focusFirst");function Vb(e){const t=Yd(e),n=ju(t,e),o=ju(t.reverse(),e);return[n,o]}Ut(Vb,"getTabbableEdges");function Yd(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Ut(o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}Ut(Yd,"getTabbableCandidates");function ju(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const o of e)if(!(n?!o.checkVisibility({checkVisibilityCSS:!0}):Ub(o,{upTo:t})))return o}Ut(ju,"findVisible");function Ub(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Ut(Ub,"isHidden");function Hb(e){return e instanceof HTMLInputElement&&"select"in e}Ut(Hb,"isSelectableInput");function Un(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Hb(e)&&t&&e.select()}}Ut(Un,"focus");var Ip=Kb();function Kb(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=_u(e,t),e.unshift(t)},remove(t){e=_u(e,t),e[0]?.resume()}}}Ut(Kb,"createFocusScopesStack");function _u(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}Ut(_u,"arrayRemove");function qb(e){return e.filter(t=>t.tagName!=="A")}Ut(qb,"removeLinks");var kO=Object.defineProperty,EO=(e,t)=>kO(e,"name",{value:t,configurable:!0}),Xr=f.forwardRef(EO(function(t,n){const{container:o,...r}=t,[s,i]=f.useState(!1);Ht(()=>i(!0),[]);const a=o||s&&globalThis?.document?.body;return a?Wo.createPortal(d.jsx(Le.div,{...r,ref:n}),a):null},"Portal")),PO=Xr;const oK=Object.freeze(Object.defineProperty({__proto__:null,Portal:Xr,Root:PO},Symbol.toStringTag,{value:"Module"}));var CO=Object.defineProperty,Xd=(e,t)=>CO(e,"name",{value:t,configurable:!0}),Ci=0,Qo=null;function TO(e){return si(),e.children}Xd(TO,"FocusGuards");function si(){f.useEffect(()=>{Qo||(Qo={start:Su(),end:Su()});const{start:e,end:t}=Qo;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ci++,()=>{Ci===1&&(Qo?.start.remove(),Qo?.end.remove(),Qo=null),Ci=Math.max(0,Ci-1)}},[])}Xd(si,"useFocusGuards");function Su(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}Xd(Su,"createFocusGuard");var An=function(){return An=Object.assign||function(t){for(var n,o=1,r=arguments.length;o<r;o++){n=arguments[o];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},An.apply(this,arguments)};function Wb(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n}function OO(e,t,n){if(n||arguments.length===2)for(var o=0,r=t.length,s;o<r;o++)(s||!(o in t))&&(s||(s=Array.prototype.slice.call(t,0,o)),s[o]=t[o]);return e.concat(s||Array.prototype.slice.call(t))}var ua="right-scroll-bar-position",da="width-before-scroll-bar",RO="with-scroll-bars-hidden",IO="--removed-body-scroll-bar-size";function dl(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function AO(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(o){var r=n.value;r!==o&&(n.value=o,n.callback(o,r))}}}})[0];return n.callback=t,n.facade}var NO=typeof window<"u"?f.useLayoutEffect:f.useEffect,Ap=new WeakMap;function MO(e,t){var n=AO(null,function(o){return e.forEach(function(r){return dl(r,o)})});return NO(function(){var o=Ap.get(n);if(o){var r=new Set(o),s=new Set(e),i=n.current;r.forEach(function(a){s.has(a)||dl(a,null)}),s.forEach(function(a){r.has(a)||dl(a,i)})}Ap.set(n,e)},[e]),n}function DO(e){return e}function FO(e,t){t===void 0&&(t=DO);var n=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(s){var i=t(s,o);return n.push(i),function(){n=n.filter(function(a){return a!==i})}},assignSyncMedium:function(s){for(o=!0;n.length;){var i=n;n=[],i.forEach(s)}n={push:function(a){return s(a)},filter:function(){return n}}},assignMedium:function(s){o=!0;var i=[];if(n.length){var a=n;n=[],a.forEach(s),i=n}var c=function(){var m=i;i=[],m.forEach(s)},l=function(){return Promise.resolve().then(c)};l(),n={push:function(m){i.push(m),l()},filter:function(m){return i=i.filter(m),n}}}};return r}function $O(e){e===void 0&&(e={});var t=FO(null);return t.options=An({async:!0,ssr:!1},e),t}var Gb=function(e){var t=e.sideCar,n=Wb(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=t.read();if(!o)throw new Error("Sidecar medium not found");return f.createElement(o,An({},n))};Gb.isSideCarExport=!0;function LO(e,t){return e.useMedium(t),Gb}var Zb=$O(),fl=function(){},rc=f.forwardRef(function(e,t){var n=f.useRef(null),o=f.useState({onScrollCapture:fl,onWheelCapture:fl,onTouchMoveCapture:fl}),r=o[0],s=o[1],i=e.forwardProps,a=e.children,c=e.className,l=e.removeScrollBar,m=e.enabled,u=e.shards,p=e.sideCar,g=e.noRelative,b=e.noIsolation,h=e.inert,y=e.allowPinchZoom,w=e.as,v=w===void 0?"div":w,j=e.gapMode,x=Wb(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=p,S=MO([n,t]),E=An(An({},x),r);return f.createElement(f.Fragment,null,m&&f.createElement(k,{sideCar:Zb,removeScrollBar:l,shards:u,noRelative:g,noIsolation:b,inert:h,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:j}),i?f.cloneElement(f.Children.only(a),An(An({},E),{ref:S})):f.createElement(v,An({},E,{className:c,ref:S}),a))});rc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};rc.classNames={fullWidth:da,zeroRight:ua};var BO=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function zO(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=BO();return t&&e.setAttribute("nonce",t),e}function VO(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function UO(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var HO=function(){var e=0,t=null;return{add:function(n){e==0&&(t=zO())&&(VO(t,n),UO(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},KO=function(){var e=HO();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Yb=function(){var e=KO(),t=function(n){var o=n.styles,r=n.dynamic;return e(o,r),null};return t},qO={left:0,top:0,right:0,gap:0},ml=function(e){return parseInt(e||"",10)||0},WO=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],o=t[e==="padding"?"paddingTop":"marginTop"],r=t[e==="padding"?"paddingRight":"marginRight"];return[ml(n),ml(o),ml(r)]},GO=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return qO;var t=WO(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},ZO=Yb(),kr="data-scroll-locked",YO=function(e,t,n,o){var r=e.left,s=e.top,i=e.right,a=e.gap;return n===void 0&&(n="margin"),`
66
66
  .`.concat(RO,` {
67
67
  overflow: hidden `).concat(o,`;
68
68
  padding-right: `).concat(a,"px ").concat(o,`;
@@ -269,7 +269,7 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus
269
269
  `,i):(e.write("/*"),o$(e,i.value,n,o),e.write("*/"+o))}}function r$(e){let t=e;for(;t!=null;){const{type:n}=t;if(n[0]==="C"&&n[1]==="a")return!0;if(n[0]==="M"&&n[1]==="e"&&n[2]==="m")t=t.object;else return!1}}function Cl(e,t){const{generator:n}=e,{declarations:o}=t;e.write(t.kind+" ");const{length:r}=o;if(r>0){n.VariableDeclarator(o[0],e);for(let s=1;s<r;s++)e.write(", "),n.VariableDeclarator(o[s],e)}}let wg,xg,jg,_g,Sg,kg;const vj={Program(e,t){const n=t.indent.repeat(t.indentLevel),{lineEnd:o,writeComments:r}=t;r&&e.comments!=null&&$t(t,e.comments,n,o);const s=e.body,{length:i}=s;for(let a=0;a<i;a++){const c=s[a];r&&c.comments!=null&&$t(t,c.comments,n,o),t.write(n),this[c.type](c,t),t.write(o)}r&&e.trailingComments!=null&&$t(t,e.trailingComments,n,o)},BlockStatement:kg=function(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:o,writeComments:r}=t,s=n+t.indent;t.write("{");const i=e.body;if(i!=null&&i.length>0){t.write(o),r&&e.comments!=null&&$t(t,e.comments,s,o);const{length:a}=i;for(let c=0;c<a;c++){const l=i[c];r&&l.comments!=null&&$t(t,l.comments,s,o),t.write(s),this[l.type](l,t),t.write(o)}t.write(n)}else r&&e.comments!=null&&(t.write(o),$t(t,e.comments,s,o),t.write(n));r&&e.trailingComments!=null&&$t(t,e.trailingComments,s,o),t.write("}"),t.indentLevel--},ClassBody:kg,StaticBlock(e,t){t.write("static "),this.BlockStatement(e,t)},EmptyStatement(e,t){t.write(";")},ExpressionStatement(e,t){const n=t.expressionsPrecedence[e.expression.type];n===bn||n===3&&e.expression.left.type[0]==="O"?(t.write("("),this[e.expression.type](e.expression,t),t.write(")")):this[e.expression.type](e.expression,t),t.write(";")},IfStatement(e,t){t.write("if ("),this[e.test.type](e.test,t),t.write(") "),this[e.consequent.type](e.consequent,t),e.alternate!=null&&(t.write(" else "),this[e.alternate.type](e.alternate,t))},LabeledStatement(e,t){this[e.label.type](e.label,t),t.write(": "),this[e.body.type](e.body,t)},BreakStatement(e,t){t.write("break"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},ContinueStatement(e,t){t.write("continue"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},WithStatement(e,t){t.write("with ("),this[e.object.type](e.object,t),t.write(") "),this[e.body.type](e.body,t)},SwitchStatement(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:o,writeComments:r}=t;t.indentLevel++;const s=n+t.indent,i=s+t.indent;t.write("switch ("),this[e.discriminant.type](e.discriminant,t),t.write(") {"+o);const{cases:a}=e,{length:c}=a;for(let l=0;l<c;l++){const m=a[l];r&&m.comments!=null&&$t(t,m.comments,s,o),m.test?(t.write(s+"case "),this[m.test.type](m.test,t),t.write(":"+o)):t.write(s+"default:"+o);const{consequent:u}=m,{length:p}=u;for(let g=0;g<p;g++){const b=u[g];r&&b.comments!=null&&$t(t,b.comments,i,o),t.write(i),this[b.type](b,t),t.write(o)}}t.indentLevel-=2,t.write(n+"}")},ReturnStatement(e,t){t.write("return"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t)),t.write(";")},ThrowStatement(e,t){t.write("throw "),this[e.argument.type](e.argument,t),t.write(";")},TryStatement(e,t){if(t.write("try "),this[e.block.type](e.block,t),e.handler){const{handler:n}=e;n.param==null?t.write(" catch "):(t.write(" catch ("),this[n.param.type](n.param,t),t.write(") ")),this[n.body.type](n.body,t)}e.finalizer&&(t.write(" finally "),this[e.finalizer.type](e.finalizer,t))},WhileStatement(e,t){t.write("while ("),this[e.test.type](e.test,t),t.write(") "),this[e.body.type](e.body,t)},DoWhileStatement(e,t){t.write("do "),this[e.body.type](e.body,t),t.write(" while ("),this[e.test.type](e.test,t),t.write(");")},ForStatement(e,t){if(t.write("for ("),e.init!=null){const{init:n}=e;n.type[0]==="V"?Cl(t,n):this[n.type](n,t)}t.write("; "),e.test&&this[e.test.type](e.test,t),t.write("; "),e.update&&this[e.update.type](e.update,t),t.write(") "),this[e.body.type](e.body,t)},ForInStatement:wg=function(e,t){t.write(`for ${e.await?"await ":""}(`);const{left:n}=e;n.type[0]==="V"?Cl(t,n):this[n.type](n,t),t.write(e.type[3]==="I"?" in ":" of "),this[e.right.type](e.right,t),t.write(") "),this[e.body.type](e.body,t)},ForOfStatement:wg,DebuggerStatement(e,t){t.write("debugger;",e)},FunctionDeclaration:xg=function(e,t){t.write((e.async?"async ":"")+(e.generator?"function* ":"function ")+(e.id?e.id.name:""),e),sr(t,e.params),t.write(" "),this[e.body.type](e.body,t)},FunctionExpression:xg,VariableDeclaration(e,t){Cl(t,e),t.write(";")},VariableDeclarator(e,t){this[e.id.type](e.id,t),e.init!=null&&(t.write(" = "),this[e.init.type](e.init,t))},ClassDeclaration(e,t){if(t.write("class "+(e.id?`${e.id.name} `:""),e),e.superClass){t.write("extends ");const{superClass:n}=e,{type:o}=n,r=t.expressionsPrecedence[o];(o[0]!=="C"||o[1]!=="l"||o[5]!=="E")&&(r===bn||r<t.expressionsPrecedence.ClassExpression)?(t.write("("),this[e.superClass.type](n,t),t.write(")")):this[n.type](n,t),t.write(" ")}this.ClassBody(e.body,t)},ImportDeclaration(e,t){t.write("import ");const{specifiers:n,attributes:o}=e,{length:r}=n;let s=0;if(r>0){for(;s<r;){s>0&&t.write(", ");const i=n[s],a=i.type[6];if(a==="D")t.write(i.local.name,i),s++;else if(a==="N")t.write("* as "+i.local.name,i),s++;else break}if(s<r){for(t.write("{");;){const i=n[s],{name:a}=i.imported;if(t.write(a,i),a!==i.local.name&&t.write(" as "+i.local.name),++s<r)t.write(", ");else break}t.write("}")}t.write(" from ")}if(this.Literal(e.source,t),o&&o.length>0){t.write(" with { ");for(let i=0;i<o.length;i++)this.ImportAttribute(o[i],t),i<o.length-1&&t.write(", ");t.write(" }")}t.write(";")},ImportAttribute(e,t){this.Identifier(e.key,t),t.write(": "),this.Literal(e.value,t)},ImportExpression(e,t){t.write("import("),this[e.source.type](e.source,t),t.write(")")},ExportDefaultDeclaration(e,t){t.write("export default "),this[e.declaration.type](e.declaration,t),t.expressionsPrecedence[e.declaration.type]!=null&&e.declaration.type[0]!=="F"&&t.write(";")},ExportNamedDeclaration(e,t){if(t.write("export "),e.declaration)this[e.declaration.type](e.declaration,t);else{t.write("{");const{specifiers:n}=e,{length:o}=n;if(o>0)for(let r=0;;){const s=n[r],{name:i}=s.local;if(t.write(i,s),i!==s.exported.name&&t.write(" as "+s.exported.name),++r<o)t.write(", ");else break}if(t.write("}"),e.source&&(t.write(" from "),this.Literal(e.source,t)),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let r=0;r<e.attributes.length;r++)this.ImportAttribute(e.attributes[r],t),r<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")}},ExportAllDeclaration(e,t){if(e.exported!=null?t.write("export * as "+e.exported.name+" from "):t.write("export * from "),this.Literal(e.source,t),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let n=0;n<e.attributes.length;n++)this.ImportAttribute(e.attributes[n],t),n<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")},MethodDefinition(e,t){e.static&&t.write("static ");const n=e.kind[0];(n==="g"||n==="s")&&t.write(e.kind+" "),e.value.async&&t.write("async "),e.value.generator&&t.write("*"),e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),sr(t,e.value.params),t.write(" "),this[e.value.body.type](e.value.body,t)},ClassExpression(e,t){this.ClassDeclaration(e,t)},ArrowFunctionExpression(e,t){t.write(e.async?"async ":"",e);const{params:n}=e;n!=null&&(n.length===1&&n[0].type[0]==="I"?t.write(n[0].name,n[0]):sr(t,e.params)),t.write(" => "),e.body.type[0]==="O"?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:jg=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:jg,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),Vi(t,e.argument,e)},TemplateLiteral(e,t){const{quasis:n,expressions:o}=e;t.write("`");const{length:r}=o;for(let i=0;i<r;i++){const a=o[i],c=n[i];t.write(c.value.raw,c),t.write("${"),this[a.type](a,t),t.write("}")}const s=n[n.length-1];t.write(s.value.raw,s),t.write("`")},TemplateElement(e,t){t.write(e.value.raw,e)},TaggedTemplateExpression(e,t){Vi(t,e.tag,e),this[e.quasi.type](e.quasi,t)},ArrayExpression:Sg=function(e,t){if(t.write("["),e.elements.length>0){const{elements:n}=e,{length:o}=n;for(let r=0;;){const s=n[r];if(s!=null&&this[s.type](s,t),++r<o)t.write(", ");else{s==null&&t.write(", ");break}}}t.write("]")},ArrayPattern:Sg,ObjectExpression(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:o,writeComments:r}=t,s=n+t.indent;if(t.write("{"),e.properties.length>0){t.write(o),r&&e.comments!=null&&$t(t,e.comments,s,o);const i=","+o,{properties:a}=e,{length:c}=a;for(let l=0;;){const m=a[l];if(r&&m.comments!=null&&$t(t,m.comments,s,o),t.write(s),this[m.type](m,t),++l<c)t.write(i);else break}t.write(o),r&&e.trailingComments!=null&&$t(t,e.trailingComments,s,o),t.write(n+"}")}else r?e.comments!=null?(t.write(o),$t(t,e.comments,s,o),e.trailingComments!=null&&$t(t,e.trailingComments,s,o),t.write(n+"}")):e.trailingComments!=null?(t.write(o),$t(t,e.trailingComments,s,o),t.write(n+"}")):t.write("}"):t.write("}");t.indentLevel--},Property(e,t){e.method||e.kind[0]!=="i"?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),t.write(": ")),this[e.value.type](e.value,t))},PropertyDefinition(e,t){if(e.static&&t.write("static "),e.computed&&t.write("["),this[e.key.type](e.key,t),e.computed&&t.write("]"),e.value==null){e.key.type[0]!=="F"&&t.write(";");return}t.write(" = "),this[e.value.type](e.value,t),t.write(";")},ObjectPattern(e,t){if(t.write("{"),e.properties.length>0){const{properties:n}=e,{length:o}=n;for(let r=0;this[n[r].type](n[r],t),++r<o;)t.write(", ")}t.write("}")},SequenceExpression(e,t){sr(t,e.expressions)},UnaryExpression(e,t){if(e.prefix){const{operator:n,argument:o,argument:{type:r}}=e;t.write(n);const s=bj(t,o,e);!s&&(n.length>1||r[0]==="U"&&(r[1]==="n"||r[1]==="p")&&o.prefix&&o.operator[0]===n&&(n==="+"||n==="-"))&&t.write(" "),s?(t.write(n.length>1?" (":"("),this[r](o,t),t.write(")")):this[r](o,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:_g=function(e,t){const n=e.operator==="in";n&&t.write("("),Vi(t,e.left,e,!1),t.write(" "+e.operator+" "),Vi(t,e.right,e,!0),n&&t.write(")")},LogicalExpression:_g,ConditionalExpression(e,t){const{test:n}=e,o=t.expressionsPrecedence[n.type];o===bn||o<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[n.type](n,t),t.write(")")):this[n.type](n,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");const n=t.expressionsPrecedence[e.callee.type];n===bn||n<t.expressionsPrecedence.CallExpression||r$(e.callee)?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),sr(t,e.arguments)},CallExpression(e,t){const n=t.expressionsPrecedence[e.callee.type];n===bn||n<t.expressionsPrecedence.CallExpression?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),e.optional&&t.write("?."),sr(t,e.arguments)},ChainExpression(e,t){this[e.expression.type](e.expression,t)},MemberExpression(e,t){const n=t.expressionsPrecedence[e.object.type];n===bn||n<t.expressionsPrecedence.MemberExpression?(t.write("("),this[e.object.type](e.object,t),t.write(")")):this[e.object.type](e.object,t),e.computed?(e.optional&&t.write("?."),t.write("["),this[e.property.type](e.property,t),t.write("]")):(e.optional?t.write("?."):t.write("."),this[e.property.type](e.property,t))},MetaProperty(e,t){t.write(e.meta.name+"."+e.property.name,e)},Identifier(e,t){t.write(e.name,e)},PrivateIdentifier(e,t){t.write(`#${e.name}`,e)},Literal(e,t){e.raw!=null?t.write(e.raw,e):e.regex!=null?this.RegExpLiteral(e,t):e.bigint!=null?t.write(e.bigint+"n",e):t.write(t$(e.value),e)},RegExpLiteral(e,t){const{regex:n}=e;t.write(`/${n.pattern}/${n.flags}`,e)}},s$={};class i${constructor(t){const n=t??s$;this.output="",n.output!=null?(this.output=n.output,this.write=this.writeToStream):this.output="",this.generator=n.generator!=null?n.generator:vj,this.expressionsPrecedence=n.expressionsPrecedence!=null?n.expressionsPrecedence:n$,this.indent=n.indent!=null?n.indent:" ",this.lineEnd=n.lineEnd!=null?n.lineEnd:`
270
270
  `,this.indentLevel=n.startingIndentLevel!=null?n.startingIndentLevel:0,this.writeComments=n.comments?n.comments:!1,n.sourceMap!=null&&(this.write=n.output==null?this.writeAndMap:this.writeToStreamAndMap,this.sourceMap=n.sourceMap,this.line=1,this.column=0,this.lineEndSize=this.lineEnd.split(`
271
271
  `).length-1,this.mapping={original:null,generated:this,name:void 0,source:n.sourceMap.file||n.sourceMap._file})}write(t){this.output+=t}writeToStream(t){this.output.write(t)}writeAndMap(t,n){this.output+=t,this.map(t,n)}writeToStreamAndMap(t,n){this.output.write(t),this.map(t,n)}map(t,n){if(n!=null){const{type:s}=n;if(s[0]==="L"&&s[2]==="n"){this.column=0,this.line++;return}if(n.loc!=null){const{mapping:i}=this;i.original=n.loc.start,i.name=n.name,this.sourceMap.addMapping(i)}if(s[0]==="T"&&s[8]==="E"||s[0]==="L"&&s[1]==="i"&&typeof n.value=="string"){const{length:i}=t;let{column:a,line:c}=this;for(let l=0;l<i;l++)t[l]===`
272
- `?(a=0,c++):a++;this.column=a,this.line=c;return}}const{length:o}=t,{lineEnd:r}=this;o>0&&(this.lineEndSize>0&&(r.length===1?t[o-1]===r:t.endsWith(r))?(this.line+=this.lineEndSize,this.column=0):this.column+=o)}toString(){return this.output}}function a$(e,t){const n=new i$(t);return n.generator[e.type](e,n),n.output}const c$={};function l$(e,t){const{SourceMapGenerator:n,filePath:o,handlers:r}=t||c$,s=n?new n({file:o||"<unknown>.js"}):void 0,i=a$(e,{comments:!0,generator:{...vj,...r},sourceMap:s||void 0}),a=s?s.toJSON():void 0;return{value:i,map:a}}const u$={JSXAttribute:d$,JSXClosingElement:f$,JSXClosingFragment:m$,JSXElement:p$,JSXEmptyExpression:g$,JSXExpressionContainer:h$,JSXFragment:y$,JSXIdentifier:b$,JSXMemberExpression:v$,JSXNamespacedName:w$,JSXOpeningElement:x$,JSXOpeningFragment:j$,JSXSpreadAttribute:_$,JSXText:S$};function d$(e,t){this[e.name.type](e.name,t),e.value!==null&&e.value!==void 0&&(t.write("="),e.value.type==="Literal"?t.write('"'+wj(String(e.value.value)).replace(/"/g,"&quot;")+'"',e):this[e.value.type](e.value,t))}function f$(e,t){t.write("</"),this[e.name.type](e.name,t),t.write(">")}function m$(e,t){t.write("</>",e)}function p$(e,t){let n=-1;if(this[e.openingElement.type](e.openingElement,t),e.children)for(;++n<e.children.length;){const o=e.children[n];if(o.type==="JSXSpreadChild")throw new Error("JSX spread children are not supported");this[o.type](o,t)}e.closingElement&&this[e.closingElement.type](e.closingElement,t)}function g$(){}function h$(e,t){t.write("{"),this[e.expression.type](e.expression,t),t.write("}")}function y$(e,t){let n=-1;if(this[e.openingFragment.type](e.openingFragment,t),e.children)for(;++n<e.children.length;){const o=e.children[n];if(o.type==="JSXSpreadChild")throw new Error("JSX spread children are not supported");this[o.type](o,t)}this[e.closingFragment.type](e.closingFragment,t)}function b$(e,t){t.write(e.name,e)}function v$(e,t){this[e.object.type](e.object,t),t.write("."),this[e.property.type](e.property,t)}function w$(e,t){this[e.namespace.type](e.namespace,t),t.write(":"),this[e.name.type](e.name,t)}function x$(e,t){let n=-1;if(t.write("<"),this[e.name.type](e.name,t),e.attributes)for(;++n<e.attributes.length;)t.write(" "),this[e.attributes[n].type](e.attributes[n],t);t.write(e.selfClosing?" />":">")}function j$(e,t){t.write("<>",e)}function _$(e,t){t.write("{"),this.SpreadElement(e,t),t.write("}")}function S$(e,t){t.write(wj(e.value).replace(/[<>{}]/g,k$),e)}function wj(e){return e.replace(/&(?=[#a-z])/gi,"&amp;")}function k$(e){return e==="<"?"&lt;":e===">"?"&gt;":e==="{"?"&#123;":"&#125;"}function E$(){const e=this.data(),t=e.settings||(e.settings={}),n=t.handlers||(t.handlers={});(t.plugins||(t.plugins=[])).push(GS()),Object.assign(n,u$)}function P$(e){const t=this;this.compiler=n;function n(o,r){const s={...t.data("settings"),...e},i=l$(o,{SourceMapGenerator:s.SourceMapGenerator,filePath:r.path||"unknown.js",handlers:s.handlers});return r.map=i.map,i.value}}function uo(e,t){const n=["start","end","loc","range"];let o=-1;for(;++o<n.length;){const r=n[o];r in e&&(t[r]=e[r])}}function Uf(e,t){let n=-1;const o=[],r=[];let s;for(;++n<e.length;){const i=e[n];i.type==="ImportNamespaceSpecifier"?s=i:r.push(i)}if(s){const i={type:"VariableDeclarator",id:s.local,init:t};uo(s,i),o.push(i)}return o.push({type:"VariableDeclarator",id:{type:"ObjectPattern",properties:r.map(function(i){let a=i.type==="ImportSpecifier"?i.imported:i.type==="ExportSpecifier"?i.exported:{type:"Identifier",name:"default"},c=i.local;i.type==="ExportSpecifier"&&(c=a,a=i.local),Wt(c.type==="Identifier");const l={type:"Property",kind:"init",shorthand:a.type==="Identifier"&&c.type==="Identifier"&&a.name===c.name,method:!1,computed:!1,key:a,value:c};return uo(i,l),l})},init:s?{type:"Identifier",name:s.local.name}:t}),o}function vo(e){let t=-1,n;for(;++t<e.length;){const o=e[t],r=typeof o=="string"&&Fo(o)?{type:"Identifier",name:o}:{type:"Literal",value:o};n=n?{type:"MemberExpression",object:n,property:r,computed:r.type==="Literal",optional:!1}:r}return Wt(n.type!=="Literal"),n}function Eg(e){let t=-1,n;for(;++t<e.length;){const o=e[t];Wt(typeof o=="string"&&Fo(o,{jsx:!0}));const r={type:"JSXIdentifier",name:o};n=n?{type:"JSXMemberExpression",object:n,property:r}:r}return n}function C$(e){const{outputFormat:t}=e||{};return function(n){if(n.comments&&(n.comments=n.comments.filter(function(o){return!o.data?._mdxIsPragmaComment})),t==="function-body"){let o=0;for(;o<n.body.length;){const s=n.body[o];if("directive"in s&&s.directive)o++;else break}const r=n.body[o];r&&r.type==="ImportDeclaration"&&typeof r.source.value=="string"&&/\/jsx-(dev-)?runtime$/.test(r.source.value)&&(n.body[o]={type:"VariableDeclaration",kind:"const",declarations:Uf(r.specifiers,vo(["arguments",0]))})}}}function xj(){const e=[{block:!1,defined:[]}];return{enter:t,exit:n,scopes:e};function t(s){if(s.type==="ArrowFunctionExpression"){e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="BlockStatement"||s.type==="DoWhileStatement"||s.type==="ForInStatement"||s.type==="ForOfStatement"||s.type==="ForStatement"||s.type==="WhileStatement")e.push({block:!0,defined:[]});else if(s.type==="CatchClause")e.push({block:!0,defined:[]}),s.param&&r(s.param,!0);else if(s.type==="ClassDeclaration")o(s.id.name,!1);else if(s.type==="FunctionDeclaration"){o(s.id.name,!1),e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="FunctionExpression"){s.id&&o(s.id.name,!1),e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="ImportDeclaration")for(const i of s.specifiers)o(i.local.name,!1);else if(s.type==="VariableDeclaration")for(const i of s.declarations)r(i.id,s.kind!=="var")}function n(s){if(s.type==="ArrowFunctionExpression"||s.type==="FunctionDeclaration"||s.type==="FunctionExpression"){const i=e.pop();Wt(!i.block)}else if(s.type==="BlockStatement"||s.type==="CatchClause"||s.type==="DoWhileStatement"||s.type==="ForInStatement"||s.type==="ForOfStatement"||s.type==="ForStatement"||s.type==="WhileStatement"){const i=e.pop();Wt(i.block)}}function o(s,i){let a=e.length,c;for(;a--&&(c=e[a],!(i||!c.block)););c.defined.push(s)}function r(s,i){if(s.type==="ArrayPattern")for(const a of s.elements)a&&r(a,i);else if(s.type==="AssignmentPattern")r(s.left,i);else if(s.type==="Identifier")o(s.name,i);else if(s.type==="ObjectPattern")for(const a of s.properties)a.type==="Property"?r(a.value,i):(Wt(a.type==="RestElement"),r(a,i));else Wt(s.type==="RestElement"),r(s.argument,i)}}function T$(e){return e.type==="FunctionDeclaration"?{...e,type:"FunctionExpression"}:(Wt(e.type==="ClassDeclaration"),{...e,type:"ClassExpression"})}function O$(e){return e.type==="FunctionDeclaration"||e.type==="ClassDeclaration"||e.type==="VariableDeclaration"}function R$(e){const t=e.baseUrl||void 0,n=typeof t=="object"?t.href:t,o=e.outputFormat||"program",r=e.pragma===void 0?"React.createElement":e.pragma,s=e.pragmaFrag===void 0?"React.Fragment":e.pragmaFrag,i=e.pragmaImportSource||"react",a=e.jsxImportSource||"react",c=e.jsxRuntime||"automatic";return function(m,u){const p=[],g=[];let b=0,h,y,w;if(c==="classic"&&s&&Ui(m,"@jsxFrag",s),c==="classic"&&r&&Ui(m,"@jsx",r),c==="automatic"&&a&&Ui(m,"@jsxImportSource",a),Ui(m,"@jsxRuntime",c),c==="classic"&&i){if(!r)throw new Error("Missing `pragma` in classic runtime with `pragmaImportSource`");k({type:"ImportDeclaration",specifiers:[{type:"ImportDefaultSpecifier",local:{type:"Identifier",name:r.split(".")[0]}}],attributes:[],source:{type:"Literal",value:i}})}for(w of m.body)if(w.type==="ExportDefaultDeclaration")h&&u.fail("Unexpected duplicate layout, expected a single layout (previous: "+su(gs(h))+")",{ancestors:[m,w],place:gs(w),ruleId:"duplicate-layout",source:"recma-document"}),h=w,g.push({type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"MDXLayout"},init:O$(w.declaration)?T$(w.declaration):w.declaration}]});else if(w.type==="ExportNamedDeclaration"&&w.source){const S=w.source;w.specifiers=w.specifiers.filter(function(E){if(E.exported.type==="Identifier"&&E.exported.name==="default"){h&&u.fail("Unexpected duplicate layout, expected a single layout (previous: "+su(gs(h))+")",{ancestors:[m,w,E],place:gs(w),ruleId:"duplicate-layout",source:"recma-document"}),h=E;const _=[];if(E.local.type==="Identifier"&&E.local.name==="default")_.push({type:"ImportDefaultSpecifier",local:{type:"Identifier",name:"MDXLayout"}});else{const I={type:"ImportSpecifier",imported:E.local,local:{type:"Identifier",name:"MDXLayout"}};uo(E.local,I),_.push(I)}const P={type:"Literal",value:S.value};uo(S,P);const C={type:"ImportDeclaration",specifiers:_,attributes:[],source:P};return uo(E,C),k(C),!1}return!0}),w.specifiers.length>0&&x(w)}else w.type==="ExportNamedDeclaration"||w.type==="ExportAllDeclaration"?x(w):w.type==="ImportDeclaration"?k(w):w.type==="ExpressionStatement"&&(w.expression.type==="JSXElement"||w.expression.type==="JSXFragment")?(y=!0,g.push(...l(w.expression,o,!!h))):g.push(w);y||g.push(...l(void 0,o,!!h)),p.push(["MDXContent","default"]),o==="function-body"&&g.push({type:"ReturnStatement",argument:{type:"ObjectExpression",properties:[...Array.from({length:b}).map(function(S,E){return{type:"SpreadElement",argument:{type:"Identifier",name:"_exportAll"+(E+1)}}}),...p.map(function(S){return{type:"Property",kind:"init",method:!1,computed:!1,shorthand:typeof S=="string",key:{type:"Identifier",name:typeof S=="string"?S:S[1]},value:{type:"Identifier",name:typeof S=="string"?S:S[0]}}})]}}),m.body=g;let v=!1,j=!1;(n||o==="function-body")&&_s(m,{enter(S){if((S.type==="ExportAllDeclaration"||S.type==="ExportNamedDeclaration"||S.type==="ImportDeclaration")&&S.source){let E=S.source.value;try{new URL(E)}catch{(E.startsWith("/")||E.startsWith("./")||E.startsWith("../"))&&(E=new URL(E,n).href)}const _={type:"Literal",value:E};uo(S.source,_),S.source=_;return}if(S.type==="ImportExpression"){j=!0;const E={type:"CallExpression",callee:{type:"Identifier",name:"_resolveDynamicMdxSpecifier"},arguments:[S.source],optional:!1};S.source=E;return}if(S.type==="MemberExpression"&&"object"in S&&S.object.type==="MetaProperty"&&S.property.type==="Identifier"&&S.object.meta.name==="import"&&S.object.property.name==="meta"&&S.property.name==="url"){v=!0;const E={type:"Identifier",name:"_importMetaUrl"};uo(S,E),this.replace(E)}}}),j&&(n||(v=!0),m.body.push(I$(n?{type:"Literal",value:n}:{type:"Identifier",name:"_importMetaUrl"}))),v&&m.body.unshift(...A$());function x(S){if(S.type==="ExportNamedDeclaration"){if(S.declaration){const E=xj();_s(S,{enter(_){E.enter(_),(_.type==="ArrowFunctionExpression"||_.type==="FunctionDeclaration"||_.type==="FunctionExpression")&&(this.skip(),E.exit(_))},leave:E.exit}),p.push(...E.scopes[0].defined)}for(w of S.specifiers)w.exported.type==="Identifier"?p.push(w.exported.name):(Wt(typeof w.exported.value=="string"),p.push(w.exported.value))}k(S)}function k(S){let E,_;if(o==="function-body")if(S.type==="ImportDeclaration"||S.type==="ExportAllDeclaration"||S.type==="ExportNamedDeclaration"&&S.source){Wt(S.source);const P={type:"ImportExpression",source:S.source};uo(S,P),_={type:"AwaitExpression",argument:P},(S.type==="ImportDeclaration"||S.type==="ExportNamedDeclaration")&&S.specifiers.length===0?E={type:"ExpressionStatement",expression:_}:E={type:"VariableDeclaration",kind:"const",declarations:S.type==="ExportAllDeclaration"?[{type:"VariableDeclarator",id:{type:"Identifier",name:"_exportAll"+ ++b},init:_}]:Uf(S.specifiers,_)}}else if(S.declaration)E=S.declaration;else{const P=[];for(const C of S.specifiers)C.exported.type==="Identifier"&&C.local.type==="Identifier"&&C.local.name!==C.exported.name&&P.push({type:"VariableDeclarator",id:C.exported,init:C.local});P.length>0&&(E={type:"VariableDeclaration",kind:"const",declarations:P})}else E=S;E&&g.push(E)}};function l(m,u,p){let b={type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"MDXLayout"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!1},closingElement:{type:"JSXClosingElement",name:{type:"JSXIdentifier",name:"MDXLayout"}},children:[{type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"_createMdxContent"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!0},closingElement:null,children:[]}]};p||(b={type:"ConditionalExpression",test:{type:"Identifier",name:"MDXLayout"},consequent:b,alternate:{type:"CallExpression",callee:{type:"Identifier",name:"_createMdxContent"},arguments:[{type:"Identifier",name:"props"}],optional:!1}});let h=m||{type:"Identifier",name:"undefined"};h.type==="JSXFragment"&&h.children.length===1&&h.children[0].type==="JSXElement"&&(h=h.children[0]);let y=!1;_s(h,{enter(v){if(v.type==="ArrowFunctionExpression"||v.type==="FunctionDeclaration"||v.type==="FunctionExpression")return this.skip();(v.type==="AwaitExpression"||v.type==="ForOfStatement"&&v.await)&&(y=!0)}});const w={type:"FunctionDeclaration",id:{type:"Identifier",name:"MDXContent"},params:[{type:"AssignmentPattern",left:{type:"Identifier",name:"props"},right:{type:"ObjectExpression",properties:[]}}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:b}]}};return[{type:"FunctionDeclaration",async:y,id:{type:"Identifier",name:"_createMdxContent"},params:[{type:"Identifier",name:"props"}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:h}]}},u==="program"?{type:"ExportDefaultDeclaration",declaration:w}:w]}}function Ui(e,t,n){e.comments?.unshift({type:"Block",value:t+" "+n,data:{_mdxIsPragmaComment:!0}})}function I$(e){return{type:"FunctionDeclaration",id:{type:"Identifier",name:"_resolveDynamicMdxSpecifier"},generator:!1,async:!1,params:[{type:"Identifier",name:"d"}],body:{type:"BlockStatement",body:[{type:"IfStatement",test:{type:"BinaryExpression",left:{type:"UnaryExpression",operator:"typeof",prefix:!0,argument:{type:"Identifier",name:"d"}},operator:"!==",right:{type:"Literal",value:"string"}},consequent:{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}},alternate:null},{type:"TryStatement",block:{type:"BlockStatement",body:[{type:"ExpressionStatement",expression:{type:"NewExpression",callee:{type:"Identifier",name:"URL"},arguments:[{type:"Identifier",name:"d"}]}},{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}}]},handler:{type:"CatchClause",param:null,body:{type:"BlockStatement",body:[]}},finalizer:null},{type:"IfStatement",test:{type:"LogicalExpression",left:{type:"LogicalExpression",left:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"/"}],optional:!1},operator:"||",right:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"./"}],optional:!1}},operator:"||",right:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"../"}],optional:!1}},consequent:{type:"ReturnStatement",argument:{type:"MemberExpression",object:{type:"NewExpression",callee:{type:"Identifier",name:"URL"},arguments:[{type:"Identifier",name:"d"},e]},property:{type:"Identifier",name:"href"},computed:!1,optional:!1}},alternate:null},{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}}]}}}function A$(){return[{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"_importMetaUrl"},init:vo(["arguments",0,"baseUrl"])}],kind:"const"},{type:"IfStatement",test:{type:"UnaryExpression",operator:"!",prefix:!0,argument:{type:"Identifier",name:"_importMetaUrl"}},consequent:{type:"ThrowStatement",argument:{type:"NewExpression",callee:{type:"Identifier",name:"Error"},arguments:[{type:"Literal",value:"Unexpected missing `options.baseUrl` needed to support `export … from`, `import`, or `import.meta.url` when generating `function-body`"}]}},alternate:null}]}function Pg(e){let t=-1,n;for(;++t<e.length;){const o=e[t];n=n?{type:"BinaryExpression",left:n,operator:"+",right:o}:o}return n}function N$(e){const{development:t,outputFormat:n,providerImportSource:o}=e;return function(r,s){const i=xj(),a=[];let c=!1,l=!1;if(_s(r,{enter(m){i.enter(m),(m.type==="FunctionDeclaration"||m.type==="FunctionExpression"||m.type==="ArrowFunctionExpression")&&(a.push({components:[],idToInvalidComponentName:new Map,node:m,objects:[],references:{},tags:[]}),ir(m,"MDXContent")&&!Tl(i.scopes,"MDXLayout")&&a[0].components.push("MDXLayout"));const u=a[0];if(!(!u||!ir(u.node,"_createMdxContent")&&!o)&&m.type==="JSXElement"){let p=m.openingElement.name;if(p.type==="JSXMemberExpression"){const g=[];for(;p.type==="JSXMemberExpression";)g.unshift(p.property.name),p=p.object;g.unshift(p.name);const b=g.join("."),h=p.name,y=Tl(i.scopes,h);!Object.hasOwn(u.references,b)&&(!y||a.length===1&&a[0].node.type==="FunctionDeclaration"&&ir(a[0].node,"_createMdxContent"))&&(u.references[b]={component:!0,node:m}),!u.objects.includes(h)&&!y&&u.objects.push(h)}else if(p.type!=="JSXNamespacedName"){if(Fo(p.name)&&!/^[a-z]/.test(p.name)){const g=p.name;Tl(i.scopes,g)||(g!=="MDXLayout"&&!Object.hasOwn(u.references,g)&&(u.references[g]={component:!0,node:m}),u.components.includes(g)||u.components.push(g))}else if(!(m.data&&m.data._mdxExplicitJsx)){const g=p.name;u.tags.includes(g)||u.tags.push(g);let b=["_components",g];if(Fo(g)===!1){let h=u.idToInvalidComponentName.get(g);h===void 0&&(h=`_component${u.idToInvalidComponentName.size}`,u.idToInvalidComponentName.set(g,h)),b=[h]}m.openingElement.name=Eg(b),m.closingElement&&(m.closingElement.name=Eg(b))}}}},leave(m){i.exit(m);const u=[],p=[],g=[],b=[];if(m.type==="FunctionDeclaration"||m.type==="FunctionExpression"||m.type==="ArrowFunctionExpression"){const h=a[a.length-1];let y;for(y of h.tags.sort())u.push({type:"Property",kind:"init",key:Fo(y)?{type:"Identifier",name:y}:{type:"Literal",value:y},value:{type:"Literal",value:y},method:!1,shorthand:!1,computed:!1});p.push(...h.components);for(y of h.objects)p.includes(y)||p.push(y);p.sort();const w=[];if(u.length>0||p.length>0||h.idToInvalidComponentName.size>0){if(o&&(c=!0,g.push({type:"CallExpression",callee:{type:"Identifier",name:"_provideComponents"},arguments:[],optional:!1})),(ir(h.node,"MDXContent")||ir(h.node,"_createMdxContent"))&&g.push(vo(["props","components"])),u.length>0||g.length>1)for(const E of g)u.push({type:"SpreadElement",argument:E});let k=u.length>0?{type:"ObjectExpression",properties:u}:{type:"LogicalExpression",operator:"||",left:g[0],right:{type:"ObjectExpression",properties:[]}},S;if(p.length>0&&(S={type:"ObjectPattern",properties:p.map(function(E){return{type:"Property",kind:"init",key:{type:"Identifier",name:E==="MDXLayout"?"wrapper":E},value:{type:"Identifier",name:E},method:!1,shorthand:E!=="MDXLayout",computed:!1}})}),h.tags.length>0&&(b.push({type:"VariableDeclarator",id:{type:"Identifier",name:"_components"},init:k}),k={type:"Identifier",name:"_components"}),ir(h.node,"_createMdxContent"))for(const[E,_]of[...h.idToInvalidComponentName].sort(function([P],[C]){return P.localeCompare(C)}))b.push({type:"VariableDeclarator",id:{type:"Identifier",name:_},init:{type:"MemberExpression",object:{type:"Identifier",name:"_components"},property:{type:"Literal",value:E},computed:!0,optional:!1}});S&&b.push({type:"VariableDeclarator",id:S,init:k}),b.length>0&&w.push({type:"VariableDeclaration",kind:"const",declarations:b})}let v;for(v in h.references)if(Object.hasOwn(h.references,v)){const k=v.split(".");let S=0;for(;++S<k.length;){const E=k.slice(0,S).join(".");Object.hasOwn(h.references,E)||(h.references[E]={component:!1,node:h.references[v].node})}}const j=Object.keys(h.references).sort();let x=-1;for(;++x<j.length;){const k=j[x],S=h.references[k],E=su(gs(S.node)),_=[{type:"Literal",value:k},{type:"Literal",value:S.component}];l=!0,t&&E&&_.push({type:"Literal",value:E}),w.push({type:"IfStatement",test:{type:"UnaryExpression",operator:"!",prefix:!0,argument:vo(k.split("."))},consequent:{type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"Identifier",name:"_missingMdxReference"},arguments:_,optional:!1}},alternate:void 0})}w.length>0&&(m.body.type!=="BlockStatement"&&(m.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:m.body}]}),m.body.body.unshift(...w)),a.pop()}}}),c&&o&&r.body.unshift(M$(o,n)),l){const m=[{type:"Literal",value:"Expected "},{type:"ConditionalExpression",test:{type:"Identifier",name:"component"},consequent:{type:"Literal",value:"component"},alternate:{type:"Literal",value:"object"}},{type:"Literal",value:" `"},{type:"Identifier",name:"id"},{type:"Literal",value:"` to be defined: you likely forgot to import, pass, or provide it."}],u=[{type:"Identifier",name:"id"},{type:"Identifier",name:"component"}];t&&(m.push({type:"ConditionalExpression",test:{type:"Identifier",name:"place"},consequent:Pg([{type:"Literal",value:"\nIt’s referenced in your code at `"},{type:"Identifier",name:"place"},{type:"Literal",value:(s.path?"` in `"+s.path:"")+"`"}]),alternate:{type:"Literal",value:""}}),u.push({type:"Identifier",name:"place"})),r.body.push({type:"FunctionDeclaration",id:{type:"Identifier",name:"_missingMdxReference"},generator:!1,async:!1,params:u,body:{type:"BlockStatement",body:[{type:"ThrowStatement",argument:{type:"NewExpression",callee:{type:"Identifier",name:"Error"},arguments:[Pg(m)]}}]}})}n==="function-body"&&r.body.unshift({type:"ExpressionStatement",expression:{type:"Literal",value:"use strict"},directive:"use strict"})}}function M$(e,t){const n=[{type:"ImportSpecifier",imported:{type:"Identifier",name:"useMDXComponents"},local:{type:"Identifier",name:"_provideComponents"}}];return t==="function-body"?{type:"VariableDeclaration",kind:"const",declarations:Uf(n,vo(["arguments",0]))}:{type:"ImportDeclaration",specifiers:n,attributes:[],source:{type:"Literal",value:e}}}function ir(e,t){return!!(e&&"id"in e&&e.id&&e.id.name===t)}function Tl(e,t){let n=e.length;for(;n--;)if(e[n].defined.includes(t))return!0;return!1}const D$=["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"];let Cg=!1;function F$(e){const t=e||{};t.format,(t.jsxRuntime==="classic"||t.pragma||t.pragmaFrag||t.pragmaImportSource)&&!Cg&&(Cg=!0,console.warn("Unexpected deprecated option `jsxRuntime: 'classic'`, `pragma`, `pragmaFrag`, or `pragmaImportSource`; see <https://mdxjs.com/migrating/v3/> on how to migrate"));const n=ZS().use(YS);t.format!=="md"&&n.use(XS);const o=t.remarkRehypeOptions||{};return n.use(JS).use(t.remarkPlugins||[]).use(QS,{...o,allowDangerousHtml:!0,passThrough:[...o.passThrough||[],...D$]}).use(t.rehypePlugins||[]),t.format==="md"&&n.use(e0),n.use(t0,t).use(R$,t).use(N$,t),t.jsx||n.use(e$,t).use(C$,t),n.use(E$).use(P$,t).use(t.recmaPlugins||[]),n}function $$(e,t){const{file:n,options:o}=YF(e,t);return F$(o).process(n)}function L$(e){const{Fragment:t,baseUrl:n,development:o,jsx:r,jsxDEV:s,jsxs:i,useMDXComponents:a,...c}=e||{};if(!t)throw new Error("Expected `Fragment` given to `evaluate`");if(o){if(!s)throw new Error("Expected `jsxDEV` given to `evaluate`")}else{if(!r)throw new Error("Expected `jsx` given to `evaluate`");if(!i)throw new Error("Expected `jsxs` given to `evaluate`")}return{compiletime:{...c,development:o,outputFormat:"function-body",providerImportSource:a?"#":void 0},runtime:{Fragment:t,baseUrl:n,jsx:r,jsxDEV:s,jsxs:i,useMDXComponents:a}}}const B$=Object.getPrototypeOf(jj).constructor;async function jj(e,t){return new B$(String(e))(t)}async function z$(e,t){const{compiletime:n,runtime:o}=L$(t);return jj(await $$(e,n),o)}const _j=(...e)=>e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim();const V$=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const U$=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,o)=>o?o.toUpperCase():n.toLowerCase());const Tg=e=>{const t=U$(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ol={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const H$=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},K$=f.createContext({}),q$=()=>f.useContext(K$),W$=f.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:o,className:r="",children:s,iconNode:i,...a},c)=>{const{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:g=""}=q$()??{},b=o??u?Number(n??m)*24/Number(t??l):n??m;return f.createElement("svg",{ref:c,...Ol,width:t??l??Ol.width,height:t??l??Ol.height,stroke:e??p,strokeWidth:b,className:_j("lucide",g,r),...!s&&!H$(a)&&{"aria-hidden":"true"},...a},[...i.map(([h,y])=>f.createElement(h,y)),...Array.isArray(s)?s:[s]])});const is=(e,t)=>{const n=f.forwardRef(({className:o,...r},s)=>f.createElement(W$,{ref:s,iconNode:t,className:_j(`lucide-${V$(Tg(e))}`,`lucide-${e}`,o),...r}));return n.displayName=Tg(e),n};const G$=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Hf=is("check",G$);const Z$=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Sj=is("chevron-down",Z$);const Y$=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],kj=is("copy",Y$);const X$=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],J$=is("hash",X$);const Q$=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],e2=is("link-2",Q$);const t2=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],n2=is("rotate-cw",t2),o2=[{emoji:"😀",names:["grinning"],tags:["smile","happy"],description:"grinning face",category:"Smileys & Emotion"},{emoji:"😃",names:["smiley"],tags:["happy","joy","haha"],description:"grinning face with big eyes",category:"Smileys & Emotion"},{emoji:"😄",names:["smile"],tags:["happy","joy","laugh","pleased"],description:"grinning face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😁",names:["grin"],tags:[],description:"beaming face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😆",names:["laughing","satisfied"],tags:["happy","haha"],description:"grinning squinting face",category:"Smileys & Emotion"},{emoji:"😅",names:["sweat_smile"],tags:["hot"],description:"grinning face with sweat",category:"Smileys & Emotion"},{emoji:"🤣",names:["rofl"],tags:["lol","laughing"],description:"rolling on the floor laughing",category:"Smileys & Emotion"},{emoji:"😂",names:["joy"],tags:["tears"],description:"face with tears of joy",category:"Smileys & Emotion"},{emoji:"🙂",names:["slightly_smiling_face"],tags:[],description:"slightly smiling face",category:"Smileys & Emotion"},{emoji:"🙃",names:["upside_down_face"],tags:[],description:"upside-down face",category:"Smileys & Emotion"},{emoji:"🫠",names:["melting_face"],tags:["sarcasm","dread"],description:"melting face",category:"Smileys & Emotion"},{emoji:"😉",names:["wink"],tags:["flirt"],description:"winking face",category:"Smileys & Emotion"},{emoji:"😊",names:["blush"],tags:["proud"],description:"smiling face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😇",names:["innocent"],tags:["angel"],description:"smiling face with halo",category:"Smileys & Emotion"},{emoji:"🥰",names:["smiling_face_with_three_hearts"],tags:["love"],description:"smiling face with hearts",category:"Smileys & Emotion"},{emoji:"😍",names:["heart_eyes"],tags:["love","crush"],description:"smiling face with heart-eyes",category:"Smileys & Emotion"},{emoji:"🤩",names:["star_struck"],tags:["eyes"],description:"star-struck",category:"Smileys & Emotion"},{emoji:"😘",names:["kissing_heart"],tags:["flirt"],description:"face blowing a kiss",category:"Smileys & Emotion"},{emoji:"😗",names:["kissing"],tags:[],description:"kissing face",category:"Smileys & Emotion"},{emoji:"☺️",names:["relaxed"],tags:["blush","pleased"],description:"smiling face",category:"Smileys & Emotion"},{emoji:"😚",names:["kissing_closed_eyes"],tags:[],description:"kissing face with closed eyes",category:"Smileys & Emotion"},{emoji:"😙",names:["kissing_smiling_eyes"],tags:[],description:"kissing face with smiling eyes",category:"Smileys & Emotion"},{emoji:"🥲",names:["smiling_face_with_tear"],tags:[],description:"smiling face with tear",category:"Smileys & Emotion"},{emoji:"😋",names:["yum"],tags:["tongue","lick"],description:"face savoring food",category:"Smileys & Emotion"},{emoji:"😛",names:["stuck_out_tongue"],tags:[],description:"face with tongue",category:"Smileys & Emotion"},{emoji:"😜",names:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],description:"winking face with tongue",category:"Smileys & Emotion"},{emoji:"🤪",names:["zany_face"],tags:["goofy","wacky"],description:"zany face",category:"Smileys & Emotion"},{emoji:"😝",names:["stuck_out_tongue_closed_eyes"],tags:["prank"],description:"squinting face with tongue",category:"Smileys & Emotion"},{emoji:"🤑",names:["money_mouth_face"],tags:["rich"],description:"money-mouth face",category:"Smileys & Emotion"},{emoji:"🤗",names:["hugs"],tags:[],description:"smiling face with open hands",category:"Smileys & Emotion"},{emoji:"🤭",names:["hand_over_mouth"],tags:["quiet","whoops"],description:"face with hand over mouth",category:"Smileys & Emotion"},{emoji:"🫢",names:["face_with_open_eyes_and_hand_over_mouth"],tags:["gasp","shock"],description:"face with open eyes and hand over mouth",category:"Smileys & Emotion"},{emoji:"🫣",names:["face_with_peeking_eye"],tags:[],description:"face with peeking eye",category:"Smileys & Emotion"},{emoji:"🤫",names:["shushing_face"],tags:["silence","quiet"],description:"shushing face",category:"Smileys & Emotion"},{emoji:"🤔",names:["thinking"],tags:[],description:"thinking face",category:"Smileys & Emotion"},{emoji:"🫡",names:["saluting_face"],tags:["respect"],description:"saluting face",category:"Smileys & Emotion"},{emoji:"🤐",names:["zipper_mouth_face"],tags:["silence","hush"],description:"zipper-mouth face",category:"Smileys & Emotion"},{emoji:"🤨",names:["raised_eyebrow"],tags:["suspicious"],description:"face with raised eyebrow",category:"Smileys & Emotion"},{emoji:"😐",names:["neutral_face"],tags:["meh"],description:"neutral face",category:"Smileys & Emotion"},{emoji:"😑",names:["expressionless"],tags:[],description:"expressionless face",category:"Smileys & Emotion"},{emoji:"😶",names:["no_mouth"],tags:["mute","silence"],description:"face without mouth",category:"Smileys & Emotion"},{emoji:"🫥",names:["dotted_line_face"],tags:["invisible"],description:"dotted line face",category:"Smileys & Emotion"},{emoji:"😶‍🌫️",names:["face_in_clouds"],tags:[],description:"face in clouds",category:"Smileys & Emotion"},{emoji:"😏",names:["smirk"],tags:["smug"],description:"smirking face",category:"Smileys & Emotion"},{emoji:"😒",names:["unamused"],tags:["meh"],description:"unamused face",category:"Smileys & Emotion"},{emoji:"🙄",names:["roll_eyes"],tags:[],description:"face with rolling eyes",category:"Smileys & Emotion"},{emoji:"😬",names:["grimacing"],tags:[],description:"grimacing face",category:"Smileys & Emotion"},{emoji:"😮‍💨",names:["face_exhaling"],tags:[],description:"face exhaling",category:"Smileys & Emotion"},{emoji:"🤥",names:["lying_face"],tags:["liar"],description:"lying face",category:"Smileys & Emotion"},{emoji:"🫨",names:["shaking_face"],tags:["shock"],description:"shaking face",category:"Smileys & Emotion"},{emoji:"😌",names:["relieved"],tags:["whew"],description:"relieved face",category:"Smileys & Emotion"},{emoji:"😔",names:["pensive"],tags:[],description:"pensive face",category:"Smileys & Emotion"},{emoji:"😪",names:["sleepy"],tags:["tired"],description:"sleepy face",category:"Smileys & Emotion"},{emoji:"🤤",names:["drooling_face"],tags:[],description:"drooling face",category:"Smileys & Emotion"},{emoji:"😴",names:["sleeping"],tags:["zzz"],description:"sleeping face",category:"Smileys & Emotion"},{emoji:"😷",names:["mask"],tags:["sick","ill"],description:"face with medical mask",category:"Smileys & Emotion"},{emoji:"🤒",names:["face_with_thermometer"],tags:["sick"],description:"face with thermometer",category:"Smileys & Emotion"},{emoji:"🤕",names:["face_with_head_bandage"],tags:["hurt"],description:"face with head-bandage",category:"Smileys & Emotion"},{emoji:"🤢",names:["nauseated_face"],tags:["sick","barf","disgusted"],description:"nauseated face",category:"Smileys & Emotion"},{emoji:"🤮",names:["vomiting_face"],tags:["barf","sick"],description:"face vomiting",category:"Smileys & Emotion"},{emoji:"🤧",names:["sneezing_face"],tags:["achoo","sick"],description:"sneezing face",category:"Smileys & Emotion"},{emoji:"🥵",names:["hot_face"],tags:["heat","sweating"],description:"hot face",category:"Smileys & Emotion"},{emoji:"🥶",names:["cold_face"],tags:["freezing","ice"],description:"cold face",category:"Smileys & Emotion"},{emoji:"🥴",names:["woozy_face"],tags:["groggy"],description:"woozy face",category:"Smileys & Emotion"},{emoji:"😵",names:["dizzy_face"],tags:[],description:"face with crossed-out eyes",category:"Smileys & Emotion"},{emoji:"😵‍💫",names:["face_with_spiral_eyes"],tags:[],description:"face with spiral eyes",category:"Smileys & Emotion"},{emoji:"🤯",names:["exploding_head"],tags:["mind","blown"],description:"exploding head",category:"Smileys & Emotion"},{emoji:"🤠",names:["cowboy_hat_face"],tags:[],description:"cowboy hat face",category:"Smileys & Emotion"},{emoji:"🥳",names:["partying_face"],tags:["celebration","birthday"],description:"partying face",category:"Smileys & Emotion"},{emoji:"🥸",names:["disguised_face"],tags:[],description:"disguised face",category:"Smileys & Emotion"},{emoji:"😎",names:["sunglasses"],tags:["cool"],description:"smiling face with sunglasses",category:"Smileys & Emotion"},{emoji:"🤓",names:["nerd_face"],tags:["geek","glasses"],description:"nerd face",category:"Smileys & Emotion"},{emoji:"🧐",names:["monocle_face"],tags:[],description:"face with monocle",category:"Smileys & Emotion"},{emoji:"😕",names:["confused"],tags:[],description:"confused face",category:"Smileys & Emotion"},{emoji:"🫤",names:["face_with_diagonal_mouth"],tags:["confused"],description:"face with diagonal mouth",category:"Smileys & Emotion"},{emoji:"😟",names:["worried"],tags:["nervous"],description:"worried face",category:"Smileys & Emotion"},{emoji:"🙁",names:["slightly_frowning_face"],tags:[],description:"slightly frowning face",category:"Smileys & Emotion"},{emoji:"☹️",names:["frowning_face"],tags:[],description:"frowning face",category:"Smileys & Emotion"},{emoji:"😮",names:["open_mouth"],tags:["surprise","impressed","wow"],description:"face with open mouth",category:"Smileys & Emotion"},{emoji:"😯",names:["hushed"],tags:["silence","speechless"],description:"hushed face",category:"Smileys & Emotion"},{emoji:"😲",names:["astonished"],tags:["amazed","gasp"],description:"astonished face",category:"Smileys & Emotion"},{emoji:"😳",names:["flushed"],tags:[],description:"flushed face",category:"Smileys & Emotion"},{emoji:"🥺",names:["pleading_face"],tags:["puppy","eyes"],description:"pleading face",category:"Smileys & Emotion"},{emoji:"🥹",names:["face_holding_back_tears"],tags:["tears","gratitude"],description:"face holding back tears",category:"Smileys & Emotion"},{emoji:"😦",names:["frowning"],tags:[],description:"frowning face with open mouth",category:"Smileys & Emotion"},{emoji:"😧",names:["anguished"],tags:["stunned"],description:"anguished face",category:"Smileys & Emotion"},{emoji:"😨",names:["fearful"],tags:["scared","shocked","oops"],description:"fearful face",category:"Smileys & Emotion"},{emoji:"😰",names:["cold_sweat"],tags:["nervous"],description:"anxious face with sweat",category:"Smileys & Emotion"},{emoji:"😥",names:["disappointed_relieved"],tags:["phew","sweat","nervous"],description:"sad but relieved face",category:"Smileys & Emotion"},{emoji:"😢",names:["cry"],tags:["sad","tear"],description:"crying face",category:"Smileys & Emotion"},{emoji:"😭",names:["sob"],tags:["sad","cry","bawling"],description:"loudly crying face",category:"Smileys & Emotion"},{emoji:"😱",names:["scream"],tags:["horror","shocked"],description:"face screaming in fear",category:"Smileys & Emotion"},{emoji:"😖",names:["confounded"],tags:[],description:"confounded face",category:"Smileys & Emotion"},{emoji:"😣",names:["persevere"],tags:["struggling"],description:"persevering face",category:"Smileys & Emotion"},{emoji:"😞",names:["disappointed"],tags:["sad"],description:"disappointed face",category:"Smileys & Emotion"},{emoji:"😓",names:["sweat"],tags:[],description:"downcast face with sweat",category:"Smileys & Emotion"},{emoji:"😩",names:["weary"],tags:["tired"],description:"weary face",category:"Smileys & Emotion"},{emoji:"😫",names:["tired_face"],tags:["upset","whine"],description:"tired face",category:"Smileys & Emotion"},{emoji:"🥱",names:["yawning_face"],tags:[],description:"yawning face",category:"Smileys & Emotion"},{emoji:"😤",names:["triumph"],tags:["smug"],description:"face with steam from nose",category:"Smileys & Emotion"},{emoji:"😡",names:["rage","pout"],tags:["angry"],description:"enraged face",category:"Smileys & Emotion"},{emoji:"😠",names:["angry"],tags:["mad","annoyed"],description:"angry face",category:"Smileys & Emotion"},{emoji:"🤬",names:["cursing_face"],tags:["foul"],description:"face with symbols on mouth",category:"Smileys & Emotion"},{emoji:"😈",names:["smiling_imp"],tags:["devil","evil","horns"],description:"smiling face with horns",category:"Smileys & Emotion"},{emoji:"👿",names:["imp"],tags:["angry","devil","evil","horns"],description:"angry face with horns",category:"Smileys & Emotion"},{emoji:"💀",names:["skull"],tags:["dead","danger","poison"],description:"skull",category:"Smileys & Emotion"},{emoji:"☠️",names:["skull_and_crossbones"],tags:["danger","pirate"],description:"skull and crossbones",category:"Smileys & Emotion"},{emoji:"💩",names:["hankey","poop","shit"],tags:["crap"],description:"pile of poo",category:"Smileys & Emotion"},{emoji:"🤡",names:["clown_face"],tags:[],description:"clown face",category:"Smileys & Emotion"},{emoji:"👹",names:["japanese_ogre"],tags:["monster"],description:"ogre",category:"Smileys & Emotion"},{emoji:"👺",names:["japanese_goblin"],tags:[],description:"goblin",category:"Smileys & Emotion"},{emoji:"👻",names:["ghost"],tags:["halloween"],description:"ghost",category:"Smileys & Emotion"},{emoji:"👽",names:["alien"],tags:["ufo"],description:"alien",category:"Smileys & Emotion"},{emoji:"👾",names:["space_invader"],tags:["game","retro"],description:"alien monster",category:"Smileys & Emotion"},{emoji:"🤖",names:["robot"],tags:[],description:"robot",category:"Smileys & Emotion"},{emoji:"😺",names:["smiley_cat"],tags:[],description:"grinning cat",category:"Smileys & Emotion"},{emoji:"😸",names:["smile_cat"],tags:[],description:"grinning cat with smiling eyes",category:"Smileys & Emotion"},{emoji:"😹",names:["joy_cat"],tags:[],description:"cat with tears of joy",category:"Smileys & Emotion"},{emoji:"😻",names:["heart_eyes_cat"],tags:[],description:"smiling cat with heart-eyes",category:"Smileys & Emotion"},{emoji:"😼",names:["smirk_cat"],tags:[],description:"cat with wry smile",category:"Smileys & Emotion"},{emoji:"😽",names:["kissing_cat"],tags:[],description:"kissing cat",category:"Smileys & Emotion"},{emoji:"🙀",names:["scream_cat"],tags:["horror"],description:"weary cat",category:"Smileys & Emotion"},{emoji:"😿",names:["crying_cat_face"],tags:["sad","tear"],description:"crying cat",category:"Smileys & Emotion"},{emoji:"😾",names:["pouting_cat"],tags:[],description:"pouting cat",category:"Smileys & Emotion"},{emoji:"🙈",names:["see_no_evil"],tags:["monkey","blind","ignore"],description:"see-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙉",names:["hear_no_evil"],tags:["monkey","deaf"],description:"hear-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙊",names:["speak_no_evil"],tags:["monkey","mute","hush"],description:"speak-no-evil monkey",category:"Smileys & Emotion"},{emoji:"💌",names:["love_letter"],tags:["email","envelope"],description:"love letter",category:"Smileys & Emotion"},{emoji:"💘",names:["cupid"],tags:["love","heart"],description:"heart with arrow",category:"Smileys & Emotion"},{emoji:"💝",names:["gift_heart"],tags:["chocolates"],description:"heart with ribbon",category:"Smileys & Emotion"},{emoji:"💖",names:["sparkling_heart"],tags:[],description:"sparkling heart",category:"Smileys & Emotion"},{emoji:"💗",names:["heartpulse"],tags:[],description:"growing heart",category:"Smileys & Emotion"},{emoji:"💓",names:["heartbeat"],tags:[],description:"beating heart",category:"Smileys & Emotion"},{emoji:"💞",names:["revolving_hearts"],tags:[],description:"revolving hearts",category:"Smileys & Emotion"},{emoji:"💕",names:["two_hearts"],tags:[],description:"two hearts",category:"Smileys & Emotion"},{emoji:"💟",names:["heart_decoration"],tags:[],description:"heart decoration",category:"Smileys & Emotion"},{emoji:"❣️",names:["heavy_heart_exclamation"],tags:[],description:"heart exclamation",category:"Smileys & Emotion"},{emoji:"💔",names:["broken_heart"],tags:[],description:"broken heart",category:"Smileys & Emotion"},{emoji:"❤️‍🔥",names:["heart_on_fire"],tags:[],description:"heart on fire",category:"Smileys & Emotion"},{emoji:"❤️‍🩹",names:["mending_heart"],tags:[],description:"mending heart",category:"Smileys & Emotion"},{emoji:"❤️",names:["heart"],tags:["love"],description:"red heart",category:"Smileys & Emotion"},{emoji:"🩷",names:["pink_heart"],tags:[],description:"pink heart",category:"Smileys & Emotion"},{emoji:"🧡",names:["orange_heart"],tags:[],description:"orange heart",category:"Smileys & Emotion"},{emoji:"💛",names:["yellow_heart"],tags:[],description:"yellow heart",category:"Smileys & Emotion"},{emoji:"💚",names:["green_heart"],tags:[],description:"green heart",category:"Smileys & Emotion"},{emoji:"💙",names:["blue_heart"],tags:[],description:"blue heart",category:"Smileys & Emotion"},{emoji:"🩵",names:["light_blue_heart"],tags:[],description:"light blue heart",category:"Smileys & Emotion"},{emoji:"💜",names:["purple_heart"],tags:[],description:"purple heart",category:"Smileys & Emotion"},{emoji:"🤎",names:["brown_heart"],tags:[],description:"brown heart",category:"Smileys & Emotion"},{emoji:"🖤",names:["black_heart"],tags:[],description:"black heart",category:"Smileys & Emotion"},{emoji:"🩶",names:["grey_heart"],tags:[],description:"grey heart",category:"Smileys & Emotion"},{emoji:"🤍",names:["white_heart"],tags:[],description:"white heart",category:"Smileys & Emotion"},{emoji:"💋",names:["kiss"],tags:["lipstick"],description:"kiss mark",category:"Smileys & Emotion"},{emoji:"💯",names:["100"],tags:["score","perfect"],description:"hundred points",category:"Smileys & Emotion"},{emoji:"💢",names:["anger"],tags:["angry"],description:"anger symbol",category:"Smileys & Emotion"},{emoji:"💥",names:["boom","collision"],tags:["explode"],description:"collision",category:"Smileys & Emotion"},{emoji:"💫",names:["dizzy"],tags:["star"],description:"dizzy",category:"Smileys & Emotion"},{emoji:"💦",names:["sweat_drops"],tags:["water","workout"],description:"sweat droplets",category:"Smileys & Emotion"},{emoji:"💨",names:["dash"],tags:["wind","blow","fast"],description:"dashing away",category:"Smileys & Emotion"},{emoji:"🕳️",names:["hole"],tags:[],description:"hole",category:"Smileys & Emotion"},{emoji:"💬",names:["speech_balloon"],tags:["comment"],description:"speech balloon",category:"Smileys & Emotion"},{emoji:"👁️‍🗨️",names:["eye_speech_bubble"],tags:[],description:"eye in speech bubble",category:"Smileys & Emotion"},{emoji:"🗨️",names:["left_speech_bubble"],tags:[],description:"left speech bubble",category:"Smileys & Emotion"},{emoji:"🗯️",names:["right_anger_bubble"],tags:[],description:"right anger bubble",category:"Smileys & Emotion"},{emoji:"💭",names:["thought_balloon"],tags:["thinking"],description:"thought balloon",category:"Smileys & Emotion"},{emoji:"💤",names:["zzz"],tags:["sleeping"],description:"ZZZ",category:"Smileys & Emotion"},{emoji:"👋",names:["wave"],tags:["goodbye"],description:"waving hand",category:"People & Body"},{emoji:"🤚",names:["raised_back_of_hand"],tags:[],description:"raised back of hand",category:"People & Body"},{emoji:"🖐️",names:["raised_hand_with_fingers_splayed"],tags:[],description:"hand with fingers splayed",category:"People & Body"},{emoji:"✋",names:["hand","raised_hand"],tags:["highfive","stop"],description:"raised hand",category:"People & Body"},{emoji:"🖖",names:["vulcan_salute"],tags:["prosper","spock"],description:"vulcan salute",category:"People & Body"},{emoji:"🫱",names:["rightwards_hand"],tags:[],description:"rightwards hand",category:"People & Body"},{emoji:"🫲",names:["leftwards_hand"],tags:[],description:"leftwards hand",category:"People & Body"},{emoji:"🫳",names:["palm_down_hand"],tags:[],description:"palm down hand",category:"People & Body"},{emoji:"🫴",names:["palm_up_hand"],tags:[],description:"palm up hand",category:"People & Body"},{emoji:"🫷",names:["leftwards_pushing_hand"],tags:[],description:"leftwards pushing hand",category:"People & Body"},{emoji:"🫸",names:["rightwards_pushing_hand"],tags:[],description:"rightwards pushing hand",category:"People & Body"},{emoji:"👌",names:["ok_hand"],tags:[],description:"OK hand",category:"People & Body"},{emoji:"🤌",names:["pinched_fingers"],tags:[],description:"pinched fingers",category:"People & Body"},{emoji:"🤏",names:["pinching_hand"],tags:[],description:"pinching hand",category:"People & Body"},{emoji:"✌️",names:["v"],tags:["victory","peace"],description:"victory hand",category:"People & Body"},{emoji:"🤞",names:["crossed_fingers"],tags:["luck","hopeful"],description:"crossed fingers",category:"People & Body"},{emoji:"🫰",names:["hand_with_index_finger_and_thumb_crossed"],tags:[],description:"hand with index finger and thumb crossed",category:"People & Body"},{emoji:"🤟",names:["love_you_gesture"],tags:[],description:"love-you gesture",category:"People & Body"},{emoji:"🤘",names:["metal"],tags:[],description:"sign of the horns",category:"People & Body"},{emoji:"🤙",names:["call_me_hand"],tags:[],description:"call me hand",category:"People & Body"},{emoji:"👈",names:["point_left"],tags:[],description:"backhand index pointing left",category:"People & Body"},{emoji:"👉",names:["point_right"],tags:[],description:"backhand index pointing right",category:"People & Body"},{emoji:"👆",names:["point_up_2"],tags:[],description:"backhand index pointing up",category:"People & Body"},{emoji:"🖕",names:["middle_finger","fu"],tags:[],description:"middle finger",category:"People & Body"},{emoji:"👇",names:["point_down"],tags:[],description:"backhand index pointing down",category:"People & Body"},{emoji:"☝️",names:["point_up"],tags:[],description:"index pointing up",category:"People & Body"},{emoji:"🫵",names:["index_pointing_at_the_viewer"],tags:[],description:"index pointing at the viewer",category:"People & Body"},{emoji:"👍",names:["+1","thumbsup"],tags:["approve","ok"],description:"thumbs up",category:"People & Body"},{emoji:"👎",names:["-1","thumbsdown"],tags:["disapprove","bury"],description:"thumbs down",category:"People & Body"},{emoji:"✊",names:["fist_raised","fist"],tags:["power"],description:"raised fist",category:"People & Body"},{emoji:"👊",names:["fist_oncoming","facepunch","punch"],tags:["attack"],description:"oncoming fist",category:"People & Body"},{emoji:"🤛",names:["fist_left"],tags:[],description:"left-facing fist",category:"People & Body"},{emoji:"🤜",names:["fist_right"],tags:[],description:"right-facing fist",category:"People & Body"},{emoji:"👏",names:["clap"],tags:["praise","applause"],description:"clapping hands",category:"People & Body"},{emoji:"🙌",names:["raised_hands"],tags:["hooray"],description:"raising hands",category:"People & Body"},{emoji:"🫶",names:["heart_hands"],tags:["love"],description:"heart hands",category:"People & Body"},{emoji:"👐",names:["open_hands"],tags:[],description:"open hands",category:"People & Body"},{emoji:"🤲",names:["palms_up_together"],tags:[],description:"palms up together",category:"People & Body"},{emoji:"🤝",names:["handshake"],tags:["deal"],description:"handshake",category:"People & Body"},{emoji:"🙏",names:["pray"],tags:["please","hope","wish"],description:"folded hands",category:"People & Body"},{emoji:"✍️",names:["writing_hand"],tags:[],description:"writing hand",category:"People & Body"},{emoji:"💅",names:["nail_care"],tags:["beauty","manicure"],description:"nail polish",category:"People & Body"},{emoji:"🤳",names:["selfie"],tags:[],description:"selfie",category:"People & Body"},{emoji:"💪",names:["muscle"],tags:["flex","bicep","strong","workout"],description:"flexed biceps",category:"People & Body"},{emoji:"🦾",names:["mechanical_arm"],tags:[],description:"mechanical arm",category:"People & Body"},{emoji:"🦿",names:["mechanical_leg"],tags:[],description:"mechanical leg",category:"People & Body"},{emoji:"🦵",names:["leg"],tags:[],description:"leg",category:"People & Body"},{emoji:"🦶",names:["foot"],tags:[],description:"foot",category:"People & Body"},{emoji:"👂",names:["ear"],tags:["hear","sound","listen"],description:"ear",category:"People & Body"},{emoji:"🦻",names:["ear_with_hearing_aid"],tags:[],description:"ear with hearing aid",category:"People & Body"},{emoji:"👃",names:["nose"],tags:["smell"],description:"nose",category:"People & Body"},{emoji:"🧠",names:["brain"],tags:[],description:"brain",category:"People & Body"},{emoji:"🫀",names:["anatomical_heart"],tags:[],description:"anatomical heart",category:"People & Body"},{emoji:"🫁",names:["lungs"],tags:[],description:"lungs",category:"People & Body"},{emoji:"🦷",names:["tooth"],tags:[],description:"tooth",category:"People & Body"},{emoji:"🦴",names:["bone"],tags:[],description:"bone",category:"People & Body"},{emoji:"👀",names:["eyes"],tags:["look","see","watch"],description:"eyes",category:"People & Body"},{emoji:"👁️",names:["eye"],tags:[],description:"eye",category:"People & Body"},{emoji:"👅",names:["tongue"],tags:["taste"],description:"tongue",category:"People & Body"},{emoji:"👄",names:["lips"],tags:["kiss"],description:"mouth",category:"People & Body"},{emoji:"🫦",names:["biting_lip"],tags:[],description:"biting lip",category:"People & Body"},{emoji:"👶",names:["baby"],tags:["child","newborn"],description:"baby",category:"People & Body"},{emoji:"🧒",names:["child"],tags:[],description:"child",category:"People & Body"},{emoji:"👦",names:["boy"],tags:["child"],description:"boy",category:"People & Body"},{emoji:"👧",names:["girl"],tags:["child"],description:"girl",category:"People & Body"},{emoji:"🧑",names:["adult"],tags:[],description:"person",category:"People & Body"},{emoji:"👱",names:["blond_haired_person"],tags:[],description:"person: blond hair",category:"People & Body"},{emoji:"👨",names:["man"],tags:["mustache","father","dad"],description:"man",category:"People & Body"},{emoji:"🧔",names:["bearded_person"],tags:[],description:"person: beard",category:"People & Body"},{emoji:"🧔‍♂️",names:["man_beard"],tags:[],description:"man: beard",category:"People & Body"},{emoji:"🧔‍♀️",names:["woman_beard"],tags:[],description:"woman: beard",category:"People & Body"},{emoji:"👨‍🦰",names:["red_haired_man"],tags:[],description:"man: red hair",category:"People & Body"},{emoji:"👨‍🦱",names:["curly_haired_man"],tags:[],description:"man: curly hair",category:"People & Body"},{emoji:"👨‍🦳",names:["white_haired_man"],tags:[],description:"man: white hair",category:"People & Body"},{emoji:"👨‍🦲",names:["bald_man"],tags:[],description:"man: bald",category:"People & Body"},{emoji:"👩",names:["woman"],tags:["girls"],description:"woman",category:"People & Body"},{emoji:"👩‍🦰",names:["red_haired_woman"],tags:[],description:"woman: red hair",category:"People & Body"},{emoji:"🧑‍🦰",names:["person_red_hair"],tags:[],description:"person: red hair",category:"People & Body"},{emoji:"👩‍🦱",names:["curly_haired_woman"],tags:[],description:"woman: curly hair",category:"People & Body"},{emoji:"🧑‍🦱",names:["person_curly_hair"],tags:[],description:"person: curly hair",category:"People & Body"},{emoji:"👩‍🦳",names:["white_haired_woman"],tags:[],description:"woman: white hair",category:"People & Body"},{emoji:"🧑‍🦳",names:["person_white_hair"],tags:[],description:"person: white hair",category:"People & Body"},{emoji:"👩‍🦲",names:["bald_woman"],tags:[],description:"woman: bald",category:"People & Body"},{emoji:"🧑‍🦲",names:["person_bald"],tags:[],description:"person: bald",category:"People & Body"},{emoji:"👱‍♀️",names:["blond_haired_woman","blonde_woman"],tags:[],description:"woman: blond hair",category:"People & Body"},{emoji:"👱‍♂️",names:["blond_haired_man"],tags:[],description:"man: blond hair",category:"People & Body"},{emoji:"🧓",names:["older_adult"],tags:[],description:"older person",category:"People & Body"},{emoji:"👴",names:["older_man"],tags:[],description:"old man",category:"People & Body"},{emoji:"👵",names:["older_woman"],tags:[],description:"old woman",category:"People & Body"},{emoji:"🙍",names:["frowning_person"],tags:[],description:"person frowning",category:"People & Body"},{emoji:"🙍‍♂️",names:["frowning_man"],tags:[],description:"man frowning",category:"People & Body"},{emoji:"🙍‍♀️",names:["frowning_woman"],tags:[],description:"woman frowning",category:"People & Body"},{emoji:"🙎",names:["pouting_face"],tags:[],description:"person pouting",category:"People & Body"},{emoji:"🙎‍♂️",names:["pouting_man"],tags:[],description:"man pouting",category:"People & Body"},{emoji:"🙎‍♀️",names:["pouting_woman"],tags:[],description:"woman pouting",category:"People & Body"},{emoji:"🙅",names:["no_good"],tags:["stop","halt","denied"],description:"person gesturing NO",category:"People & Body"},{emoji:"🙅‍♂️",names:["no_good_man","ng_man"],tags:["stop","halt","denied"],description:"man gesturing NO",category:"People & Body"},{emoji:"🙅‍♀️",names:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],description:"woman gesturing NO",category:"People & Body"},{emoji:"🙆",names:["ok_person"],tags:[],description:"person gesturing OK",category:"People & Body"},{emoji:"🙆‍♂️",names:["ok_man"],tags:[],description:"man gesturing OK",category:"People & Body"},{emoji:"🙆‍♀️",names:["ok_woman"],tags:[],description:"woman gesturing OK",category:"People & Body"},{emoji:"💁",names:["tipping_hand_person","information_desk_person"],tags:[],description:"person tipping hand",category:"People & Body"},{emoji:"💁‍♂️",names:["tipping_hand_man","sassy_man"],tags:["information"],description:"man tipping hand",category:"People & Body"},{emoji:"💁‍♀️",names:["tipping_hand_woman","sassy_woman"],tags:["information"],description:"woman tipping hand",category:"People & Body"},{emoji:"🙋",names:["raising_hand"],tags:[],description:"person raising hand",category:"People & Body"},{emoji:"🙋‍♂️",names:["raising_hand_man"],tags:[],description:"man raising hand",category:"People & Body"},{emoji:"🙋‍♀️",names:["raising_hand_woman"],tags:[],description:"woman raising hand",category:"People & Body"},{emoji:"🧏",names:["deaf_person"],tags:[],description:"deaf person",category:"People & Body"},{emoji:"🧏‍♂️",names:["deaf_man"],tags:[],description:"deaf man",category:"People & Body"},{emoji:"🧏‍♀️",names:["deaf_woman"],tags:[],description:"deaf woman",category:"People & Body"},{emoji:"🙇",names:["bow"],tags:["respect","thanks"],description:"person bowing",category:"People & Body"},{emoji:"🙇‍♂️",names:["bowing_man"],tags:["respect","thanks"],description:"man bowing",category:"People & Body"},{emoji:"🙇‍♀️",names:["bowing_woman"],tags:["respect","thanks"],description:"woman bowing",category:"People & Body"},{emoji:"🤦",names:["facepalm"],tags:[],description:"person facepalming",category:"People & Body"},{emoji:"🤦‍♂️",names:["man_facepalming"],tags:[],description:"man facepalming",category:"People & Body"},{emoji:"🤦‍♀️",names:["woman_facepalming"],tags:[],description:"woman facepalming",category:"People & Body"},{emoji:"🤷",names:["shrug"],tags:[],description:"person shrugging",category:"People & Body"},{emoji:"🤷‍♂️",names:["man_shrugging"],tags:[],description:"man shrugging",category:"People & Body"},{emoji:"🤷‍♀️",names:["woman_shrugging"],tags:[],description:"woman shrugging",category:"People & Body"},{emoji:"🧑‍⚕️",names:["health_worker"],tags:[],description:"health worker",category:"People & Body"},{emoji:"👨‍⚕️",names:["man_health_worker"],tags:["doctor","nurse"],description:"man health worker",category:"People & Body"},{emoji:"👩‍⚕️",names:["woman_health_worker"],tags:["doctor","nurse"],description:"woman health worker",category:"People & Body"},{emoji:"🧑‍🎓",names:["student"],tags:[],description:"student",category:"People & Body"},{emoji:"👨‍🎓",names:["man_student"],tags:["graduation"],description:"man student",category:"People & Body"},{emoji:"👩‍🎓",names:["woman_student"],tags:["graduation"],description:"woman student",category:"People & Body"},{emoji:"🧑‍🏫",names:["teacher"],tags:[],description:"teacher",category:"People & Body"},{emoji:"👨‍🏫",names:["man_teacher"],tags:["school","professor"],description:"man teacher",category:"People & Body"},{emoji:"👩‍🏫",names:["woman_teacher"],tags:["school","professor"],description:"woman teacher",category:"People & Body"},{emoji:"🧑‍⚖️",names:["judge"],tags:[],description:"judge",category:"People & Body"},{emoji:"👨‍⚖️",names:["man_judge"],tags:["justice"],description:"man judge",category:"People & Body"},{emoji:"👩‍⚖️",names:["woman_judge"],tags:["justice"],description:"woman judge",category:"People & Body"},{emoji:"🧑‍🌾",names:["farmer"],tags:[],description:"farmer",category:"People & Body"},{emoji:"👨‍🌾",names:["man_farmer"],tags:[],description:"man farmer",category:"People & Body"},{emoji:"👩‍🌾",names:["woman_farmer"],tags:[],description:"woman farmer",category:"People & Body"},{emoji:"🧑‍🍳",names:["cook"],tags:[],description:"cook",category:"People & Body"},{emoji:"👨‍🍳",names:["man_cook"],tags:["chef"],description:"man cook",category:"People & Body"},{emoji:"👩‍🍳",names:["woman_cook"],tags:["chef"],description:"woman cook",category:"People & Body"},{emoji:"🧑‍🔧",names:["mechanic"],tags:[],description:"mechanic",category:"People & Body"},{emoji:"👨‍🔧",names:["man_mechanic"],tags:[],description:"man mechanic",category:"People & Body"},{emoji:"👩‍🔧",names:["woman_mechanic"],tags:[],description:"woman mechanic",category:"People & Body"},{emoji:"🧑‍🏭",names:["factory_worker"],tags:[],description:"factory worker",category:"People & Body"},{emoji:"👨‍🏭",names:["man_factory_worker"],tags:[],description:"man factory worker",category:"People & Body"},{emoji:"👩‍🏭",names:["woman_factory_worker"],tags:[],description:"woman factory worker",category:"People & Body"},{emoji:"🧑‍💼",names:["office_worker"],tags:[],description:"office worker",category:"People & Body"},{emoji:"👨‍💼",names:["man_office_worker"],tags:["business"],description:"man office worker",category:"People & Body"},{emoji:"👩‍💼",names:["woman_office_worker"],tags:["business"],description:"woman office worker",category:"People & Body"},{emoji:"🧑‍🔬",names:["scientist"],tags:[],description:"scientist",category:"People & Body"},{emoji:"👨‍🔬",names:["man_scientist"],tags:["research"],description:"man scientist",category:"People & Body"},{emoji:"👩‍🔬",names:["woman_scientist"],tags:["research"],description:"woman scientist",category:"People & Body"},{emoji:"🧑‍💻",names:["technologist"],tags:[],description:"technologist",category:"People & Body"},{emoji:"👨‍💻",names:["man_technologist"],tags:["coder"],description:"man technologist",category:"People & Body"},{emoji:"👩‍💻",names:["woman_technologist"],tags:["coder"],description:"woman technologist",category:"People & Body"},{emoji:"🧑‍🎤",names:["singer"],tags:[],description:"singer",category:"People & Body"},{emoji:"👨‍🎤",names:["man_singer"],tags:["rockstar"],description:"man singer",category:"People & Body"},{emoji:"👩‍🎤",names:["woman_singer"],tags:["rockstar"],description:"woman singer",category:"People & Body"},{emoji:"🧑‍🎨",names:["artist"],tags:[],description:"artist",category:"People & Body"},{emoji:"👨‍🎨",names:["man_artist"],tags:["painter"],description:"man artist",category:"People & Body"},{emoji:"👩‍🎨",names:["woman_artist"],tags:["painter"],description:"woman artist",category:"People & Body"},{emoji:"🧑‍✈️",names:["pilot"],tags:[],description:"pilot",category:"People & Body"},{emoji:"👨‍✈️",names:["man_pilot"],tags:[],description:"man pilot",category:"People & Body"},{emoji:"👩‍✈️",names:["woman_pilot"],tags:[],description:"woman pilot",category:"People & Body"},{emoji:"🧑‍🚀",names:["astronaut"],tags:[],description:"astronaut",category:"People & Body"},{emoji:"👨‍🚀",names:["man_astronaut"],tags:["space"],description:"man astronaut",category:"People & Body"},{emoji:"👩‍🚀",names:["woman_astronaut"],tags:["space"],description:"woman astronaut",category:"People & Body"},{emoji:"🧑‍🚒",names:["firefighter"],tags:[],description:"firefighter",category:"People & Body"},{emoji:"👨‍🚒",names:["man_firefighter"],tags:[],description:"man firefighter",category:"People & Body"},{emoji:"👩‍🚒",names:["woman_firefighter"],tags:[],description:"woman firefighter",category:"People & Body"},{emoji:"👮",names:["police_officer","cop"],tags:["law"],description:"police officer",category:"People & Body"},{emoji:"👮‍♂️",names:["policeman"],tags:["law","cop"],description:"man police officer",category:"People & Body"},{emoji:"👮‍♀️",names:["policewoman"],tags:["law","cop"],description:"woman police officer",category:"People & Body"},{emoji:"🕵️",names:["detective"],tags:["sleuth"],description:"detective",category:"People & Body"},{emoji:"🕵️‍♂️",names:["male_detective"],tags:["sleuth"],description:"man detective",category:"People & Body"},{emoji:"🕵️‍♀️",names:["female_detective"],tags:["sleuth"],description:"woman detective",category:"People & Body"},{emoji:"💂",names:["guard"],tags:[],description:"guard",category:"People & Body"},{emoji:"💂‍♂️",names:["guardsman"],tags:[],description:"man guard",category:"People & Body"},{emoji:"💂‍♀️",names:["guardswoman"],tags:[],description:"woman guard",category:"People & Body"},{emoji:"🥷",names:["ninja"],tags:[],description:"ninja",category:"People & Body"},{emoji:"👷",names:["construction_worker"],tags:["helmet"],description:"construction worker",category:"People & Body"},{emoji:"👷‍♂️",names:["construction_worker_man"],tags:["helmet"],description:"man construction worker",category:"People & Body"},{emoji:"👷‍♀️",names:["construction_worker_woman"],tags:["helmet"],description:"woman construction worker",category:"People & Body"},{emoji:"🫅",names:["person_with_crown"],tags:[],description:"person with crown",category:"People & Body"},{emoji:"🤴",names:["prince"],tags:["crown","royal"],description:"prince",category:"People & Body"},{emoji:"👸",names:["princess"],tags:["crown","royal"],description:"princess",category:"People & Body"},{emoji:"👳",names:["person_with_turban"],tags:[],description:"person wearing turban",category:"People & Body"},{emoji:"👳‍♂️",names:["man_with_turban"],tags:[],description:"man wearing turban",category:"People & Body"},{emoji:"👳‍♀️",names:["woman_with_turban"],tags:[],description:"woman wearing turban",category:"People & Body"},{emoji:"👲",names:["man_with_gua_pi_mao"],tags:[],description:"person with skullcap",category:"People & Body"},{emoji:"🧕",names:["woman_with_headscarf"],tags:["hijab"],description:"woman with headscarf",category:"People & Body"},{emoji:"🤵",names:["person_in_tuxedo"],tags:["groom","marriage","wedding"],description:"person in tuxedo",category:"People & Body"},{emoji:"🤵‍♂️",names:["man_in_tuxedo"],tags:[],description:"man in tuxedo",category:"People & Body"},{emoji:"🤵‍♀️",names:["woman_in_tuxedo"],tags:[],description:"woman in tuxedo",category:"People & Body"},{emoji:"👰",names:["person_with_veil"],tags:["marriage","wedding"],description:"person with veil",category:"People & Body"},{emoji:"👰‍♂️",names:["man_with_veil"],tags:[],description:"man with veil",category:"People & Body"},{emoji:"👰‍♀️",names:["woman_with_veil","bride_with_veil"],tags:[],description:"woman with veil",category:"People & Body"},{emoji:"🤰",names:["pregnant_woman"],tags:[],description:"pregnant woman",category:"People & Body"},{emoji:"🫃",names:["pregnant_man"],tags:[],description:"pregnant man",category:"People & Body"},{emoji:"🫄",names:["pregnant_person"],tags:[],description:"pregnant person",category:"People & Body"},{emoji:"🤱",names:["breast_feeding"],tags:["nursing"],description:"breast-feeding",category:"People & Body"},{emoji:"👩‍🍼",names:["woman_feeding_baby"],tags:[],description:"woman feeding baby",category:"People & Body"},{emoji:"👨‍🍼",names:["man_feeding_baby"],tags:[],description:"man feeding baby",category:"People & Body"},{emoji:"🧑‍🍼",names:["person_feeding_baby"],tags:[],description:"person feeding baby",category:"People & Body"},{emoji:"👼",names:["angel"],tags:[],description:"baby angel",category:"People & Body"},{emoji:"🎅",names:["santa"],tags:["christmas"],description:"Santa Claus",category:"People & Body"},{emoji:"🤶",names:["mrs_claus"],tags:["santa"],description:"Mrs. Claus",category:"People & Body"},{emoji:"🧑‍🎄",names:["mx_claus"],tags:[],description:"mx claus",category:"People & Body"},{emoji:"🦸",names:["superhero"],tags:[],description:"superhero",category:"People & Body"},{emoji:"🦸‍♂️",names:["superhero_man"],tags:[],description:"man superhero",category:"People & Body"},{emoji:"🦸‍♀️",names:["superhero_woman"],tags:[],description:"woman superhero",category:"People & Body"},{emoji:"🦹",names:["supervillain"],tags:[],description:"supervillain",category:"People & Body"},{emoji:"🦹‍♂️",names:["supervillain_man"],tags:[],description:"man supervillain",category:"People & Body"},{emoji:"🦹‍♀️",names:["supervillain_woman"],tags:[],description:"woman supervillain",category:"People & Body"},{emoji:"🧙",names:["mage"],tags:["wizard"],description:"mage",category:"People & Body"},{emoji:"🧙‍♂️",names:["mage_man"],tags:["wizard"],description:"man mage",category:"People & Body"},{emoji:"🧙‍♀️",names:["mage_woman"],tags:["wizard"],description:"woman mage",category:"People & Body"},{emoji:"🧚",names:["fairy"],tags:[],description:"fairy",category:"People & Body"},{emoji:"🧚‍♂️",names:["fairy_man"],tags:[],description:"man fairy",category:"People & Body"},{emoji:"🧚‍♀️",names:["fairy_woman"],tags:[],description:"woman fairy",category:"People & Body"},{emoji:"🧛",names:["vampire"],tags:[],description:"vampire",category:"People & Body"},{emoji:"🧛‍♂️",names:["vampire_man"],tags:[],description:"man vampire",category:"People & Body"},{emoji:"🧛‍♀️",names:["vampire_woman"],tags:[],description:"woman vampire",category:"People & Body"},{emoji:"🧜",names:["merperson"],tags:[],description:"merperson",category:"People & Body"},{emoji:"🧜‍♂️",names:["merman"],tags:[],description:"merman",category:"People & Body"},{emoji:"🧜‍♀️",names:["mermaid"],tags:[],description:"mermaid",category:"People & Body"},{emoji:"🧝",names:["elf"],tags:[],description:"elf",category:"People & Body"},{emoji:"🧝‍♂️",names:["elf_man"],tags:[],description:"man elf",category:"People & Body"},{emoji:"🧝‍♀️",names:["elf_woman"],tags:[],description:"woman elf",category:"People & Body"},{emoji:"🧞",names:["genie"],tags:[],description:"genie",category:"People & Body"},{emoji:"🧞‍♂️",names:["genie_man"],tags:[],description:"man genie",category:"People & Body"},{emoji:"🧞‍♀️",names:["genie_woman"],tags:[],description:"woman genie",category:"People & Body"},{emoji:"🧟",names:["zombie"],tags:[],description:"zombie",category:"People & Body"},{emoji:"🧟‍♂️",names:["zombie_man"],tags:[],description:"man zombie",category:"People & Body"},{emoji:"🧟‍♀️",names:["zombie_woman"],tags:[],description:"woman zombie",category:"People & Body"},{emoji:"🧌",names:["troll"],tags:[],description:"troll",category:"People & Body"},{emoji:"💆",names:["massage"],tags:["spa"],description:"person getting massage",category:"People & Body"},{emoji:"💆‍♂️",names:["massage_man"],tags:["spa"],description:"man getting massage",category:"People & Body"},{emoji:"💆‍♀️",names:["massage_woman"],tags:["spa"],description:"woman getting massage",category:"People & Body"},{emoji:"💇",names:["haircut"],tags:["beauty"],description:"person getting haircut",category:"People & Body"},{emoji:"💇‍♂️",names:["haircut_man"],tags:[],description:"man getting haircut",category:"People & Body"},{emoji:"💇‍♀️",names:["haircut_woman"],tags:[],description:"woman getting haircut",category:"People & Body"},{emoji:"🚶",names:["walking"],tags:[],description:"person walking",category:"People & Body"},{emoji:"🚶‍♂️",names:["walking_man"],tags:[],description:"man walking",category:"People & Body"},{emoji:"🚶‍♀️",names:["walking_woman"],tags:[],description:"woman walking",category:"People & Body"},{emoji:"🧍",names:["standing_person"],tags:[],description:"person standing",category:"People & Body"},{emoji:"🧍‍♂️",names:["standing_man"],tags:[],description:"man standing",category:"People & Body"},{emoji:"🧍‍♀️",names:["standing_woman"],tags:[],description:"woman standing",category:"People & Body"},{emoji:"🧎",names:["kneeling_person"],tags:[],description:"person kneeling",category:"People & Body"},{emoji:"🧎‍♂️",names:["kneeling_man"],tags:[],description:"man kneeling",category:"People & Body"},{emoji:"🧎‍♀️",names:["kneeling_woman"],tags:[],description:"woman kneeling",category:"People & Body"},{emoji:"🧑‍🦯",names:["person_with_probing_cane"],tags:[],description:"person with white cane",category:"People & Body"},{emoji:"👨‍🦯",names:["man_with_probing_cane"],tags:[],description:"man with white cane",category:"People & Body"},{emoji:"👩‍🦯",names:["woman_with_probing_cane"],tags:[],description:"woman with white cane",category:"People & Body"},{emoji:"🧑‍🦼",names:["person_in_motorized_wheelchair"],tags:[],description:"person in motorized wheelchair",category:"People & Body"},{emoji:"👨‍🦼",names:["man_in_motorized_wheelchair"],tags:[],description:"man in motorized wheelchair",category:"People & Body"},{emoji:"👩‍🦼",names:["woman_in_motorized_wheelchair"],tags:[],description:"woman in motorized wheelchair",category:"People & Body"},{emoji:"🧑‍🦽",names:["person_in_manual_wheelchair"],tags:[],description:"person in manual wheelchair",category:"People & Body"},{emoji:"👨‍🦽",names:["man_in_manual_wheelchair"],tags:[],description:"man in manual wheelchair",category:"People & Body"},{emoji:"👩‍🦽",names:["woman_in_manual_wheelchair"],tags:[],description:"woman in manual wheelchair",category:"People & Body"},{emoji:"🏃",names:["runner","running"],tags:["exercise","workout","marathon"],description:"person running",category:"People & Body"},{emoji:"🏃‍♂️",names:["running_man"],tags:["exercise","workout","marathon"],description:"man running",category:"People & Body"},{emoji:"🏃‍♀️",names:["running_woman"],tags:["exercise","workout","marathon"],description:"woman running",category:"People & Body"},{emoji:"💃",names:["woman_dancing","dancer"],tags:["dress"],description:"woman dancing",category:"People & Body"},{emoji:"🕺",names:["man_dancing"],tags:["dancer"],description:"man dancing",category:"People & Body"},{emoji:"🕴️",names:["business_suit_levitating"],tags:[],description:"person in suit levitating",category:"People & Body"},{emoji:"👯",names:["dancers"],tags:["bunny"],description:"people with bunny ears",category:"People & Body"},{emoji:"👯‍♂️",names:["dancing_men"],tags:["bunny"],description:"men with bunny ears",category:"People & Body"},{emoji:"👯‍♀️",names:["dancing_women"],tags:["bunny"],description:"women with bunny ears",category:"People & Body"},{emoji:"🧖",names:["sauna_person"],tags:["steamy"],description:"person in steamy room",category:"People & Body"},{emoji:"🧖‍♂️",names:["sauna_man"],tags:["steamy"],description:"man in steamy room",category:"People & Body"},{emoji:"🧖‍♀️",names:["sauna_woman"],tags:["steamy"],description:"woman in steamy room",category:"People & Body"},{emoji:"🧗",names:["climbing"],tags:["bouldering"],description:"person climbing",category:"People & Body"},{emoji:"🧗‍♂️",names:["climbing_man"],tags:["bouldering"],description:"man climbing",category:"People & Body"},{emoji:"🧗‍♀️",names:["climbing_woman"],tags:["bouldering"],description:"woman climbing",category:"People & Body"},{emoji:"🤺",names:["person_fencing"],tags:[],description:"person fencing",category:"People & Body"},{emoji:"🏇",names:["horse_racing"],tags:[],description:"horse racing",category:"People & Body"},{emoji:"⛷️",names:["skier"],tags:[],description:"skier",category:"People & Body"},{emoji:"🏂",names:["snowboarder"],tags:[],description:"snowboarder",category:"People & Body"},{emoji:"🏌️",names:["golfing"],tags:[],description:"person golfing",category:"People & Body"},{emoji:"🏌️‍♂️",names:["golfing_man"],tags:[],description:"man golfing",category:"People & Body"},{emoji:"🏌️‍♀️",names:["golfing_woman"],tags:[],description:"woman golfing",category:"People & Body"},{emoji:"🏄",names:["surfer"],tags:[],description:"person surfing",category:"People & Body"},{emoji:"🏄‍♂️",names:["surfing_man"],tags:[],description:"man surfing",category:"People & Body"},{emoji:"🏄‍♀️",names:["surfing_woman"],tags:[],description:"woman surfing",category:"People & Body"},{emoji:"🚣",names:["rowboat"],tags:[],description:"person rowing boat",category:"People & Body"},{emoji:"🚣‍♂️",names:["rowing_man"],tags:[],description:"man rowing boat",category:"People & Body"},{emoji:"🚣‍♀️",names:["rowing_woman"],tags:[],description:"woman rowing boat",category:"People & Body"},{emoji:"🏊",names:["swimmer"],tags:[],description:"person swimming",category:"People & Body"},{emoji:"🏊‍♂️",names:["swimming_man"],tags:[],description:"man swimming",category:"People & Body"},{emoji:"🏊‍♀️",names:["swimming_woman"],tags:[],description:"woman swimming",category:"People & Body"},{emoji:"⛹️",names:["bouncing_ball_person"],tags:["basketball"],description:"person bouncing ball",category:"People & Body"},{emoji:"⛹️‍♂️",names:["bouncing_ball_man","basketball_man"],tags:[],description:"man bouncing ball",category:"People & Body"},{emoji:"⛹️‍♀️",names:["bouncing_ball_woman","basketball_woman"],tags:[],description:"woman bouncing ball",category:"People & Body"},{emoji:"🏋️",names:["weight_lifting"],tags:["gym","workout"],description:"person lifting weights",category:"People & Body"},{emoji:"🏋️‍♂️",names:["weight_lifting_man"],tags:["gym","workout"],description:"man lifting weights",category:"People & Body"},{emoji:"🏋️‍♀️",names:["weight_lifting_woman"],tags:["gym","workout"],description:"woman lifting weights",category:"People & Body"},{emoji:"🚴",names:["bicyclist"],tags:[],description:"person biking",category:"People & Body"},{emoji:"🚴‍♂️",names:["biking_man"],tags:[],description:"man biking",category:"People & Body"},{emoji:"🚴‍♀️",names:["biking_woman"],tags:[],description:"woman biking",category:"People & Body"},{emoji:"🚵",names:["mountain_bicyclist"],tags:[],description:"person mountain biking",category:"People & Body"},{emoji:"🚵‍♂️",names:["mountain_biking_man"],tags:[],description:"man mountain biking",category:"People & Body"},{emoji:"🚵‍♀️",names:["mountain_biking_woman"],tags:[],description:"woman mountain biking",category:"People & Body"},{emoji:"🤸",names:["cartwheeling"],tags:[],description:"person cartwheeling",category:"People & Body"},{emoji:"🤸‍♂️",names:["man_cartwheeling"],tags:[],description:"man cartwheeling",category:"People & Body"},{emoji:"🤸‍♀️",names:["woman_cartwheeling"],tags:[],description:"woman cartwheeling",category:"People & Body"},{emoji:"🤼",names:["wrestling"],tags:[],description:"people wrestling",category:"People & Body"},{emoji:"🤼‍♂️",names:["men_wrestling"],tags:[],description:"men wrestling",category:"People & Body"},{emoji:"🤼‍♀️",names:["women_wrestling"],tags:[],description:"women wrestling",category:"People & Body"},{emoji:"🤽",names:["water_polo"],tags:[],description:"person playing water polo",category:"People & Body"},{emoji:"🤽‍♂️",names:["man_playing_water_polo"],tags:[],description:"man playing water polo",category:"People & Body"},{emoji:"🤽‍♀️",names:["woman_playing_water_polo"],tags:[],description:"woman playing water polo",category:"People & Body"},{emoji:"🤾",names:["handball_person"],tags:[],description:"person playing handball",category:"People & Body"},{emoji:"🤾‍♂️",names:["man_playing_handball"],tags:[],description:"man playing handball",category:"People & Body"},{emoji:"🤾‍♀️",names:["woman_playing_handball"],tags:[],description:"woman playing handball",category:"People & Body"},{emoji:"🤹",names:["juggling_person"],tags:[],description:"person juggling",category:"People & Body"},{emoji:"🤹‍♂️",names:["man_juggling"],tags:[],description:"man juggling",category:"People & Body"},{emoji:"🤹‍♀️",names:["woman_juggling"],tags:[],description:"woman juggling",category:"People & Body"},{emoji:"🧘",names:["lotus_position"],tags:["meditation"],description:"person in lotus position",category:"People & Body"},{emoji:"🧘‍♂️",names:["lotus_position_man"],tags:["meditation"],description:"man in lotus position",category:"People & Body"},{emoji:"🧘‍♀️",names:["lotus_position_woman"],tags:["meditation"],description:"woman in lotus position",category:"People & Body"},{emoji:"🛀",names:["bath"],tags:["shower"],description:"person taking bath",category:"People & Body"},{emoji:"🛌",names:["sleeping_bed"],tags:[],description:"person in bed",category:"People & Body"},{emoji:"🧑‍🤝‍🧑",names:["people_holding_hands"],tags:["couple","date"],description:"people holding hands",category:"People & Body"},{emoji:"👭",names:["two_women_holding_hands"],tags:["couple","date"],description:"women holding hands",category:"People & Body"},{emoji:"👫",names:["couple"],tags:["date"],description:"woman and man holding hands",category:"People & Body"},{emoji:"👬",names:["two_men_holding_hands"],tags:["couple","date"],description:"men holding hands",category:"People & Body"},{emoji:"💏",names:["couplekiss"],tags:[],description:"kiss",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👨",names:["couplekiss_man_woman"],tags:[],description:"kiss: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍💋‍👨",names:["couplekiss_man_man"],tags:[],description:"kiss: man, man",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👩",names:["couplekiss_woman_woman"],tags:[],description:"kiss: woman, woman",category:"People & Body"},{emoji:"💑",names:["couple_with_heart"],tags:[],description:"couple with heart",category:"People & Body"},{emoji:"👩‍❤️‍👨",names:["couple_with_heart_woman_man"],tags:[],description:"couple with heart: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍👨",names:["couple_with_heart_man_man"],tags:[],description:"couple with heart: man, man",category:"People & Body"},{emoji:"👩‍❤️‍👩",names:["couple_with_heart_woman_woman"],tags:[],description:"couple with heart: woman, woman",category:"People & Body"},{emoji:"👪",names:["family"],tags:["home","parents","child"],description:"family",category:"People & Body"},{emoji:"👨‍👩‍👦",names:["family_man_woman_boy"],tags:[],description:"family: man, woman, boy",category:"People & Body"},{emoji:"👨‍👩‍👧",names:["family_man_woman_girl"],tags:[],description:"family: man, woman, girl",category:"People & Body"},{emoji:"👨‍👩‍👧‍👦",names:["family_man_woman_girl_boy"],tags:[],description:"family: man, woman, girl, boy",category:"People & Body"},{emoji:"👨‍👩‍👦‍👦",names:["family_man_woman_boy_boy"],tags:[],description:"family: man, woman, boy, boy",category:"People & Body"},{emoji:"👨‍👩‍👧‍👧",names:["family_man_woman_girl_girl"],tags:[],description:"family: man, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👨‍👦",names:["family_man_man_boy"],tags:[],description:"family: man, man, boy",category:"People & Body"},{emoji:"👨‍👨‍👧",names:["family_man_man_girl"],tags:[],description:"family: man, man, girl",category:"People & Body"},{emoji:"👨‍👨‍👧‍👦",names:["family_man_man_girl_boy"],tags:[],description:"family: man, man, girl, boy",category:"People & Body"},{emoji:"👨‍👨‍👦‍👦",names:["family_man_man_boy_boy"],tags:[],description:"family: man, man, boy, boy",category:"People & Body"},{emoji:"👨‍👨‍👧‍👧",names:["family_man_man_girl_girl"],tags:[],description:"family: man, man, girl, girl",category:"People & Body"},{emoji:"👩‍👩‍👦",names:["family_woman_woman_boy"],tags:[],description:"family: woman, woman, boy",category:"People & Body"},{emoji:"👩‍👩‍👧",names:["family_woman_woman_girl"],tags:[],description:"family: woman, woman, girl",category:"People & Body"},{emoji:"👩‍👩‍👧‍👦",names:["family_woman_woman_girl_boy"],tags:[],description:"family: woman, woman, girl, boy",category:"People & Body"},{emoji:"👩‍👩‍👦‍👦",names:["family_woman_woman_boy_boy"],tags:[],description:"family: woman, woman, boy, boy",category:"People & Body"},{emoji:"👩‍👩‍👧‍👧",names:["family_woman_woman_girl_girl"],tags:[],description:"family: woman, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👦",names:["family_man_boy"],tags:[],description:"family: man, boy",category:"People & Body"},{emoji:"👨‍👦‍👦",names:["family_man_boy_boy"],tags:[],description:"family: man, boy, boy",category:"People & Body"},{emoji:"👨‍👧",names:["family_man_girl"],tags:[],description:"family: man, girl",category:"People & Body"},{emoji:"👨‍👧‍👦",names:["family_man_girl_boy"],tags:[],description:"family: man, girl, boy",category:"People & Body"},{emoji:"👨‍👧‍👧",names:["family_man_girl_girl"],tags:[],description:"family: man, girl, girl",category:"People & Body"},{emoji:"👩‍👦",names:["family_woman_boy"],tags:[],description:"family: woman, boy",category:"People & Body"},{emoji:"👩‍👦‍👦",names:["family_woman_boy_boy"],tags:[],description:"family: woman, boy, boy",category:"People & Body"},{emoji:"👩‍👧",names:["family_woman_girl"],tags:[],description:"family: woman, girl",category:"People & Body"},{emoji:"👩‍👧‍👦",names:["family_woman_girl_boy"],tags:[],description:"family: woman, girl, boy",category:"People & Body"},{emoji:"👩‍👧‍👧",names:["family_woman_girl_girl"],tags:[],description:"family: woman, girl, girl",category:"People & Body"},{emoji:"🗣️",names:["speaking_head"],tags:[],description:"speaking head",category:"People & Body"},{emoji:"👤",names:["bust_in_silhouette"],tags:["user"],description:"bust in silhouette",category:"People & Body"},{emoji:"👥",names:["busts_in_silhouette"],tags:["users","group","team"],description:"busts in silhouette",category:"People & Body"},{emoji:"🫂",names:["people_hugging"],tags:[],description:"people hugging",category:"People & Body"},{emoji:"👣",names:["footprints"],tags:["feet","tracks"],description:"footprints",category:"People & Body"},{emoji:"🐵",names:["monkey_face"],tags:[],description:"monkey face",category:"Animals & Nature"},{emoji:"🐒",names:["monkey"],tags:[],description:"monkey",category:"Animals & Nature"},{emoji:"🦍",names:["gorilla"],tags:[],description:"gorilla",category:"Animals & Nature"},{emoji:"🦧",names:["orangutan"],tags:[],description:"orangutan",category:"Animals & Nature"},{emoji:"🐶",names:["dog"],tags:["pet"],description:"dog face",category:"Animals & Nature"},{emoji:"🐕",names:["dog2"],tags:[],description:"dog",category:"Animals & Nature"},{emoji:"🦮",names:["guide_dog"],tags:[],description:"guide dog",category:"Animals & Nature"},{emoji:"🐕‍🦺",names:["service_dog"],tags:[],description:"service dog",category:"Animals & Nature"},{emoji:"🐩",names:["poodle"],tags:["dog"],description:"poodle",category:"Animals & Nature"},{emoji:"🐺",names:["wolf"],tags:[],description:"wolf",category:"Animals & Nature"},{emoji:"🦊",names:["fox_face"],tags:[],description:"fox",category:"Animals & Nature"},{emoji:"🦝",names:["raccoon"],tags:[],description:"raccoon",category:"Animals & Nature"},{emoji:"🐱",names:["cat"],tags:["pet"],description:"cat face",category:"Animals & Nature"},{emoji:"🐈",names:["cat2"],tags:[],description:"cat",category:"Animals & Nature"},{emoji:"🐈‍⬛",names:["black_cat"],tags:[],description:"black cat",category:"Animals & Nature"},{emoji:"🦁",names:["lion"],tags:[],description:"lion",category:"Animals & Nature"},{emoji:"🐯",names:["tiger"],tags:[],description:"tiger face",category:"Animals & Nature"},{emoji:"🐅",names:["tiger2"],tags:[],description:"tiger",category:"Animals & Nature"},{emoji:"🐆",names:["leopard"],tags:[],description:"leopard",category:"Animals & Nature"},{emoji:"🐴",names:["horse"],tags:[],description:"horse face",category:"Animals & Nature"},{emoji:"🫎",names:["moose"],tags:["canada"],description:"moose",category:"Animals & Nature"},{emoji:"🫏",names:["donkey"],tags:["mule"],description:"donkey",category:"Animals & Nature"},{emoji:"🐎",names:["racehorse"],tags:["speed"],description:"horse",category:"Animals & Nature"},{emoji:"🦄",names:["unicorn"],tags:[],description:"unicorn",category:"Animals & Nature"},{emoji:"🦓",names:["zebra"],tags:[],description:"zebra",category:"Animals & Nature"},{emoji:"🦌",names:["deer"],tags:[],description:"deer",category:"Animals & Nature"},{emoji:"🦬",names:["bison"],tags:[],description:"bison",category:"Animals & Nature"},{emoji:"🐮",names:["cow"],tags:[],description:"cow face",category:"Animals & Nature"},{emoji:"🐂",names:["ox"],tags:[],description:"ox",category:"Animals & Nature"},{emoji:"🐃",names:["water_buffalo"],tags:[],description:"water buffalo",category:"Animals & Nature"},{emoji:"🐄",names:["cow2"],tags:[],description:"cow",category:"Animals & Nature"},{emoji:"🐷",names:["pig"],tags:[],description:"pig face",category:"Animals & Nature"},{emoji:"🐖",names:["pig2"],tags:[],description:"pig",category:"Animals & Nature"},{emoji:"🐗",names:["boar"],tags:[],description:"boar",category:"Animals & Nature"},{emoji:"🐽",names:["pig_nose"],tags:[],description:"pig nose",category:"Animals & Nature"},{emoji:"🐏",names:["ram"],tags:[],description:"ram",category:"Animals & Nature"},{emoji:"🐑",names:["sheep"],tags:[],description:"ewe",category:"Animals & Nature"},{emoji:"🐐",names:["goat"],tags:[],description:"goat",category:"Animals & Nature"},{emoji:"🐪",names:["dromedary_camel"],tags:["desert"],description:"camel",category:"Animals & Nature"},{emoji:"🐫",names:["camel"],tags:[],description:"two-hump camel",category:"Animals & Nature"},{emoji:"🦙",names:["llama"],tags:[],description:"llama",category:"Animals & Nature"},{emoji:"🦒",names:["giraffe"],tags:[],description:"giraffe",category:"Animals & Nature"},{emoji:"🐘",names:["elephant"],tags:[],description:"elephant",category:"Animals & Nature"},{emoji:"🦣",names:["mammoth"],tags:[],description:"mammoth",category:"Animals & Nature"},{emoji:"🦏",names:["rhinoceros"],tags:[],description:"rhinoceros",category:"Animals & Nature"},{emoji:"🦛",names:["hippopotamus"],tags:[],description:"hippopotamus",category:"Animals & Nature"},{emoji:"🐭",names:["mouse"],tags:[],description:"mouse face",category:"Animals & Nature"},{emoji:"🐁",names:["mouse2"],tags:[],description:"mouse",category:"Animals & Nature"},{emoji:"🐀",names:["rat"],tags:[],description:"rat",category:"Animals & Nature"},{emoji:"🐹",names:["hamster"],tags:["pet"],description:"hamster",category:"Animals & Nature"},{emoji:"🐰",names:["rabbit"],tags:["bunny"],description:"rabbit face",category:"Animals & Nature"},{emoji:"🐇",names:["rabbit2"],tags:[],description:"rabbit",category:"Animals & Nature"},{emoji:"🐿️",names:["chipmunk"],tags:[],description:"chipmunk",category:"Animals & Nature"},{emoji:"🦫",names:["beaver"],tags:[],description:"beaver",category:"Animals & Nature"},{emoji:"🦔",names:["hedgehog"],tags:[],description:"hedgehog",category:"Animals & Nature"},{emoji:"🦇",names:["bat"],tags:[],description:"bat",category:"Animals & Nature"},{emoji:"🐻",names:["bear"],tags:[],description:"bear",category:"Animals & Nature"},{emoji:"🐻‍❄️",names:["polar_bear"],tags:[],description:"polar bear",category:"Animals & Nature"},{emoji:"🐨",names:["koala"],tags:[],description:"koala",category:"Animals & Nature"},{emoji:"🐼",names:["panda_face"],tags:[],description:"panda",category:"Animals & Nature"},{emoji:"🦥",names:["sloth"],tags:[],description:"sloth",category:"Animals & Nature"},{emoji:"🦦",names:["otter"],tags:[],description:"otter",category:"Animals & Nature"},{emoji:"🦨",names:["skunk"],tags:[],description:"skunk",category:"Animals & Nature"},{emoji:"🦘",names:["kangaroo"],tags:[],description:"kangaroo",category:"Animals & Nature"},{emoji:"🦡",names:["badger"],tags:[],description:"badger",category:"Animals & Nature"},{emoji:"🐾",names:["feet","paw_prints"],tags:[],description:"paw prints",category:"Animals & Nature"},{emoji:"🦃",names:["turkey"],tags:["thanksgiving"],description:"turkey",category:"Animals & Nature"},{emoji:"🐔",names:["chicken"],tags:[],description:"chicken",category:"Animals & Nature"},{emoji:"🐓",names:["rooster"],tags:[],description:"rooster",category:"Animals & Nature"},{emoji:"🐣",names:["hatching_chick"],tags:[],description:"hatching chick",category:"Animals & Nature"},{emoji:"🐤",names:["baby_chick"],tags:[],description:"baby chick",category:"Animals & Nature"},{emoji:"🐥",names:["hatched_chick"],tags:[],description:"front-facing baby chick",category:"Animals & Nature"},{emoji:"🐦",names:["bird"],tags:[],description:"bird",category:"Animals & Nature"},{emoji:"🐧",names:["penguin"],tags:[],description:"penguin",category:"Animals & Nature"},{emoji:"🕊️",names:["dove"],tags:["peace"],description:"dove",category:"Animals & Nature"},{emoji:"🦅",names:["eagle"],tags:[],description:"eagle",category:"Animals & Nature"},{emoji:"🦆",names:["duck"],tags:[],description:"duck",category:"Animals & Nature"},{emoji:"🦢",names:["swan"],tags:[],description:"swan",category:"Animals & Nature"},{emoji:"🦉",names:["owl"],tags:[],description:"owl",category:"Animals & Nature"},{emoji:"🦤",names:["dodo"],tags:[],description:"dodo",category:"Animals & Nature"},{emoji:"🪶",names:["feather"],tags:[],description:"feather",category:"Animals & Nature"},{emoji:"🦩",names:["flamingo"],tags:[],description:"flamingo",category:"Animals & Nature"},{emoji:"🦚",names:["peacock"],tags:[],description:"peacock",category:"Animals & Nature"},{emoji:"🦜",names:["parrot"],tags:[],description:"parrot",category:"Animals & Nature"},{emoji:"🪽",names:["wing"],tags:["fly"],description:"wing",category:"Animals & Nature"},{emoji:"🐦‍⬛",names:["black_bird"],tags:[],description:"black bird",category:"Animals & Nature"},{emoji:"🪿",names:["goose"],tags:["honk"],description:"goose",category:"Animals & Nature"},{emoji:"🐸",names:["frog"],tags:[],description:"frog",category:"Animals & Nature"},{emoji:"🐊",names:["crocodile"],tags:[],description:"crocodile",category:"Animals & Nature"},{emoji:"🐢",names:["turtle"],tags:["slow"],description:"turtle",category:"Animals & Nature"},{emoji:"🦎",names:["lizard"],tags:[],description:"lizard",category:"Animals & Nature"},{emoji:"🐍",names:["snake"],tags:[],description:"snake",category:"Animals & Nature"},{emoji:"🐲",names:["dragon_face"],tags:[],description:"dragon face",category:"Animals & Nature"},{emoji:"🐉",names:["dragon"],tags:[],description:"dragon",category:"Animals & Nature"},{emoji:"🦕",names:["sauropod"],tags:["dinosaur"],description:"sauropod",category:"Animals & Nature"},{emoji:"🦖",names:["t-rex"],tags:["dinosaur"],description:"T-Rex",category:"Animals & Nature"},{emoji:"🐳",names:["whale"],tags:["sea"],description:"spouting whale",category:"Animals & Nature"},{emoji:"🐋",names:["whale2"],tags:[],description:"whale",category:"Animals & Nature"},{emoji:"🐬",names:["dolphin","flipper"],tags:[],description:"dolphin",category:"Animals & Nature"},{emoji:"🦭",names:["seal"],tags:[],description:"seal",category:"Animals & Nature"},{emoji:"🐟",names:["fish"],tags:[],description:"fish",category:"Animals & Nature"},{emoji:"🐠",names:["tropical_fish"],tags:[],description:"tropical fish",category:"Animals & Nature"},{emoji:"🐡",names:["blowfish"],tags:[],description:"blowfish",category:"Animals & Nature"},{emoji:"🦈",names:["shark"],tags:[],description:"shark",category:"Animals & Nature"},{emoji:"🐙",names:["octopus"],tags:[],description:"octopus",category:"Animals & Nature"},{emoji:"🐚",names:["shell"],tags:["sea","beach"],description:"spiral shell",category:"Animals & Nature"},{emoji:"🪸",names:["coral"],tags:[],description:"coral",category:"Animals & Nature"},{emoji:"🪼",names:["jellyfish"],tags:[],description:"jellyfish",category:"Animals & Nature"},{emoji:"🐌",names:["snail"],tags:["slow"],description:"snail",category:"Animals & Nature"},{emoji:"🦋",names:["butterfly"],tags:[],description:"butterfly",category:"Animals & Nature"},{emoji:"🐛",names:["bug"],tags:[],description:"bug",category:"Animals & Nature"},{emoji:"🐜",names:["ant"],tags:[],description:"ant",category:"Animals & Nature"},{emoji:"🐝",names:["bee","honeybee"],tags:[],description:"honeybee",category:"Animals & Nature"},{emoji:"🪲",names:["beetle"],tags:[],description:"beetle",category:"Animals & Nature"},{emoji:"🐞",names:["lady_beetle"],tags:["bug"],description:"lady beetle",category:"Animals & Nature"},{emoji:"🦗",names:["cricket"],tags:[],description:"cricket",category:"Animals & Nature"},{emoji:"🪳",names:["cockroach"],tags:[],description:"cockroach",category:"Animals & Nature"},{emoji:"🕷️",names:["spider"],tags:[],description:"spider",category:"Animals & Nature"},{emoji:"🕸️",names:["spider_web"],tags:[],description:"spider web",category:"Animals & Nature"},{emoji:"🦂",names:["scorpion"],tags:[],description:"scorpion",category:"Animals & Nature"},{emoji:"🦟",names:["mosquito"],tags:[],description:"mosquito",category:"Animals & Nature"},{emoji:"🪰",names:["fly"],tags:[],description:"fly",category:"Animals & Nature"},{emoji:"🪱",names:["worm"],tags:[],description:"worm",category:"Animals & Nature"},{emoji:"🦠",names:["microbe"],tags:["germ"],description:"microbe",category:"Animals & Nature"},{emoji:"💐",names:["bouquet"],tags:["flowers"],description:"bouquet",category:"Animals & Nature"},{emoji:"🌸",names:["cherry_blossom"],tags:["flower","spring"],description:"cherry blossom",category:"Animals & Nature"},{emoji:"💮",names:["white_flower"],tags:[],description:"white flower",category:"Animals & Nature"},{emoji:"🪷",names:["lotus"],tags:[],description:"lotus",category:"Animals & Nature"},{emoji:"🏵️",names:["rosette"],tags:[],description:"rosette",category:"Animals & Nature"},{emoji:"🌹",names:["rose"],tags:["flower"],description:"rose",category:"Animals & Nature"},{emoji:"🥀",names:["wilted_flower"],tags:[],description:"wilted flower",category:"Animals & Nature"},{emoji:"🌺",names:["hibiscus"],tags:[],description:"hibiscus",category:"Animals & Nature"},{emoji:"🌻",names:["sunflower"],tags:[],description:"sunflower",category:"Animals & Nature"},{emoji:"🌼",names:["blossom"],tags:[],description:"blossom",category:"Animals & Nature"},{emoji:"🌷",names:["tulip"],tags:["flower"],description:"tulip",category:"Animals & Nature"},{emoji:"🪻",names:["hyacinth"],tags:[],description:"hyacinth",category:"Animals & Nature"},{emoji:"🌱",names:["seedling"],tags:["plant"],description:"seedling",category:"Animals & Nature"},{emoji:"🪴",names:["potted_plant"],tags:[],description:"potted plant",category:"Animals & Nature"},{emoji:"🌲",names:["evergreen_tree"],tags:["wood"],description:"evergreen tree",category:"Animals & Nature"},{emoji:"🌳",names:["deciduous_tree"],tags:["wood"],description:"deciduous tree",category:"Animals & Nature"},{emoji:"🌴",names:["palm_tree"],tags:[],description:"palm tree",category:"Animals & Nature"},{emoji:"🌵",names:["cactus"],tags:[],description:"cactus",category:"Animals & Nature"},{emoji:"🌾",names:["ear_of_rice"],tags:[],description:"sheaf of rice",category:"Animals & Nature"},{emoji:"🌿",names:["herb"],tags:[],description:"herb",category:"Animals & Nature"},{emoji:"☘️",names:["shamrock"],tags:[],description:"shamrock",category:"Animals & Nature"},{emoji:"🍀",names:["four_leaf_clover"],tags:["luck"],description:"four leaf clover",category:"Animals & Nature"},{emoji:"🍁",names:["maple_leaf"],tags:["canada"],description:"maple leaf",category:"Animals & Nature"},{emoji:"🍂",names:["fallen_leaf"],tags:["autumn"],description:"fallen leaf",category:"Animals & Nature"},{emoji:"🍃",names:["leaves"],tags:["leaf"],description:"leaf fluttering in wind",category:"Animals & Nature"},{emoji:"🪹",names:["empty_nest"],tags:[],description:"empty nest",category:"Animals & Nature"},{emoji:"🪺",names:["nest_with_eggs"],tags:[],description:"nest with eggs",category:"Animals & Nature"},{emoji:"🍄",names:["mushroom"],tags:["fungus"],description:"mushroom",category:"Animals & Nature"},{emoji:"🍇",names:["grapes"],tags:[],description:"grapes",category:"Food & Drink"},{emoji:"🍈",names:["melon"],tags:[],description:"melon",category:"Food & Drink"},{emoji:"🍉",names:["watermelon"],tags:[],description:"watermelon",category:"Food & Drink"},{emoji:"🍊",names:["tangerine","orange","mandarin"],tags:[],description:"tangerine",category:"Food & Drink"},{emoji:"🍋",names:["lemon"],tags:[],description:"lemon",category:"Food & Drink"},{emoji:"🍌",names:["banana"],tags:["fruit"],description:"banana",category:"Food & Drink"},{emoji:"🍍",names:["pineapple"],tags:[],description:"pineapple",category:"Food & Drink"},{emoji:"🥭",names:["mango"],tags:[],description:"mango",category:"Food & Drink"},{emoji:"🍎",names:["apple"],tags:[],description:"red apple",category:"Food & Drink"},{emoji:"🍏",names:["green_apple"],tags:["fruit"],description:"green apple",category:"Food & Drink"},{emoji:"🍐",names:["pear"],tags:[],description:"pear",category:"Food & Drink"},{emoji:"🍑",names:["peach"],tags:[],description:"peach",category:"Food & Drink"},{emoji:"🍒",names:["cherries"],tags:["fruit"],description:"cherries",category:"Food & Drink"},{emoji:"🍓",names:["strawberry"],tags:["fruit"],description:"strawberry",category:"Food & Drink"},{emoji:"🫐",names:["blueberries"],tags:[],description:"blueberries",category:"Food & Drink"},{emoji:"🥝",names:["kiwi_fruit"],tags:[],description:"kiwi fruit",category:"Food & Drink"},{emoji:"🍅",names:["tomato"],tags:[],description:"tomato",category:"Food & Drink"},{emoji:"🫒",names:["olive"],tags:[],description:"olive",category:"Food & Drink"},{emoji:"🥥",names:["coconut"],tags:[],description:"coconut",category:"Food & Drink"},{emoji:"🥑",names:["avocado"],tags:[],description:"avocado",category:"Food & Drink"},{emoji:"🍆",names:["eggplant"],tags:["aubergine"],description:"eggplant",category:"Food & Drink"},{emoji:"🥔",names:["potato"],tags:[],description:"potato",category:"Food & Drink"},{emoji:"🥕",names:["carrot"],tags:[],description:"carrot",category:"Food & Drink"},{emoji:"🌽",names:["corn"],tags:[],description:"ear of corn",category:"Food & Drink"},{emoji:"🌶️",names:["hot_pepper"],tags:["spicy"],description:"hot pepper",category:"Food & Drink"},{emoji:"🫑",names:["bell_pepper"],tags:[],description:"bell pepper",category:"Food & Drink"},{emoji:"🥒",names:["cucumber"],tags:[],description:"cucumber",category:"Food & Drink"},{emoji:"🥬",names:["leafy_green"],tags:[],description:"leafy green",category:"Food & Drink"},{emoji:"🥦",names:["broccoli"],tags:[],description:"broccoli",category:"Food & Drink"},{emoji:"🧄",names:["garlic"],tags:[],description:"garlic",category:"Food & Drink"},{emoji:"🧅",names:["onion"],tags:[],description:"onion",category:"Food & Drink"},{emoji:"🥜",names:["peanuts"],tags:[],description:"peanuts",category:"Food & Drink"},{emoji:"🫘",names:["beans"],tags:[],description:"beans",category:"Food & Drink"},{emoji:"🌰",names:["chestnut"],tags:[],description:"chestnut",category:"Food & Drink"},{emoji:"🫚",names:["ginger_root"],tags:[],description:"ginger root",category:"Food & Drink"},{emoji:"🫛",names:["pea_pod"],tags:[],description:"pea pod",category:"Food & Drink"},{emoji:"🍞",names:["bread"],tags:["toast"],description:"bread",category:"Food & Drink"},{emoji:"🥐",names:["croissant"],tags:[],description:"croissant",category:"Food & Drink"},{emoji:"🥖",names:["baguette_bread"],tags:[],description:"baguette bread",category:"Food & Drink"},{emoji:"🫓",names:["flatbread"],tags:[],description:"flatbread",category:"Food & Drink"},{emoji:"🥨",names:["pretzel"],tags:[],description:"pretzel",category:"Food & Drink"},{emoji:"🥯",names:["bagel"],tags:[],description:"bagel",category:"Food & Drink"},{emoji:"🥞",names:["pancakes"],tags:[],description:"pancakes",category:"Food & Drink"},{emoji:"🧇",names:["waffle"],tags:[],description:"waffle",category:"Food & Drink"},{emoji:"🧀",names:["cheese"],tags:[],description:"cheese wedge",category:"Food & Drink"},{emoji:"🍖",names:["meat_on_bone"],tags:[],description:"meat on bone",category:"Food & Drink"},{emoji:"🍗",names:["poultry_leg"],tags:["meat","chicken"],description:"poultry leg",category:"Food & Drink"},{emoji:"🥩",names:["cut_of_meat"],tags:[],description:"cut of meat",category:"Food & Drink"},{emoji:"🥓",names:["bacon"],tags:[],description:"bacon",category:"Food & Drink"},{emoji:"🍔",names:["hamburger"],tags:["burger"],description:"hamburger",category:"Food & Drink"},{emoji:"🍟",names:["fries"],tags:[],description:"french fries",category:"Food & Drink"},{emoji:"🍕",names:["pizza"],tags:[],description:"pizza",category:"Food & Drink"},{emoji:"🌭",names:["hotdog"],tags:[],description:"hot dog",category:"Food & Drink"},{emoji:"🥪",names:["sandwich"],tags:[],description:"sandwich",category:"Food & Drink"},{emoji:"🌮",names:["taco"],tags:[],description:"taco",category:"Food & Drink"},{emoji:"🌯",names:["burrito"],tags:[],description:"burrito",category:"Food & Drink"},{emoji:"🫔",names:["tamale"],tags:[],description:"tamale",category:"Food & Drink"},{emoji:"🥙",names:["stuffed_flatbread"],tags:[],description:"stuffed flatbread",category:"Food & Drink"},{emoji:"🧆",names:["falafel"],tags:[],description:"falafel",category:"Food & Drink"},{emoji:"🥚",names:["egg"],tags:[],description:"egg",category:"Food & Drink"},{emoji:"🍳",names:["fried_egg"],tags:["breakfast"],description:"cooking",category:"Food & Drink"},{emoji:"🥘",names:["shallow_pan_of_food"],tags:["paella","curry"],description:"shallow pan of food",category:"Food & Drink"},{emoji:"🍲",names:["stew"],tags:[],description:"pot of food",category:"Food & Drink"},{emoji:"🫕",names:["fondue"],tags:[],description:"fondue",category:"Food & Drink"},{emoji:"🥣",names:["bowl_with_spoon"],tags:[],description:"bowl with spoon",category:"Food & Drink"},{emoji:"🥗",names:["green_salad"],tags:[],description:"green salad",category:"Food & Drink"},{emoji:"🍿",names:["popcorn"],tags:[],description:"popcorn",category:"Food & Drink"},{emoji:"🧈",names:["butter"],tags:[],description:"butter",category:"Food & Drink"},{emoji:"🧂",names:["salt"],tags:[],description:"salt",category:"Food & Drink"},{emoji:"🥫",names:["canned_food"],tags:[],description:"canned food",category:"Food & Drink"},{emoji:"🍱",names:["bento"],tags:[],description:"bento box",category:"Food & Drink"},{emoji:"🍘",names:["rice_cracker"],tags:[],description:"rice cracker",category:"Food & Drink"},{emoji:"🍙",names:["rice_ball"],tags:[],description:"rice ball",category:"Food & Drink"},{emoji:"🍚",names:["rice"],tags:[],description:"cooked rice",category:"Food & Drink"},{emoji:"🍛",names:["curry"],tags:[],description:"curry rice",category:"Food & Drink"},{emoji:"🍜",names:["ramen"],tags:["noodle"],description:"steaming bowl",category:"Food & Drink"},{emoji:"🍝",names:["spaghetti"],tags:["pasta"],description:"spaghetti",category:"Food & Drink"},{emoji:"🍠",names:["sweet_potato"],tags:[],description:"roasted sweet potato",category:"Food & Drink"},{emoji:"🍢",names:["oden"],tags:[],description:"oden",category:"Food & Drink"},{emoji:"🍣",names:["sushi"],tags:[],description:"sushi",category:"Food & Drink"},{emoji:"🍤",names:["fried_shrimp"],tags:["tempura"],description:"fried shrimp",category:"Food & Drink"},{emoji:"🍥",names:["fish_cake"],tags:[],description:"fish cake with swirl",category:"Food & Drink"},{emoji:"🥮",names:["moon_cake"],tags:[],description:"moon cake",category:"Food & Drink"},{emoji:"🍡",names:["dango"],tags:[],description:"dango",category:"Food & Drink"},{emoji:"🥟",names:["dumpling"],tags:[],description:"dumpling",category:"Food & Drink"},{emoji:"🥠",names:["fortune_cookie"],tags:[],description:"fortune cookie",category:"Food & Drink"},{emoji:"🥡",names:["takeout_box"],tags:[],description:"takeout box",category:"Food & Drink"},{emoji:"🦀",names:["crab"],tags:[],description:"crab",category:"Food & Drink"},{emoji:"🦞",names:["lobster"],tags:[],description:"lobster",category:"Food & Drink"},{emoji:"🦐",names:["shrimp"],tags:[],description:"shrimp",category:"Food & Drink"},{emoji:"🦑",names:["squid"],tags:[],description:"squid",category:"Food & Drink"},{emoji:"🦪",names:["oyster"],tags:[],description:"oyster",category:"Food & Drink"},{emoji:"🍦",names:["icecream"],tags:[],description:"soft ice cream",category:"Food & Drink"},{emoji:"🍧",names:["shaved_ice"],tags:[],description:"shaved ice",category:"Food & Drink"},{emoji:"🍨",names:["ice_cream"],tags:[],description:"ice cream",category:"Food & Drink"},{emoji:"🍩",names:["doughnut"],tags:[],description:"doughnut",category:"Food & Drink"},{emoji:"🍪",names:["cookie"],tags:[],description:"cookie",category:"Food & Drink"},{emoji:"🎂",names:["birthday"],tags:["party"],description:"birthday cake",category:"Food & Drink"},{emoji:"🍰",names:["cake"],tags:["dessert"],description:"shortcake",category:"Food & Drink"},{emoji:"🧁",names:["cupcake"],tags:[],description:"cupcake",category:"Food & Drink"},{emoji:"🥧",names:["pie"],tags:[],description:"pie",category:"Food & Drink"},{emoji:"🍫",names:["chocolate_bar"],tags:[],description:"chocolate bar",category:"Food & Drink"},{emoji:"🍬",names:["candy"],tags:["sweet"],description:"candy",category:"Food & Drink"},{emoji:"🍭",names:["lollipop"],tags:[],description:"lollipop",category:"Food & Drink"},{emoji:"🍮",names:["custard"],tags:[],description:"custard",category:"Food & Drink"},{emoji:"🍯",names:["honey_pot"],tags:[],description:"honey pot",category:"Food & Drink"},{emoji:"🍼",names:["baby_bottle"],tags:["milk"],description:"baby bottle",category:"Food & Drink"},{emoji:"🥛",names:["milk_glass"],tags:[],description:"glass of milk",category:"Food & Drink"},{emoji:"☕",names:["coffee"],tags:["cafe","espresso"],description:"hot beverage",category:"Food & Drink"},{emoji:"🫖",names:["teapot"],tags:[],description:"teapot",category:"Food & Drink"},{emoji:"🍵",names:["tea"],tags:["green","breakfast"],description:"teacup without handle",category:"Food & Drink"},{emoji:"🍶",names:["sake"],tags:[],description:"sake",category:"Food & Drink"},{emoji:"🍾",names:["champagne"],tags:["bottle","bubbly","celebration"],description:"bottle with popping cork",category:"Food & Drink"},{emoji:"🍷",names:["wine_glass"],tags:[],description:"wine glass",category:"Food & Drink"},{emoji:"🍸",names:["cocktail"],tags:["drink"],description:"cocktail glass",category:"Food & Drink"},{emoji:"🍹",names:["tropical_drink"],tags:["summer","vacation"],description:"tropical drink",category:"Food & Drink"},{emoji:"🍺",names:["beer"],tags:["drink"],description:"beer mug",category:"Food & Drink"},{emoji:"🍻",names:["beers"],tags:["drinks"],description:"clinking beer mugs",category:"Food & Drink"},{emoji:"🥂",names:["clinking_glasses"],tags:["cheers","toast"],description:"clinking glasses",category:"Food & Drink"},{emoji:"🥃",names:["tumbler_glass"],tags:["whisky"],description:"tumbler glass",category:"Food & Drink"},{emoji:"🫗",names:["pouring_liquid"],tags:[],description:"pouring liquid",category:"Food & Drink"},{emoji:"🥤",names:["cup_with_straw"],tags:[],description:"cup with straw",category:"Food & Drink"},{emoji:"🧋",names:["bubble_tea"],tags:[],description:"bubble tea",category:"Food & Drink"},{emoji:"🧃",names:["beverage_box"],tags:[],description:"beverage box",category:"Food & Drink"},{emoji:"🧉",names:["mate"],tags:[],description:"mate",category:"Food & Drink"},{emoji:"🧊",names:["ice_cube"],tags:[],description:"ice",category:"Food & Drink"},{emoji:"🥢",names:["chopsticks"],tags:[],description:"chopsticks",category:"Food & Drink"},{emoji:"🍽️",names:["plate_with_cutlery"],tags:["dining","dinner"],description:"fork and knife with plate",category:"Food & Drink"},{emoji:"🍴",names:["fork_and_knife"],tags:["cutlery"],description:"fork and knife",category:"Food & Drink"},{emoji:"🥄",names:["spoon"],tags:[],description:"spoon",category:"Food & Drink"},{emoji:"🔪",names:["hocho","knife"],tags:["cut","chop"],description:"kitchen knife",category:"Food & Drink"},{emoji:"🫙",names:["jar"],tags:[],description:"jar",category:"Food & Drink"},{emoji:"🏺",names:["amphora"],tags:[],description:"amphora",category:"Food & Drink"},{emoji:"🌍",names:["earth_africa"],tags:["globe","world","international"],description:"globe showing Europe-Africa",category:"Travel & Places"},{emoji:"🌎",names:["earth_americas"],tags:["globe","world","international"],description:"globe showing Americas",category:"Travel & Places"},{emoji:"🌏",names:["earth_asia"],tags:["globe","world","international"],description:"globe showing Asia-Australia",category:"Travel & Places"},{emoji:"🌐",names:["globe_with_meridians"],tags:["world","global","international"],description:"globe with meridians",category:"Travel & Places"},{emoji:"🗺️",names:["world_map"],tags:["travel"],description:"world map",category:"Travel & Places"},{emoji:"🗾",names:["japan"],tags:[],description:"map of Japan",category:"Travel & Places"},{emoji:"🧭",names:["compass"],tags:[],description:"compass",category:"Travel & Places"},{emoji:"🏔️",names:["mountain_snow"],tags:[],description:"snow-capped mountain",category:"Travel & Places"},{emoji:"⛰️",names:["mountain"],tags:[],description:"mountain",category:"Travel & Places"},{emoji:"🌋",names:["volcano"],tags:[],description:"volcano",category:"Travel & Places"},{emoji:"🗻",names:["mount_fuji"],tags:[],description:"mount fuji",category:"Travel & Places"},{emoji:"🏕️",names:["camping"],tags:[],description:"camping",category:"Travel & Places"},{emoji:"🏖️",names:["beach_umbrella"],tags:[],description:"beach with umbrella",category:"Travel & Places"},{emoji:"🏜️",names:["desert"],tags:[],description:"desert",category:"Travel & Places"},{emoji:"🏝️",names:["desert_island"],tags:[],description:"desert island",category:"Travel & Places"},{emoji:"🏞️",names:["national_park"],tags:[],description:"national park",category:"Travel & Places"},{emoji:"🏟️",names:["stadium"],tags:[],description:"stadium",category:"Travel & Places"},{emoji:"🏛️",names:["classical_building"],tags:[],description:"classical building",category:"Travel & Places"},{emoji:"🏗️",names:["building_construction"],tags:[],description:"building construction",category:"Travel & Places"},{emoji:"🧱",names:["bricks"],tags:[],description:"brick",category:"Travel & Places"},{emoji:"🪨",names:["rock"],tags:[],description:"rock",category:"Travel & Places"},{emoji:"🪵",names:["wood"],tags:[],description:"wood",category:"Travel & Places"},{emoji:"🛖",names:["hut"],tags:[],description:"hut",category:"Travel & Places"},{emoji:"🏘️",names:["houses"],tags:[],description:"houses",category:"Travel & Places"},{emoji:"🏚️",names:["derelict_house"],tags:[],description:"derelict house",category:"Travel & Places"},{emoji:"🏠",names:["house"],tags:[],description:"house",category:"Travel & Places"},{emoji:"🏡",names:["house_with_garden"],tags:[],description:"house with garden",category:"Travel & Places"},{emoji:"🏢",names:["office"],tags:[],description:"office building",category:"Travel & Places"},{emoji:"🏣",names:["post_office"],tags:[],description:"Japanese post office",category:"Travel & Places"},{emoji:"🏤",names:["european_post_office"],tags:[],description:"post office",category:"Travel & Places"},{emoji:"🏥",names:["hospital"],tags:[],description:"hospital",category:"Travel & Places"},{emoji:"🏦",names:["bank"],tags:[],description:"bank",category:"Travel & Places"},{emoji:"🏨",names:["hotel"],tags:[],description:"hotel",category:"Travel & Places"},{emoji:"🏩",names:["love_hotel"],tags:[],description:"love hotel",category:"Travel & Places"},{emoji:"🏪",names:["convenience_store"],tags:[],description:"convenience store",category:"Travel & Places"},{emoji:"🏫",names:["school"],tags:[],description:"school",category:"Travel & Places"},{emoji:"🏬",names:["department_store"],tags:[],description:"department store",category:"Travel & Places"},{emoji:"🏭",names:["factory"],tags:[],description:"factory",category:"Travel & Places"},{emoji:"🏯",names:["japanese_castle"],tags:[],description:"Japanese castle",category:"Travel & Places"},{emoji:"🏰",names:["european_castle"],tags:[],description:"castle",category:"Travel & Places"},{emoji:"💒",names:["wedding"],tags:["marriage"],description:"wedding",category:"Travel & Places"},{emoji:"🗼",names:["tokyo_tower"],tags:[],description:"Tokyo tower",category:"Travel & Places"},{emoji:"🗽",names:["statue_of_liberty"],tags:[],description:"Statue of Liberty",category:"Travel & Places"},{emoji:"⛪",names:["church"],tags:[],description:"church",category:"Travel & Places"},{emoji:"🕌",names:["mosque"],tags:[],description:"mosque",category:"Travel & Places"},{emoji:"🛕",names:["hindu_temple"],tags:[],description:"hindu temple",category:"Travel & Places"},{emoji:"🕍",names:["synagogue"],tags:[],description:"synagogue",category:"Travel & Places"},{emoji:"⛩️",names:["shinto_shrine"],tags:[],description:"shinto shrine",category:"Travel & Places"},{emoji:"🕋",names:["kaaba"],tags:[],description:"kaaba",category:"Travel & Places"},{emoji:"⛲",names:["fountain"],tags:[],description:"fountain",category:"Travel & Places"},{emoji:"⛺",names:["tent"],tags:["camping"],description:"tent",category:"Travel & Places"},{emoji:"🌁",names:["foggy"],tags:["karl"],description:"foggy",category:"Travel & Places"},{emoji:"🌃",names:["night_with_stars"],tags:[],description:"night with stars",category:"Travel & Places"},{emoji:"🏙️",names:["cityscape"],tags:["skyline"],description:"cityscape",category:"Travel & Places"},{emoji:"🌄",names:["sunrise_over_mountains"],tags:[],description:"sunrise over mountains",category:"Travel & Places"},{emoji:"🌅",names:["sunrise"],tags:[],description:"sunrise",category:"Travel & Places"},{emoji:"🌆",names:["city_sunset"],tags:[],description:"cityscape at dusk",category:"Travel & Places"},{emoji:"🌇",names:["city_sunrise"],tags:[],description:"sunset",category:"Travel & Places"},{emoji:"🌉",names:["bridge_at_night"],tags:[],description:"bridge at night",category:"Travel & Places"},{emoji:"♨️",names:["hotsprings"],tags:[],description:"hot springs",category:"Travel & Places"},{emoji:"🎠",names:["carousel_horse"],tags:[],description:"carousel horse",category:"Travel & Places"},{emoji:"🛝",names:["playground_slide"],tags:[],description:"playground slide",category:"Travel & Places"},{emoji:"🎡",names:["ferris_wheel"],tags:[],description:"ferris wheel",category:"Travel & Places"},{emoji:"🎢",names:["roller_coaster"],tags:[],description:"roller coaster",category:"Travel & Places"},{emoji:"💈",names:["barber"],tags:[],description:"barber pole",category:"Travel & Places"},{emoji:"🎪",names:["circus_tent"],tags:[],description:"circus tent",category:"Travel & Places"},{emoji:"🚂",names:["steam_locomotive"],tags:["train"],description:"locomotive",category:"Travel & Places"},{emoji:"🚃",names:["railway_car"],tags:[],description:"railway car",category:"Travel & Places"},{emoji:"🚄",names:["bullettrain_side"],tags:["train"],description:"high-speed train",category:"Travel & Places"},{emoji:"🚅",names:["bullettrain_front"],tags:["train"],description:"bullet train",category:"Travel & Places"},{emoji:"🚆",names:["train2"],tags:[],description:"train",category:"Travel & Places"},{emoji:"🚇",names:["metro"],tags:[],description:"metro",category:"Travel & Places"},{emoji:"🚈",names:["light_rail"],tags:[],description:"light rail",category:"Travel & Places"},{emoji:"🚉",names:["station"],tags:[],description:"station",category:"Travel & Places"},{emoji:"🚊",names:["tram"],tags:[],description:"tram",category:"Travel & Places"},{emoji:"🚝",names:["monorail"],tags:[],description:"monorail",category:"Travel & Places"},{emoji:"🚞",names:["mountain_railway"],tags:[],description:"mountain railway",category:"Travel & Places"},{emoji:"🚋",names:["train"],tags:[],description:"tram car",category:"Travel & Places"},{emoji:"🚌",names:["bus"],tags:[],description:"bus",category:"Travel & Places"},{emoji:"🚍",names:["oncoming_bus"],tags:[],description:"oncoming bus",category:"Travel & Places"},{emoji:"🚎",names:["trolleybus"],tags:[],description:"trolleybus",category:"Travel & Places"},{emoji:"🚐",names:["minibus"],tags:[],description:"minibus",category:"Travel & Places"},{emoji:"🚑",names:["ambulance"],tags:[],description:"ambulance",category:"Travel & Places"},{emoji:"🚒",names:["fire_engine"],tags:[],description:"fire engine",category:"Travel & Places"},{emoji:"🚓",names:["police_car"],tags:[],description:"police car",category:"Travel & Places"},{emoji:"🚔",names:["oncoming_police_car"],tags:[],description:"oncoming police car",category:"Travel & Places"},{emoji:"🚕",names:["taxi"],tags:[],description:"taxi",category:"Travel & Places"},{emoji:"🚖",names:["oncoming_taxi"],tags:[],description:"oncoming taxi",category:"Travel & Places"},{emoji:"🚗",names:["car","red_car"],tags:[],description:"automobile",category:"Travel & Places"},{emoji:"🚘",names:["oncoming_automobile"],tags:[],description:"oncoming automobile",category:"Travel & Places"},{emoji:"🚙",names:["blue_car"],tags:[],description:"sport utility vehicle",category:"Travel & Places"},{emoji:"🛻",names:["pickup_truck"],tags:[],description:"pickup truck",category:"Travel & Places"},{emoji:"🚚",names:["truck"],tags:[],description:"delivery truck",category:"Travel & Places"},{emoji:"🚛",names:["articulated_lorry"],tags:[],description:"articulated lorry",category:"Travel & Places"},{emoji:"🚜",names:["tractor"],tags:[],description:"tractor",category:"Travel & Places"},{emoji:"🏎️",names:["racing_car"],tags:[],description:"racing car",category:"Travel & Places"},{emoji:"🏍️",names:["motorcycle"],tags:[],description:"motorcycle",category:"Travel & Places"},{emoji:"🛵",names:["motor_scooter"],tags:[],description:"motor scooter",category:"Travel & Places"},{emoji:"🦽",names:["manual_wheelchair"],tags:[],description:"manual wheelchair",category:"Travel & Places"},{emoji:"🦼",names:["motorized_wheelchair"],tags:[],description:"motorized wheelchair",category:"Travel & Places"},{emoji:"🛺",names:["auto_rickshaw"],tags:[],description:"auto rickshaw",category:"Travel & Places"},{emoji:"🚲",names:["bike"],tags:["bicycle"],description:"bicycle",category:"Travel & Places"},{emoji:"🛴",names:["kick_scooter"],tags:[],description:"kick scooter",category:"Travel & Places"},{emoji:"🛹",names:["skateboard"],tags:[],description:"skateboard",category:"Travel & Places"},{emoji:"🛼",names:["roller_skate"],tags:[],description:"roller skate",category:"Travel & Places"},{emoji:"🚏",names:["busstop"],tags:[],description:"bus stop",category:"Travel & Places"},{emoji:"🛣️",names:["motorway"],tags:[],description:"motorway",category:"Travel & Places"},{emoji:"🛤️",names:["railway_track"],tags:[],description:"railway track",category:"Travel & Places"},{emoji:"🛢️",names:["oil_drum"],tags:[],description:"oil drum",category:"Travel & Places"},{emoji:"⛽",names:["fuelpump"],tags:[],description:"fuel pump",category:"Travel & Places"},{emoji:"🛞",names:["wheel"],tags:[],description:"wheel",category:"Travel & Places"},{emoji:"🚨",names:["rotating_light"],tags:["911","emergency"],description:"police car light",category:"Travel & Places"},{emoji:"🚥",names:["traffic_light"],tags:[],description:"horizontal traffic light",category:"Travel & Places"},{emoji:"🚦",names:["vertical_traffic_light"],tags:["semaphore"],description:"vertical traffic light",category:"Travel & Places"},{emoji:"🛑",names:["stop_sign"],tags:[],description:"stop sign",category:"Travel & Places"},{emoji:"🚧",names:["construction"],tags:["wip"],description:"construction",category:"Travel & Places"},{emoji:"⚓",names:["anchor"],tags:["ship"],description:"anchor",category:"Travel & Places"},{emoji:"🛟",names:["ring_buoy"],tags:["life preserver"],description:"ring buoy",category:"Travel & Places"},{emoji:"⛵",names:["boat","sailboat"],tags:[],description:"sailboat",category:"Travel & Places"},{emoji:"🛶",names:["canoe"],tags:[],description:"canoe",category:"Travel & Places"},{emoji:"🚤",names:["speedboat"],tags:["ship"],description:"speedboat",category:"Travel & Places"},{emoji:"🛳️",names:["passenger_ship"],tags:["cruise"],description:"passenger ship",category:"Travel & Places"},{emoji:"⛴️",names:["ferry"],tags:[],description:"ferry",category:"Travel & Places"},{emoji:"🛥️",names:["motor_boat"],tags:[],description:"motor boat",category:"Travel & Places"},{emoji:"🚢",names:["ship"],tags:[],description:"ship",category:"Travel & Places"},{emoji:"✈️",names:["airplane"],tags:["flight"],description:"airplane",category:"Travel & Places"},{emoji:"🛩️",names:["small_airplane"],tags:["flight"],description:"small airplane",category:"Travel & Places"},{emoji:"🛫",names:["flight_departure"],tags:[],description:"airplane departure",category:"Travel & Places"},{emoji:"🛬",names:["flight_arrival"],tags:[],description:"airplane arrival",category:"Travel & Places"},{emoji:"🪂",names:["parachute"],tags:[],description:"parachute",category:"Travel & Places"},{emoji:"💺",names:["seat"],tags:[],description:"seat",category:"Travel & Places"},{emoji:"🚁",names:["helicopter"],tags:[],description:"helicopter",category:"Travel & Places"},{emoji:"🚟",names:["suspension_railway"],tags:[],description:"suspension railway",category:"Travel & Places"},{emoji:"🚠",names:["mountain_cableway"],tags:[],description:"mountain cableway",category:"Travel & Places"},{emoji:"🚡",names:["aerial_tramway"],tags:[],description:"aerial tramway",category:"Travel & Places"},{emoji:"🛰️",names:["artificial_satellite"],tags:["orbit","space"],description:"satellite",category:"Travel & Places"},{emoji:"🚀",names:["rocket"],tags:["ship","launch"],description:"rocket",category:"Travel & Places"},{emoji:"🛸",names:["flying_saucer"],tags:["ufo"],description:"flying saucer",category:"Travel & Places"},{emoji:"🛎️",names:["bellhop_bell"],tags:[],description:"bellhop bell",category:"Travel & Places"},{emoji:"🧳",names:["luggage"],tags:[],description:"luggage",category:"Travel & Places"},{emoji:"⌛",names:["hourglass"],tags:["time"],description:"hourglass done",category:"Travel & Places"},{emoji:"⏳",names:["hourglass_flowing_sand"],tags:["time"],description:"hourglass not done",category:"Travel & Places"},{emoji:"⌚",names:["watch"],tags:["time"],description:"watch",category:"Travel & Places"},{emoji:"⏰",names:["alarm_clock"],tags:["morning"],description:"alarm clock",category:"Travel & Places"},{emoji:"⏱️",names:["stopwatch"],tags:[],description:"stopwatch",category:"Travel & Places"},{emoji:"⏲️",names:["timer_clock"],tags:[],description:"timer clock",category:"Travel & Places"},{emoji:"🕰️",names:["mantelpiece_clock"],tags:[],description:"mantelpiece clock",category:"Travel & Places"},{emoji:"🕛",names:["clock12"],tags:[],description:"twelve o’clock",category:"Travel & Places"},{emoji:"🕧",names:["clock1230"],tags:[],description:"twelve-thirty",category:"Travel & Places"},{emoji:"🕐",names:["clock1"],tags:[],description:"one o’clock",category:"Travel & Places"},{emoji:"🕜",names:["clock130"],tags:[],description:"one-thirty",category:"Travel & Places"},{emoji:"🕑",names:["clock2"],tags:[],description:"two o’clock",category:"Travel & Places"},{emoji:"🕝",names:["clock230"],tags:[],description:"two-thirty",category:"Travel & Places"},{emoji:"🕒",names:["clock3"],tags:[],description:"three o’clock",category:"Travel & Places"},{emoji:"🕞",names:["clock330"],tags:[],description:"three-thirty",category:"Travel & Places"},{emoji:"🕓",names:["clock4"],tags:[],description:"four o’clock",category:"Travel & Places"},{emoji:"🕟",names:["clock430"],tags:[],description:"four-thirty",category:"Travel & Places"},{emoji:"🕔",names:["clock5"],tags:[],description:"five o’clock",category:"Travel & Places"},{emoji:"🕠",names:["clock530"],tags:[],description:"five-thirty",category:"Travel & Places"},{emoji:"🕕",names:["clock6"],tags:[],description:"six o’clock",category:"Travel & Places"},{emoji:"🕡",names:["clock630"],tags:[],description:"six-thirty",category:"Travel & Places"},{emoji:"🕖",names:["clock7"],tags:[],description:"seven o’clock",category:"Travel & Places"},{emoji:"🕢",names:["clock730"],tags:[],description:"seven-thirty",category:"Travel & Places"},{emoji:"🕗",names:["clock8"],tags:[],description:"eight o’clock",category:"Travel & Places"},{emoji:"🕣",names:["clock830"],tags:[],description:"eight-thirty",category:"Travel & Places"},{emoji:"🕘",names:["clock9"],tags:[],description:"nine o’clock",category:"Travel & Places"},{emoji:"🕤",names:["clock930"],tags:[],description:"nine-thirty",category:"Travel & Places"},{emoji:"🕙",names:["clock10"],tags:[],description:"ten o’clock",category:"Travel & Places"},{emoji:"🕥",names:["clock1030"],tags:[],description:"ten-thirty",category:"Travel & Places"},{emoji:"🕚",names:["clock11"],tags:[],description:"eleven o’clock",category:"Travel & Places"},{emoji:"🕦",names:["clock1130"],tags:[],description:"eleven-thirty",category:"Travel & Places"},{emoji:"🌑",names:["new_moon"],tags:[],description:"new moon",category:"Travel & Places"},{emoji:"🌒",names:["waxing_crescent_moon"],tags:[],description:"waxing crescent moon",category:"Travel & Places"},{emoji:"🌓",names:["first_quarter_moon"],tags:[],description:"first quarter moon",category:"Travel & Places"},{emoji:"🌔",names:["moon","waxing_gibbous_moon"],tags:[],description:"waxing gibbous moon",category:"Travel & Places"},{emoji:"🌕",names:["full_moon"],tags:[],description:"full moon",category:"Travel & Places"},{emoji:"🌖",names:["waning_gibbous_moon"],tags:[],description:"waning gibbous moon",category:"Travel & Places"},{emoji:"🌗",names:["last_quarter_moon"],tags:[],description:"last quarter moon",category:"Travel & Places"},{emoji:"🌘",names:["waning_crescent_moon"],tags:[],description:"waning crescent moon",category:"Travel & Places"},{emoji:"🌙",names:["crescent_moon"],tags:["night"],description:"crescent moon",category:"Travel & Places"},{emoji:"🌚",names:["new_moon_with_face"],tags:[],description:"new moon face",category:"Travel & Places"},{emoji:"🌛",names:["first_quarter_moon_with_face"],tags:[],description:"first quarter moon face",category:"Travel & Places"},{emoji:"🌜",names:["last_quarter_moon_with_face"],tags:[],description:"last quarter moon face",category:"Travel & Places"},{emoji:"🌡️",names:["thermometer"],tags:[],description:"thermometer",category:"Travel & Places"},{emoji:"☀️",names:["sunny"],tags:["weather"],description:"sun",category:"Travel & Places"},{emoji:"🌝",names:["full_moon_with_face"],tags:[],description:"full moon face",category:"Travel & Places"},{emoji:"🌞",names:["sun_with_face"],tags:["summer"],description:"sun with face",category:"Travel & Places"},{emoji:"🪐",names:["ringed_planet"],tags:[],description:"ringed planet",category:"Travel & Places"},{emoji:"⭐",names:["star"],tags:[],description:"star",category:"Travel & Places"},{emoji:"🌟",names:["star2"],tags:[],description:"glowing star",category:"Travel & Places"},{emoji:"🌠",names:["stars"],tags:[],description:"shooting star",category:"Travel & Places"},{emoji:"🌌",names:["milky_way"],tags:[],description:"milky way",category:"Travel & Places"},{emoji:"☁️",names:["cloud"],tags:[],description:"cloud",category:"Travel & Places"},{emoji:"⛅",names:["partly_sunny"],tags:["weather","cloud"],description:"sun behind cloud",category:"Travel & Places"},{emoji:"⛈️",names:["cloud_with_lightning_and_rain"],tags:[],description:"cloud with lightning and rain",category:"Travel & Places"},{emoji:"🌤️",names:["sun_behind_small_cloud"],tags:[],description:"sun behind small cloud",category:"Travel & Places"},{emoji:"🌥️",names:["sun_behind_large_cloud"],tags:[],description:"sun behind large cloud",category:"Travel & Places"},{emoji:"🌦️",names:["sun_behind_rain_cloud"],tags:[],description:"sun behind rain cloud",category:"Travel & Places"},{emoji:"🌧️",names:["cloud_with_rain"],tags:[],description:"cloud with rain",category:"Travel & Places"},{emoji:"🌨️",names:["cloud_with_snow"],tags:[],description:"cloud with snow",category:"Travel & Places"},{emoji:"🌩️",names:["cloud_with_lightning"],tags:[],description:"cloud with lightning",category:"Travel & Places"},{emoji:"🌪️",names:["tornado"],tags:[],description:"tornado",category:"Travel & Places"},{emoji:"🌫️",names:["fog"],tags:[],description:"fog",category:"Travel & Places"},{emoji:"🌬️",names:["wind_face"],tags:[],description:"wind face",category:"Travel & Places"},{emoji:"🌀",names:["cyclone"],tags:["swirl"],description:"cyclone",category:"Travel & Places"},{emoji:"🌈",names:["rainbow"],tags:[],description:"rainbow",category:"Travel & Places"},{emoji:"🌂",names:["closed_umbrella"],tags:["weather","rain"],description:"closed umbrella",category:"Travel & Places"},{emoji:"☂️",names:["open_umbrella"],tags:[],description:"umbrella",category:"Travel & Places"},{emoji:"☔",names:["umbrella"],tags:["rain","weather"],description:"umbrella with rain drops",category:"Travel & Places"},{emoji:"⛱️",names:["parasol_on_ground"],tags:["beach_umbrella"],description:"umbrella on ground",category:"Travel & Places"},{emoji:"⚡",names:["zap"],tags:["lightning","thunder"],description:"high voltage",category:"Travel & Places"},{emoji:"❄️",names:["snowflake"],tags:["winter","cold","weather"],description:"snowflake",category:"Travel & Places"},{emoji:"☃️",names:["snowman_with_snow"],tags:["winter","christmas"],description:"snowman",category:"Travel & Places"},{emoji:"⛄",names:["snowman"],tags:["winter"],description:"snowman without snow",category:"Travel & Places"},{emoji:"☄️",names:["comet"],tags:[],description:"comet",category:"Travel & Places"},{emoji:"🔥",names:["fire"],tags:["burn"],description:"fire",category:"Travel & Places"},{emoji:"💧",names:["droplet"],tags:["water"],description:"droplet",category:"Travel & Places"},{emoji:"🌊",names:["ocean"],tags:["sea"],description:"water wave",category:"Travel & Places"},{emoji:"🎃",names:["jack_o_lantern"],tags:["halloween"],description:"jack-o-lantern",category:"Activities"},{emoji:"🎄",names:["christmas_tree"],tags:[],description:"Christmas tree",category:"Activities"},{emoji:"🎆",names:["fireworks"],tags:["festival","celebration"],description:"fireworks",category:"Activities"},{emoji:"🎇",names:["sparkler"],tags:[],description:"sparkler",category:"Activities"},{emoji:"🧨",names:["firecracker"],tags:[],description:"firecracker",category:"Activities"},{emoji:"✨",names:["sparkles"],tags:["shiny"],description:"sparkles",category:"Activities"},{emoji:"🎈",names:["balloon"],tags:["party","birthday"],description:"balloon",category:"Activities"},{emoji:"🎉",names:["tada"],tags:["hooray","party"],description:"party popper",category:"Activities"},{emoji:"🎊",names:["confetti_ball"],tags:[],description:"confetti ball",category:"Activities"},{emoji:"🎋",names:["tanabata_tree"],tags:[],description:"tanabata tree",category:"Activities"},{emoji:"🎍",names:["bamboo"],tags:[],description:"pine decoration",category:"Activities"},{emoji:"🎎",names:["dolls"],tags:[],description:"Japanese dolls",category:"Activities"},{emoji:"🎏",names:["flags"],tags:[],description:"carp streamer",category:"Activities"},{emoji:"🎐",names:["wind_chime"],tags:[],description:"wind chime",category:"Activities"},{emoji:"🎑",names:["rice_scene"],tags:[],description:"moon viewing ceremony",category:"Activities"},{emoji:"🧧",names:["red_envelope"],tags:[],description:"red envelope",category:"Activities"},{emoji:"🎀",names:["ribbon"],tags:[],description:"ribbon",category:"Activities"},{emoji:"🎁",names:["gift"],tags:["present","birthday","christmas"],description:"wrapped gift",category:"Activities"},{emoji:"🎗️",names:["reminder_ribbon"],tags:[],description:"reminder ribbon",category:"Activities"},{emoji:"🎟️",names:["tickets"],tags:[],description:"admission tickets",category:"Activities"},{emoji:"🎫",names:["ticket"],tags:[],description:"ticket",category:"Activities"},{emoji:"🎖️",names:["medal_military"],tags:[],description:"military medal",category:"Activities"},{emoji:"🏆",names:["trophy"],tags:["award","contest","winner"],description:"trophy",category:"Activities"},{emoji:"🏅",names:["medal_sports"],tags:["gold","winner"],description:"sports medal",category:"Activities"},{emoji:"🥇",names:["1st_place_medal"],tags:["gold"],description:"1st place medal",category:"Activities"},{emoji:"🥈",names:["2nd_place_medal"],tags:["silver"],description:"2nd place medal",category:"Activities"},{emoji:"🥉",names:["3rd_place_medal"],tags:["bronze"],description:"3rd place medal",category:"Activities"},{emoji:"⚽",names:["soccer"],tags:["sports"],description:"soccer ball",category:"Activities"},{emoji:"⚾",names:["baseball"],tags:["sports"],description:"baseball",category:"Activities"},{emoji:"🥎",names:["softball"],tags:[],description:"softball",category:"Activities"},{emoji:"🏀",names:["basketball"],tags:["sports"],description:"basketball",category:"Activities"},{emoji:"🏐",names:["volleyball"],tags:[],description:"volleyball",category:"Activities"},{emoji:"🏈",names:["football"],tags:["sports"],description:"american football",category:"Activities"},{emoji:"🏉",names:["rugby_football"],tags:[],description:"rugby football",category:"Activities"},{emoji:"🎾",names:["tennis"],tags:["sports"],description:"tennis",category:"Activities"},{emoji:"🥏",names:["flying_disc"],tags:[],description:"flying disc",category:"Activities"},{emoji:"🎳",names:["bowling"],tags:[],description:"bowling",category:"Activities"},{emoji:"🏏",names:["cricket_game"],tags:[],description:"cricket game",category:"Activities"},{emoji:"🏑",names:["field_hockey"],tags:[],description:"field hockey",category:"Activities"},{emoji:"🏒",names:["ice_hockey"],tags:[],description:"ice hockey",category:"Activities"},{emoji:"🥍",names:["lacrosse"],tags:[],description:"lacrosse",category:"Activities"},{emoji:"🏓",names:["ping_pong"],tags:[],description:"ping pong",category:"Activities"},{emoji:"🏸",names:["badminton"],tags:[],description:"badminton",category:"Activities"},{emoji:"🥊",names:["boxing_glove"],tags:[],description:"boxing glove",category:"Activities"},{emoji:"🥋",names:["martial_arts_uniform"],tags:[],description:"martial arts uniform",category:"Activities"},{emoji:"🥅",names:["goal_net"],tags:[],description:"goal net",category:"Activities"},{emoji:"⛳",names:["golf"],tags:[],description:"flag in hole",category:"Activities"},{emoji:"⛸️",names:["ice_skate"],tags:["skating"],description:"ice skate",category:"Activities"},{emoji:"🎣",names:["fishing_pole_and_fish"],tags:[],description:"fishing pole",category:"Activities"},{emoji:"🤿",names:["diving_mask"],tags:[],description:"diving mask",category:"Activities"},{emoji:"🎽",names:["running_shirt_with_sash"],tags:["marathon"],description:"running shirt",category:"Activities"},{emoji:"🎿",names:["ski"],tags:[],description:"skis",category:"Activities"},{emoji:"🛷",names:["sled"],tags:[],description:"sled",category:"Activities"},{emoji:"🥌",names:["curling_stone"],tags:[],description:"curling stone",category:"Activities"},{emoji:"🎯",names:["dart"],tags:["target"],description:"bullseye",category:"Activities"},{emoji:"🪀",names:["yo_yo"],tags:[],description:"yo-yo",category:"Activities"},{emoji:"🪁",names:["kite"],tags:[],description:"kite",category:"Activities"},{emoji:"🔫",names:["gun"],tags:["shoot","weapon"],description:"water pistol",category:"Activities"},{emoji:"🎱",names:["8ball"],tags:["pool","billiards"],description:"pool 8 ball",category:"Activities"},{emoji:"🔮",names:["crystal_ball"],tags:["fortune"],description:"crystal ball",category:"Activities"},{emoji:"🪄",names:["magic_wand"],tags:[],description:"magic wand",category:"Activities"},{emoji:"🎮",names:["video_game"],tags:["play","controller","console"],description:"video game",category:"Activities"},{emoji:"🕹️",names:["joystick"],tags:[],description:"joystick",category:"Activities"},{emoji:"🎰",names:["slot_machine"],tags:[],description:"slot machine",category:"Activities"},{emoji:"🎲",names:["game_die"],tags:["dice","gambling"],description:"game die",category:"Activities"},{emoji:"🧩",names:["jigsaw"],tags:[],description:"puzzle piece",category:"Activities"},{emoji:"🧸",names:["teddy_bear"],tags:[],description:"teddy bear",category:"Activities"},{emoji:"🪅",names:["pinata"],tags:[],description:"piñata",category:"Activities"},{emoji:"🪩",names:["mirror_ball"],tags:["disco","party"],description:"mirror ball",category:"Activities"},{emoji:"🪆",names:["nesting_dolls"],tags:[],description:"nesting dolls",category:"Activities"},{emoji:"♠️",names:["spades"],tags:[],description:"spade suit",category:"Activities"},{emoji:"♥️",names:["hearts"],tags:[],description:"heart suit",category:"Activities"},{emoji:"♦️",names:["diamonds"],tags:[],description:"diamond suit",category:"Activities"},{emoji:"♣️",names:["clubs"],tags:[],description:"club suit",category:"Activities"},{emoji:"♟️",names:["chess_pawn"],tags:[],description:"chess pawn",category:"Activities"},{emoji:"🃏",names:["black_joker"],tags:[],description:"joker",category:"Activities"},{emoji:"🀄",names:["mahjong"],tags:[],description:"mahjong red dragon",category:"Activities"},{emoji:"🎴",names:["flower_playing_cards"],tags:[],description:"flower playing cards",category:"Activities"},{emoji:"🎭",names:["performing_arts"],tags:["theater","drama"],description:"performing arts",category:"Activities"},{emoji:"🖼️",names:["framed_picture"],tags:[],description:"framed picture",category:"Activities"},{emoji:"🎨",names:["art"],tags:["design","paint"],description:"artist palette",category:"Activities"},{emoji:"🧵",names:["thread"],tags:[],description:"thread",category:"Activities"},{emoji:"🪡",names:["sewing_needle"],tags:[],description:"sewing needle",category:"Activities"},{emoji:"🧶",names:["yarn"],tags:[],description:"yarn",category:"Activities"},{emoji:"🪢",names:["knot"],tags:[],description:"knot",category:"Activities"},{emoji:"👓",names:["eyeglasses"],tags:["glasses"],description:"glasses",category:"Objects"},{emoji:"🕶️",names:["dark_sunglasses"],tags:[],description:"sunglasses",category:"Objects"},{emoji:"🥽",names:["goggles"],tags:[],description:"goggles",category:"Objects"},{emoji:"🥼",names:["lab_coat"],tags:[],description:"lab coat",category:"Objects"},{emoji:"🦺",names:["safety_vest"],tags:[],description:"safety vest",category:"Objects"},{emoji:"👔",names:["necktie"],tags:["shirt","formal"],description:"necktie",category:"Objects"},{emoji:"👕",names:["shirt","tshirt"],tags:[],description:"t-shirt",category:"Objects"},{emoji:"👖",names:["jeans"],tags:["pants"],description:"jeans",category:"Objects"},{emoji:"🧣",names:["scarf"],tags:[],description:"scarf",category:"Objects"},{emoji:"🧤",names:["gloves"],tags:[],description:"gloves",category:"Objects"},{emoji:"🧥",names:["coat"],tags:[],description:"coat",category:"Objects"},{emoji:"🧦",names:["socks"],tags:[],description:"socks",category:"Objects"},{emoji:"👗",names:["dress"],tags:[],description:"dress",category:"Objects"},{emoji:"👘",names:["kimono"],tags:[],description:"kimono",category:"Objects"},{emoji:"🥻",names:["sari"],tags:[],description:"sari",category:"Objects"},{emoji:"🩱",names:["one_piece_swimsuit"],tags:[],description:"one-piece swimsuit",category:"Objects"},{emoji:"🩲",names:["swim_brief"],tags:[],description:"briefs",category:"Objects"},{emoji:"🩳",names:["shorts"],tags:[],description:"shorts",category:"Objects"},{emoji:"👙",names:["bikini"],tags:["beach"],description:"bikini",category:"Objects"},{emoji:"👚",names:["womans_clothes"],tags:[],description:"woman’s clothes",category:"Objects"},{emoji:"🪭",names:["folding_hand_fan"],tags:["sensu"],description:"folding hand fan",category:"Objects"},{emoji:"👛",names:["purse"],tags:[],description:"purse",category:"Objects"},{emoji:"👜",names:["handbag"],tags:["bag"],description:"handbag",category:"Objects"},{emoji:"👝",names:["pouch"],tags:["bag"],description:"clutch bag",category:"Objects"},{emoji:"🛍️",names:["shopping"],tags:["bags"],description:"shopping bags",category:"Objects"},{emoji:"🎒",names:["school_satchel"],tags:[],description:"backpack",category:"Objects"},{emoji:"🩴",names:["thong_sandal"],tags:[],description:"thong sandal",category:"Objects"},{emoji:"👞",names:["mans_shoe","shoe"],tags:[],description:"man’s shoe",category:"Objects"},{emoji:"👟",names:["athletic_shoe"],tags:["sneaker","sport","running"],description:"running shoe",category:"Objects"},{emoji:"🥾",names:["hiking_boot"],tags:[],description:"hiking boot",category:"Objects"},{emoji:"🥿",names:["flat_shoe"],tags:[],description:"flat shoe",category:"Objects"},{emoji:"👠",names:["high_heel"],tags:["shoe"],description:"high-heeled shoe",category:"Objects"},{emoji:"👡",names:["sandal"],tags:["shoe"],description:"woman’s sandal",category:"Objects"},{emoji:"🩰",names:["ballet_shoes"],tags:[],description:"ballet shoes",category:"Objects"},{emoji:"👢",names:["boot"],tags:[],description:"woman’s boot",category:"Objects"},{emoji:"🪮",names:["hair_pick"],tags:[],description:"hair pick",category:"Objects"},{emoji:"👑",names:["crown"],tags:["king","queen","royal"],description:"crown",category:"Objects"},{emoji:"👒",names:["womans_hat"],tags:[],description:"woman’s hat",category:"Objects"},{emoji:"🎩",names:["tophat"],tags:["hat","classy"],description:"top hat",category:"Objects"},{emoji:"🎓",names:["mortar_board"],tags:["education","college","university","graduation"],description:"graduation cap",category:"Objects"},{emoji:"🧢",names:["billed_cap"],tags:[],description:"billed cap",category:"Objects"},{emoji:"🪖",names:["military_helmet"],tags:[],description:"military helmet",category:"Objects"},{emoji:"⛑️",names:["rescue_worker_helmet"],tags:[],description:"rescue worker’s helmet",category:"Objects"},{emoji:"📿",names:["prayer_beads"],tags:[],description:"prayer beads",category:"Objects"},{emoji:"💄",names:["lipstick"],tags:["makeup"],description:"lipstick",category:"Objects"},{emoji:"💍",names:["ring"],tags:["wedding","marriage","engaged"],description:"ring",category:"Objects"},{emoji:"💎",names:["gem"],tags:["diamond"],description:"gem stone",category:"Objects"},{emoji:"🔇",names:["mute"],tags:["sound","volume"],description:"muted speaker",category:"Objects"},{emoji:"🔈",names:["speaker"],tags:[],description:"speaker low volume",category:"Objects"},{emoji:"🔉",names:["sound"],tags:["volume"],description:"speaker medium volume",category:"Objects"},{emoji:"🔊",names:["loud_sound"],tags:["volume"],description:"speaker high volume",category:"Objects"},{emoji:"📢",names:["loudspeaker"],tags:["announcement"],description:"loudspeaker",category:"Objects"},{emoji:"📣",names:["mega"],tags:[],description:"megaphone",category:"Objects"},{emoji:"📯",names:["postal_horn"],tags:[],description:"postal horn",category:"Objects"},{emoji:"🔔",names:["bell"],tags:["sound","notification"],description:"bell",category:"Objects"},{emoji:"🔕",names:["no_bell"],tags:["volume","off"],description:"bell with slash",category:"Objects"},{emoji:"🎼",names:["musical_score"],tags:[],description:"musical score",category:"Objects"},{emoji:"🎵",names:["musical_note"],tags:[],description:"musical note",category:"Objects"},{emoji:"🎶",names:["notes"],tags:["music"],description:"musical notes",category:"Objects"},{emoji:"🎙️",names:["studio_microphone"],tags:["podcast"],description:"studio microphone",category:"Objects"},{emoji:"🎚️",names:["level_slider"],tags:[],description:"level slider",category:"Objects"},{emoji:"🎛️",names:["control_knobs"],tags:[],description:"control knobs",category:"Objects"},{emoji:"🎤",names:["microphone"],tags:["sing"],description:"microphone",category:"Objects"},{emoji:"🎧",names:["headphones"],tags:["music","earphones"],description:"headphone",category:"Objects"},{emoji:"📻",names:["radio"],tags:["podcast"],description:"radio",category:"Objects"},{emoji:"🎷",names:["saxophone"],tags:[],description:"saxophone",category:"Objects"},{emoji:"🪗",names:["accordion"],tags:[],description:"accordion",category:"Objects"},{emoji:"🎸",names:["guitar"],tags:["rock"],description:"guitar",category:"Objects"},{emoji:"🎹",names:["musical_keyboard"],tags:["piano"],description:"musical keyboard",category:"Objects"},{emoji:"🎺",names:["trumpet"],tags:[],description:"trumpet",category:"Objects"},{emoji:"🎻",names:["violin"],tags:[],description:"violin",category:"Objects"},{emoji:"🪕",names:["banjo"],tags:[],description:"banjo",category:"Objects"},{emoji:"🥁",names:["drum"],tags:[],description:"drum",category:"Objects"},{emoji:"🪘",names:["long_drum"],tags:[],description:"long drum",category:"Objects"},{emoji:"🪇",names:["maracas"],tags:["shaker"],description:"maracas",category:"Objects"},{emoji:"🪈",names:["flute"],tags:["recorder"],description:"flute",category:"Objects"},{emoji:"📱",names:["iphone"],tags:["smartphone","mobile"],description:"mobile phone",category:"Objects"},{emoji:"📲",names:["calling"],tags:["call","incoming"],description:"mobile phone with arrow",category:"Objects"},{emoji:"☎️",names:["phone","telephone"],tags:[],description:"telephone",category:"Objects"},{emoji:"📞",names:["telephone_receiver"],tags:["phone","call"],description:"telephone receiver",category:"Objects"},{emoji:"📟",names:["pager"],tags:[],description:"pager",category:"Objects"},{emoji:"📠",names:["fax"],tags:[],description:"fax machine",category:"Objects"},{emoji:"🔋",names:["battery"],tags:["power"],description:"battery",category:"Objects"},{emoji:"🪫",names:["low_battery"],tags:[],description:"low battery",category:"Objects"},{emoji:"🔌",names:["electric_plug"],tags:[],description:"electric plug",category:"Objects"},{emoji:"💻",names:["computer"],tags:["desktop","screen"],description:"laptop",category:"Objects"},{emoji:"🖥️",names:["desktop_computer"],tags:[],description:"desktop computer",category:"Objects"},{emoji:"🖨️",names:["printer"],tags:[],description:"printer",category:"Objects"},{emoji:"⌨️",names:["keyboard"],tags:[],description:"keyboard",category:"Objects"},{emoji:"🖱️",names:["computer_mouse"],tags:[],description:"computer mouse",category:"Objects"},{emoji:"🖲️",names:["trackball"],tags:[],description:"trackball",category:"Objects"},{emoji:"💽",names:["minidisc"],tags:[],description:"computer disk",category:"Objects"},{emoji:"💾",names:["floppy_disk"],tags:["save"],description:"floppy disk",category:"Objects"},{emoji:"💿",names:["cd"],tags:[],description:"optical disk",category:"Objects"},{emoji:"📀",names:["dvd"],tags:[],description:"dvd",category:"Objects"},{emoji:"🧮",names:["abacus"],tags:[],description:"abacus",category:"Objects"},{emoji:"🎥",names:["movie_camera"],tags:["film","video"],description:"movie camera",category:"Objects"},{emoji:"🎞️",names:["film_strip"],tags:[],description:"film frames",category:"Objects"},{emoji:"📽️",names:["film_projector"],tags:[],description:"film projector",category:"Objects"},{emoji:"🎬",names:["clapper"],tags:["film"],description:"clapper board",category:"Objects"},{emoji:"📺",names:["tv"],tags:[],description:"television",category:"Objects"},{emoji:"📷",names:["camera"],tags:["photo"],description:"camera",category:"Objects"},{emoji:"📸",names:["camera_flash"],tags:["photo"],description:"camera with flash",category:"Objects"},{emoji:"📹",names:["video_camera"],tags:[],description:"video camera",category:"Objects"},{emoji:"📼",names:["vhs"],tags:[],description:"videocassette",category:"Objects"},{emoji:"🔍",names:["mag"],tags:["search","zoom"],description:"magnifying glass tilted left",category:"Objects"},{emoji:"🔎",names:["mag_right"],tags:[],description:"magnifying glass tilted right",category:"Objects"},{emoji:"🕯️",names:["candle"],tags:[],description:"candle",category:"Objects"},{emoji:"💡",names:["bulb"],tags:["idea","light"],description:"light bulb",category:"Objects"},{emoji:"🔦",names:["flashlight"],tags:[],description:"flashlight",category:"Objects"},{emoji:"🏮",names:["izakaya_lantern","lantern"],tags:[],description:"red paper lantern",category:"Objects"},{emoji:"🪔",names:["diya_lamp"],tags:[],description:"diya lamp",category:"Objects"},{emoji:"📔",names:["notebook_with_decorative_cover"],tags:[],description:"notebook with decorative cover",category:"Objects"},{emoji:"📕",names:["closed_book"],tags:[],description:"closed book",category:"Objects"},{emoji:"📖",names:["book","open_book"],tags:[],description:"open book",category:"Objects"},{emoji:"📗",names:["green_book"],tags:[],description:"green book",category:"Objects"},{emoji:"📘",names:["blue_book"],tags:[],description:"blue book",category:"Objects"},{emoji:"📙",names:["orange_book"],tags:[],description:"orange book",category:"Objects"},{emoji:"📚",names:["books"],tags:["library"],description:"books",category:"Objects"},{emoji:"📓",names:["notebook"],tags:[],description:"notebook",category:"Objects"},{emoji:"📒",names:["ledger"],tags:[],description:"ledger",category:"Objects"},{emoji:"📃",names:["page_with_curl"],tags:[],description:"page with curl",category:"Objects"},{emoji:"📜",names:["scroll"],tags:["document"],description:"scroll",category:"Objects"},{emoji:"📄",names:["page_facing_up"],tags:["document"],description:"page facing up",category:"Objects"},{emoji:"📰",names:["newspaper"],tags:["press"],description:"newspaper",category:"Objects"},{emoji:"🗞️",names:["newspaper_roll"],tags:["press"],description:"rolled-up newspaper",category:"Objects"},{emoji:"📑",names:["bookmark_tabs"],tags:[],description:"bookmark tabs",category:"Objects"},{emoji:"🔖",names:["bookmark"],tags:[],description:"bookmark",category:"Objects"},{emoji:"🏷️",names:["label"],tags:["tag"],description:"label",category:"Objects"},{emoji:"💰",names:["moneybag"],tags:["dollar","cream"],description:"money bag",category:"Objects"},{emoji:"🪙",names:["coin"],tags:[],description:"coin",category:"Objects"},{emoji:"💴",names:["yen"],tags:[],description:"yen banknote",category:"Objects"},{emoji:"💵",names:["dollar"],tags:["money"],description:"dollar banknote",category:"Objects"},{emoji:"💶",names:["euro"],tags:[],description:"euro banknote",category:"Objects"},{emoji:"💷",names:["pound"],tags:[],description:"pound banknote",category:"Objects"},{emoji:"💸",names:["money_with_wings"],tags:["dollar"],description:"money with wings",category:"Objects"},{emoji:"💳",names:["credit_card"],tags:["subscription"],description:"credit card",category:"Objects"},{emoji:"🧾",names:["receipt"],tags:[],description:"receipt",category:"Objects"},{emoji:"💹",names:["chart"],tags:[],description:"chart increasing with yen",category:"Objects"},{emoji:"✉️",names:["envelope"],tags:["letter","email"],description:"envelope",category:"Objects"},{emoji:"📧",names:["email","e-mail"],tags:[],description:"e-mail",category:"Objects"},{emoji:"📨",names:["incoming_envelope"],tags:[],description:"incoming envelope",category:"Objects"},{emoji:"📩",names:["envelope_with_arrow"],tags:[],description:"envelope with arrow",category:"Objects"},{emoji:"📤",names:["outbox_tray"],tags:[],description:"outbox tray",category:"Objects"},{emoji:"📥",names:["inbox_tray"],tags:[],description:"inbox tray",category:"Objects"},{emoji:"📦",names:["package"],tags:["shipping"],description:"package",category:"Objects"},{emoji:"📫",names:["mailbox"],tags:[],description:"closed mailbox with raised flag",category:"Objects"},{emoji:"📪",names:["mailbox_closed"],tags:[],description:"closed mailbox with lowered flag",category:"Objects"},{emoji:"📬",names:["mailbox_with_mail"],tags:[],description:"open mailbox with raised flag",category:"Objects"},{emoji:"📭",names:["mailbox_with_no_mail"],tags:[],description:"open mailbox with lowered flag",category:"Objects"},{emoji:"📮",names:["postbox"],tags:[],description:"postbox",category:"Objects"},{emoji:"🗳️",names:["ballot_box"],tags:[],description:"ballot box with ballot",category:"Objects"},{emoji:"✏️",names:["pencil2"],tags:[],description:"pencil",category:"Objects"},{emoji:"✒️",names:["black_nib"],tags:[],description:"black nib",category:"Objects"},{emoji:"🖋️",names:["fountain_pen"],tags:[],description:"fountain pen",category:"Objects"},{emoji:"🖊️",names:["pen"],tags:[],description:"pen",category:"Objects"},{emoji:"🖌️",names:["paintbrush"],tags:[],description:"paintbrush",category:"Objects"},{emoji:"🖍️",names:["crayon"],tags:[],description:"crayon",category:"Objects"},{emoji:"📝",names:["memo","pencil"],tags:["document","note"],description:"memo",category:"Objects"},{emoji:"💼",names:["briefcase"],tags:["business"],description:"briefcase",category:"Objects"},{emoji:"📁",names:["file_folder"],tags:["directory"],description:"file folder",category:"Objects"},{emoji:"📂",names:["open_file_folder"],tags:[],description:"open file folder",category:"Objects"},{emoji:"🗂️",names:["card_index_dividers"],tags:[],description:"card index dividers",category:"Objects"},{emoji:"📅",names:["date"],tags:["calendar","schedule"],description:"calendar",category:"Objects"},{emoji:"📆",names:["calendar"],tags:["schedule"],description:"tear-off calendar",category:"Objects"},{emoji:"🗒️",names:["spiral_notepad"],tags:[],description:"spiral notepad",category:"Objects"},{emoji:"🗓️",names:["spiral_calendar"],tags:[],description:"spiral calendar",category:"Objects"},{emoji:"📇",names:["card_index"],tags:[],description:"card index",category:"Objects"},{emoji:"📈",names:["chart_with_upwards_trend"],tags:["graph","metrics"],description:"chart increasing",category:"Objects"},{emoji:"📉",names:["chart_with_downwards_trend"],tags:["graph","metrics"],description:"chart decreasing",category:"Objects"},{emoji:"📊",names:["bar_chart"],tags:["stats","metrics"],description:"bar chart",category:"Objects"},{emoji:"📋",names:["clipboard"],tags:[],description:"clipboard",category:"Objects"},{emoji:"📌",names:["pushpin"],tags:["location"],description:"pushpin",category:"Objects"},{emoji:"📍",names:["round_pushpin"],tags:["location"],description:"round pushpin",category:"Objects"},{emoji:"📎",names:["paperclip"],tags:[],description:"paperclip",category:"Objects"},{emoji:"🖇️",names:["paperclips"],tags:[],description:"linked paperclips",category:"Objects"},{emoji:"📏",names:["straight_ruler"],tags:[],description:"straight ruler",category:"Objects"},{emoji:"📐",names:["triangular_ruler"],tags:[],description:"triangular ruler",category:"Objects"},{emoji:"✂️",names:["scissors"],tags:["cut"],description:"scissors",category:"Objects"},{emoji:"🗃️",names:["card_file_box"],tags:[],description:"card file box",category:"Objects"},{emoji:"🗄️",names:["file_cabinet"],tags:[],description:"file cabinet",category:"Objects"},{emoji:"🗑️",names:["wastebasket"],tags:["trash"],description:"wastebasket",category:"Objects"},{emoji:"🔒",names:["lock"],tags:["security","private"],description:"locked",category:"Objects"},{emoji:"🔓",names:["unlock"],tags:["security"],description:"unlocked",category:"Objects"},{emoji:"🔏",names:["lock_with_ink_pen"],tags:[],description:"locked with pen",category:"Objects"},{emoji:"🔐",names:["closed_lock_with_key"],tags:["security"],description:"locked with key",category:"Objects"},{emoji:"🔑",names:["key"],tags:["lock","password"],description:"key",category:"Objects"},{emoji:"🗝️",names:["old_key"],tags:[],description:"old key",category:"Objects"},{emoji:"🔨",names:["hammer"],tags:["tool"],description:"hammer",category:"Objects"},{emoji:"🪓",names:["axe"],tags:[],description:"axe",category:"Objects"},{emoji:"⛏️",names:["pick"],tags:[],description:"pick",category:"Objects"},{emoji:"⚒️",names:["hammer_and_pick"],tags:[],description:"hammer and pick",category:"Objects"},{emoji:"🛠️",names:["hammer_and_wrench"],tags:[],description:"hammer and wrench",category:"Objects"},{emoji:"🗡️",names:["dagger"],tags:[],description:"dagger",category:"Objects"},{emoji:"⚔️",names:["crossed_swords"],tags:[],description:"crossed swords",category:"Objects"},{emoji:"💣",names:["bomb"],tags:["boom"],description:"bomb",category:"Objects"},{emoji:"🪃",names:["boomerang"],tags:[],description:"boomerang",category:"Objects"},{emoji:"🏹",names:["bow_and_arrow"],tags:["archery"],description:"bow and arrow",category:"Objects"},{emoji:"🛡️",names:["shield"],tags:[],description:"shield",category:"Objects"},{emoji:"🪚",names:["carpentry_saw"],tags:[],description:"carpentry saw",category:"Objects"},{emoji:"🔧",names:["wrench"],tags:["tool"],description:"wrench",category:"Objects"},{emoji:"🪛",names:["screwdriver"],tags:[],description:"screwdriver",category:"Objects"},{emoji:"🔩",names:["nut_and_bolt"],tags:[],description:"nut and bolt",category:"Objects"},{emoji:"⚙️",names:["gear"],tags:[],description:"gear",category:"Objects"},{emoji:"🗜️",names:["clamp"],tags:[],description:"clamp",category:"Objects"},{emoji:"⚖️",names:["balance_scale"],tags:[],description:"balance scale",category:"Objects"},{emoji:"🦯",names:["probing_cane"],tags:[],description:"white cane",category:"Objects"},{emoji:"🔗",names:["link"],tags:[],description:"link",category:"Objects"},{emoji:"⛓️",names:["chains"],tags:[],description:"chains",category:"Objects"},{emoji:"🪝",names:["hook"],tags:[],description:"hook",category:"Objects"},{emoji:"🧰",names:["toolbox"],tags:[],description:"toolbox",category:"Objects"},{emoji:"🧲",names:["magnet"],tags:[],description:"magnet",category:"Objects"},{emoji:"🪜",names:["ladder"],tags:[],description:"ladder",category:"Objects"},{emoji:"⚗️",names:["alembic"],tags:[],description:"alembic",category:"Objects"},{emoji:"🧪",names:["test_tube"],tags:[],description:"test tube",category:"Objects"},{emoji:"🧫",names:["petri_dish"],tags:[],description:"petri dish",category:"Objects"},{emoji:"🧬",names:["dna"],tags:[],description:"dna",category:"Objects"},{emoji:"🔬",names:["microscope"],tags:["science","laboratory","investigate"],description:"microscope",category:"Objects"},{emoji:"🔭",names:["telescope"],tags:[],description:"telescope",category:"Objects"},{emoji:"📡",names:["satellite"],tags:["signal"],description:"satellite antenna",category:"Objects"},{emoji:"💉",names:["syringe"],tags:["health","hospital","needle"],description:"syringe",category:"Objects"},{emoji:"🩸",names:["drop_of_blood"],tags:[],description:"drop of blood",category:"Objects"},{emoji:"💊",names:["pill"],tags:["health","medicine"],description:"pill",category:"Objects"},{emoji:"🩹",names:["adhesive_bandage"],tags:[],description:"adhesive bandage",category:"Objects"},{emoji:"🩼",names:["crutch"],tags:[],description:"crutch",category:"Objects"},{emoji:"🩺",names:["stethoscope"],tags:[],description:"stethoscope",category:"Objects"},{emoji:"🩻",names:["x_ray"],tags:[],description:"x-ray",category:"Objects"},{emoji:"🚪",names:["door"],tags:[],description:"door",category:"Objects"},{emoji:"🛗",names:["elevator"],tags:[],description:"elevator",category:"Objects"},{emoji:"🪞",names:["mirror"],tags:[],description:"mirror",category:"Objects"},{emoji:"🪟",names:["window"],tags:[],description:"window",category:"Objects"},{emoji:"🛏️",names:["bed"],tags:[],description:"bed",category:"Objects"},{emoji:"🛋️",names:["couch_and_lamp"],tags:[],description:"couch and lamp",category:"Objects"},{emoji:"🪑",names:["chair"],tags:[],description:"chair",category:"Objects"},{emoji:"🚽",names:["toilet"],tags:["wc"],description:"toilet",category:"Objects"},{emoji:"🪠",names:["plunger"],tags:[],description:"plunger",category:"Objects"},{emoji:"🚿",names:["shower"],tags:["bath"],description:"shower",category:"Objects"},{emoji:"🛁",names:["bathtub"],tags:[],description:"bathtub",category:"Objects"},{emoji:"🪤",names:["mouse_trap"],tags:[],description:"mouse trap",category:"Objects"},{emoji:"🪒",names:["razor"],tags:[],description:"razor",category:"Objects"},{emoji:"🧴",names:["lotion_bottle"],tags:[],description:"lotion bottle",category:"Objects"},{emoji:"🧷",names:["safety_pin"],tags:[],description:"safety pin",category:"Objects"},{emoji:"🧹",names:["broom"],tags:[],description:"broom",category:"Objects"},{emoji:"🧺",names:["basket"],tags:[],description:"basket",category:"Objects"},{emoji:"🧻",names:["roll_of_paper"],tags:["toilet"],description:"roll of paper",category:"Objects"},{emoji:"🪣",names:["bucket"],tags:[],description:"bucket",category:"Objects"},{emoji:"🧼",names:["soap"],tags:[],description:"soap",category:"Objects"},{emoji:"🫧",names:["bubbles"],tags:[],description:"bubbles",category:"Objects"},{emoji:"🪥",names:["toothbrush"],tags:[],description:"toothbrush",category:"Objects"},{emoji:"🧽",names:["sponge"],tags:[],description:"sponge",category:"Objects"},{emoji:"🧯",names:["fire_extinguisher"],tags:[],description:"fire extinguisher",category:"Objects"},{emoji:"🛒",names:["shopping_cart"],tags:[],description:"shopping cart",category:"Objects"},{emoji:"🚬",names:["smoking"],tags:["cigarette"],description:"cigarette",category:"Objects"},{emoji:"⚰️",names:["coffin"],tags:["funeral"],description:"coffin",category:"Objects"},{emoji:"🪦",names:["headstone"],tags:[],description:"headstone",category:"Objects"},{emoji:"⚱️",names:["funeral_urn"],tags:[],description:"funeral urn",category:"Objects"},{emoji:"🧿",names:["nazar_amulet"],tags:[],description:"nazar amulet",category:"Objects"},{emoji:"🪬",names:["hamsa"],tags:[],description:"hamsa",category:"Objects"},{emoji:"🗿",names:["moyai"],tags:["stone"],description:"moai",category:"Objects"},{emoji:"🪧",names:["placard"],tags:[],description:"placard",category:"Objects"},{emoji:"🪪",names:["identification_card"],tags:[],description:"identification card",category:"Objects"},{emoji:"🏧",names:["atm"],tags:[],description:"ATM sign",category:"Symbols"},{emoji:"🚮",names:["put_litter_in_its_place"],tags:[],description:"litter in bin sign",category:"Symbols"},{emoji:"🚰",names:["potable_water"],tags:[],description:"potable water",category:"Symbols"},{emoji:"♿",names:["wheelchair"],tags:["accessibility"],description:"wheelchair symbol",category:"Symbols"},{emoji:"🚹",names:["mens"],tags:[],description:"men’s room",category:"Symbols"},{emoji:"🚺",names:["womens"],tags:[],description:"women’s room",category:"Symbols"},{emoji:"🚻",names:["restroom"],tags:["toilet"],description:"restroom",category:"Symbols"},{emoji:"🚼",names:["baby_symbol"],tags:[],description:"baby symbol",category:"Symbols"},{emoji:"🚾",names:["wc"],tags:["toilet","restroom"],description:"water closet",category:"Symbols"},{emoji:"🛂",names:["passport_control"],tags:[],description:"passport control",category:"Symbols"},{emoji:"🛃",names:["customs"],tags:[],description:"customs",category:"Symbols"},{emoji:"🛄",names:["baggage_claim"],tags:["airport"],description:"baggage claim",category:"Symbols"},{emoji:"🛅",names:["left_luggage"],tags:[],description:"left luggage",category:"Symbols"},{emoji:"⚠️",names:["warning"],tags:["wip"],description:"warning",category:"Symbols"},{emoji:"🚸",names:["children_crossing"],tags:[],description:"children crossing",category:"Symbols"},{emoji:"⛔",names:["no_entry"],tags:["limit"],description:"no entry",category:"Symbols"},{emoji:"🚫",names:["no_entry_sign"],tags:["block","forbidden"],description:"prohibited",category:"Symbols"},{emoji:"🚳",names:["no_bicycles"],tags:[],description:"no bicycles",category:"Symbols"},{emoji:"🚭",names:["no_smoking"],tags:[],description:"no smoking",category:"Symbols"},{emoji:"🚯",names:["do_not_litter"],tags:[],description:"no littering",category:"Symbols"},{emoji:"🚱",names:["non-potable_water"],tags:[],description:"non-potable water",category:"Symbols"},{emoji:"🚷",names:["no_pedestrians"],tags:[],description:"no pedestrians",category:"Symbols"},{emoji:"📵",names:["no_mobile_phones"],tags:[],description:"no mobile phones",category:"Symbols"},{emoji:"🔞",names:["underage"],tags:[],description:"no one under eighteen",category:"Symbols"},{emoji:"☢️",names:["radioactive"],tags:[],description:"radioactive",category:"Symbols"},{emoji:"☣️",names:["biohazard"],tags:[],description:"biohazard",category:"Symbols"},{emoji:"⬆️",names:["arrow_up"],tags:[],description:"up arrow",category:"Symbols"},{emoji:"↗️",names:["arrow_upper_right"],tags:[],description:"up-right arrow",category:"Symbols"},{emoji:"➡️",names:["arrow_right"],tags:[],description:"right arrow",category:"Symbols"},{emoji:"↘️",names:["arrow_lower_right"],tags:[],description:"down-right arrow",category:"Symbols"},{emoji:"⬇️",names:["arrow_down"],tags:[],description:"down arrow",category:"Symbols"},{emoji:"↙️",names:["arrow_lower_left"],tags:[],description:"down-left arrow",category:"Symbols"},{emoji:"⬅️",names:["arrow_left"],tags:[],description:"left arrow",category:"Symbols"},{emoji:"↖️",names:["arrow_upper_left"],tags:[],description:"up-left arrow",category:"Symbols"},{emoji:"↕️",names:["arrow_up_down"],tags:[],description:"up-down arrow",category:"Symbols"},{emoji:"↔️",names:["left_right_arrow"],tags:[],description:"left-right arrow",category:"Symbols"},{emoji:"↩️",names:["leftwards_arrow_with_hook"],tags:["return"],description:"right arrow curving left",category:"Symbols"},{emoji:"↪️",names:["arrow_right_hook"],tags:[],description:"left arrow curving right",category:"Symbols"},{emoji:"⤴️",names:["arrow_heading_up"],tags:[],description:"right arrow curving up",category:"Symbols"},{emoji:"⤵️",names:["arrow_heading_down"],tags:[],description:"right arrow curving down",category:"Symbols"},{emoji:"🔃",names:["arrows_clockwise"],tags:[],description:"clockwise vertical arrows",category:"Symbols"},{emoji:"🔄",names:["arrows_counterclockwise"],tags:["sync"],description:"counterclockwise arrows button",category:"Symbols"},{emoji:"🔙",names:["back"],tags:[],description:"BACK arrow",category:"Symbols"},{emoji:"🔚",names:["end"],tags:[],description:"END arrow",category:"Symbols"},{emoji:"🔛",names:["on"],tags:[],description:"ON! arrow",category:"Symbols"},{emoji:"🔜",names:["soon"],tags:[],description:"SOON arrow",category:"Symbols"},{emoji:"🔝",names:["top"],tags:[],description:"TOP arrow",category:"Symbols"},{emoji:"🛐",names:["place_of_worship"],tags:[],description:"place of worship",category:"Symbols"},{emoji:"⚛️",names:["atom_symbol"],tags:[],description:"atom symbol",category:"Symbols"},{emoji:"🕉️",names:["om"],tags:[],description:"om",category:"Symbols"},{emoji:"✡️",names:["star_of_david"],tags:[],description:"star of David",category:"Symbols"},{emoji:"☸️",names:["wheel_of_dharma"],tags:[],description:"wheel of dharma",category:"Symbols"},{emoji:"☯️",names:["yin_yang"],tags:[],description:"yin yang",category:"Symbols"},{emoji:"✝️",names:["latin_cross"],tags:[],description:"latin cross",category:"Symbols"},{emoji:"☦️",names:["orthodox_cross"],tags:[],description:"orthodox cross",category:"Symbols"},{emoji:"☪️",names:["star_and_crescent"],tags:[],description:"star and crescent",category:"Symbols"},{emoji:"☮️",names:["peace_symbol"],tags:[],description:"peace symbol",category:"Symbols"},{emoji:"🕎",names:["menorah"],tags:[],description:"menorah",category:"Symbols"},{emoji:"🔯",names:["six_pointed_star"],tags:[],description:"dotted six-pointed star",category:"Symbols"},{emoji:"🪯",names:["khanda"],tags:[],description:"khanda",category:"Symbols"},{emoji:"♈",names:["aries"],tags:[],description:"Aries",category:"Symbols"},{emoji:"♉",names:["taurus"],tags:[],description:"Taurus",category:"Symbols"},{emoji:"♊",names:["gemini"],tags:[],description:"Gemini",category:"Symbols"},{emoji:"♋",names:["cancer"],tags:[],description:"Cancer",category:"Symbols"},{emoji:"♌",names:["leo"],tags:[],description:"Leo",category:"Symbols"},{emoji:"♍",names:["virgo"],tags:[],description:"Virgo",category:"Symbols"},{emoji:"♎",names:["libra"],tags:[],description:"Libra",category:"Symbols"},{emoji:"♏",names:["scorpius"],tags:[],description:"Scorpio",category:"Symbols"},{emoji:"♐",names:["sagittarius"],tags:[],description:"Sagittarius",category:"Symbols"},{emoji:"♑",names:["capricorn"],tags:[],description:"Capricorn",category:"Symbols"},{emoji:"♒",names:["aquarius"],tags:[],description:"Aquarius",category:"Symbols"},{emoji:"♓",names:["pisces"],tags:[],description:"Pisces",category:"Symbols"},{emoji:"⛎",names:["ophiuchus"],tags:[],description:"Ophiuchus",category:"Symbols"},{emoji:"🔀",names:["twisted_rightwards_arrows"],tags:["shuffle"],description:"shuffle tracks button",category:"Symbols"},{emoji:"🔁",names:["repeat"],tags:["loop"],description:"repeat button",category:"Symbols"},{emoji:"🔂",names:["repeat_one"],tags:[],description:"repeat single button",category:"Symbols"},{emoji:"▶️",names:["arrow_forward"],tags:[],description:"play button",category:"Symbols"},{emoji:"⏩",names:["fast_forward"],tags:[],description:"fast-forward button",category:"Symbols"},{emoji:"⏭️",names:["next_track_button"],tags:[],description:"next track button",category:"Symbols"},{emoji:"⏯️",names:["play_or_pause_button"],tags:[],description:"play or pause button",category:"Symbols"},{emoji:"◀️",names:["arrow_backward"],tags:[],description:"reverse button",category:"Symbols"},{emoji:"⏪",names:["rewind"],tags:[],description:"fast reverse button",category:"Symbols"},{emoji:"⏮️",names:["previous_track_button"],tags:[],description:"last track button",category:"Symbols"},{emoji:"🔼",names:["arrow_up_small"],tags:[],description:"upwards button",category:"Symbols"},{emoji:"⏫",names:["arrow_double_up"],tags:[],description:"fast up button",category:"Symbols"},{emoji:"🔽",names:["arrow_down_small"],tags:[],description:"downwards button",category:"Symbols"},{emoji:"⏬",names:["arrow_double_down"],tags:[],description:"fast down button",category:"Symbols"},{emoji:"⏸️",names:["pause_button"],tags:[],description:"pause button",category:"Symbols"},{emoji:"⏹️",names:["stop_button"],tags:[],description:"stop button",category:"Symbols"},{emoji:"⏺️",names:["record_button"],tags:[],description:"record button",category:"Symbols"},{emoji:"⏏️",names:["eject_button"],tags:[],description:"eject button",category:"Symbols"},{emoji:"🎦",names:["cinema"],tags:["film","movie"],description:"cinema",category:"Symbols"},{emoji:"🔅",names:["low_brightness"],tags:[],description:"dim button",category:"Symbols"},{emoji:"🔆",names:["high_brightness"],tags:[],description:"bright button",category:"Symbols"},{emoji:"📶",names:["signal_strength"],tags:["wifi"],description:"antenna bars",category:"Symbols"},{emoji:"🛜",names:["wireless"],tags:["wifi"],description:"wireless",category:"Symbols"},{emoji:"📳",names:["vibration_mode"],tags:[],description:"vibration mode",category:"Symbols"},{emoji:"📴",names:["mobile_phone_off"],tags:["mute","off"],description:"mobile phone off",category:"Symbols"},{emoji:"♀️",names:["female_sign"],tags:[],description:"female sign",category:"Symbols"},{emoji:"♂️",names:["male_sign"],tags:[],description:"male sign",category:"Symbols"},{emoji:"⚧️",names:["transgender_symbol"],tags:[],description:"transgender symbol",category:"Symbols"},{emoji:"✖️",names:["heavy_multiplication_x"],tags:[],description:"multiply",category:"Symbols"},{emoji:"➕",names:["heavy_plus_sign"],tags:[],description:"plus",category:"Symbols"},{emoji:"➖",names:["heavy_minus_sign"],tags:[],description:"minus",category:"Symbols"},{emoji:"➗",names:["heavy_division_sign"],tags:[],description:"divide",category:"Symbols"},{emoji:"🟰",names:["heavy_equals_sign"],tags:[],description:"heavy equals sign",category:"Symbols"},{emoji:"♾️",names:["infinity"],tags:[],description:"infinity",category:"Symbols"},{emoji:"‼️",names:["bangbang"],tags:[],description:"double exclamation mark",category:"Symbols"},{emoji:"⁉️",names:["interrobang"],tags:[],description:"exclamation question mark",category:"Symbols"},{emoji:"❓",names:["question"],tags:["confused"],description:"red question mark",category:"Symbols"},{emoji:"❔",names:["grey_question"],tags:[],description:"white question mark",category:"Symbols"},{emoji:"❕",names:["grey_exclamation"],tags:[],description:"white exclamation mark",category:"Symbols"},{emoji:"❗",names:["exclamation","heavy_exclamation_mark"],tags:["bang"],description:"red exclamation mark",category:"Symbols"},{emoji:"〰️",names:["wavy_dash"],tags:[],description:"wavy dash",category:"Symbols"},{emoji:"💱",names:["currency_exchange"],tags:[],description:"currency exchange",category:"Symbols"},{emoji:"💲",names:["heavy_dollar_sign"],tags:[],description:"heavy dollar sign",category:"Symbols"},{emoji:"⚕️",names:["medical_symbol"],tags:[],description:"medical symbol",category:"Symbols"},{emoji:"♻️",names:["recycle"],tags:["environment","green"],description:"recycling symbol",category:"Symbols"},{emoji:"⚜️",names:["fleur_de_lis"],tags:[],description:"fleur-de-lis",category:"Symbols"},{emoji:"🔱",names:["trident"],tags:[],description:"trident emblem",category:"Symbols"},{emoji:"📛",names:["name_badge"],tags:[],description:"name badge",category:"Symbols"},{emoji:"🔰",names:["beginner"],tags:[],description:"Japanese symbol for beginner",category:"Symbols"},{emoji:"⭕",names:["o"],tags:[],description:"hollow red circle",category:"Symbols"},{emoji:"✅",names:["white_check_mark"],tags:[],description:"check mark button",category:"Symbols"},{emoji:"☑️",names:["ballot_box_with_check"],tags:[],description:"check box with check",category:"Symbols"},{emoji:"✔️",names:["heavy_check_mark"],tags:[],description:"check mark",category:"Symbols"},{emoji:"❌",names:["x"],tags:[],description:"cross mark",category:"Symbols"},{emoji:"❎",names:["negative_squared_cross_mark"],tags:[],description:"cross mark button",category:"Symbols"},{emoji:"➰",names:["curly_loop"],tags:[],description:"curly loop",category:"Symbols"},{emoji:"➿",names:["loop"],tags:[],description:"double curly loop",category:"Symbols"},{emoji:"〽️",names:["part_alternation_mark"],tags:[],description:"part alternation mark",category:"Symbols"},{emoji:"✳️",names:["eight_spoked_asterisk"],tags:[],description:"eight-spoked asterisk",category:"Symbols"},{emoji:"✴️",names:["eight_pointed_black_star"],tags:[],description:"eight-pointed star",category:"Symbols"},{emoji:"❇️",names:["sparkle"],tags:[],description:"sparkle",category:"Symbols"},{emoji:"©️",names:["copyright"],tags:[],description:"copyright",category:"Symbols"},{emoji:"®️",names:["registered"],tags:[],description:"registered",category:"Symbols"},{emoji:"™️",names:["tm"],tags:["trademark"],description:"trade mark",category:"Symbols"},{emoji:"#️⃣",names:["hash"],tags:["number"],description:"keycap: #",category:"Symbols"},{emoji:"*️⃣",names:["asterisk"],tags:[],description:"keycap: *",category:"Symbols"},{emoji:"0️⃣",names:["zero"],tags:[],description:"keycap: 0",category:"Symbols"},{emoji:"1️⃣",names:["one"],tags:[],description:"keycap: 1",category:"Symbols"},{emoji:"2️⃣",names:["two"],tags:[],description:"keycap: 2",category:"Symbols"},{emoji:"3️⃣",names:["three"],tags:[],description:"keycap: 3",category:"Symbols"},{emoji:"4️⃣",names:["four"],tags:[],description:"keycap: 4",category:"Symbols"},{emoji:"5️⃣",names:["five"],tags:[],description:"keycap: 5",category:"Symbols"},{emoji:"6️⃣",names:["six"],tags:[],description:"keycap: 6",category:"Symbols"},{emoji:"7️⃣",names:["seven"],tags:[],description:"keycap: 7",category:"Symbols"},{emoji:"8️⃣",names:["eight"],tags:[],description:"keycap: 8",category:"Symbols"},{emoji:"9️⃣",names:["nine"],tags:[],description:"keycap: 9",category:"Symbols"},{emoji:"🔟",names:["keycap_ten"],tags:[],description:"keycap: 10",category:"Symbols"},{emoji:"🔠",names:["capital_abcd"],tags:["letters"],description:"input latin uppercase",category:"Symbols"},{emoji:"🔡",names:["abcd"],tags:[],description:"input latin lowercase",category:"Symbols"},{emoji:"🔢",names:["1234"],tags:["numbers"],description:"input numbers",category:"Symbols"},{emoji:"🔣",names:["symbols"],tags:[],description:"input symbols",category:"Symbols"},{emoji:"🔤",names:["abc"],tags:["alphabet"],description:"input latin letters",category:"Symbols"},{emoji:"🅰️",names:["a"],tags:[],description:"A button (blood type)",category:"Symbols"},{emoji:"🆎",names:["ab"],tags:[],description:"AB button (blood type)",category:"Symbols"},{emoji:"🅱️",names:["b"],tags:[],description:"B button (blood type)",category:"Symbols"},{emoji:"🆑",names:["cl"],tags:[],description:"CL button",category:"Symbols"},{emoji:"🆒",names:["cool"],tags:[],description:"COOL button",category:"Symbols"},{emoji:"🆓",names:["free"],tags:[],description:"FREE button",category:"Symbols"},{emoji:"ℹ️",names:["information_source"],tags:[],description:"information",category:"Symbols"},{emoji:"🆔",names:["id"],tags:[],description:"ID button",category:"Symbols"},{emoji:"Ⓜ️",names:["m"],tags:[],description:"circled M",category:"Symbols"},{emoji:"🆕",names:["new"],tags:["fresh"],description:"NEW button",category:"Symbols"},{emoji:"🆖",names:["ng"],tags:[],description:"NG button",category:"Symbols"},{emoji:"🅾️",names:["o2"],tags:[],description:"O button (blood type)",category:"Symbols"},{emoji:"🆗",names:["ok"],tags:["yes"],description:"OK button",category:"Symbols"},{emoji:"🅿️",names:["parking"],tags:[],description:"P button",category:"Symbols"},{emoji:"🆘",names:["sos"],tags:["help","emergency"],description:"SOS button",category:"Symbols"},{emoji:"🆙",names:["up"],tags:[],description:"UP! button",category:"Symbols"},{emoji:"🆚",names:["vs"],tags:[],description:"VS button",category:"Symbols"},{emoji:"🈁",names:["koko"],tags:[],description:"Japanese “here” button",category:"Symbols"},{emoji:"🈂️",names:["sa"],tags:[],description:"Japanese “service charge” button",category:"Symbols"},{emoji:"🈷️",names:["u6708"],tags:[],description:"Japanese “monthly amount” button",category:"Symbols"},{emoji:"🈶",names:["u6709"],tags:[],description:"Japanese “not free of charge” button",category:"Symbols"},{emoji:"🈯",names:["u6307"],tags:[],description:"Japanese “reserved” button",category:"Symbols"},{emoji:"🉐",names:["ideograph_advantage"],tags:[],description:"Japanese “bargain” button",category:"Symbols"},{emoji:"🈹",names:["u5272"],tags:[],description:"Japanese “discount” button",category:"Symbols"},{emoji:"🈚",names:["u7121"],tags:[],description:"Japanese “free of charge” button",category:"Symbols"},{emoji:"🈲",names:["u7981"],tags:[],description:"Japanese “prohibited” button",category:"Symbols"},{emoji:"🉑",names:["accept"],tags:[],description:"Japanese “acceptable” button",category:"Symbols"},{emoji:"🈸",names:["u7533"],tags:[],description:"Japanese “application” button",category:"Symbols"},{emoji:"🈴",names:["u5408"],tags:[],description:"Japanese “passing grade” button",category:"Symbols"},{emoji:"🈳",names:["u7a7a"],tags:[],description:"Japanese “vacancy” button",category:"Symbols"},{emoji:"㊗️",names:["congratulations"],tags:[],description:"Japanese “congratulations” button",category:"Symbols"},{emoji:"㊙️",names:["secret"],tags:[],description:"Japanese “secret” button",category:"Symbols"},{emoji:"🈺",names:["u55b6"],tags:[],description:"Japanese “open for business” button",category:"Symbols"},{emoji:"🈵",names:["u6e80"],tags:[],description:"Japanese “no vacancy” button",category:"Symbols"},{emoji:"🔴",names:["red_circle"],tags:[],description:"red circle",category:"Symbols"},{emoji:"🟠",names:["orange_circle"],tags:[],description:"orange circle",category:"Symbols"},{emoji:"🟡",names:["yellow_circle"],tags:[],description:"yellow circle",category:"Symbols"},{emoji:"🟢",names:["green_circle"],tags:[],description:"green circle",category:"Symbols"},{emoji:"🔵",names:["large_blue_circle"],tags:[],description:"blue circle",category:"Symbols"},{emoji:"🟣",names:["purple_circle"],tags:[],description:"purple circle",category:"Symbols"},{emoji:"🟤",names:["brown_circle"],tags:[],description:"brown circle",category:"Symbols"},{emoji:"⚫",names:["black_circle"],tags:[],description:"black circle",category:"Symbols"},{emoji:"⚪",names:["white_circle"],tags:[],description:"white circle",category:"Symbols"},{emoji:"🟥",names:["red_square"],tags:[],description:"red square",category:"Symbols"},{emoji:"🟧",names:["orange_square"],tags:[],description:"orange square",category:"Symbols"},{emoji:"🟨",names:["yellow_square"],tags:[],description:"yellow square",category:"Symbols"},{emoji:"🟩",names:["green_square"],tags:[],description:"green square",category:"Symbols"},{emoji:"🟦",names:["blue_square"],tags:[],description:"blue square",category:"Symbols"},{emoji:"🟪",names:["purple_square"],tags:[],description:"purple square",category:"Symbols"},{emoji:"🟫",names:["brown_square"],tags:[],description:"brown square",category:"Symbols"},{emoji:"⬛",names:["black_large_square"],tags:[],description:"black large square",category:"Symbols"},{emoji:"⬜",names:["white_large_square"],tags:[],description:"white large square",category:"Symbols"},{emoji:"◼️",names:["black_medium_square"],tags:[],description:"black medium square",category:"Symbols"},{emoji:"◻️",names:["white_medium_square"],tags:[],description:"white medium square",category:"Symbols"},{emoji:"◾",names:["black_medium_small_square"],tags:[],description:"black medium-small square",category:"Symbols"},{emoji:"◽",names:["white_medium_small_square"],tags:[],description:"white medium-small square",category:"Symbols"},{emoji:"▪️",names:["black_small_square"],tags:[],description:"black small square",category:"Symbols"},{emoji:"▫️",names:["white_small_square"],tags:[],description:"white small square",category:"Symbols"},{emoji:"🔶",names:["large_orange_diamond"],tags:[],description:"large orange diamond",category:"Symbols"},{emoji:"🔷",names:["large_blue_diamond"],tags:[],description:"large blue diamond",category:"Symbols"},{emoji:"🔸",names:["small_orange_diamond"],tags:[],description:"small orange diamond",category:"Symbols"},{emoji:"🔹",names:["small_blue_diamond"],tags:[],description:"small blue diamond",category:"Symbols"},{emoji:"🔺",names:["small_red_triangle"],tags:[],description:"red triangle pointed up",category:"Symbols"},{emoji:"🔻",names:["small_red_triangle_down"],tags:[],description:"red triangle pointed down",category:"Symbols"},{emoji:"💠",names:["diamond_shape_with_a_dot_inside"],tags:[],description:"diamond with a dot",category:"Symbols"},{emoji:"🔘",names:["radio_button"],tags:[],description:"radio button",category:"Symbols"},{emoji:"🔳",names:["white_square_button"],tags:[],description:"white square button",category:"Symbols"},{emoji:"🔲",names:["black_square_button"],tags:[],description:"black square button",category:"Symbols"},{emoji:"🏁",names:["checkered_flag"],tags:["milestone","finish"],description:"chequered flag",category:"Flags"},{emoji:"🚩",names:["triangular_flag_on_post"],tags:[],description:"triangular flag",category:"Flags"},{emoji:"🎌",names:["crossed_flags"],tags:[],description:"crossed flags",category:"Flags"},{emoji:"🏴",names:["black_flag"],tags:[],description:"black flag",category:"Flags"},{emoji:"🏳️",names:["white_flag"],tags:[],description:"white flag",category:"Flags"},{emoji:"🏳️‍🌈",names:["rainbow_flag"],tags:["pride"],description:"rainbow flag",category:"Flags"},{emoji:"🏳️‍⚧️",names:["transgender_flag"],tags:[],description:"transgender flag",category:"Flags"},{emoji:"🏴‍☠️",names:["pirate_flag"],tags:[],description:"pirate flag",category:"Flags"},{emoji:"🇦🇨",names:["ascension_island"],tags:[],description:"flag: Ascension Island",category:"Flags"},{emoji:"🇦🇩",names:["andorra"],tags:[],description:"flag: Andorra",category:"Flags"},{emoji:"🇦🇪",names:["united_arab_emirates"],tags:[],description:"flag: United Arab Emirates",category:"Flags"},{emoji:"🇦🇫",names:["afghanistan"],tags:[],description:"flag: Afghanistan",category:"Flags"},{emoji:"🇦🇬",names:["antigua_barbuda"],tags:[],description:"flag: Antigua & Barbuda",category:"Flags"},{emoji:"🇦🇮",names:["anguilla"],tags:[],description:"flag: Anguilla",category:"Flags"},{emoji:"🇦🇱",names:["albania"],tags:[],description:"flag: Albania",category:"Flags"},{emoji:"🇦🇲",names:["armenia"],tags:[],description:"flag: Armenia",category:"Flags"},{emoji:"🇦🇴",names:["angola"],tags:[],description:"flag: Angola",category:"Flags"},{emoji:"🇦🇶",names:["antarctica"],tags:[],description:"flag: Antarctica",category:"Flags"},{emoji:"🇦🇷",names:["argentina"],tags:[],description:"flag: Argentina",category:"Flags"},{emoji:"🇦🇸",names:["american_samoa"],tags:[],description:"flag: American Samoa",category:"Flags"},{emoji:"🇦🇹",names:["austria"],tags:[],description:"flag: Austria",category:"Flags"},{emoji:"🇦🇺",names:["australia"],tags:[],description:"flag: Australia",category:"Flags"},{emoji:"🇦🇼",names:["aruba"],tags:[],description:"flag: Aruba",category:"Flags"},{emoji:"🇦🇽",names:["aland_islands"],tags:[],description:"flag: Åland Islands",category:"Flags"},{emoji:"🇦🇿",names:["azerbaijan"],tags:[],description:"flag: Azerbaijan",category:"Flags"},{emoji:"🇧🇦",names:["bosnia_herzegovina"],tags:[],description:"flag: Bosnia & Herzegovina",category:"Flags"},{emoji:"🇧🇧",names:["barbados"],tags:[],description:"flag: Barbados",category:"Flags"},{emoji:"🇧🇩",names:["bangladesh"],tags:[],description:"flag: Bangladesh",category:"Flags"},{emoji:"🇧🇪",names:["belgium"],tags:[],description:"flag: Belgium",category:"Flags"},{emoji:"🇧🇫",names:["burkina_faso"],tags:[],description:"flag: Burkina Faso",category:"Flags"},{emoji:"🇧🇬",names:["bulgaria"],tags:[],description:"flag: Bulgaria",category:"Flags"},{emoji:"🇧🇭",names:["bahrain"],tags:[],description:"flag: Bahrain",category:"Flags"},{emoji:"🇧🇮",names:["burundi"],tags:[],description:"flag: Burundi",category:"Flags"},{emoji:"🇧🇯",names:["benin"],tags:[],description:"flag: Benin",category:"Flags"},{emoji:"🇧🇱",names:["st_barthelemy"],tags:[],description:"flag: St. Barthélemy",category:"Flags"},{emoji:"🇧🇲",names:["bermuda"],tags:[],description:"flag: Bermuda",category:"Flags"},{emoji:"🇧🇳",names:["brunei"],tags:[],description:"flag: Brunei",category:"Flags"},{emoji:"🇧🇴",names:["bolivia"],tags:[],description:"flag: Bolivia",category:"Flags"},{emoji:"🇧🇶",names:["caribbean_netherlands"],tags:[],description:"flag: Caribbean Netherlands",category:"Flags"},{emoji:"🇧🇷",names:["brazil"],tags:[],description:"flag: Brazil",category:"Flags"},{emoji:"🇧🇸",names:["bahamas"],tags:[],description:"flag: Bahamas",category:"Flags"},{emoji:"🇧🇹",names:["bhutan"],tags:[],description:"flag: Bhutan",category:"Flags"},{emoji:"🇧🇻",names:["bouvet_island"],tags:[],description:"flag: Bouvet Island",category:"Flags"},{emoji:"🇧🇼",names:["botswana"],tags:[],description:"flag: Botswana",category:"Flags"},{emoji:"🇧🇾",names:["belarus"],tags:[],description:"flag: Belarus",category:"Flags"},{emoji:"🇧🇿",names:["belize"],tags:[],description:"flag: Belize",category:"Flags"},{emoji:"🇨🇦",names:["canada"],tags:[],description:"flag: Canada",category:"Flags"},{emoji:"🇨🇨",names:["cocos_islands"],tags:["keeling"],description:"flag: Cocos (Keeling) Islands",category:"Flags"},{emoji:"🇨🇩",names:["congo_kinshasa"],tags:[],description:"flag: Congo - Kinshasa",category:"Flags"},{emoji:"🇨🇫",names:["central_african_republic"],tags:[],description:"flag: Central African Republic",category:"Flags"},{emoji:"🇨🇬",names:["congo_brazzaville"],tags:[],description:"flag: Congo - Brazzaville",category:"Flags"},{emoji:"🇨🇭",names:["switzerland"],tags:[],description:"flag: Switzerland",category:"Flags"},{emoji:"🇨🇮",names:["cote_divoire"],tags:["ivory"],description:"flag: Côte d’Ivoire",category:"Flags"},{emoji:"🇨🇰",names:["cook_islands"],tags:[],description:"flag: Cook Islands",category:"Flags"},{emoji:"🇨🇱",names:["chile"],tags:[],description:"flag: Chile",category:"Flags"},{emoji:"🇨🇲",names:["cameroon"],tags:[],description:"flag: Cameroon",category:"Flags"},{emoji:"🇨🇳",names:["cn"],tags:["china"],description:"flag: China",category:"Flags"},{emoji:"🇨🇴",names:["colombia"],tags:[],description:"flag: Colombia",category:"Flags"},{emoji:"🇨🇵",names:["clipperton_island"],tags:[],description:"flag: Clipperton Island",category:"Flags"},{emoji:"🇨🇷",names:["costa_rica"],tags:[],description:"flag: Costa Rica",category:"Flags"},{emoji:"🇨🇺",names:["cuba"],tags:[],description:"flag: Cuba",category:"Flags"},{emoji:"🇨🇻",names:["cape_verde"],tags:[],description:"flag: Cape Verde",category:"Flags"},{emoji:"🇨🇼",names:["curacao"],tags:[],description:"flag: Curaçao",category:"Flags"},{emoji:"🇨🇽",names:["christmas_island"],tags:[],description:"flag: Christmas Island",category:"Flags"},{emoji:"🇨🇾",names:["cyprus"],tags:[],description:"flag: Cyprus",category:"Flags"},{emoji:"🇨🇿",names:["czech_republic"],tags:[],description:"flag: Czechia",category:"Flags"},{emoji:"🇩🇪",names:["de"],tags:["flag","germany"],description:"flag: Germany",category:"Flags"},{emoji:"🇩🇬",names:["diego_garcia"],tags:[],description:"flag: Diego Garcia",category:"Flags"},{emoji:"🇩🇯",names:["djibouti"],tags:[],description:"flag: Djibouti",category:"Flags"},{emoji:"🇩🇰",names:["denmark"],tags:[],description:"flag: Denmark",category:"Flags"},{emoji:"🇩🇲",names:["dominica"],tags:[],description:"flag: Dominica",category:"Flags"},{emoji:"🇩🇴",names:["dominican_republic"],tags:[],description:"flag: Dominican Republic",category:"Flags"},{emoji:"🇩🇿",names:["algeria"],tags:[],description:"flag: Algeria",category:"Flags"},{emoji:"🇪🇦",names:["ceuta_melilla"],tags:[],description:"flag: Ceuta & Melilla",category:"Flags"},{emoji:"🇪🇨",names:["ecuador"],tags:[],description:"flag: Ecuador",category:"Flags"},{emoji:"🇪🇪",names:["estonia"],tags:[],description:"flag: Estonia",category:"Flags"},{emoji:"🇪🇬",names:["egypt"],tags:[],description:"flag: Egypt",category:"Flags"},{emoji:"🇪🇭",names:["western_sahara"],tags:[],description:"flag: Western Sahara",category:"Flags"},{emoji:"🇪🇷",names:["eritrea"],tags:[],description:"flag: Eritrea",category:"Flags"},{emoji:"🇪🇸",names:["es"],tags:["spain"],description:"flag: Spain",category:"Flags"},{emoji:"🇪🇹",names:["ethiopia"],tags:[],description:"flag: Ethiopia",category:"Flags"},{emoji:"🇪🇺",names:["eu","european_union"],tags:[],description:"flag: European Union",category:"Flags"},{emoji:"🇫🇮",names:["finland"],tags:[],description:"flag: Finland",category:"Flags"},{emoji:"🇫🇯",names:["fiji"],tags:[],description:"flag: Fiji",category:"Flags"},{emoji:"🇫🇰",names:["falkland_islands"],tags:[],description:"flag: Falkland Islands",category:"Flags"},{emoji:"🇫🇲",names:["micronesia"],tags:[],description:"flag: Micronesia",category:"Flags"},{emoji:"🇫🇴",names:["faroe_islands"],tags:[],description:"flag: Faroe Islands",category:"Flags"},{emoji:"🇫🇷",names:["fr"],tags:["france","french"],description:"flag: France",category:"Flags"},{emoji:"🇬🇦",names:["gabon"],tags:[],description:"flag: Gabon",category:"Flags"},{emoji:"🇬🇧",names:["gb","uk"],tags:["flag","british"],description:"flag: United Kingdom",category:"Flags"},{emoji:"🇬🇩",names:["grenada"],tags:[],description:"flag: Grenada",category:"Flags"},{emoji:"🇬🇪",names:["georgia"],tags:[],description:"flag: Georgia",category:"Flags"},{emoji:"🇬🇫",names:["french_guiana"],tags:[],description:"flag: French Guiana",category:"Flags"},{emoji:"🇬🇬",names:["guernsey"],tags:[],description:"flag: Guernsey",category:"Flags"},{emoji:"🇬🇭",names:["ghana"],tags:[],description:"flag: Ghana",category:"Flags"},{emoji:"🇬🇮",names:["gibraltar"],tags:[],description:"flag: Gibraltar",category:"Flags"},{emoji:"🇬🇱",names:["greenland"],tags:[],description:"flag: Greenland",category:"Flags"},{emoji:"🇬🇲",names:["gambia"],tags:[],description:"flag: Gambia",category:"Flags"},{emoji:"🇬🇳",names:["guinea"],tags:[],description:"flag: Guinea",category:"Flags"},{emoji:"🇬🇵",names:["guadeloupe"],tags:[],description:"flag: Guadeloupe",category:"Flags"},{emoji:"🇬🇶",names:["equatorial_guinea"],tags:[],description:"flag: Equatorial Guinea",category:"Flags"},{emoji:"🇬🇷",names:["greece"],tags:[],description:"flag: Greece",category:"Flags"},{emoji:"🇬🇸",names:["south_georgia_south_sandwich_islands"],tags:[],description:"flag: South Georgia & South Sandwich Islands",category:"Flags"},{emoji:"🇬🇹",names:["guatemala"],tags:[],description:"flag: Guatemala",category:"Flags"},{emoji:"🇬🇺",names:["guam"],tags:[],description:"flag: Guam",category:"Flags"},{emoji:"🇬🇼",names:["guinea_bissau"],tags:[],description:"flag: Guinea-Bissau",category:"Flags"},{emoji:"🇬🇾",names:["guyana"],tags:[],description:"flag: Guyana",category:"Flags"},{emoji:"🇭🇰",names:["hong_kong"],tags:[],description:"flag: Hong Kong SAR China",category:"Flags"},{emoji:"🇭🇲",names:["heard_mcdonald_islands"],tags:[],description:"flag: Heard & McDonald Islands",category:"Flags"},{emoji:"🇭🇳",names:["honduras"],tags:[],description:"flag: Honduras",category:"Flags"},{emoji:"🇭🇷",names:["croatia"],tags:[],description:"flag: Croatia",category:"Flags"},{emoji:"🇭🇹",names:["haiti"],tags:[],description:"flag: Haiti",category:"Flags"},{emoji:"🇭🇺",names:["hungary"],tags:[],description:"flag: Hungary",category:"Flags"},{emoji:"🇮🇨",names:["canary_islands"],tags:[],description:"flag: Canary Islands",category:"Flags"},{emoji:"🇮🇩",names:["indonesia"],tags:[],description:"flag: Indonesia",category:"Flags"},{emoji:"🇮🇪",names:["ireland"],tags:[],description:"flag: Ireland",category:"Flags"},{emoji:"🇮🇱",names:["israel"],tags:[],description:"flag: Israel",category:"Flags"},{emoji:"🇮🇲",names:["isle_of_man"],tags:[],description:"flag: Isle of Man",category:"Flags"},{emoji:"🇮🇳",names:["india"],tags:[],description:"flag: India",category:"Flags"},{emoji:"🇮🇴",names:["british_indian_ocean_territory"],tags:[],description:"flag: British Indian Ocean Territory",category:"Flags"},{emoji:"🇮🇶",names:["iraq"],tags:[],description:"flag: Iraq",category:"Flags"},{emoji:"🇮🇷",names:["iran"],tags:[],description:"flag: Iran",category:"Flags"},{emoji:"🇮🇸",names:["iceland"],tags:[],description:"flag: Iceland",category:"Flags"},{emoji:"🇮🇹",names:["it"],tags:["italy"],description:"flag: Italy",category:"Flags"},{emoji:"🇯🇪",names:["jersey"],tags:[],description:"flag: Jersey",category:"Flags"},{emoji:"🇯🇲",names:["jamaica"],tags:[],description:"flag: Jamaica",category:"Flags"},{emoji:"🇯🇴",names:["jordan"],tags:[],description:"flag: Jordan",category:"Flags"},{emoji:"🇯🇵",names:["jp"],tags:["japan"],description:"flag: Japan",category:"Flags"},{emoji:"🇰🇪",names:["kenya"],tags:[],description:"flag: Kenya",category:"Flags"},{emoji:"🇰🇬",names:["kyrgyzstan"],tags:[],description:"flag: Kyrgyzstan",category:"Flags"},{emoji:"🇰🇭",names:["cambodia"],tags:[],description:"flag: Cambodia",category:"Flags"},{emoji:"🇰🇮",names:["kiribati"],tags:[],description:"flag: Kiribati",category:"Flags"},{emoji:"🇰🇲",names:["comoros"],tags:[],description:"flag: Comoros",category:"Flags"},{emoji:"🇰🇳",names:["st_kitts_nevis"],tags:[],description:"flag: St. Kitts & Nevis",category:"Flags"},{emoji:"🇰🇵",names:["north_korea"],tags:[],description:"flag: North Korea",category:"Flags"},{emoji:"🇰🇷",names:["kr"],tags:["korea"],description:"flag: South Korea",category:"Flags"},{emoji:"🇰🇼",names:["kuwait"],tags:[],description:"flag: Kuwait",category:"Flags"},{emoji:"🇰🇾",names:["cayman_islands"],tags:[],description:"flag: Cayman Islands",category:"Flags"},{emoji:"🇰🇿",names:["kazakhstan"],tags:[],description:"flag: Kazakhstan",category:"Flags"},{emoji:"🇱🇦",names:["laos"],tags:[],description:"flag: Laos",category:"Flags"},{emoji:"🇱🇧",names:["lebanon"],tags:[],description:"flag: Lebanon",category:"Flags"},{emoji:"🇱🇨",names:["st_lucia"],tags:[],description:"flag: St. Lucia",category:"Flags"},{emoji:"🇱🇮",names:["liechtenstein"],tags:[],description:"flag: Liechtenstein",category:"Flags"},{emoji:"🇱🇰",names:["sri_lanka"],tags:[],description:"flag: Sri Lanka",category:"Flags"},{emoji:"🇱🇷",names:["liberia"],tags:[],description:"flag: Liberia",category:"Flags"},{emoji:"🇱🇸",names:["lesotho"],tags:[],description:"flag: Lesotho",category:"Flags"},{emoji:"🇱🇹",names:["lithuania"],tags:[],description:"flag: Lithuania",category:"Flags"},{emoji:"🇱🇺",names:["luxembourg"],tags:[],description:"flag: Luxembourg",category:"Flags"},{emoji:"🇱🇻",names:["latvia"],tags:[],description:"flag: Latvia",category:"Flags"},{emoji:"🇱🇾",names:["libya"],tags:[],description:"flag: Libya",category:"Flags"},{emoji:"🇲🇦",names:["morocco"],tags:[],description:"flag: Morocco",category:"Flags"},{emoji:"🇲🇨",names:["monaco"],tags:[],description:"flag: Monaco",category:"Flags"},{emoji:"🇲🇩",names:["moldova"],tags:[],description:"flag: Moldova",category:"Flags"},{emoji:"🇲🇪",names:["montenegro"],tags:[],description:"flag: Montenegro",category:"Flags"},{emoji:"🇲🇫",names:["st_martin"],tags:[],description:"flag: St. Martin",category:"Flags"},{emoji:"🇲🇬",names:["madagascar"],tags:[],description:"flag: Madagascar",category:"Flags"},{emoji:"🇲🇭",names:["marshall_islands"],tags:[],description:"flag: Marshall Islands",category:"Flags"},{emoji:"🇲🇰",names:["macedonia"],tags:[],description:"flag: North Macedonia",category:"Flags"},{emoji:"🇲🇱",names:["mali"],tags:[],description:"flag: Mali",category:"Flags"},{emoji:"🇲🇲",names:["myanmar"],tags:["burma"],description:"flag: Myanmar (Burma)",category:"Flags"},{emoji:"🇲🇳",names:["mongolia"],tags:[],description:"flag: Mongolia",category:"Flags"},{emoji:"🇲🇴",names:["macau"],tags:[],description:"flag: Macao SAR China",category:"Flags"},{emoji:"🇲🇵",names:["northern_mariana_islands"],tags:[],description:"flag: Northern Mariana Islands",category:"Flags"},{emoji:"🇲🇶",names:["martinique"],tags:[],description:"flag: Martinique",category:"Flags"},{emoji:"🇲🇷",names:["mauritania"],tags:[],description:"flag: Mauritania",category:"Flags"},{emoji:"🇲🇸",names:["montserrat"],tags:[],description:"flag: Montserrat",category:"Flags"},{emoji:"🇲🇹",names:["malta"],tags:[],description:"flag: Malta",category:"Flags"},{emoji:"🇲🇺",names:["mauritius"],tags:[],description:"flag: Mauritius",category:"Flags"},{emoji:"🇲🇻",names:["maldives"],tags:[],description:"flag: Maldives",category:"Flags"},{emoji:"🇲🇼",names:["malawi"],tags:[],description:"flag: Malawi",category:"Flags"},{emoji:"🇲🇽",names:["mexico"],tags:[],description:"flag: Mexico",category:"Flags"},{emoji:"🇲🇾",names:["malaysia"],tags:[],description:"flag: Malaysia",category:"Flags"},{emoji:"🇲🇿",names:["mozambique"],tags:[],description:"flag: Mozambique",category:"Flags"},{emoji:"🇳🇦",names:["namibia"],tags:[],description:"flag: Namibia",category:"Flags"},{emoji:"🇳🇨",names:["new_caledonia"],tags:[],description:"flag: New Caledonia",category:"Flags"},{emoji:"🇳🇪",names:["niger"],tags:[],description:"flag: Niger",category:"Flags"},{emoji:"🇳🇫",names:["norfolk_island"],tags:[],description:"flag: Norfolk Island",category:"Flags"},{emoji:"🇳🇬",names:["nigeria"],tags:[],description:"flag: Nigeria",category:"Flags"},{emoji:"🇳🇮",names:["nicaragua"],tags:[],description:"flag: Nicaragua",category:"Flags"},{emoji:"🇳🇱",names:["netherlands"],tags:[],description:"flag: Netherlands",category:"Flags"},{emoji:"🇳🇴",names:["norway"],tags:[],description:"flag: Norway",category:"Flags"},{emoji:"🇳🇵",names:["nepal"],tags:[],description:"flag: Nepal",category:"Flags"},{emoji:"🇳🇷",names:["nauru"],tags:[],description:"flag: Nauru",category:"Flags"},{emoji:"🇳🇺",names:["niue"],tags:[],description:"flag: Niue",category:"Flags"},{emoji:"🇳🇿",names:["new_zealand"],tags:[],description:"flag: New Zealand",category:"Flags"},{emoji:"🇴🇲",names:["oman"],tags:[],description:"flag: Oman",category:"Flags"},{emoji:"🇵🇦",names:["panama"],tags:[],description:"flag: Panama",category:"Flags"},{emoji:"🇵🇪",names:["peru"],tags:[],description:"flag: Peru",category:"Flags"},{emoji:"🇵🇫",names:["french_polynesia"],tags:[],description:"flag: French Polynesia",category:"Flags"},{emoji:"🇵🇬",names:["papua_new_guinea"],tags:[],description:"flag: Papua New Guinea",category:"Flags"},{emoji:"🇵🇭",names:["philippines"],tags:[],description:"flag: Philippines",category:"Flags"},{emoji:"🇵🇰",names:["pakistan"],tags:[],description:"flag: Pakistan",category:"Flags"},{emoji:"🇵🇱",names:["poland"],tags:[],description:"flag: Poland",category:"Flags"},{emoji:"🇵🇲",names:["st_pierre_miquelon"],tags:[],description:"flag: St. Pierre & Miquelon",category:"Flags"},{emoji:"🇵🇳",names:["pitcairn_islands"],tags:[],description:"flag: Pitcairn Islands",category:"Flags"},{emoji:"🇵🇷",names:["puerto_rico"],tags:[],description:"flag: Puerto Rico",category:"Flags"},{emoji:"🇵🇸",names:["palestinian_territories"],tags:[],description:"flag: Palestinian Territories",category:"Flags"},{emoji:"🇵🇹",names:["portugal"],tags:[],description:"flag: Portugal",category:"Flags"},{emoji:"🇵🇼",names:["palau"],tags:[],description:"flag: Palau",category:"Flags"},{emoji:"🇵🇾",names:["paraguay"],tags:[],description:"flag: Paraguay",category:"Flags"},{emoji:"🇶🇦",names:["qatar"],tags:[],description:"flag: Qatar",category:"Flags"},{emoji:"🇷🇪",names:["reunion"],tags:[],description:"flag: Réunion",category:"Flags"},{emoji:"🇷🇴",names:["romania"],tags:[],description:"flag: Romania",category:"Flags"},{emoji:"🇷🇸",names:["serbia"],tags:[],description:"flag: Serbia",category:"Flags"},{emoji:"🇷🇺",names:["ru"],tags:["russia"],description:"flag: Russia",category:"Flags"},{emoji:"🇷🇼",names:["rwanda"],tags:[],description:"flag: Rwanda",category:"Flags"},{emoji:"🇸🇦",names:["saudi_arabia"],tags:[],description:"flag: Saudi Arabia",category:"Flags"},{emoji:"🇸🇧",names:["solomon_islands"],tags:[],description:"flag: Solomon Islands",category:"Flags"},{emoji:"🇸🇨",names:["seychelles"],tags:[],description:"flag: Seychelles",category:"Flags"},{emoji:"🇸🇩",names:["sudan"],tags:[],description:"flag: Sudan",category:"Flags"},{emoji:"🇸🇪",names:["sweden"],tags:[],description:"flag: Sweden",category:"Flags"},{emoji:"🇸🇬",names:["singapore"],tags:[],description:"flag: Singapore",category:"Flags"},{emoji:"🇸🇭",names:["st_helena"],tags:[],description:"flag: St. Helena",category:"Flags"},{emoji:"🇸🇮",names:["slovenia"],tags:[],description:"flag: Slovenia",category:"Flags"},{emoji:"🇸🇯",names:["svalbard_jan_mayen"],tags:[],description:"flag: Svalbard & Jan Mayen",category:"Flags"},{emoji:"🇸🇰",names:["slovakia"],tags:[],description:"flag: Slovakia",category:"Flags"},{emoji:"🇸🇱",names:["sierra_leone"],tags:[],description:"flag: Sierra Leone",category:"Flags"},{emoji:"🇸🇲",names:["san_marino"],tags:[],description:"flag: San Marino",category:"Flags"},{emoji:"🇸🇳",names:["senegal"],tags:[],description:"flag: Senegal",category:"Flags"},{emoji:"🇸🇴",names:["somalia"],tags:[],description:"flag: Somalia",category:"Flags"},{emoji:"🇸🇷",names:["suriname"],tags:[],description:"flag: Suriname",category:"Flags"},{emoji:"🇸🇸",names:["south_sudan"],tags:[],description:"flag: South Sudan",category:"Flags"},{emoji:"🇸🇹",names:["sao_tome_principe"],tags:[],description:"flag: São Tomé & Príncipe",category:"Flags"},{emoji:"🇸🇻",names:["el_salvador"],tags:[],description:"flag: El Salvador",category:"Flags"},{emoji:"🇸🇽",names:["sint_maarten"],tags:[],description:"flag: Sint Maarten",category:"Flags"},{emoji:"🇸🇾",names:["syria"],tags:[],description:"flag: Syria",category:"Flags"},{emoji:"🇸🇿",names:["swaziland"],tags:[],description:"flag: Eswatini",category:"Flags"},{emoji:"🇹🇦",names:["tristan_da_cunha"],tags:[],description:"flag: Tristan da Cunha",category:"Flags"},{emoji:"🇹🇨",names:["turks_caicos_islands"],tags:[],description:"flag: Turks & Caicos Islands",category:"Flags"},{emoji:"🇹🇩",names:["chad"],tags:[],description:"flag: Chad",category:"Flags"},{emoji:"🇹🇫",names:["french_southern_territories"],tags:[],description:"flag: French Southern Territories",category:"Flags"},{emoji:"🇹🇬",names:["togo"],tags:[],description:"flag: Togo",category:"Flags"},{emoji:"🇹🇭",names:["thailand"],tags:[],description:"flag: Thailand",category:"Flags"},{emoji:"🇹🇯",names:["tajikistan"],tags:[],description:"flag: Tajikistan",category:"Flags"},{emoji:"🇹🇰",names:["tokelau"],tags:[],description:"flag: Tokelau",category:"Flags"},{emoji:"🇹🇱",names:["timor_leste"],tags:[],description:"flag: Timor-Leste",category:"Flags"},{emoji:"🇹🇲",names:["turkmenistan"],tags:[],description:"flag: Turkmenistan",category:"Flags"},{emoji:"🇹🇳",names:["tunisia"],tags:[],description:"flag: Tunisia",category:"Flags"},{emoji:"🇹🇴",names:["tonga"],tags:[],description:"flag: Tonga",category:"Flags"},{emoji:"🇹🇷",names:["tr"],tags:["turkey"],description:"flag: Turkey",category:"Flags"},{emoji:"🇹🇹",names:["trinidad_tobago"],tags:[],description:"flag: Trinidad & Tobago",category:"Flags"},{emoji:"🇹🇻",names:["tuvalu"],tags:[],description:"flag: Tuvalu",category:"Flags"},{emoji:"🇹🇼",names:["taiwan"],tags:[],description:"flag: Taiwan",category:"Flags"},{emoji:"🇹🇿",names:["tanzania"],tags:[],description:"flag: Tanzania",category:"Flags"},{emoji:"🇺🇦",names:["ukraine"],tags:[],description:"flag: Ukraine",category:"Flags"},{emoji:"🇺🇬",names:["uganda"],tags:[],description:"flag: Uganda",category:"Flags"},{emoji:"🇺🇲",names:["us_outlying_islands"],tags:[],description:"flag: U.S. Outlying Islands",category:"Flags"},{emoji:"🇺🇳",names:["united_nations"],tags:[],description:"flag: United Nations",category:"Flags"},{emoji:"🇺🇸",names:["us"],tags:["flag","united","america"],description:"flag: United States",category:"Flags"},{emoji:"🇺🇾",names:["uruguay"],tags:[],description:"flag: Uruguay",category:"Flags"},{emoji:"🇺🇿",names:["uzbekistan"],tags:[],description:"flag: Uzbekistan",category:"Flags"},{emoji:"🇻🇦",names:["vatican_city"],tags:[],description:"flag: Vatican City",category:"Flags"},{emoji:"🇻🇨",names:["st_vincent_grenadines"],tags:[],description:"flag: St. Vincent & Grenadines",category:"Flags"},{emoji:"🇻🇪",names:["venezuela"],tags:[],description:"flag: Venezuela",category:"Flags"},{emoji:"🇻🇬",names:["british_virgin_islands"],tags:[],description:"flag: British Virgin Islands",category:"Flags"},{emoji:"🇻🇮",names:["us_virgin_islands"],tags:[],description:"flag: U.S. Virgin Islands",category:"Flags"},{emoji:"🇻🇳",names:["vietnam"],tags:[],description:"flag: Vietnam",category:"Flags"},{emoji:"🇻🇺",names:["vanuatu"],tags:[],description:"flag: Vanuatu",category:"Flags"},{emoji:"🇼🇫",names:["wallis_futuna"],tags:[],description:"flag: Wallis & Futuna",category:"Flags"},{emoji:"🇼🇸",names:["samoa"],tags:[],description:"flag: Samoa",category:"Flags"},{emoji:"🇽🇰",names:["kosovo"],tags:[],description:"flag: Kosovo",category:"Flags"},{emoji:"🇾🇪",names:["yemen"],tags:[],description:"flag: Yemen",category:"Flags"},{emoji:"🇾🇹",names:["mayotte"],tags:[],description:"flag: Mayotte",category:"Flags"},{emoji:"🇿🇦",names:["south_africa"],tags:[],description:"flag: South Africa",category:"Flags"},{emoji:"🇿🇲",names:["zambia"],tags:[],description:"flag: Zambia",category:"Flags"},{emoji:"🇿🇼",names:["zimbabwe"],tags:[],description:"flag: Zimbabwe",category:"Flags"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",names:["england"],tags:[],description:"flag: England",category:"Flags"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",names:["scotland"],tags:[],description:"flag: Scotland",category:"Flags"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",names:["wales"],tags:[],description:"flag: Wales",category:"Flags"}],r2=/:\+1:|:-1:|:[\w+-]+:/g,s2="https://github.githubassets.com/images/icons/emoji/unicode",i2=new Map(o2.flatMap(e=>e.names.map(t=>[t,{description:e.description,emoji:e.emoji}])));function a2(e){const t=Array.from(e).map(n=>n.codePointAt(0)?.toString(16)).filter(n=>n&&n!=="fe0f").join("-");return`${s2}/${t}.png?v8`}function c2(e){const t=e.slice(1,-1),n=i2.get(t);return n?{type:"image",url:a2(n.emoji),alt:e,title:n.description,data:{hProperties:{className:"barkdown-emoji",draggable:!1,loading:"lazy"}}}:!1}function l2(e){const t=e.value;if(e.type!=="text"||!t)return[e];const n=[];let o=0;for(const r of t.matchAll(r2)){const s=r[0],i=r.index??0,a=c2(s);a&&(i>o&&n.push({type:"text",value:t.slice(o,i)}),n.push(a),o=i+s.length)}return o===0?[e]:(o<t.length&&n.push({type:"text",value:t.slice(o)}),n)}function Ej(e){if(!e.children)return;const t=[];for(const n of e.children)n.type==="text"?t.push(...l2(n)):(Ej(n),t.push(n));e.children=t}function u2(){return e=>{Ej(e)}}function Kf(e){let t;try{t=new URL(e)}catch{return}if(!(t.protocol!=="http:"&&t.protocol!=="https:"))return`https://www.google.com/s2/favicons?domain=${t.hostname}&sz=32`}const On="#2563eb",ar="#d9383a",Hi="#ea580c",Ki="#15803d",cr="#a16207",Io="#7c3aed",lr="#db2777",Rl="#0d9488",Yu="#64748b",ao="#334155",d2={pdf:{label:"PDF",color:ar},md:{label:"MD",color:On},markdown:{label:"MD",color:On},mdx:{label:"MDX",color:On},mdown:{label:"MD",color:On},mkd:{label:"MD",color:On},mkdn:{label:"MD",color:On},txt:{label:"TXT",color:Yu},text:{label:"TXT",color:Yu},html:{label:"HTML",color:Hi},htm:{label:"HTML",color:Hi},doc:{label:"DOC",color:On},docx:{label:"DOCX",color:On},odt:{label:"ODT",color:On},rtf:{label:"RTF",color:On},xls:{label:"XLS",color:Ki},xlsx:{label:"XLSX",color:Ki},ods:{label:"ODS",color:Ki},csv:{label:"CSV",color:Ki},ppt:{label:"PPT",color:Hi},pptx:{label:"PPTX",color:Hi},png:{label:"PNG",color:Io},jpg:{label:"JPG",color:Io},jpeg:{label:"JPEG",color:Io},gif:{label:"GIF",color:Io},webp:{label:"WEBP",color:Io},avif:{label:"AVIF",color:Io},svg:{label:"SVG",color:Io},mp3:{label:"MP3",color:lr},wav:{label:"WAV",color:lr},ogg:{label:"OGG",color:lr},m4a:{label:"M4A",color:lr},flac:{label:"FLAC",color:lr},aac:{label:"AAC",color:lr},mp4:{label:"MP4",color:ar},mov:{label:"MOV",color:ar},avi:{label:"AVI",color:ar},mkv:{label:"MKV",color:ar},webm:{label:"WEBM",color:ar},zip:{label:"ZIP",color:cr},gz:{label:"GZ",color:cr},tgz:{label:"TGZ",color:cr},tar:{label:"TAR",color:cr},rar:{label:"RAR",color:cr},"7z":{label:"7Z",color:cr},json:{label:"JSON",color:Rl},yaml:{label:"YAML",color:Rl},yml:{label:"YML",color:Rl},ts:{label:"TS",color:ao},tsx:{label:"TSX",color:ao},js:{label:"JS",color:ao},jsx:{label:"JSX",color:ao},py:{label:"PY",color:ao},go:{label:"GO",color:ao},rs:{label:"RS",color:ao},sh:{label:"SH",color:ao}};function Pj(e){if(Kf(e))return;const[t]=e.split(/[?#]/);if(!t)return;const n=t.slice(t.lastIndexOf("/")+1),o=n.lastIndexOf(".");if(o<=0)return;const r=n.slice(o+1).toLowerCase();if(r)return d2[r]??{label:r.slice(0,4).toUpperCase(),color:Yu}}function Cj({className:e="barkdown-link-icon",href:t}){if(!t)return null;const n=Kf(t);if(n)return d.jsx("img",{alt:"",className:e,height:16,loading:"lazy",src:n,width:16});const o=Pj(t);if(!o)return null;const{color:r,label:s}=o,i=s.length<=2?7:s.length===3?6.2:5.2;return d.jsxs("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",children:[d.jsx("rect",{x:"0.5",y:"0.5",fill:r,height:"15",rx:"3",width:"15"}),d.jsx("text",{dominantBaseline:"central",fill:"#fff",fontFamily:"ui-sans-serif, system-ui, sans-serif",fontSize:i,fontWeight:"700",letterSpacing:"0.02em",textAnchor:"middle",x:"8",y:"8.5",children:s})]})}function Tj({children:e,href:t,node:n,...o}){return d.jsxs("a",{href:t,...o,children:[d.jsx(Cj,{href:t}),e]})}function Oj({target:e,copied:t,onCopy:n,inline:o}){return d.jsx("button",{type:"button",className:o?"barkdown-heading-copy barkdown-heading-copy-inline":"barkdown-heading-copy","aria-label":`Copy heading reference ${e}`,title:`Copy ${e}`,onClick:r=>{r.stopPropagation(),n()},children:t?d.jsx(Hf,{"aria-hidden":"true",size:14}):d.jsx(J$,{"aria-hidden":"true",size:14})})}function Rj(e,t,n){return`${e}:${t??"?"}${n?` [${n}]`:""}`}function Ij(e){const t=[],n=r=>{if(typeof r=="string"||typeof r=="number")t.push(String(r));else if(f.isValidElement(r))r.props.children!=null&&n(r.props.children);else if(Array.isArray(r))for(const s of r)n(s)};return n(e),t.join("").replace(/\s+/g," ").trim()||void 0}function Nc(e=1800){const[t,n]=f.useState(!1),o=f.useCallback(r=>{navigator.clipboard.writeText(r).then(()=>{n(!0),window.setTimeout(()=>n(!1),e)})},[e]);return{copied:t,copy:o}}function f2({children:e,headingCopyPath:t}){const{open:n,toggle:o,contentRef:r}=m2(),{copied:s,copy:i}=Nc(),a=f.Children.toArray(e),c=a.findIndex(w=>f.isValidElement(w)),l=c>=0?a[c]:null,m=a.filter((w,v)=>v!==c),u=f.isValidElement(l)&&typeof l.props.id=="string"?l.props.id:void 0,p=u?`${u}-content`:void 0,g=f.isValidElement(l)&&typeof l.props["data-barkdown-line"]=="string"?l.props["data-barkdown-line"]:void 0,b=f.isValidElement(l)?Ij(l.props.children):void 0,h=t&&g?Rj(t,g,b):void 0,y=f.isValidElement(l)&&p?f.cloneElement(l,{},h?d.jsx(Oj,{copied:s,onCopy:()=>i(h),target:h}):null,d.jsxs("button",{type:"button",className:"barkdown-heading-toggle","aria-expanded":n,"aria-controls":p,onClick:o,children:[d.jsx("span",{className:"barkdown-heading-toggle-label",children:l.props.children}),d.jsx(Sj,{"aria-hidden":"true",className:"barkdown-heading-toggle-icon",size:18})]})):l;return d.jsxs("section",{"data-barkdown-section":"",children:[y,d.jsx("div",{ref:r,id:p,className:"barkdown-section-content",hidden:!n,children:m})]})}function m2(){const[e,t]=f.useState(!0),n=f.useRef(null);f.useEffect(()=>{const r=()=>{const s=window.location.hash;if(s.length<2)return;const i=document.getElementById(decodeURIComponent(s.slice(1)));i&&n.current?.contains(i)&&t(!0)};return r(),window.addEventListener("hashchange",r),()=>window.removeEventListener("hashchange",r)},[]);function o(){t(r=>!r)}return{open:e,toggle:o,contentRef:n}}const p2={startOnLoad:!1,securityLevel:"strict",theme:"base",htmlLabels:!1,flowchart:{curve:"basis",nodeSpacing:56,rankSpacing:72,wrappingWidth:220},themeVariables:{fontFamily:"Inter, ui-sans-serif, system-ui, sans-serif",primaryColor:"#ffffff",primaryTextColor:"#20232a",primaryBorderColor:"#ded8cf",lineColor:"#6d737c",secondaryColor:"#f4f1ea",tertiaryColor:"#f8f6f2"}};function g2(e,t=""){let n=0;for(let o=0;o<e.length;o+=1)n=(n<<5)-n+e.charCodeAt(o),n|=0;return`barkdown-mermaid-${Math.abs(n)}${t}`}let Og=Promise.resolve();async function h2(e,t){const n=Og.then(async()=>{const{default:o}=await Wr(async()=>{const{default:r}=await import("./mermaid.core-BlYNzkpn.js").then(s=>s.bp);return{default:r}},__vite__mapDeps([4,2,1]));return o.initialize(p2),o.render(e,t)});return Og=n.then(()=>{},()=>{}),n}function Aj({diagram:e,title:t="Mermaid diagram"}){const n=f.useId().replaceAll(":",""),[o,r]=f.useState(""),[s,i]=f.useState("");return f.useEffect(()=>{let a=!1;async function c(){r(""),i("");try{const l=await h2(g2(e,`-${n}`),e.trim());a||r(l.svg)}catch(l){if(a)return;i(l instanceof Error?l.message:"Unable to render diagram.")}}return c(),()=>{a=!0}},[e,n]),d.jsxs("figure",{"aria-label":t,"data-barkdown-mermaid":"",children:[d.jsx("figcaption",{"data-barkdown-mermaid-toolbar":"",children:d.jsx("span",{"data-barkdown-mermaid-title":"",children:t})}),d.jsx("div",{"data-barkdown-mermaid-viewport":"",children:s?d.jsx("div",{"data-barkdown-mermaid-error":"",children:s}):o?d.jsx("div",{"data-barkdown-mermaid-surface":"",dangerouslySetInnerHTML:{__html:o}}):d.jsx("div",{"data-barkdown-mermaid-status":"",children:"Rendering diagram…"})})]})}function Us({title:e,thumbnail:t,children:n,contentClassName:o}){const[r,s]=f.useState(!1),i=f.useId();return d.jsxs("span",{className:"barkdown-media",children:[d.jsxs("button",{type:"button",className:"barkdown-media-toggle","aria-expanded":r,"aria-controls":i,onClick:()=>s(a=>!a),children:[d.jsx("span",{className:"barkdown-media-thumbnail","aria-hidden":"true",children:t}),d.jsx("span",{children:e}),d.jsx(Sj,{"aria-hidden":"true",size:16})]}),d.jsx("span",{id:i,hidden:!r,children:r?d.jsx("span",{className:o?`barkdown-media-content ${o}`:"barkdown-media-content",children:n}):null})]})}function qf(e,t){return e?.split(/[?#]/)[0]?.split("/").filter(Boolean).at(-1)||t}function Wf(e){let t;try{t=new URL(e)}catch{return}if(e.match(/\/embed\/[A-Za-z0-9_-]{11}/)){const n=e.match(/\/embed\/([A-Za-z0-9_-]{11})/)[1];return ur(e,void 0,`YouTube video ${n}`)}if(t.hostname.endsWith("youtube.com")||t.hostname==="youtube.com"||t.hostname==="m.youtube.com"){const n=t.searchParams.get("v")??t.pathname.split("/").filter(Boolean).pop();if(n&&/^[A-Za-z0-9_-]{11}$/.test(n))return ur(`https://www.youtube-nocookie.com/embed/${n}`,`https://i.ytimg.com/vi/${n}/hqdefault.jpg`,`YouTube video ${n}`)}if(t.hostname==="youtu.be"){const n=t.pathname.replace("/","");if(n&&/^[A-Za-z0-9_-]{11}$/.test(n))return ur(`https://www.youtube-nocookie.com/embed/${n}`,`https://i.ytimg.com/vi/${n}/hqdefault.jpg`,`YouTube video ${n}`)}if(t.hostname.endsWith("vimeo.com")){const n=t.pathname.split("/").filter(Boolean)[0];if(n&&/^\d+$/.test(n))return ur(`https://player.vimeo.com/video/${n}`,void 0,`Vimeo video ${n}`)}if(t.hostname.endsWith("streamable.com")&&t.pathname.startsWith("/")){const n=t.pathname.split("/").filter(Boolean)[0];if(n&&n!=="")return ur(`https://streamable.com/e/${n}?nocontrols=0`,void 0,`Streamable video ${n}`)}if(t.hostname.endsWith("loom.com")&&t.pathname.includes("/share/")){const n=t.pathname.split("/share/")[1]?.split("/")[0];if(n&&/^[a-f0-9]+$/.test(n))return ur(`https://www.loom.com/embed/${n}`,void 0,`Loom video ${n}`)}}function ur(e,t,n){return{name:n??"Video",thumb:t?d.jsx("img",{src:t,alt:"",loading:"lazy"}):null,iframe:{src:e}}}function Gf({node:e,...t}){if(t.className?.split(/\s+/).includes("barkdown-emoji"))return d.jsx("img",{...t});if(!t.title&&typeof t.src=="string"){const o=Wf(t.src);if(o){const r=t.alt||o.name;return d.jsx(Us,{title:r,thumbnail:o.thumb,children:d.jsx("iframe",{...o.iframe,allowFullScreen:!0,loading:"lazy",title:r})})}}const n=t.title||t.alt||qf(typeof t.src=="string"?t.src:void 0,"Image");return d.jsx(Us,{title:n,thumbnail:d.jsx("img",{src:t.src,alt:"",loading:"lazy"}),children:d.jsx("img",{...t})})}function Zf({node:e,...t}){const n=!t.title&&t.src?Wf(t.src):void 0,o=t.title||n?.name||qf(t.src,"Embedded page");return d.jsx(Us,{title:o,thumbnail:n?.thumb??null,contentClassName:"barkdown-media-iframe",children:d.jsx("iframe",{...t,allowFullScreen:!0,title:o})})}function Yf({node:e,...t}){const n=t.src||f.Children.toArray(t.children).reduce((s,i)=>s||(f.isValidElement(i)&&i.type==="source"?i.props.src:void 0),void 0),o=n?Wf(n):void 0,r=t.title||o?.name||qf(n,"Video");return o?d.jsx(Us,{title:r,thumbnail:o.thumb,children:d.jsx("iframe",{...o.iframe,allowFullScreen:!0,loading:"lazy",title:r})}):d.jsx(Us,{title:r,thumbnail:t.poster?d.jsx("img",{src:t.poster,alt:"",loading:"lazy"}):d.jsx("video",{src:n,muted:!0,playsInline:!0,preload:"metadata"}),children:d.jsx("video",{...t,controls:!0,autoPlay:!0,playsInline:!0})})}const y2={...xi,tagNames:[...xi.tagNames??[],"small","video","source","track","iframe"],attributes:{...xi.attributes,video:["src","poster","controls","preload","width","height","loop","muted","playsInline"],source:["src","type"],track:["src","kind","label","srcLang","default"],iframe:["src","width","height","allowFullScreen","title"]},protocols:{...xi.protocols,poster:["http","https"],iframe:["http","https"]}},Rg=[o0,y2];function Tr(...e){return e.filter(Boolean).join(" ")||void 0}function b2(e){return e.mode==="mdx"?d.jsx(Mj,{...e}):d.jsx(Nj,{...e})}function Nj({className:e,collapsibleHeadings:t=!1,components:n,copyCode:o=!0,headingCopyPath:r,htmlEmbed:s,linkIcons:i=!0,style:a,value:c}){const l=f.useMemo(()=>{const u={a:({node:p,...g})=>i?d.jsx(Tj,{...g}):d.jsx("a",{...g}),code:p=>d.jsx(Xf,{copy:o,documentPath:r,htmlEmbed:s,...p}),pre:p=>d.jsx(j2,{...p}),img:Gf,video:Yf,iframe:Zf,...r&&!t?w2(r):{},...n};return t?{[n0]:p=>d.jsx(f2,{headingCopyPath:r,...p}),...u}:u},[t,n,o,r,s,i]),m=f.useMemo(()=>t?[Lm,Rg,Bm,zm,Vm,r0]:[Lm,Rg,Bm,zm,Vm],[t]);return d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"",style:a,children:d.jsx(s0,{components:l,rehypePlugins:m,remarkPlugins:[i0,a0,c0,u2],children:c})})}const v2=["h1","h2","h3","h4","h5","h6"];function w2(e){return Object.fromEntries(v2.map(t=>[t,n=>d.jsx(x2,{path:e,tag:t,...n})]))}function x2({path:e,tag:t,children:n,node:o,...r}){const{copied:s,copy:i}=Nc(),a=t,c=r,l=typeof c["data-barkdown-line"]=="string"?c["data-barkdown-line"]:void 0,m=Tr("barkdown-heading-wrapper",typeof r.className=="string"?r.className:void 0),u=Ij(n),p=!!(e&&l),g=p?Rj(e,l,u):void 0;return d.jsxs(a,{...r,className:Tr(m,p?"barkdown-heading-copyable":void 0),onClick:p?()=>i(g):void 0,children:[n,g?d.jsx(Oj,{copied:s,inline:!0,onCopy:()=>i(g),target:g}):null]})}function j2({children:e,node:t,...n}){return f.isValidElement(e)&&e.props.className?.split(/\s+/).some(o=>o==="language-mermaid"||o==="language-barkdown-html")?e:d.jsx("pre",{...n,children:e})}function Mj({className:e,components:t,copyCode:n=!0,fallback:o=null,onError:r,style:s,value:i}){const[a,c]=f.useState(null),[l,m]=f.useState(null),u=f.useMemo(()=>({code:p=>d.jsx(Xf,{copy:n,...p}),img:Gf,video:Yf,iframe:Zf,...t}),[t,n]);return f.useEffect(()=>{let p=!1;async function g(){try{const b=await z$(i,{...KS,baseUrl:import.meta.url});if(p)return;c(()=>b.default),m(null)}catch(b){const h=b instanceof Error?b:new Error(String(b));if(p)return;c(null),m(h),r?.(h)}}return g(),()=>{p=!0}},[r,i]),l?d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"","data-barkdown-error":"",style:s,children:l.message}):a?d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"",style:s,children:d.jsx(a,{components:u})}):d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"","data-barkdown-loading":"",style:s,children:o})}function _2({path:e,documentPath:t,resolve:n}){const[o,r]=f.useState(0),s=f.useMemo(()=>e&&!e.includes(`
272
+ `?(a=0,c++):a++;this.column=a,this.line=c;return}}const{length:o}=t,{lineEnd:r}=this;o>0&&(this.lineEndSize>0&&(r.length===1?t[o-1]===r:t.endsWith(r))?(this.line+=this.lineEndSize,this.column=0):this.column+=o)}toString(){return this.output}}function a$(e,t){const n=new i$(t);return n.generator[e.type](e,n),n.output}const c$={};function l$(e,t){const{SourceMapGenerator:n,filePath:o,handlers:r}=t||c$,s=n?new n({file:o||"<unknown>.js"}):void 0,i=a$(e,{comments:!0,generator:{...vj,...r},sourceMap:s||void 0}),a=s?s.toJSON():void 0;return{value:i,map:a}}const u$={JSXAttribute:d$,JSXClosingElement:f$,JSXClosingFragment:m$,JSXElement:p$,JSXEmptyExpression:g$,JSXExpressionContainer:h$,JSXFragment:y$,JSXIdentifier:b$,JSXMemberExpression:v$,JSXNamespacedName:w$,JSXOpeningElement:x$,JSXOpeningFragment:j$,JSXSpreadAttribute:_$,JSXText:S$};function d$(e,t){this[e.name.type](e.name,t),e.value!==null&&e.value!==void 0&&(t.write("="),e.value.type==="Literal"?t.write('"'+wj(String(e.value.value)).replace(/"/g,"&quot;")+'"',e):this[e.value.type](e.value,t))}function f$(e,t){t.write("</"),this[e.name.type](e.name,t),t.write(">")}function m$(e,t){t.write("</>",e)}function p$(e,t){let n=-1;if(this[e.openingElement.type](e.openingElement,t),e.children)for(;++n<e.children.length;){const o=e.children[n];if(o.type==="JSXSpreadChild")throw new Error("JSX spread children are not supported");this[o.type](o,t)}e.closingElement&&this[e.closingElement.type](e.closingElement,t)}function g$(){}function h$(e,t){t.write("{"),this[e.expression.type](e.expression,t),t.write("}")}function y$(e,t){let n=-1;if(this[e.openingFragment.type](e.openingFragment,t),e.children)for(;++n<e.children.length;){const o=e.children[n];if(o.type==="JSXSpreadChild")throw new Error("JSX spread children are not supported");this[o.type](o,t)}this[e.closingFragment.type](e.closingFragment,t)}function b$(e,t){t.write(e.name,e)}function v$(e,t){this[e.object.type](e.object,t),t.write("."),this[e.property.type](e.property,t)}function w$(e,t){this[e.namespace.type](e.namespace,t),t.write(":"),this[e.name.type](e.name,t)}function x$(e,t){let n=-1;if(t.write("<"),this[e.name.type](e.name,t),e.attributes)for(;++n<e.attributes.length;)t.write(" "),this[e.attributes[n].type](e.attributes[n],t);t.write(e.selfClosing?" />":">")}function j$(e,t){t.write("<>",e)}function _$(e,t){t.write("{"),this.SpreadElement(e,t),t.write("}")}function S$(e,t){t.write(wj(e.value).replace(/[<>{}]/g,k$),e)}function wj(e){return e.replace(/&(?=[#a-z])/gi,"&amp;")}function k$(e){return e==="<"?"&lt;":e===">"?"&gt;":e==="{"?"&#123;":"&#125;"}function E$(){const e=this.data(),t=e.settings||(e.settings={}),n=t.handlers||(t.handlers={});(t.plugins||(t.plugins=[])).push(GS()),Object.assign(n,u$)}function P$(e){const t=this;this.compiler=n;function n(o,r){const s={...t.data("settings"),...e},i=l$(o,{SourceMapGenerator:s.SourceMapGenerator,filePath:r.path||"unknown.js",handlers:s.handlers});return r.map=i.map,i.value}}function uo(e,t){const n=["start","end","loc","range"];let o=-1;for(;++o<n.length;){const r=n[o];r in e&&(t[r]=e[r])}}function Uf(e,t){let n=-1;const o=[],r=[];let s;for(;++n<e.length;){const i=e[n];i.type==="ImportNamespaceSpecifier"?s=i:r.push(i)}if(s){const i={type:"VariableDeclarator",id:s.local,init:t};uo(s,i),o.push(i)}return o.push({type:"VariableDeclarator",id:{type:"ObjectPattern",properties:r.map(function(i){let a=i.type==="ImportSpecifier"?i.imported:i.type==="ExportSpecifier"?i.exported:{type:"Identifier",name:"default"},c=i.local;i.type==="ExportSpecifier"&&(c=a,a=i.local),Wt(c.type==="Identifier");const l={type:"Property",kind:"init",shorthand:a.type==="Identifier"&&c.type==="Identifier"&&a.name===c.name,method:!1,computed:!1,key:a,value:c};return uo(i,l),l})},init:s?{type:"Identifier",name:s.local.name}:t}),o}function vo(e){let t=-1,n;for(;++t<e.length;){const o=e[t],r=typeof o=="string"&&Fo(o)?{type:"Identifier",name:o}:{type:"Literal",value:o};n=n?{type:"MemberExpression",object:n,property:r,computed:r.type==="Literal",optional:!1}:r}return Wt(n.type!=="Literal"),n}function Eg(e){let t=-1,n;for(;++t<e.length;){const o=e[t];Wt(typeof o=="string"&&Fo(o,{jsx:!0}));const r={type:"JSXIdentifier",name:o};n=n?{type:"JSXMemberExpression",object:n,property:r}:r}return n}function C$(e){const{outputFormat:t}=e||{};return function(n){if(n.comments&&(n.comments=n.comments.filter(function(o){return!o.data?._mdxIsPragmaComment})),t==="function-body"){let o=0;for(;o<n.body.length;){const s=n.body[o];if("directive"in s&&s.directive)o++;else break}const r=n.body[o];r&&r.type==="ImportDeclaration"&&typeof r.source.value=="string"&&/\/jsx-(dev-)?runtime$/.test(r.source.value)&&(n.body[o]={type:"VariableDeclaration",kind:"const",declarations:Uf(r.specifiers,vo(["arguments",0]))})}}}function xj(){const e=[{block:!1,defined:[]}];return{enter:t,exit:n,scopes:e};function t(s){if(s.type==="ArrowFunctionExpression"){e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="BlockStatement"||s.type==="DoWhileStatement"||s.type==="ForInStatement"||s.type==="ForOfStatement"||s.type==="ForStatement"||s.type==="WhileStatement")e.push({block:!0,defined:[]});else if(s.type==="CatchClause")e.push({block:!0,defined:[]}),s.param&&r(s.param,!0);else if(s.type==="ClassDeclaration")o(s.id.name,!1);else if(s.type==="FunctionDeclaration"){o(s.id.name,!1),e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="FunctionExpression"){s.id&&o(s.id.name,!1),e.push({block:!1,defined:[]});for(const i of s.params)r(i,!1)}else if(s.type==="ImportDeclaration")for(const i of s.specifiers)o(i.local.name,!1);else if(s.type==="VariableDeclaration")for(const i of s.declarations)r(i.id,s.kind!=="var")}function n(s){if(s.type==="ArrowFunctionExpression"||s.type==="FunctionDeclaration"||s.type==="FunctionExpression"){const i=e.pop();Wt(!i.block)}else if(s.type==="BlockStatement"||s.type==="CatchClause"||s.type==="DoWhileStatement"||s.type==="ForInStatement"||s.type==="ForOfStatement"||s.type==="ForStatement"||s.type==="WhileStatement"){const i=e.pop();Wt(i.block)}}function o(s,i){let a=e.length,c;for(;a--&&(c=e[a],!(i||!c.block)););c.defined.push(s)}function r(s,i){if(s.type==="ArrayPattern")for(const a of s.elements)a&&r(a,i);else if(s.type==="AssignmentPattern")r(s.left,i);else if(s.type==="Identifier")o(s.name,i);else if(s.type==="ObjectPattern")for(const a of s.properties)a.type==="Property"?r(a.value,i):(Wt(a.type==="RestElement"),r(a,i));else Wt(s.type==="RestElement"),r(s.argument,i)}}function T$(e){return e.type==="FunctionDeclaration"?{...e,type:"FunctionExpression"}:(Wt(e.type==="ClassDeclaration"),{...e,type:"ClassExpression"})}function O$(e){return e.type==="FunctionDeclaration"||e.type==="ClassDeclaration"||e.type==="VariableDeclaration"}function R$(e){const t=e.baseUrl||void 0,n=typeof t=="object"?t.href:t,o=e.outputFormat||"program",r=e.pragma===void 0?"React.createElement":e.pragma,s=e.pragmaFrag===void 0?"React.Fragment":e.pragmaFrag,i=e.pragmaImportSource||"react",a=e.jsxImportSource||"react",c=e.jsxRuntime||"automatic";return function(m,u){const p=[],g=[];let b=0,h,y,w;if(c==="classic"&&s&&Ui(m,"@jsxFrag",s),c==="classic"&&r&&Ui(m,"@jsx",r),c==="automatic"&&a&&Ui(m,"@jsxImportSource",a),Ui(m,"@jsxRuntime",c),c==="classic"&&i){if(!r)throw new Error("Missing `pragma` in classic runtime with `pragmaImportSource`");k({type:"ImportDeclaration",specifiers:[{type:"ImportDefaultSpecifier",local:{type:"Identifier",name:r.split(".")[0]}}],attributes:[],source:{type:"Literal",value:i}})}for(w of m.body)if(w.type==="ExportDefaultDeclaration")h&&u.fail("Unexpected duplicate layout, expected a single layout (previous: "+su(gs(h))+")",{ancestors:[m,w],place:gs(w),ruleId:"duplicate-layout",source:"recma-document"}),h=w,g.push({type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"MDXLayout"},init:O$(w.declaration)?T$(w.declaration):w.declaration}]});else if(w.type==="ExportNamedDeclaration"&&w.source){const S=w.source;w.specifiers=w.specifiers.filter(function(E){if(E.exported.type==="Identifier"&&E.exported.name==="default"){h&&u.fail("Unexpected duplicate layout, expected a single layout (previous: "+su(gs(h))+")",{ancestors:[m,w,E],place:gs(w),ruleId:"duplicate-layout",source:"recma-document"}),h=E;const _=[];if(E.local.type==="Identifier"&&E.local.name==="default")_.push({type:"ImportDefaultSpecifier",local:{type:"Identifier",name:"MDXLayout"}});else{const I={type:"ImportSpecifier",imported:E.local,local:{type:"Identifier",name:"MDXLayout"}};uo(E.local,I),_.push(I)}const P={type:"Literal",value:S.value};uo(S,P);const C={type:"ImportDeclaration",specifiers:_,attributes:[],source:P};return uo(E,C),k(C),!1}return!0}),w.specifiers.length>0&&x(w)}else w.type==="ExportNamedDeclaration"||w.type==="ExportAllDeclaration"?x(w):w.type==="ImportDeclaration"?k(w):w.type==="ExpressionStatement"&&(w.expression.type==="JSXElement"||w.expression.type==="JSXFragment")?(y=!0,g.push(...l(w.expression,o,!!h))):g.push(w);y||g.push(...l(void 0,o,!!h)),p.push(["MDXContent","default"]),o==="function-body"&&g.push({type:"ReturnStatement",argument:{type:"ObjectExpression",properties:[...Array.from({length:b}).map(function(S,E){return{type:"SpreadElement",argument:{type:"Identifier",name:"_exportAll"+(E+1)}}}),...p.map(function(S){return{type:"Property",kind:"init",method:!1,computed:!1,shorthand:typeof S=="string",key:{type:"Identifier",name:typeof S=="string"?S:S[1]},value:{type:"Identifier",name:typeof S=="string"?S:S[0]}}})]}}),m.body=g;let v=!1,j=!1;(n||o==="function-body")&&_s(m,{enter(S){if((S.type==="ExportAllDeclaration"||S.type==="ExportNamedDeclaration"||S.type==="ImportDeclaration")&&S.source){let E=S.source.value;try{new URL(E)}catch{(E.startsWith("/")||E.startsWith("./")||E.startsWith("../"))&&(E=new URL(E,n).href)}const _={type:"Literal",value:E};uo(S.source,_),S.source=_;return}if(S.type==="ImportExpression"){j=!0;const E={type:"CallExpression",callee:{type:"Identifier",name:"_resolveDynamicMdxSpecifier"},arguments:[S.source],optional:!1};S.source=E;return}if(S.type==="MemberExpression"&&"object"in S&&S.object.type==="MetaProperty"&&S.property.type==="Identifier"&&S.object.meta.name==="import"&&S.object.property.name==="meta"&&S.property.name==="url"){v=!0;const E={type:"Identifier",name:"_importMetaUrl"};uo(S,E),this.replace(E)}}}),j&&(n||(v=!0),m.body.push(I$(n?{type:"Literal",value:n}:{type:"Identifier",name:"_importMetaUrl"}))),v&&m.body.unshift(...A$());function x(S){if(S.type==="ExportNamedDeclaration"){if(S.declaration){const E=xj();_s(S,{enter(_){E.enter(_),(_.type==="ArrowFunctionExpression"||_.type==="FunctionDeclaration"||_.type==="FunctionExpression")&&(this.skip(),E.exit(_))},leave:E.exit}),p.push(...E.scopes[0].defined)}for(w of S.specifiers)w.exported.type==="Identifier"?p.push(w.exported.name):(Wt(typeof w.exported.value=="string"),p.push(w.exported.value))}k(S)}function k(S){let E,_;if(o==="function-body")if(S.type==="ImportDeclaration"||S.type==="ExportAllDeclaration"||S.type==="ExportNamedDeclaration"&&S.source){Wt(S.source);const P={type:"ImportExpression",source:S.source};uo(S,P),_={type:"AwaitExpression",argument:P},(S.type==="ImportDeclaration"||S.type==="ExportNamedDeclaration")&&S.specifiers.length===0?E={type:"ExpressionStatement",expression:_}:E={type:"VariableDeclaration",kind:"const",declarations:S.type==="ExportAllDeclaration"?[{type:"VariableDeclarator",id:{type:"Identifier",name:"_exportAll"+ ++b},init:_}]:Uf(S.specifiers,_)}}else if(S.declaration)E=S.declaration;else{const P=[];for(const C of S.specifiers)C.exported.type==="Identifier"&&C.local.type==="Identifier"&&C.local.name!==C.exported.name&&P.push({type:"VariableDeclarator",id:C.exported,init:C.local});P.length>0&&(E={type:"VariableDeclaration",kind:"const",declarations:P})}else E=S;E&&g.push(E)}};function l(m,u,p){let b={type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"MDXLayout"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!1},closingElement:{type:"JSXClosingElement",name:{type:"JSXIdentifier",name:"MDXLayout"}},children:[{type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"_createMdxContent"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!0},closingElement:null,children:[]}]};p||(b={type:"ConditionalExpression",test:{type:"Identifier",name:"MDXLayout"},consequent:b,alternate:{type:"CallExpression",callee:{type:"Identifier",name:"_createMdxContent"},arguments:[{type:"Identifier",name:"props"}],optional:!1}});let h=m||{type:"Identifier",name:"undefined"};h.type==="JSXFragment"&&h.children.length===1&&h.children[0].type==="JSXElement"&&(h=h.children[0]);let y=!1;_s(h,{enter(v){if(v.type==="ArrowFunctionExpression"||v.type==="FunctionDeclaration"||v.type==="FunctionExpression")return this.skip();(v.type==="AwaitExpression"||v.type==="ForOfStatement"&&v.await)&&(y=!0)}});const w={type:"FunctionDeclaration",id:{type:"Identifier",name:"MDXContent"},params:[{type:"AssignmentPattern",left:{type:"Identifier",name:"props"},right:{type:"ObjectExpression",properties:[]}}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:b}]}};return[{type:"FunctionDeclaration",async:y,id:{type:"Identifier",name:"_createMdxContent"},params:[{type:"Identifier",name:"props"}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:h}]}},u==="program"?{type:"ExportDefaultDeclaration",declaration:w}:w]}}function Ui(e,t,n){e.comments?.unshift({type:"Block",value:t+" "+n,data:{_mdxIsPragmaComment:!0}})}function I$(e){return{type:"FunctionDeclaration",id:{type:"Identifier",name:"_resolveDynamicMdxSpecifier"},generator:!1,async:!1,params:[{type:"Identifier",name:"d"}],body:{type:"BlockStatement",body:[{type:"IfStatement",test:{type:"BinaryExpression",left:{type:"UnaryExpression",operator:"typeof",prefix:!0,argument:{type:"Identifier",name:"d"}},operator:"!==",right:{type:"Literal",value:"string"}},consequent:{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}},alternate:null},{type:"TryStatement",block:{type:"BlockStatement",body:[{type:"ExpressionStatement",expression:{type:"NewExpression",callee:{type:"Identifier",name:"URL"},arguments:[{type:"Identifier",name:"d"}]}},{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}}]},handler:{type:"CatchClause",param:null,body:{type:"BlockStatement",body:[]}},finalizer:null},{type:"IfStatement",test:{type:"LogicalExpression",left:{type:"LogicalExpression",left:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"/"}],optional:!1},operator:"||",right:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"./"}],optional:!1}},operator:"||",right:{type:"CallExpression",callee:vo(["d","startsWith"]),arguments:[{type:"Literal",value:"../"}],optional:!1}},consequent:{type:"ReturnStatement",argument:{type:"MemberExpression",object:{type:"NewExpression",callee:{type:"Identifier",name:"URL"},arguments:[{type:"Identifier",name:"d"},e]},property:{type:"Identifier",name:"href"},computed:!1,optional:!1}},alternate:null},{type:"ReturnStatement",argument:{type:"Identifier",name:"d"}}]}}}function A$(){return[{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"_importMetaUrl"},init:vo(["arguments",0,"baseUrl"])}],kind:"const"},{type:"IfStatement",test:{type:"UnaryExpression",operator:"!",prefix:!0,argument:{type:"Identifier",name:"_importMetaUrl"}},consequent:{type:"ThrowStatement",argument:{type:"NewExpression",callee:{type:"Identifier",name:"Error"},arguments:[{type:"Literal",value:"Unexpected missing `options.baseUrl` needed to support `export … from`, `import`, or `import.meta.url` when generating `function-body`"}]}},alternate:null}]}function Pg(e){let t=-1,n;for(;++t<e.length;){const o=e[t];n=n?{type:"BinaryExpression",left:n,operator:"+",right:o}:o}return n}function N$(e){const{development:t,outputFormat:n,providerImportSource:o}=e;return function(r,s){const i=xj(),a=[];let c=!1,l=!1;if(_s(r,{enter(m){i.enter(m),(m.type==="FunctionDeclaration"||m.type==="FunctionExpression"||m.type==="ArrowFunctionExpression")&&(a.push({components:[],idToInvalidComponentName:new Map,node:m,objects:[],references:{},tags:[]}),ir(m,"MDXContent")&&!Tl(i.scopes,"MDXLayout")&&a[0].components.push("MDXLayout"));const u=a[0];if(!(!u||!ir(u.node,"_createMdxContent")&&!o)&&m.type==="JSXElement"){let p=m.openingElement.name;if(p.type==="JSXMemberExpression"){const g=[];for(;p.type==="JSXMemberExpression";)g.unshift(p.property.name),p=p.object;g.unshift(p.name);const b=g.join("."),h=p.name,y=Tl(i.scopes,h);!Object.hasOwn(u.references,b)&&(!y||a.length===1&&a[0].node.type==="FunctionDeclaration"&&ir(a[0].node,"_createMdxContent"))&&(u.references[b]={component:!0,node:m}),!u.objects.includes(h)&&!y&&u.objects.push(h)}else if(p.type!=="JSXNamespacedName"){if(Fo(p.name)&&!/^[a-z]/.test(p.name)){const g=p.name;Tl(i.scopes,g)||(g!=="MDXLayout"&&!Object.hasOwn(u.references,g)&&(u.references[g]={component:!0,node:m}),u.components.includes(g)||u.components.push(g))}else if(!(m.data&&m.data._mdxExplicitJsx)){const g=p.name;u.tags.includes(g)||u.tags.push(g);let b=["_components",g];if(Fo(g)===!1){let h=u.idToInvalidComponentName.get(g);h===void 0&&(h=`_component${u.idToInvalidComponentName.size}`,u.idToInvalidComponentName.set(g,h)),b=[h]}m.openingElement.name=Eg(b),m.closingElement&&(m.closingElement.name=Eg(b))}}}},leave(m){i.exit(m);const u=[],p=[],g=[],b=[];if(m.type==="FunctionDeclaration"||m.type==="FunctionExpression"||m.type==="ArrowFunctionExpression"){const h=a[a.length-1];let y;for(y of h.tags.sort())u.push({type:"Property",kind:"init",key:Fo(y)?{type:"Identifier",name:y}:{type:"Literal",value:y},value:{type:"Literal",value:y},method:!1,shorthand:!1,computed:!1});p.push(...h.components);for(y of h.objects)p.includes(y)||p.push(y);p.sort();const w=[];if(u.length>0||p.length>0||h.idToInvalidComponentName.size>0){if(o&&(c=!0,g.push({type:"CallExpression",callee:{type:"Identifier",name:"_provideComponents"},arguments:[],optional:!1})),(ir(h.node,"MDXContent")||ir(h.node,"_createMdxContent"))&&g.push(vo(["props","components"])),u.length>0||g.length>1)for(const E of g)u.push({type:"SpreadElement",argument:E});let k=u.length>0?{type:"ObjectExpression",properties:u}:{type:"LogicalExpression",operator:"||",left:g[0],right:{type:"ObjectExpression",properties:[]}},S;if(p.length>0&&(S={type:"ObjectPattern",properties:p.map(function(E){return{type:"Property",kind:"init",key:{type:"Identifier",name:E==="MDXLayout"?"wrapper":E},value:{type:"Identifier",name:E},method:!1,shorthand:E!=="MDXLayout",computed:!1}})}),h.tags.length>0&&(b.push({type:"VariableDeclarator",id:{type:"Identifier",name:"_components"},init:k}),k={type:"Identifier",name:"_components"}),ir(h.node,"_createMdxContent"))for(const[E,_]of[...h.idToInvalidComponentName].sort(function([P],[C]){return P.localeCompare(C)}))b.push({type:"VariableDeclarator",id:{type:"Identifier",name:_},init:{type:"MemberExpression",object:{type:"Identifier",name:"_components"},property:{type:"Literal",value:E},computed:!0,optional:!1}});S&&b.push({type:"VariableDeclarator",id:S,init:k}),b.length>0&&w.push({type:"VariableDeclaration",kind:"const",declarations:b})}let v;for(v in h.references)if(Object.hasOwn(h.references,v)){const k=v.split(".");let S=0;for(;++S<k.length;){const E=k.slice(0,S).join(".");Object.hasOwn(h.references,E)||(h.references[E]={component:!1,node:h.references[v].node})}}const j=Object.keys(h.references).sort();let x=-1;for(;++x<j.length;){const k=j[x],S=h.references[k],E=su(gs(S.node)),_=[{type:"Literal",value:k},{type:"Literal",value:S.component}];l=!0,t&&E&&_.push({type:"Literal",value:E}),w.push({type:"IfStatement",test:{type:"UnaryExpression",operator:"!",prefix:!0,argument:vo(k.split("."))},consequent:{type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"Identifier",name:"_missingMdxReference"},arguments:_,optional:!1}},alternate:void 0})}w.length>0&&(m.body.type!=="BlockStatement"&&(m.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:m.body}]}),m.body.body.unshift(...w)),a.pop()}}}),c&&o&&r.body.unshift(M$(o,n)),l){const m=[{type:"Literal",value:"Expected "},{type:"ConditionalExpression",test:{type:"Identifier",name:"component"},consequent:{type:"Literal",value:"component"},alternate:{type:"Literal",value:"object"}},{type:"Literal",value:" `"},{type:"Identifier",name:"id"},{type:"Literal",value:"` to be defined: you likely forgot to import, pass, or provide it."}],u=[{type:"Identifier",name:"id"},{type:"Identifier",name:"component"}];t&&(m.push({type:"ConditionalExpression",test:{type:"Identifier",name:"place"},consequent:Pg([{type:"Literal",value:"\nIt’s referenced in your code at `"},{type:"Identifier",name:"place"},{type:"Literal",value:(s.path?"` in `"+s.path:"")+"`"}]),alternate:{type:"Literal",value:""}}),u.push({type:"Identifier",name:"place"})),r.body.push({type:"FunctionDeclaration",id:{type:"Identifier",name:"_missingMdxReference"},generator:!1,async:!1,params:u,body:{type:"BlockStatement",body:[{type:"ThrowStatement",argument:{type:"NewExpression",callee:{type:"Identifier",name:"Error"},arguments:[Pg(m)]}}]}})}n==="function-body"&&r.body.unshift({type:"ExpressionStatement",expression:{type:"Literal",value:"use strict"},directive:"use strict"})}}function M$(e,t){const n=[{type:"ImportSpecifier",imported:{type:"Identifier",name:"useMDXComponents"},local:{type:"Identifier",name:"_provideComponents"}}];return t==="function-body"?{type:"VariableDeclaration",kind:"const",declarations:Uf(n,vo(["arguments",0]))}:{type:"ImportDeclaration",specifiers:n,attributes:[],source:{type:"Literal",value:e}}}function ir(e,t){return!!(e&&"id"in e&&e.id&&e.id.name===t)}function Tl(e,t){let n=e.length;for(;n--;)if(e[n].defined.includes(t))return!0;return!1}const D$=["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"];let Cg=!1;function F$(e){const t=e||{};t.format,(t.jsxRuntime==="classic"||t.pragma||t.pragmaFrag||t.pragmaImportSource)&&!Cg&&(Cg=!0,console.warn("Unexpected deprecated option `jsxRuntime: 'classic'`, `pragma`, `pragmaFrag`, or `pragmaImportSource`; see <https://mdxjs.com/migrating/v3/> on how to migrate"));const n=ZS().use(YS);t.format!=="md"&&n.use(XS);const o=t.remarkRehypeOptions||{};return n.use(JS).use(t.remarkPlugins||[]).use(QS,{...o,allowDangerousHtml:!0,passThrough:[...o.passThrough||[],...D$]}).use(t.rehypePlugins||[]),t.format==="md"&&n.use(e0),n.use(t0,t).use(R$,t).use(N$,t),t.jsx||n.use(e$,t).use(C$,t),n.use(E$).use(P$,t).use(t.recmaPlugins||[]),n}function $$(e,t){const{file:n,options:o}=YF(e,t);return F$(o).process(n)}function L$(e){const{Fragment:t,baseUrl:n,development:o,jsx:r,jsxDEV:s,jsxs:i,useMDXComponents:a,...c}=e||{};if(!t)throw new Error("Expected `Fragment` given to `evaluate`");if(o){if(!s)throw new Error("Expected `jsxDEV` given to `evaluate`")}else{if(!r)throw new Error("Expected `jsx` given to `evaluate`");if(!i)throw new Error("Expected `jsxs` given to `evaluate`")}return{compiletime:{...c,development:o,outputFormat:"function-body",providerImportSource:a?"#":void 0},runtime:{Fragment:t,baseUrl:n,jsx:r,jsxDEV:s,jsxs:i,useMDXComponents:a}}}const B$=Object.getPrototypeOf(jj).constructor;async function jj(e,t){return new B$(String(e))(t)}async function z$(e,t){const{compiletime:n,runtime:o}=L$(t);return jj(await $$(e,n),o)}const _j=(...e)=>e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim();const V$=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const U$=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,o)=>o?o.toUpperCase():n.toLowerCase());const Tg=e=>{const t=U$(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ol={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const H$=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},K$=f.createContext({}),q$=()=>f.useContext(K$),W$=f.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:o,className:r="",children:s,iconNode:i,...a},c)=>{const{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:g=""}=q$()??{},b=o??u?Number(n??m)*24/Number(t??l):n??m;return f.createElement("svg",{ref:c,...Ol,width:t??l??Ol.width,height:t??l??Ol.height,stroke:e??p,strokeWidth:b,className:_j("lucide",g,r),...!s&&!H$(a)&&{"aria-hidden":"true"},...a},[...i.map(([h,y])=>f.createElement(h,y)),...Array.isArray(s)?s:[s]])});const is=(e,t)=>{const n=f.forwardRef(({className:o,...r},s)=>f.createElement(W$,{ref:s,iconNode:t,className:_j(`lucide-${V$(Tg(e))}`,`lucide-${e}`,o),...r}));return n.displayName=Tg(e),n};const G$=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Hf=is("check",G$);const Z$=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Sj=is("chevron-down",Z$);const Y$=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],kj=is("copy",Y$);const X$=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],J$=is("hash",X$);const Q$=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],e2=is("link-2",Q$);const t2=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],n2=is("rotate-cw",t2),o2=[{emoji:"😀",names:["grinning"],tags:["smile","happy"],description:"grinning face",category:"Smileys & Emotion"},{emoji:"😃",names:["smiley"],tags:["happy","joy","haha"],description:"grinning face with big eyes",category:"Smileys & Emotion"},{emoji:"😄",names:["smile"],tags:["happy","joy","laugh","pleased"],description:"grinning face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😁",names:["grin"],tags:[],description:"beaming face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😆",names:["laughing","satisfied"],tags:["happy","haha"],description:"grinning squinting face",category:"Smileys & Emotion"},{emoji:"😅",names:["sweat_smile"],tags:["hot"],description:"grinning face with sweat",category:"Smileys & Emotion"},{emoji:"🤣",names:["rofl"],tags:["lol","laughing"],description:"rolling on the floor laughing",category:"Smileys & Emotion"},{emoji:"😂",names:["joy"],tags:["tears"],description:"face with tears of joy",category:"Smileys & Emotion"},{emoji:"🙂",names:["slightly_smiling_face"],tags:[],description:"slightly smiling face",category:"Smileys & Emotion"},{emoji:"🙃",names:["upside_down_face"],tags:[],description:"upside-down face",category:"Smileys & Emotion"},{emoji:"🫠",names:["melting_face"],tags:["sarcasm","dread"],description:"melting face",category:"Smileys & Emotion"},{emoji:"😉",names:["wink"],tags:["flirt"],description:"winking face",category:"Smileys & Emotion"},{emoji:"😊",names:["blush"],tags:["proud"],description:"smiling face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😇",names:["innocent"],tags:["angel"],description:"smiling face with halo",category:"Smileys & Emotion"},{emoji:"🥰",names:["smiling_face_with_three_hearts"],tags:["love"],description:"smiling face with hearts",category:"Smileys & Emotion"},{emoji:"😍",names:["heart_eyes"],tags:["love","crush"],description:"smiling face with heart-eyes",category:"Smileys & Emotion"},{emoji:"🤩",names:["star_struck"],tags:["eyes"],description:"star-struck",category:"Smileys & Emotion"},{emoji:"😘",names:["kissing_heart"],tags:["flirt"],description:"face blowing a kiss",category:"Smileys & Emotion"},{emoji:"😗",names:["kissing"],tags:[],description:"kissing face",category:"Smileys & Emotion"},{emoji:"☺️",names:["relaxed"],tags:["blush","pleased"],description:"smiling face",category:"Smileys & Emotion"},{emoji:"😚",names:["kissing_closed_eyes"],tags:[],description:"kissing face with closed eyes",category:"Smileys & Emotion"},{emoji:"😙",names:["kissing_smiling_eyes"],tags:[],description:"kissing face with smiling eyes",category:"Smileys & Emotion"},{emoji:"🥲",names:["smiling_face_with_tear"],tags:[],description:"smiling face with tear",category:"Smileys & Emotion"},{emoji:"😋",names:["yum"],tags:["tongue","lick"],description:"face savoring food",category:"Smileys & Emotion"},{emoji:"😛",names:["stuck_out_tongue"],tags:[],description:"face with tongue",category:"Smileys & Emotion"},{emoji:"😜",names:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],description:"winking face with tongue",category:"Smileys & Emotion"},{emoji:"🤪",names:["zany_face"],tags:["goofy","wacky"],description:"zany face",category:"Smileys & Emotion"},{emoji:"😝",names:["stuck_out_tongue_closed_eyes"],tags:["prank"],description:"squinting face with tongue",category:"Smileys & Emotion"},{emoji:"🤑",names:["money_mouth_face"],tags:["rich"],description:"money-mouth face",category:"Smileys & Emotion"},{emoji:"🤗",names:["hugs"],tags:[],description:"smiling face with open hands",category:"Smileys & Emotion"},{emoji:"🤭",names:["hand_over_mouth"],tags:["quiet","whoops"],description:"face with hand over mouth",category:"Smileys & Emotion"},{emoji:"🫢",names:["face_with_open_eyes_and_hand_over_mouth"],tags:["gasp","shock"],description:"face with open eyes and hand over mouth",category:"Smileys & Emotion"},{emoji:"🫣",names:["face_with_peeking_eye"],tags:[],description:"face with peeking eye",category:"Smileys & Emotion"},{emoji:"🤫",names:["shushing_face"],tags:["silence","quiet"],description:"shushing face",category:"Smileys & Emotion"},{emoji:"🤔",names:["thinking"],tags:[],description:"thinking face",category:"Smileys & Emotion"},{emoji:"🫡",names:["saluting_face"],tags:["respect"],description:"saluting face",category:"Smileys & Emotion"},{emoji:"🤐",names:["zipper_mouth_face"],tags:["silence","hush"],description:"zipper-mouth face",category:"Smileys & Emotion"},{emoji:"🤨",names:["raised_eyebrow"],tags:["suspicious"],description:"face with raised eyebrow",category:"Smileys & Emotion"},{emoji:"😐",names:["neutral_face"],tags:["meh"],description:"neutral face",category:"Smileys & Emotion"},{emoji:"😑",names:["expressionless"],tags:[],description:"expressionless face",category:"Smileys & Emotion"},{emoji:"😶",names:["no_mouth"],tags:["mute","silence"],description:"face without mouth",category:"Smileys & Emotion"},{emoji:"🫥",names:["dotted_line_face"],tags:["invisible"],description:"dotted line face",category:"Smileys & Emotion"},{emoji:"😶‍🌫️",names:["face_in_clouds"],tags:[],description:"face in clouds",category:"Smileys & Emotion"},{emoji:"😏",names:["smirk"],tags:["smug"],description:"smirking face",category:"Smileys & Emotion"},{emoji:"😒",names:["unamused"],tags:["meh"],description:"unamused face",category:"Smileys & Emotion"},{emoji:"🙄",names:["roll_eyes"],tags:[],description:"face with rolling eyes",category:"Smileys & Emotion"},{emoji:"😬",names:["grimacing"],tags:[],description:"grimacing face",category:"Smileys & Emotion"},{emoji:"😮‍💨",names:["face_exhaling"],tags:[],description:"face exhaling",category:"Smileys & Emotion"},{emoji:"🤥",names:["lying_face"],tags:["liar"],description:"lying face",category:"Smileys & Emotion"},{emoji:"🫨",names:["shaking_face"],tags:["shock"],description:"shaking face",category:"Smileys & Emotion"},{emoji:"😌",names:["relieved"],tags:["whew"],description:"relieved face",category:"Smileys & Emotion"},{emoji:"😔",names:["pensive"],tags:[],description:"pensive face",category:"Smileys & Emotion"},{emoji:"😪",names:["sleepy"],tags:["tired"],description:"sleepy face",category:"Smileys & Emotion"},{emoji:"🤤",names:["drooling_face"],tags:[],description:"drooling face",category:"Smileys & Emotion"},{emoji:"😴",names:["sleeping"],tags:["zzz"],description:"sleeping face",category:"Smileys & Emotion"},{emoji:"😷",names:["mask"],tags:["sick","ill"],description:"face with medical mask",category:"Smileys & Emotion"},{emoji:"🤒",names:["face_with_thermometer"],tags:["sick"],description:"face with thermometer",category:"Smileys & Emotion"},{emoji:"🤕",names:["face_with_head_bandage"],tags:["hurt"],description:"face with head-bandage",category:"Smileys & Emotion"},{emoji:"🤢",names:["nauseated_face"],tags:["sick","barf","disgusted"],description:"nauseated face",category:"Smileys & Emotion"},{emoji:"🤮",names:["vomiting_face"],tags:["barf","sick"],description:"face vomiting",category:"Smileys & Emotion"},{emoji:"🤧",names:["sneezing_face"],tags:["achoo","sick"],description:"sneezing face",category:"Smileys & Emotion"},{emoji:"🥵",names:["hot_face"],tags:["heat","sweating"],description:"hot face",category:"Smileys & Emotion"},{emoji:"🥶",names:["cold_face"],tags:["freezing","ice"],description:"cold face",category:"Smileys & Emotion"},{emoji:"🥴",names:["woozy_face"],tags:["groggy"],description:"woozy face",category:"Smileys & Emotion"},{emoji:"😵",names:["dizzy_face"],tags:[],description:"face with crossed-out eyes",category:"Smileys & Emotion"},{emoji:"😵‍💫",names:["face_with_spiral_eyes"],tags:[],description:"face with spiral eyes",category:"Smileys & Emotion"},{emoji:"🤯",names:["exploding_head"],tags:["mind","blown"],description:"exploding head",category:"Smileys & Emotion"},{emoji:"🤠",names:["cowboy_hat_face"],tags:[],description:"cowboy hat face",category:"Smileys & Emotion"},{emoji:"🥳",names:["partying_face"],tags:["celebration","birthday"],description:"partying face",category:"Smileys & Emotion"},{emoji:"🥸",names:["disguised_face"],tags:[],description:"disguised face",category:"Smileys & Emotion"},{emoji:"😎",names:["sunglasses"],tags:["cool"],description:"smiling face with sunglasses",category:"Smileys & Emotion"},{emoji:"🤓",names:["nerd_face"],tags:["geek","glasses"],description:"nerd face",category:"Smileys & Emotion"},{emoji:"🧐",names:["monocle_face"],tags:[],description:"face with monocle",category:"Smileys & Emotion"},{emoji:"😕",names:["confused"],tags:[],description:"confused face",category:"Smileys & Emotion"},{emoji:"🫤",names:["face_with_diagonal_mouth"],tags:["confused"],description:"face with diagonal mouth",category:"Smileys & Emotion"},{emoji:"😟",names:["worried"],tags:["nervous"],description:"worried face",category:"Smileys & Emotion"},{emoji:"🙁",names:["slightly_frowning_face"],tags:[],description:"slightly frowning face",category:"Smileys & Emotion"},{emoji:"☹️",names:["frowning_face"],tags:[],description:"frowning face",category:"Smileys & Emotion"},{emoji:"😮",names:["open_mouth"],tags:["surprise","impressed","wow"],description:"face with open mouth",category:"Smileys & Emotion"},{emoji:"😯",names:["hushed"],tags:["silence","speechless"],description:"hushed face",category:"Smileys & Emotion"},{emoji:"😲",names:["astonished"],tags:["amazed","gasp"],description:"astonished face",category:"Smileys & Emotion"},{emoji:"😳",names:["flushed"],tags:[],description:"flushed face",category:"Smileys & Emotion"},{emoji:"🥺",names:["pleading_face"],tags:["puppy","eyes"],description:"pleading face",category:"Smileys & Emotion"},{emoji:"🥹",names:["face_holding_back_tears"],tags:["tears","gratitude"],description:"face holding back tears",category:"Smileys & Emotion"},{emoji:"😦",names:["frowning"],tags:[],description:"frowning face with open mouth",category:"Smileys & Emotion"},{emoji:"😧",names:["anguished"],tags:["stunned"],description:"anguished face",category:"Smileys & Emotion"},{emoji:"😨",names:["fearful"],tags:["scared","shocked","oops"],description:"fearful face",category:"Smileys & Emotion"},{emoji:"😰",names:["cold_sweat"],tags:["nervous"],description:"anxious face with sweat",category:"Smileys & Emotion"},{emoji:"😥",names:["disappointed_relieved"],tags:["phew","sweat","nervous"],description:"sad but relieved face",category:"Smileys & Emotion"},{emoji:"😢",names:["cry"],tags:["sad","tear"],description:"crying face",category:"Smileys & Emotion"},{emoji:"😭",names:["sob"],tags:["sad","cry","bawling"],description:"loudly crying face",category:"Smileys & Emotion"},{emoji:"😱",names:["scream"],tags:["horror","shocked"],description:"face screaming in fear",category:"Smileys & Emotion"},{emoji:"😖",names:["confounded"],tags:[],description:"confounded face",category:"Smileys & Emotion"},{emoji:"😣",names:["persevere"],tags:["struggling"],description:"persevering face",category:"Smileys & Emotion"},{emoji:"😞",names:["disappointed"],tags:["sad"],description:"disappointed face",category:"Smileys & Emotion"},{emoji:"😓",names:["sweat"],tags:[],description:"downcast face with sweat",category:"Smileys & Emotion"},{emoji:"😩",names:["weary"],tags:["tired"],description:"weary face",category:"Smileys & Emotion"},{emoji:"😫",names:["tired_face"],tags:["upset","whine"],description:"tired face",category:"Smileys & Emotion"},{emoji:"🥱",names:["yawning_face"],tags:[],description:"yawning face",category:"Smileys & Emotion"},{emoji:"😤",names:["triumph"],tags:["smug"],description:"face with steam from nose",category:"Smileys & Emotion"},{emoji:"😡",names:["rage","pout"],tags:["angry"],description:"enraged face",category:"Smileys & Emotion"},{emoji:"😠",names:["angry"],tags:["mad","annoyed"],description:"angry face",category:"Smileys & Emotion"},{emoji:"🤬",names:["cursing_face"],tags:["foul"],description:"face with symbols on mouth",category:"Smileys & Emotion"},{emoji:"😈",names:["smiling_imp"],tags:["devil","evil","horns"],description:"smiling face with horns",category:"Smileys & Emotion"},{emoji:"👿",names:["imp"],tags:["angry","devil","evil","horns"],description:"angry face with horns",category:"Smileys & Emotion"},{emoji:"💀",names:["skull"],tags:["dead","danger","poison"],description:"skull",category:"Smileys & Emotion"},{emoji:"☠️",names:["skull_and_crossbones"],tags:["danger","pirate"],description:"skull and crossbones",category:"Smileys & Emotion"},{emoji:"💩",names:["hankey","poop","shit"],tags:["crap"],description:"pile of poo",category:"Smileys & Emotion"},{emoji:"🤡",names:["clown_face"],tags:[],description:"clown face",category:"Smileys & Emotion"},{emoji:"👹",names:["japanese_ogre"],tags:["monster"],description:"ogre",category:"Smileys & Emotion"},{emoji:"👺",names:["japanese_goblin"],tags:[],description:"goblin",category:"Smileys & Emotion"},{emoji:"👻",names:["ghost"],tags:["halloween"],description:"ghost",category:"Smileys & Emotion"},{emoji:"👽",names:["alien"],tags:["ufo"],description:"alien",category:"Smileys & Emotion"},{emoji:"👾",names:["space_invader"],tags:["game","retro"],description:"alien monster",category:"Smileys & Emotion"},{emoji:"🤖",names:["robot"],tags:[],description:"robot",category:"Smileys & Emotion"},{emoji:"😺",names:["smiley_cat"],tags:[],description:"grinning cat",category:"Smileys & Emotion"},{emoji:"😸",names:["smile_cat"],tags:[],description:"grinning cat with smiling eyes",category:"Smileys & Emotion"},{emoji:"😹",names:["joy_cat"],tags:[],description:"cat with tears of joy",category:"Smileys & Emotion"},{emoji:"😻",names:["heart_eyes_cat"],tags:[],description:"smiling cat with heart-eyes",category:"Smileys & Emotion"},{emoji:"😼",names:["smirk_cat"],tags:[],description:"cat with wry smile",category:"Smileys & Emotion"},{emoji:"😽",names:["kissing_cat"],tags:[],description:"kissing cat",category:"Smileys & Emotion"},{emoji:"🙀",names:["scream_cat"],tags:["horror"],description:"weary cat",category:"Smileys & Emotion"},{emoji:"😿",names:["crying_cat_face"],tags:["sad","tear"],description:"crying cat",category:"Smileys & Emotion"},{emoji:"😾",names:["pouting_cat"],tags:[],description:"pouting cat",category:"Smileys & Emotion"},{emoji:"🙈",names:["see_no_evil"],tags:["monkey","blind","ignore"],description:"see-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙉",names:["hear_no_evil"],tags:["monkey","deaf"],description:"hear-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙊",names:["speak_no_evil"],tags:["monkey","mute","hush"],description:"speak-no-evil monkey",category:"Smileys & Emotion"},{emoji:"💌",names:["love_letter"],tags:["email","envelope"],description:"love letter",category:"Smileys & Emotion"},{emoji:"💘",names:["cupid"],tags:["love","heart"],description:"heart with arrow",category:"Smileys & Emotion"},{emoji:"💝",names:["gift_heart"],tags:["chocolates"],description:"heart with ribbon",category:"Smileys & Emotion"},{emoji:"💖",names:["sparkling_heart"],tags:[],description:"sparkling heart",category:"Smileys & Emotion"},{emoji:"💗",names:["heartpulse"],tags:[],description:"growing heart",category:"Smileys & Emotion"},{emoji:"💓",names:["heartbeat"],tags:[],description:"beating heart",category:"Smileys & Emotion"},{emoji:"💞",names:["revolving_hearts"],tags:[],description:"revolving hearts",category:"Smileys & Emotion"},{emoji:"💕",names:["two_hearts"],tags:[],description:"two hearts",category:"Smileys & Emotion"},{emoji:"💟",names:["heart_decoration"],tags:[],description:"heart decoration",category:"Smileys & Emotion"},{emoji:"❣️",names:["heavy_heart_exclamation"],tags:[],description:"heart exclamation",category:"Smileys & Emotion"},{emoji:"💔",names:["broken_heart"],tags:[],description:"broken heart",category:"Smileys & Emotion"},{emoji:"❤️‍🔥",names:["heart_on_fire"],tags:[],description:"heart on fire",category:"Smileys & Emotion"},{emoji:"❤️‍🩹",names:["mending_heart"],tags:[],description:"mending heart",category:"Smileys & Emotion"},{emoji:"❤️",names:["heart"],tags:["love"],description:"red heart",category:"Smileys & Emotion"},{emoji:"🩷",names:["pink_heart"],tags:[],description:"pink heart",category:"Smileys & Emotion"},{emoji:"🧡",names:["orange_heart"],tags:[],description:"orange heart",category:"Smileys & Emotion"},{emoji:"💛",names:["yellow_heart"],tags:[],description:"yellow heart",category:"Smileys & Emotion"},{emoji:"💚",names:["green_heart"],tags:[],description:"green heart",category:"Smileys & Emotion"},{emoji:"💙",names:["blue_heart"],tags:[],description:"blue heart",category:"Smileys & Emotion"},{emoji:"🩵",names:["light_blue_heart"],tags:[],description:"light blue heart",category:"Smileys & Emotion"},{emoji:"💜",names:["purple_heart"],tags:[],description:"purple heart",category:"Smileys & Emotion"},{emoji:"🤎",names:["brown_heart"],tags:[],description:"brown heart",category:"Smileys & Emotion"},{emoji:"🖤",names:["black_heart"],tags:[],description:"black heart",category:"Smileys & Emotion"},{emoji:"🩶",names:["grey_heart"],tags:[],description:"grey heart",category:"Smileys & Emotion"},{emoji:"🤍",names:["white_heart"],tags:[],description:"white heart",category:"Smileys & Emotion"},{emoji:"💋",names:["kiss"],tags:["lipstick"],description:"kiss mark",category:"Smileys & Emotion"},{emoji:"💯",names:["100"],tags:["score","perfect"],description:"hundred points",category:"Smileys & Emotion"},{emoji:"💢",names:["anger"],tags:["angry"],description:"anger symbol",category:"Smileys & Emotion"},{emoji:"💥",names:["boom","collision"],tags:["explode"],description:"collision",category:"Smileys & Emotion"},{emoji:"💫",names:["dizzy"],tags:["star"],description:"dizzy",category:"Smileys & Emotion"},{emoji:"💦",names:["sweat_drops"],tags:["water","workout"],description:"sweat droplets",category:"Smileys & Emotion"},{emoji:"💨",names:["dash"],tags:["wind","blow","fast"],description:"dashing away",category:"Smileys & Emotion"},{emoji:"🕳️",names:["hole"],tags:[],description:"hole",category:"Smileys & Emotion"},{emoji:"💬",names:["speech_balloon"],tags:["comment"],description:"speech balloon",category:"Smileys & Emotion"},{emoji:"👁️‍🗨️",names:["eye_speech_bubble"],tags:[],description:"eye in speech bubble",category:"Smileys & Emotion"},{emoji:"🗨️",names:["left_speech_bubble"],tags:[],description:"left speech bubble",category:"Smileys & Emotion"},{emoji:"🗯️",names:["right_anger_bubble"],tags:[],description:"right anger bubble",category:"Smileys & Emotion"},{emoji:"💭",names:["thought_balloon"],tags:["thinking"],description:"thought balloon",category:"Smileys & Emotion"},{emoji:"💤",names:["zzz"],tags:["sleeping"],description:"ZZZ",category:"Smileys & Emotion"},{emoji:"👋",names:["wave"],tags:["goodbye"],description:"waving hand",category:"People & Body"},{emoji:"🤚",names:["raised_back_of_hand"],tags:[],description:"raised back of hand",category:"People & Body"},{emoji:"🖐️",names:["raised_hand_with_fingers_splayed"],tags:[],description:"hand with fingers splayed",category:"People & Body"},{emoji:"✋",names:["hand","raised_hand"],tags:["highfive","stop"],description:"raised hand",category:"People & Body"},{emoji:"🖖",names:["vulcan_salute"],tags:["prosper","spock"],description:"vulcan salute",category:"People & Body"},{emoji:"🫱",names:["rightwards_hand"],tags:[],description:"rightwards hand",category:"People & Body"},{emoji:"🫲",names:["leftwards_hand"],tags:[],description:"leftwards hand",category:"People & Body"},{emoji:"🫳",names:["palm_down_hand"],tags:[],description:"palm down hand",category:"People & Body"},{emoji:"🫴",names:["palm_up_hand"],tags:[],description:"palm up hand",category:"People & Body"},{emoji:"🫷",names:["leftwards_pushing_hand"],tags:[],description:"leftwards pushing hand",category:"People & Body"},{emoji:"🫸",names:["rightwards_pushing_hand"],tags:[],description:"rightwards pushing hand",category:"People & Body"},{emoji:"👌",names:["ok_hand"],tags:[],description:"OK hand",category:"People & Body"},{emoji:"🤌",names:["pinched_fingers"],tags:[],description:"pinched fingers",category:"People & Body"},{emoji:"🤏",names:["pinching_hand"],tags:[],description:"pinching hand",category:"People & Body"},{emoji:"✌️",names:["v"],tags:["victory","peace"],description:"victory hand",category:"People & Body"},{emoji:"🤞",names:["crossed_fingers"],tags:["luck","hopeful"],description:"crossed fingers",category:"People & Body"},{emoji:"🫰",names:["hand_with_index_finger_and_thumb_crossed"],tags:[],description:"hand with index finger and thumb crossed",category:"People & Body"},{emoji:"🤟",names:["love_you_gesture"],tags:[],description:"love-you gesture",category:"People & Body"},{emoji:"🤘",names:["metal"],tags:[],description:"sign of the horns",category:"People & Body"},{emoji:"🤙",names:["call_me_hand"],tags:[],description:"call me hand",category:"People & Body"},{emoji:"👈",names:["point_left"],tags:[],description:"backhand index pointing left",category:"People & Body"},{emoji:"👉",names:["point_right"],tags:[],description:"backhand index pointing right",category:"People & Body"},{emoji:"👆",names:["point_up_2"],tags:[],description:"backhand index pointing up",category:"People & Body"},{emoji:"🖕",names:["middle_finger","fu"],tags:[],description:"middle finger",category:"People & Body"},{emoji:"👇",names:["point_down"],tags:[],description:"backhand index pointing down",category:"People & Body"},{emoji:"☝️",names:["point_up"],tags:[],description:"index pointing up",category:"People & Body"},{emoji:"🫵",names:["index_pointing_at_the_viewer"],tags:[],description:"index pointing at the viewer",category:"People & Body"},{emoji:"👍",names:["+1","thumbsup"],tags:["approve","ok"],description:"thumbs up",category:"People & Body"},{emoji:"👎",names:["-1","thumbsdown"],tags:["disapprove","bury"],description:"thumbs down",category:"People & Body"},{emoji:"✊",names:["fist_raised","fist"],tags:["power"],description:"raised fist",category:"People & Body"},{emoji:"👊",names:["fist_oncoming","facepunch","punch"],tags:["attack"],description:"oncoming fist",category:"People & Body"},{emoji:"🤛",names:["fist_left"],tags:[],description:"left-facing fist",category:"People & Body"},{emoji:"🤜",names:["fist_right"],tags:[],description:"right-facing fist",category:"People & Body"},{emoji:"👏",names:["clap"],tags:["praise","applause"],description:"clapping hands",category:"People & Body"},{emoji:"🙌",names:["raised_hands"],tags:["hooray"],description:"raising hands",category:"People & Body"},{emoji:"🫶",names:["heart_hands"],tags:["love"],description:"heart hands",category:"People & Body"},{emoji:"👐",names:["open_hands"],tags:[],description:"open hands",category:"People & Body"},{emoji:"🤲",names:["palms_up_together"],tags:[],description:"palms up together",category:"People & Body"},{emoji:"🤝",names:["handshake"],tags:["deal"],description:"handshake",category:"People & Body"},{emoji:"🙏",names:["pray"],tags:["please","hope","wish"],description:"folded hands",category:"People & Body"},{emoji:"✍️",names:["writing_hand"],tags:[],description:"writing hand",category:"People & Body"},{emoji:"💅",names:["nail_care"],tags:["beauty","manicure"],description:"nail polish",category:"People & Body"},{emoji:"🤳",names:["selfie"],tags:[],description:"selfie",category:"People & Body"},{emoji:"💪",names:["muscle"],tags:["flex","bicep","strong","workout"],description:"flexed biceps",category:"People & Body"},{emoji:"🦾",names:["mechanical_arm"],tags:[],description:"mechanical arm",category:"People & Body"},{emoji:"🦿",names:["mechanical_leg"],tags:[],description:"mechanical leg",category:"People & Body"},{emoji:"🦵",names:["leg"],tags:[],description:"leg",category:"People & Body"},{emoji:"🦶",names:["foot"],tags:[],description:"foot",category:"People & Body"},{emoji:"👂",names:["ear"],tags:["hear","sound","listen"],description:"ear",category:"People & Body"},{emoji:"🦻",names:["ear_with_hearing_aid"],tags:[],description:"ear with hearing aid",category:"People & Body"},{emoji:"👃",names:["nose"],tags:["smell"],description:"nose",category:"People & Body"},{emoji:"🧠",names:["brain"],tags:[],description:"brain",category:"People & Body"},{emoji:"🫀",names:["anatomical_heart"],tags:[],description:"anatomical heart",category:"People & Body"},{emoji:"🫁",names:["lungs"],tags:[],description:"lungs",category:"People & Body"},{emoji:"🦷",names:["tooth"],tags:[],description:"tooth",category:"People & Body"},{emoji:"🦴",names:["bone"],tags:[],description:"bone",category:"People & Body"},{emoji:"👀",names:["eyes"],tags:["look","see","watch"],description:"eyes",category:"People & Body"},{emoji:"👁️",names:["eye"],tags:[],description:"eye",category:"People & Body"},{emoji:"👅",names:["tongue"],tags:["taste"],description:"tongue",category:"People & Body"},{emoji:"👄",names:["lips"],tags:["kiss"],description:"mouth",category:"People & Body"},{emoji:"🫦",names:["biting_lip"],tags:[],description:"biting lip",category:"People & Body"},{emoji:"👶",names:["baby"],tags:["child","newborn"],description:"baby",category:"People & Body"},{emoji:"🧒",names:["child"],tags:[],description:"child",category:"People & Body"},{emoji:"👦",names:["boy"],tags:["child"],description:"boy",category:"People & Body"},{emoji:"👧",names:["girl"],tags:["child"],description:"girl",category:"People & Body"},{emoji:"🧑",names:["adult"],tags:[],description:"person",category:"People & Body"},{emoji:"👱",names:["blond_haired_person"],tags:[],description:"person: blond hair",category:"People & Body"},{emoji:"👨",names:["man"],tags:["mustache","father","dad"],description:"man",category:"People & Body"},{emoji:"🧔",names:["bearded_person"],tags:[],description:"person: beard",category:"People & Body"},{emoji:"🧔‍♂️",names:["man_beard"],tags:[],description:"man: beard",category:"People & Body"},{emoji:"🧔‍♀️",names:["woman_beard"],tags:[],description:"woman: beard",category:"People & Body"},{emoji:"👨‍🦰",names:["red_haired_man"],tags:[],description:"man: red hair",category:"People & Body"},{emoji:"👨‍🦱",names:["curly_haired_man"],tags:[],description:"man: curly hair",category:"People & Body"},{emoji:"👨‍🦳",names:["white_haired_man"],tags:[],description:"man: white hair",category:"People & Body"},{emoji:"👨‍🦲",names:["bald_man"],tags:[],description:"man: bald",category:"People & Body"},{emoji:"👩",names:["woman"],tags:["girls"],description:"woman",category:"People & Body"},{emoji:"👩‍🦰",names:["red_haired_woman"],tags:[],description:"woman: red hair",category:"People & Body"},{emoji:"🧑‍🦰",names:["person_red_hair"],tags:[],description:"person: red hair",category:"People & Body"},{emoji:"👩‍🦱",names:["curly_haired_woman"],tags:[],description:"woman: curly hair",category:"People & Body"},{emoji:"🧑‍🦱",names:["person_curly_hair"],tags:[],description:"person: curly hair",category:"People & Body"},{emoji:"👩‍🦳",names:["white_haired_woman"],tags:[],description:"woman: white hair",category:"People & Body"},{emoji:"🧑‍🦳",names:["person_white_hair"],tags:[],description:"person: white hair",category:"People & Body"},{emoji:"👩‍🦲",names:["bald_woman"],tags:[],description:"woman: bald",category:"People & Body"},{emoji:"🧑‍🦲",names:["person_bald"],tags:[],description:"person: bald",category:"People & Body"},{emoji:"👱‍♀️",names:["blond_haired_woman","blonde_woman"],tags:[],description:"woman: blond hair",category:"People & Body"},{emoji:"👱‍♂️",names:["blond_haired_man"],tags:[],description:"man: blond hair",category:"People & Body"},{emoji:"🧓",names:["older_adult"],tags:[],description:"older person",category:"People & Body"},{emoji:"👴",names:["older_man"],tags:[],description:"old man",category:"People & Body"},{emoji:"👵",names:["older_woman"],tags:[],description:"old woman",category:"People & Body"},{emoji:"🙍",names:["frowning_person"],tags:[],description:"person frowning",category:"People & Body"},{emoji:"🙍‍♂️",names:["frowning_man"],tags:[],description:"man frowning",category:"People & Body"},{emoji:"🙍‍♀️",names:["frowning_woman"],tags:[],description:"woman frowning",category:"People & Body"},{emoji:"🙎",names:["pouting_face"],tags:[],description:"person pouting",category:"People & Body"},{emoji:"🙎‍♂️",names:["pouting_man"],tags:[],description:"man pouting",category:"People & Body"},{emoji:"🙎‍♀️",names:["pouting_woman"],tags:[],description:"woman pouting",category:"People & Body"},{emoji:"🙅",names:["no_good"],tags:["stop","halt","denied"],description:"person gesturing NO",category:"People & Body"},{emoji:"🙅‍♂️",names:["no_good_man","ng_man"],tags:["stop","halt","denied"],description:"man gesturing NO",category:"People & Body"},{emoji:"🙅‍♀️",names:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],description:"woman gesturing NO",category:"People & Body"},{emoji:"🙆",names:["ok_person"],tags:[],description:"person gesturing OK",category:"People & Body"},{emoji:"🙆‍♂️",names:["ok_man"],tags:[],description:"man gesturing OK",category:"People & Body"},{emoji:"🙆‍♀️",names:["ok_woman"],tags:[],description:"woman gesturing OK",category:"People & Body"},{emoji:"💁",names:["tipping_hand_person","information_desk_person"],tags:[],description:"person tipping hand",category:"People & Body"},{emoji:"💁‍♂️",names:["tipping_hand_man","sassy_man"],tags:["information"],description:"man tipping hand",category:"People & Body"},{emoji:"💁‍♀️",names:["tipping_hand_woman","sassy_woman"],tags:["information"],description:"woman tipping hand",category:"People & Body"},{emoji:"🙋",names:["raising_hand"],tags:[],description:"person raising hand",category:"People & Body"},{emoji:"🙋‍♂️",names:["raising_hand_man"],tags:[],description:"man raising hand",category:"People & Body"},{emoji:"🙋‍♀️",names:["raising_hand_woman"],tags:[],description:"woman raising hand",category:"People & Body"},{emoji:"🧏",names:["deaf_person"],tags:[],description:"deaf person",category:"People & Body"},{emoji:"🧏‍♂️",names:["deaf_man"],tags:[],description:"deaf man",category:"People & Body"},{emoji:"🧏‍♀️",names:["deaf_woman"],tags:[],description:"deaf woman",category:"People & Body"},{emoji:"🙇",names:["bow"],tags:["respect","thanks"],description:"person bowing",category:"People & Body"},{emoji:"🙇‍♂️",names:["bowing_man"],tags:["respect","thanks"],description:"man bowing",category:"People & Body"},{emoji:"🙇‍♀️",names:["bowing_woman"],tags:["respect","thanks"],description:"woman bowing",category:"People & Body"},{emoji:"🤦",names:["facepalm"],tags:[],description:"person facepalming",category:"People & Body"},{emoji:"🤦‍♂️",names:["man_facepalming"],tags:[],description:"man facepalming",category:"People & Body"},{emoji:"🤦‍♀️",names:["woman_facepalming"],tags:[],description:"woman facepalming",category:"People & Body"},{emoji:"🤷",names:["shrug"],tags:[],description:"person shrugging",category:"People & Body"},{emoji:"🤷‍♂️",names:["man_shrugging"],tags:[],description:"man shrugging",category:"People & Body"},{emoji:"🤷‍♀️",names:["woman_shrugging"],tags:[],description:"woman shrugging",category:"People & Body"},{emoji:"🧑‍⚕️",names:["health_worker"],tags:[],description:"health worker",category:"People & Body"},{emoji:"👨‍⚕️",names:["man_health_worker"],tags:["doctor","nurse"],description:"man health worker",category:"People & Body"},{emoji:"👩‍⚕️",names:["woman_health_worker"],tags:["doctor","nurse"],description:"woman health worker",category:"People & Body"},{emoji:"🧑‍🎓",names:["student"],tags:[],description:"student",category:"People & Body"},{emoji:"👨‍🎓",names:["man_student"],tags:["graduation"],description:"man student",category:"People & Body"},{emoji:"👩‍🎓",names:["woman_student"],tags:["graduation"],description:"woman student",category:"People & Body"},{emoji:"🧑‍🏫",names:["teacher"],tags:[],description:"teacher",category:"People & Body"},{emoji:"👨‍🏫",names:["man_teacher"],tags:["school","professor"],description:"man teacher",category:"People & Body"},{emoji:"👩‍🏫",names:["woman_teacher"],tags:["school","professor"],description:"woman teacher",category:"People & Body"},{emoji:"🧑‍⚖️",names:["judge"],tags:[],description:"judge",category:"People & Body"},{emoji:"👨‍⚖️",names:["man_judge"],tags:["justice"],description:"man judge",category:"People & Body"},{emoji:"👩‍⚖️",names:["woman_judge"],tags:["justice"],description:"woman judge",category:"People & Body"},{emoji:"🧑‍🌾",names:["farmer"],tags:[],description:"farmer",category:"People & Body"},{emoji:"👨‍🌾",names:["man_farmer"],tags:[],description:"man farmer",category:"People & Body"},{emoji:"👩‍🌾",names:["woman_farmer"],tags:[],description:"woman farmer",category:"People & Body"},{emoji:"🧑‍🍳",names:["cook"],tags:[],description:"cook",category:"People & Body"},{emoji:"👨‍🍳",names:["man_cook"],tags:["chef"],description:"man cook",category:"People & Body"},{emoji:"👩‍🍳",names:["woman_cook"],tags:["chef"],description:"woman cook",category:"People & Body"},{emoji:"🧑‍🔧",names:["mechanic"],tags:[],description:"mechanic",category:"People & Body"},{emoji:"👨‍🔧",names:["man_mechanic"],tags:[],description:"man mechanic",category:"People & Body"},{emoji:"👩‍🔧",names:["woman_mechanic"],tags:[],description:"woman mechanic",category:"People & Body"},{emoji:"🧑‍🏭",names:["factory_worker"],tags:[],description:"factory worker",category:"People & Body"},{emoji:"👨‍🏭",names:["man_factory_worker"],tags:[],description:"man factory worker",category:"People & Body"},{emoji:"👩‍🏭",names:["woman_factory_worker"],tags:[],description:"woman factory worker",category:"People & Body"},{emoji:"🧑‍💼",names:["office_worker"],tags:[],description:"office worker",category:"People & Body"},{emoji:"👨‍💼",names:["man_office_worker"],tags:["business"],description:"man office worker",category:"People & Body"},{emoji:"👩‍💼",names:["woman_office_worker"],tags:["business"],description:"woman office worker",category:"People & Body"},{emoji:"🧑‍🔬",names:["scientist"],tags:[],description:"scientist",category:"People & Body"},{emoji:"👨‍🔬",names:["man_scientist"],tags:["research"],description:"man scientist",category:"People & Body"},{emoji:"👩‍🔬",names:["woman_scientist"],tags:["research"],description:"woman scientist",category:"People & Body"},{emoji:"🧑‍💻",names:["technologist"],tags:[],description:"technologist",category:"People & Body"},{emoji:"👨‍💻",names:["man_technologist"],tags:["coder"],description:"man technologist",category:"People & Body"},{emoji:"👩‍💻",names:["woman_technologist"],tags:["coder"],description:"woman technologist",category:"People & Body"},{emoji:"🧑‍🎤",names:["singer"],tags:[],description:"singer",category:"People & Body"},{emoji:"👨‍🎤",names:["man_singer"],tags:["rockstar"],description:"man singer",category:"People & Body"},{emoji:"👩‍🎤",names:["woman_singer"],tags:["rockstar"],description:"woman singer",category:"People & Body"},{emoji:"🧑‍🎨",names:["artist"],tags:[],description:"artist",category:"People & Body"},{emoji:"👨‍🎨",names:["man_artist"],tags:["painter"],description:"man artist",category:"People & Body"},{emoji:"👩‍🎨",names:["woman_artist"],tags:["painter"],description:"woman artist",category:"People & Body"},{emoji:"🧑‍✈️",names:["pilot"],tags:[],description:"pilot",category:"People & Body"},{emoji:"👨‍✈️",names:["man_pilot"],tags:[],description:"man pilot",category:"People & Body"},{emoji:"👩‍✈️",names:["woman_pilot"],tags:[],description:"woman pilot",category:"People & Body"},{emoji:"🧑‍🚀",names:["astronaut"],tags:[],description:"astronaut",category:"People & Body"},{emoji:"👨‍🚀",names:["man_astronaut"],tags:["space"],description:"man astronaut",category:"People & Body"},{emoji:"👩‍🚀",names:["woman_astronaut"],tags:["space"],description:"woman astronaut",category:"People & Body"},{emoji:"🧑‍🚒",names:["firefighter"],tags:[],description:"firefighter",category:"People & Body"},{emoji:"👨‍🚒",names:["man_firefighter"],tags:[],description:"man firefighter",category:"People & Body"},{emoji:"👩‍🚒",names:["woman_firefighter"],tags:[],description:"woman firefighter",category:"People & Body"},{emoji:"👮",names:["police_officer","cop"],tags:["law"],description:"police officer",category:"People & Body"},{emoji:"👮‍♂️",names:["policeman"],tags:["law","cop"],description:"man police officer",category:"People & Body"},{emoji:"👮‍♀️",names:["policewoman"],tags:["law","cop"],description:"woman police officer",category:"People & Body"},{emoji:"🕵️",names:["detective"],tags:["sleuth"],description:"detective",category:"People & Body"},{emoji:"🕵️‍♂️",names:["male_detective"],tags:["sleuth"],description:"man detective",category:"People & Body"},{emoji:"🕵️‍♀️",names:["female_detective"],tags:["sleuth"],description:"woman detective",category:"People & Body"},{emoji:"💂",names:["guard"],tags:[],description:"guard",category:"People & Body"},{emoji:"💂‍♂️",names:["guardsman"],tags:[],description:"man guard",category:"People & Body"},{emoji:"💂‍♀️",names:["guardswoman"],tags:[],description:"woman guard",category:"People & Body"},{emoji:"🥷",names:["ninja"],tags:[],description:"ninja",category:"People & Body"},{emoji:"👷",names:["construction_worker"],tags:["helmet"],description:"construction worker",category:"People & Body"},{emoji:"👷‍♂️",names:["construction_worker_man"],tags:["helmet"],description:"man construction worker",category:"People & Body"},{emoji:"👷‍♀️",names:["construction_worker_woman"],tags:["helmet"],description:"woman construction worker",category:"People & Body"},{emoji:"🫅",names:["person_with_crown"],tags:[],description:"person with crown",category:"People & Body"},{emoji:"🤴",names:["prince"],tags:["crown","royal"],description:"prince",category:"People & Body"},{emoji:"👸",names:["princess"],tags:["crown","royal"],description:"princess",category:"People & Body"},{emoji:"👳",names:["person_with_turban"],tags:[],description:"person wearing turban",category:"People & Body"},{emoji:"👳‍♂️",names:["man_with_turban"],tags:[],description:"man wearing turban",category:"People & Body"},{emoji:"👳‍♀️",names:["woman_with_turban"],tags:[],description:"woman wearing turban",category:"People & Body"},{emoji:"👲",names:["man_with_gua_pi_mao"],tags:[],description:"person with skullcap",category:"People & Body"},{emoji:"🧕",names:["woman_with_headscarf"],tags:["hijab"],description:"woman with headscarf",category:"People & Body"},{emoji:"🤵",names:["person_in_tuxedo"],tags:["groom","marriage","wedding"],description:"person in tuxedo",category:"People & Body"},{emoji:"🤵‍♂️",names:["man_in_tuxedo"],tags:[],description:"man in tuxedo",category:"People & Body"},{emoji:"🤵‍♀️",names:["woman_in_tuxedo"],tags:[],description:"woman in tuxedo",category:"People & Body"},{emoji:"👰",names:["person_with_veil"],tags:["marriage","wedding"],description:"person with veil",category:"People & Body"},{emoji:"👰‍♂️",names:["man_with_veil"],tags:[],description:"man with veil",category:"People & Body"},{emoji:"👰‍♀️",names:["woman_with_veil","bride_with_veil"],tags:[],description:"woman with veil",category:"People & Body"},{emoji:"🤰",names:["pregnant_woman"],tags:[],description:"pregnant woman",category:"People & Body"},{emoji:"🫃",names:["pregnant_man"],tags:[],description:"pregnant man",category:"People & Body"},{emoji:"🫄",names:["pregnant_person"],tags:[],description:"pregnant person",category:"People & Body"},{emoji:"🤱",names:["breast_feeding"],tags:["nursing"],description:"breast-feeding",category:"People & Body"},{emoji:"👩‍🍼",names:["woman_feeding_baby"],tags:[],description:"woman feeding baby",category:"People & Body"},{emoji:"👨‍🍼",names:["man_feeding_baby"],tags:[],description:"man feeding baby",category:"People & Body"},{emoji:"🧑‍🍼",names:["person_feeding_baby"],tags:[],description:"person feeding baby",category:"People & Body"},{emoji:"👼",names:["angel"],tags:[],description:"baby angel",category:"People & Body"},{emoji:"🎅",names:["santa"],tags:["christmas"],description:"Santa Claus",category:"People & Body"},{emoji:"🤶",names:["mrs_claus"],tags:["santa"],description:"Mrs. Claus",category:"People & Body"},{emoji:"🧑‍🎄",names:["mx_claus"],tags:[],description:"mx claus",category:"People & Body"},{emoji:"🦸",names:["superhero"],tags:[],description:"superhero",category:"People & Body"},{emoji:"🦸‍♂️",names:["superhero_man"],tags:[],description:"man superhero",category:"People & Body"},{emoji:"🦸‍♀️",names:["superhero_woman"],tags:[],description:"woman superhero",category:"People & Body"},{emoji:"🦹",names:["supervillain"],tags:[],description:"supervillain",category:"People & Body"},{emoji:"🦹‍♂️",names:["supervillain_man"],tags:[],description:"man supervillain",category:"People & Body"},{emoji:"🦹‍♀️",names:["supervillain_woman"],tags:[],description:"woman supervillain",category:"People & Body"},{emoji:"🧙",names:["mage"],tags:["wizard"],description:"mage",category:"People & Body"},{emoji:"🧙‍♂️",names:["mage_man"],tags:["wizard"],description:"man mage",category:"People & Body"},{emoji:"🧙‍♀️",names:["mage_woman"],tags:["wizard"],description:"woman mage",category:"People & Body"},{emoji:"🧚",names:["fairy"],tags:[],description:"fairy",category:"People & Body"},{emoji:"🧚‍♂️",names:["fairy_man"],tags:[],description:"man fairy",category:"People & Body"},{emoji:"🧚‍♀️",names:["fairy_woman"],tags:[],description:"woman fairy",category:"People & Body"},{emoji:"🧛",names:["vampire"],tags:[],description:"vampire",category:"People & Body"},{emoji:"🧛‍♂️",names:["vampire_man"],tags:[],description:"man vampire",category:"People & Body"},{emoji:"🧛‍♀️",names:["vampire_woman"],tags:[],description:"woman vampire",category:"People & Body"},{emoji:"🧜",names:["merperson"],tags:[],description:"merperson",category:"People & Body"},{emoji:"🧜‍♂️",names:["merman"],tags:[],description:"merman",category:"People & Body"},{emoji:"🧜‍♀️",names:["mermaid"],tags:[],description:"mermaid",category:"People & Body"},{emoji:"🧝",names:["elf"],tags:[],description:"elf",category:"People & Body"},{emoji:"🧝‍♂️",names:["elf_man"],tags:[],description:"man elf",category:"People & Body"},{emoji:"🧝‍♀️",names:["elf_woman"],tags:[],description:"woman elf",category:"People & Body"},{emoji:"🧞",names:["genie"],tags:[],description:"genie",category:"People & Body"},{emoji:"🧞‍♂️",names:["genie_man"],tags:[],description:"man genie",category:"People & Body"},{emoji:"🧞‍♀️",names:["genie_woman"],tags:[],description:"woman genie",category:"People & Body"},{emoji:"🧟",names:["zombie"],tags:[],description:"zombie",category:"People & Body"},{emoji:"🧟‍♂️",names:["zombie_man"],tags:[],description:"man zombie",category:"People & Body"},{emoji:"🧟‍♀️",names:["zombie_woman"],tags:[],description:"woman zombie",category:"People & Body"},{emoji:"🧌",names:["troll"],tags:[],description:"troll",category:"People & Body"},{emoji:"💆",names:["massage"],tags:["spa"],description:"person getting massage",category:"People & Body"},{emoji:"💆‍♂️",names:["massage_man"],tags:["spa"],description:"man getting massage",category:"People & Body"},{emoji:"💆‍♀️",names:["massage_woman"],tags:["spa"],description:"woman getting massage",category:"People & Body"},{emoji:"💇",names:["haircut"],tags:["beauty"],description:"person getting haircut",category:"People & Body"},{emoji:"💇‍♂️",names:["haircut_man"],tags:[],description:"man getting haircut",category:"People & Body"},{emoji:"💇‍♀️",names:["haircut_woman"],tags:[],description:"woman getting haircut",category:"People & Body"},{emoji:"🚶",names:["walking"],tags:[],description:"person walking",category:"People & Body"},{emoji:"🚶‍♂️",names:["walking_man"],tags:[],description:"man walking",category:"People & Body"},{emoji:"🚶‍♀️",names:["walking_woman"],tags:[],description:"woman walking",category:"People & Body"},{emoji:"🧍",names:["standing_person"],tags:[],description:"person standing",category:"People & Body"},{emoji:"🧍‍♂️",names:["standing_man"],tags:[],description:"man standing",category:"People & Body"},{emoji:"🧍‍♀️",names:["standing_woman"],tags:[],description:"woman standing",category:"People & Body"},{emoji:"🧎",names:["kneeling_person"],tags:[],description:"person kneeling",category:"People & Body"},{emoji:"🧎‍♂️",names:["kneeling_man"],tags:[],description:"man kneeling",category:"People & Body"},{emoji:"🧎‍♀️",names:["kneeling_woman"],tags:[],description:"woman kneeling",category:"People & Body"},{emoji:"🧑‍🦯",names:["person_with_probing_cane"],tags:[],description:"person with white cane",category:"People & Body"},{emoji:"👨‍🦯",names:["man_with_probing_cane"],tags:[],description:"man with white cane",category:"People & Body"},{emoji:"👩‍🦯",names:["woman_with_probing_cane"],tags:[],description:"woman with white cane",category:"People & Body"},{emoji:"🧑‍🦼",names:["person_in_motorized_wheelchair"],tags:[],description:"person in motorized wheelchair",category:"People & Body"},{emoji:"👨‍🦼",names:["man_in_motorized_wheelchair"],tags:[],description:"man in motorized wheelchair",category:"People & Body"},{emoji:"👩‍🦼",names:["woman_in_motorized_wheelchair"],tags:[],description:"woman in motorized wheelchair",category:"People & Body"},{emoji:"🧑‍🦽",names:["person_in_manual_wheelchair"],tags:[],description:"person in manual wheelchair",category:"People & Body"},{emoji:"👨‍🦽",names:["man_in_manual_wheelchair"],tags:[],description:"man in manual wheelchair",category:"People & Body"},{emoji:"👩‍🦽",names:["woman_in_manual_wheelchair"],tags:[],description:"woman in manual wheelchair",category:"People & Body"},{emoji:"🏃",names:["runner","running"],tags:["exercise","workout","marathon"],description:"person running",category:"People & Body"},{emoji:"🏃‍♂️",names:["running_man"],tags:["exercise","workout","marathon"],description:"man running",category:"People & Body"},{emoji:"🏃‍♀️",names:["running_woman"],tags:["exercise","workout","marathon"],description:"woman running",category:"People & Body"},{emoji:"💃",names:["woman_dancing","dancer"],tags:["dress"],description:"woman dancing",category:"People & Body"},{emoji:"🕺",names:["man_dancing"],tags:["dancer"],description:"man dancing",category:"People & Body"},{emoji:"🕴️",names:["business_suit_levitating"],tags:[],description:"person in suit levitating",category:"People & Body"},{emoji:"👯",names:["dancers"],tags:["bunny"],description:"people with bunny ears",category:"People & Body"},{emoji:"👯‍♂️",names:["dancing_men"],tags:["bunny"],description:"men with bunny ears",category:"People & Body"},{emoji:"👯‍♀️",names:["dancing_women"],tags:["bunny"],description:"women with bunny ears",category:"People & Body"},{emoji:"🧖",names:["sauna_person"],tags:["steamy"],description:"person in steamy room",category:"People & Body"},{emoji:"🧖‍♂️",names:["sauna_man"],tags:["steamy"],description:"man in steamy room",category:"People & Body"},{emoji:"🧖‍♀️",names:["sauna_woman"],tags:["steamy"],description:"woman in steamy room",category:"People & Body"},{emoji:"🧗",names:["climbing"],tags:["bouldering"],description:"person climbing",category:"People & Body"},{emoji:"🧗‍♂️",names:["climbing_man"],tags:["bouldering"],description:"man climbing",category:"People & Body"},{emoji:"🧗‍♀️",names:["climbing_woman"],tags:["bouldering"],description:"woman climbing",category:"People & Body"},{emoji:"🤺",names:["person_fencing"],tags:[],description:"person fencing",category:"People & Body"},{emoji:"🏇",names:["horse_racing"],tags:[],description:"horse racing",category:"People & Body"},{emoji:"⛷️",names:["skier"],tags:[],description:"skier",category:"People & Body"},{emoji:"🏂",names:["snowboarder"],tags:[],description:"snowboarder",category:"People & Body"},{emoji:"🏌️",names:["golfing"],tags:[],description:"person golfing",category:"People & Body"},{emoji:"🏌️‍♂️",names:["golfing_man"],tags:[],description:"man golfing",category:"People & Body"},{emoji:"🏌️‍♀️",names:["golfing_woman"],tags:[],description:"woman golfing",category:"People & Body"},{emoji:"🏄",names:["surfer"],tags:[],description:"person surfing",category:"People & Body"},{emoji:"🏄‍♂️",names:["surfing_man"],tags:[],description:"man surfing",category:"People & Body"},{emoji:"🏄‍♀️",names:["surfing_woman"],tags:[],description:"woman surfing",category:"People & Body"},{emoji:"🚣",names:["rowboat"],tags:[],description:"person rowing boat",category:"People & Body"},{emoji:"🚣‍♂️",names:["rowing_man"],tags:[],description:"man rowing boat",category:"People & Body"},{emoji:"🚣‍♀️",names:["rowing_woman"],tags:[],description:"woman rowing boat",category:"People & Body"},{emoji:"🏊",names:["swimmer"],tags:[],description:"person swimming",category:"People & Body"},{emoji:"🏊‍♂️",names:["swimming_man"],tags:[],description:"man swimming",category:"People & Body"},{emoji:"🏊‍♀️",names:["swimming_woman"],tags:[],description:"woman swimming",category:"People & Body"},{emoji:"⛹️",names:["bouncing_ball_person"],tags:["basketball"],description:"person bouncing ball",category:"People & Body"},{emoji:"⛹️‍♂️",names:["bouncing_ball_man","basketball_man"],tags:[],description:"man bouncing ball",category:"People & Body"},{emoji:"⛹️‍♀️",names:["bouncing_ball_woman","basketball_woman"],tags:[],description:"woman bouncing ball",category:"People & Body"},{emoji:"🏋️",names:["weight_lifting"],tags:["gym","workout"],description:"person lifting weights",category:"People & Body"},{emoji:"🏋️‍♂️",names:["weight_lifting_man"],tags:["gym","workout"],description:"man lifting weights",category:"People & Body"},{emoji:"🏋️‍♀️",names:["weight_lifting_woman"],tags:["gym","workout"],description:"woman lifting weights",category:"People & Body"},{emoji:"🚴",names:["bicyclist"],tags:[],description:"person biking",category:"People & Body"},{emoji:"🚴‍♂️",names:["biking_man"],tags:[],description:"man biking",category:"People & Body"},{emoji:"🚴‍♀️",names:["biking_woman"],tags:[],description:"woman biking",category:"People & Body"},{emoji:"🚵",names:["mountain_bicyclist"],tags:[],description:"person mountain biking",category:"People & Body"},{emoji:"🚵‍♂️",names:["mountain_biking_man"],tags:[],description:"man mountain biking",category:"People & Body"},{emoji:"🚵‍♀️",names:["mountain_biking_woman"],tags:[],description:"woman mountain biking",category:"People & Body"},{emoji:"🤸",names:["cartwheeling"],tags:[],description:"person cartwheeling",category:"People & Body"},{emoji:"🤸‍♂️",names:["man_cartwheeling"],tags:[],description:"man cartwheeling",category:"People & Body"},{emoji:"🤸‍♀️",names:["woman_cartwheeling"],tags:[],description:"woman cartwheeling",category:"People & Body"},{emoji:"🤼",names:["wrestling"],tags:[],description:"people wrestling",category:"People & Body"},{emoji:"🤼‍♂️",names:["men_wrestling"],tags:[],description:"men wrestling",category:"People & Body"},{emoji:"🤼‍♀️",names:["women_wrestling"],tags:[],description:"women wrestling",category:"People & Body"},{emoji:"🤽",names:["water_polo"],tags:[],description:"person playing water polo",category:"People & Body"},{emoji:"🤽‍♂️",names:["man_playing_water_polo"],tags:[],description:"man playing water polo",category:"People & Body"},{emoji:"🤽‍♀️",names:["woman_playing_water_polo"],tags:[],description:"woman playing water polo",category:"People & Body"},{emoji:"🤾",names:["handball_person"],tags:[],description:"person playing handball",category:"People & Body"},{emoji:"🤾‍♂️",names:["man_playing_handball"],tags:[],description:"man playing handball",category:"People & Body"},{emoji:"🤾‍♀️",names:["woman_playing_handball"],tags:[],description:"woman playing handball",category:"People & Body"},{emoji:"🤹",names:["juggling_person"],tags:[],description:"person juggling",category:"People & Body"},{emoji:"🤹‍♂️",names:["man_juggling"],tags:[],description:"man juggling",category:"People & Body"},{emoji:"🤹‍♀️",names:["woman_juggling"],tags:[],description:"woman juggling",category:"People & Body"},{emoji:"🧘",names:["lotus_position"],tags:["meditation"],description:"person in lotus position",category:"People & Body"},{emoji:"🧘‍♂️",names:["lotus_position_man"],tags:["meditation"],description:"man in lotus position",category:"People & Body"},{emoji:"🧘‍♀️",names:["lotus_position_woman"],tags:["meditation"],description:"woman in lotus position",category:"People & Body"},{emoji:"🛀",names:["bath"],tags:["shower"],description:"person taking bath",category:"People & Body"},{emoji:"🛌",names:["sleeping_bed"],tags:[],description:"person in bed",category:"People & Body"},{emoji:"🧑‍🤝‍🧑",names:["people_holding_hands"],tags:["couple","date"],description:"people holding hands",category:"People & Body"},{emoji:"👭",names:["two_women_holding_hands"],tags:["couple","date"],description:"women holding hands",category:"People & Body"},{emoji:"👫",names:["couple"],tags:["date"],description:"woman and man holding hands",category:"People & Body"},{emoji:"👬",names:["two_men_holding_hands"],tags:["couple","date"],description:"men holding hands",category:"People & Body"},{emoji:"💏",names:["couplekiss"],tags:[],description:"kiss",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👨",names:["couplekiss_man_woman"],tags:[],description:"kiss: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍💋‍👨",names:["couplekiss_man_man"],tags:[],description:"kiss: man, man",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👩",names:["couplekiss_woman_woman"],tags:[],description:"kiss: woman, woman",category:"People & Body"},{emoji:"💑",names:["couple_with_heart"],tags:[],description:"couple with heart",category:"People & Body"},{emoji:"👩‍❤️‍👨",names:["couple_with_heart_woman_man"],tags:[],description:"couple with heart: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍👨",names:["couple_with_heart_man_man"],tags:[],description:"couple with heart: man, man",category:"People & Body"},{emoji:"👩‍❤️‍👩",names:["couple_with_heart_woman_woman"],tags:[],description:"couple with heart: woman, woman",category:"People & Body"},{emoji:"👪",names:["family"],tags:["home","parents","child"],description:"family",category:"People & Body"},{emoji:"👨‍👩‍👦",names:["family_man_woman_boy"],tags:[],description:"family: man, woman, boy",category:"People & Body"},{emoji:"👨‍👩‍👧",names:["family_man_woman_girl"],tags:[],description:"family: man, woman, girl",category:"People & Body"},{emoji:"👨‍👩‍👧‍👦",names:["family_man_woman_girl_boy"],tags:[],description:"family: man, woman, girl, boy",category:"People & Body"},{emoji:"👨‍👩‍👦‍👦",names:["family_man_woman_boy_boy"],tags:[],description:"family: man, woman, boy, boy",category:"People & Body"},{emoji:"👨‍👩‍👧‍👧",names:["family_man_woman_girl_girl"],tags:[],description:"family: man, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👨‍👦",names:["family_man_man_boy"],tags:[],description:"family: man, man, boy",category:"People & Body"},{emoji:"👨‍👨‍👧",names:["family_man_man_girl"],tags:[],description:"family: man, man, girl",category:"People & Body"},{emoji:"👨‍👨‍👧‍👦",names:["family_man_man_girl_boy"],tags:[],description:"family: man, man, girl, boy",category:"People & Body"},{emoji:"👨‍👨‍👦‍👦",names:["family_man_man_boy_boy"],tags:[],description:"family: man, man, boy, boy",category:"People & Body"},{emoji:"👨‍👨‍👧‍👧",names:["family_man_man_girl_girl"],tags:[],description:"family: man, man, girl, girl",category:"People & Body"},{emoji:"👩‍👩‍👦",names:["family_woman_woman_boy"],tags:[],description:"family: woman, woman, boy",category:"People & Body"},{emoji:"👩‍👩‍👧",names:["family_woman_woman_girl"],tags:[],description:"family: woman, woman, girl",category:"People & Body"},{emoji:"👩‍👩‍👧‍👦",names:["family_woman_woman_girl_boy"],tags:[],description:"family: woman, woman, girl, boy",category:"People & Body"},{emoji:"👩‍👩‍👦‍👦",names:["family_woman_woman_boy_boy"],tags:[],description:"family: woman, woman, boy, boy",category:"People & Body"},{emoji:"👩‍👩‍👧‍👧",names:["family_woman_woman_girl_girl"],tags:[],description:"family: woman, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👦",names:["family_man_boy"],tags:[],description:"family: man, boy",category:"People & Body"},{emoji:"👨‍👦‍👦",names:["family_man_boy_boy"],tags:[],description:"family: man, boy, boy",category:"People & Body"},{emoji:"👨‍👧",names:["family_man_girl"],tags:[],description:"family: man, girl",category:"People & Body"},{emoji:"👨‍👧‍👦",names:["family_man_girl_boy"],tags:[],description:"family: man, girl, boy",category:"People & Body"},{emoji:"👨‍👧‍👧",names:["family_man_girl_girl"],tags:[],description:"family: man, girl, girl",category:"People & Body"},{emoji:"👩‍👦",names:["family_woman_boy"],tags:[],description:"family: woman, boy",category:"People & Body"},{emoji:"👩‍👦‍👦",names:["family_woman_boy_boy"],tags:[],description:"family: woman, boy, boy",category:"People & Body"},{emoji:"👩‍👧",names:["family_woman_girl"],tags:[],description:"family: woman, girl",category:"People & Body"},{emoji:"👩‍👧‍👦",names:["family_woman_girl_boy"],tags:[],description:"family: woman, girl, boy",category:"People & Body"},{emoji:"👩‍👧‍👧",names:["family_woman_girl_girl"],tags:[],description:"family: woman, girl, girl",category:"People & Body"},{emoji:"🗣️",names:["speaking_head"],tags:[],description:"speaking head",category:"People & Body"},{emoji:"👤",names:["bust_in_silhouette"],tags:["user"],description:"bust in silhouette",category:"People & Body"},{emoji:"👥",names:["busts_in_silhouette"],tags:["users","group","team"],description:"busts in silhouette",category:"People & Body"},{emoji:"🫂",names:["people_hugging"],tags:[],description:"people hugging",category:"People & Body"},{emoji:"👣",names:["footprints"],tags:["feet","tracks"],description:"footprints",category:"People & Body"},{emoji:"🐵",names:["monkey_face"],tags:[],description:"monkey face",category:"Animals & Nature"},{emoji:"🐒",names:["monkey"],tags:[],description:"monkey",category:"Animals & Nature"},{emoji:"🦍",names:["gorilla"],tags:[],description:"gorilla",category:"Animals & Nature"},{emoji:"🦧",names:["orangutan"],tags:[],description:"orangutan",category:"Animals & Nature"},{emoji:"🐶",names:["dog"],tags:["pet"],description:"dog face",category:"Animals & Nature"},{emoji:"🐕",names:["dog2"],tags:[],description:"dog",category:"Animals & Nature"},{emoji:"🦮",names:["guide_dog"],tags:[],description:"guide dog",category:"Animals & Nature"},{emoji:"🐕‍🦺",names:["service_dog"],tags:[],description:"service dog",category:"Animals & Nature"},{emoji:"🐩",names:["poodle"],tags:["dog"],description:"poodle",category:"Animals & Nature"},{emoji:"🐺",names:["wolf"],tags:[],description:"wolf",category:"Animals & Nature"},{emoji:"🦊",names:["fox_face"],tags:[],description:"fox",category:"Animals & Nature"},{emoji:"🦝",names:["raccoon"],tags:[],description:"raccoon",category:"Animals & Nature"},{emoji:"🐱",names:["cat"],tags:["pet"],description:"cat face",category:"Animals & Nature"},{emoji:"🐈",names:["cat2"],tags:[],description:"cat",category:"Animals & Nature"},{emoji:"🐈‍⬛",names:["black_cat"],tags:[],description:"black cat",category:"Animals & Nature"},{emoji:"🦁",names:["lion"],tags:[],description:"lion",category:"Animals & Nature"},{emoji:"🐯",names:["tiger"],tags:[],description:"tiger face",category:"Animals & Nature"},{emoji:"🐅",names:["tiger2"],tags:[],description:"tiger",category:"Animals & Nature"},{emoji:"🐆",names:["leopard"],tags:[],description:"leopard",category:"Animals & Nature"},{emoji:"🐴",names:["horse"],tags:[],description:"horse face",category:"Animals & Nature"},{emoji:"🫎",names:["moose"],tags:["canada"],description:"moose",category:"Animals & Nature"},{emoji:"🫏",names:["donkey"],tags:["mule"],description:"donkey",category:"Animals & Nature"},{emoji:"🐎",names:["racehorse"],tags:["speed"],description:"horse",category:"Animals & Nature"},{emoji:"🦄",names:["unicorn"],tags:[],description:"unicorn",category:"Animals & Nature"},{emoji:"🦓",names:["zebra"],tags:[],description:"zebra",category:"Animals & Nature"},{emoji:"🦌",names:["deer"],tags:[],description:"deer",category:"Animals & Nature"},{emoji:"🦬",names:["bison"],tags:[],description:"bison",category:"Animals & Nature"},{emoji:"🐮",names:["cow"],tags:[],description:"cow face",category:"Animals & Nature"},{emoji:"🐂",names:["ox"],tags:[],description:"ox",category:"Animals & Nature"},{emoji:"🐃",names:["water_buffalo"],tags:[],description:"water buffalo",category:"Animals & Nature"},{emoji:"🐄",names:["cow2"],tags:[],description:"cow",category:"Animals & Nature"},{emoji:"🐷",names:["pig"],tags:[],description:"pig face",category:"Animals & Nature"},{emoji:"🐖",names:["pig2"],tags:[],description:"pig",category:"Animals & Nature"},{emoji:"🐗",names:["boar"],tags:[],description:"boar",category:"Animals & Nature"},{emoji:"🐽",names:["pig_nose"],tags:[],description:"pig nose",category:"Animals & Nature"},{emoji:"🐏",names:["ram"],tags:[],description:"ram",category:"Animals & Nature"},{emoji:"🐑",names:["sheep"],tags:[],description:"ewe",category:"Animals & Nature"},{emoji:"🐐",names:["goat"],tags:[],description:"goat",category:"Animals & Nature"},{emoji:"🐪",names:["dromedary_camel"],tags:["desert"],description:"camel",category:"Animals & Nature"},{emoji:"🐫",names:["camel"],tags:[],description:"two-hump camel",category:"Animals & Nature"},{emoji:"🦙",names:["llama"],tags:[],description:"llama",category:"Animals & Nature"},{emoji:"🦒",names:["giraffe"],tags:[],description:"giraffe",category:"Animals & Nature"},{emoji:"🐘",names:["elephant"],tags:[],description:"elephant",category:"Animals & Nature"},{emoji:"🦣",names:["mammoth"],tags:[],description:"mammoth",category:"Animals & Nature"},{emoji:"🦏",names:["rhinoceros"],tags:[],description:"rhinoceros",category:"Animals & Nature"},{emoji:"🦛",names:["hippopotamus"],tags:[],description:"hippopotamus",category:"Animals & Nature"},{emoji:"🐭",names:["mouse"],tags:[],description:"mouse face",category:"Animals & Nature"},{emoji:"🐁",names:["mouse2"],tags:[],description:"mouse",category:"Animals & Nature"},{emoji:"🐀",names:["rat"],tags:[],description:"rat",category:"Animals & Nature"},{emoji:"🐹",names:["hamster"],tags:["pet"],description:"hamster",category:"Animals & Nature"},{emoji:"🐰",names:["rabbit"],tags:["bunny"],description:"rabbit face",category:"Animals & Nature"},{emoji:"🐇",names:["rabbit2"],tags:[],description:"rabbit",category:"Animals & Nature"},{emoji:"🐿️",names:["chipmunk"],tags:[],description:"chipmunk",category:"Animals & Nature"},{emoji:"🦫",names:["beaver"],tags:[],description:"beaver",category:"Animals & Nature"},{emoji:"🦔",names:["hedgehog"],tags:[],description:"hedgehog",category:"Animals & Nature"},{emoji:"🦇",names:["bat"],tags:[],description:"bat",category:"Animals & Nature"},{emoji:"🐻",names:["bear"],tags:[],description:"bear",category:"Animals & Nature"},{emoji:"🐻‍❄️",names:["polar_bear"],tags:[],description:"polar bear",category:"Animals & Nature"},{emoji:"🐨",names:["koala"],tags:[],description:"koala",category:"Animals & Nature"},{emoji:"🐼",names:["panda_face"],tags:[],description:"panda",category:"Animals & Nature"},{emoji:"🦥",names:["sloth"],tags:[],description:"sloth",category:"Animals & Nature"},{emoji:"🦦",names:["otter"],tags:[],description:"otter",category:"Animals & Nature"},{emoji:"🦨",names:["skunk"],tags:[],description:"skunk",category:"Animals & Nature"},{emoji:"🦘",names:["kangaroo"],tags:[],description:"kangaroo",category:"Animals & Nature"},{emoji:"🦡",names:["badger"],tags:[],description:"badger",category:"Animals & Nature"},{emoji:"🐾",names:["feet","paw_prints"],tags:[],description:"paw prints",category:"Animals & Nature"},{emoji:"🦃",names:["turkey"],tags:["thanksgiving"],description:"turkey",category:"Animals & Nature"},{emoji:"🐔",names:["chicken"],tags:[],description:"chicken",category:"Animals & Nature"},{emoji:"🐓",names:["rooster"],tags:[],description:"rooster",category:"Animals & Nature"},{emoji:"🐣",names:["hatching_chick"],tags:[],description:"hatching chick",category:"Animals & Nature"},{emoji:"🐤",names:["baby_chick"],tags:[],description:"baby chick",category:"Animals & Nature"},{emoji:"🐥",names:["hatched_chick"],tags:[],description:"front-facing baby chick",category:"Animals & Nature"},{emoji:"🐦",names:["bird"],tags:[],description:"bird",category:"Animals & Nature"},{emoji:"🐧",names:["penguin"],tags:[],description:"penguin",category:"Animals & Nature"},{emoji:"🕊️",names:["dove"],tags:["peace"],description:"dove",category:"Animals & Nature"},{emoji:"🦅",names:["eagle"],tags:[],description:"eagle",category:"Animals & Nature"},{emoji:"🦆",names:["duck"],tags:[],description:"duck",category:"Animals & Nature"},{emoji:"🦢",names:["swan"],tags:[],description:"swan",category:"Animals & Nature"},{emoji:"🦉",names:["owl"],tags:[],description:"owl",category:"Animals & Nature"},{emoji:"🦤",names:["dodo"],tags:[],description:"dodo",category:"Animals & Nature"},{emoji:"🪶",names:["feather"],tags:[],description:"feather",category:"Animals & Nature"},{emoji:"🦩",names:["flamingo"],tags:[],description:"flamingo",category:"Animals & Nature"},{emoji:"🦚",names:["peacock"],tags:[],description:"peacock",category:"Animals & Nature"},{emoji:"🦜",names:["parrot"],tags:[],description:"parrot",category:"Animals & Nature"},{emoji:"🪽",names:["wing"],tags:["fly"],description:"wing",category:"Animals & Nature"},{emoji:"🐦‍⬛",names:["black_bird"],tags:[],description:"black bird",category:"Animals & Nature"},{emoji:"🪿",names:["goose"],tags:["honk"],description:"goose",category:"Animals & Nature"},{emoji:"🐸",names:["frog"],tags:[],description:"frog",category:"Animals & Nature"},{emoji:"🐊",names:["crocodile"],tags:[],description:"crocodile",category:"Animals & Nature"},{emoji:"🐢",names:["turtle"],tags:["slow"],description:"turtle",category:"Animals & Nature"},{emoji:"🦎",names:["lizard"],tags:[],description:"lizard",category:"Animals & Nature"},{emoji:"🐍",names:["snake"],tags:[],description:"snake",category:"Animals & Nature"},{emoji:"🐲",names:["dragon_face"],tags:[],description:"dragon face",category:"Animals & Nature"},{emoji:"🐉",names:["dragon"],tags:[],description:"dragon",category:"Animals & Nature"},{emoji:"🦕",names:["sauropod"],tags:["dinosaur"],description:"sauropod",category:"Animals & Nature"},{emoji:"🦖",names:["t-rex"],tags:["dinosaur"],description:"T-Rex",category:"Animals & Nature"},{emoji:"🐳",names:["whale"],tags:["sea"],description:"spouting whale",category:"Animals & Nature"},{emoji:"🐋",names:["whale2"],tags:[],description:"whale",category:"Animals & Nature"},{emoji:"🐬",names:["dolphin","flipper"],tags:[],description:"dolphin",category:"Animals & Nature"},{emoji:"🦭",names:["seal"],tags:[],description:"seal",category:"Animals & Nature"},{emoji:"🐟",names:["fish"],tags:[],description:"fish",category:"Animals & Nature"},{emoji:"🐠",names:["tropical_fish"],tags:[],description:"tropical fish",category:"Animals & Nature"},{emoji:"🐡",names:["blowfish"],tags:[],description:"blowfish",category:"Animals & Nature"},{emoji:"🦈",names:["shark"],tags:[],description:"shark",category:"Animals & Nature"},{emoji:"🐙",names:["octopus"],tags:[],description:"octopus",category:"Animals & Nature"},{emoji:"🐚",names:["shell"],tags:["sea","beach"],description:"spiral shell",category:"Animals & Nature"},{emoji:"🪸",names:["coral"],tags:[],description:"coral",category:"Animals & Nature"},{emoji:"🪼",names:["jellyfish"],tags:[],description:"jellyfish",category:"Animals & Nature"},{emoji:"🐌",names:["snail"],tags:["slow"],description:"snail",category:"Animals & Nature"},{emoji:"🦋",names:["butterfly"],tags:[],description:"butterfly",category:"Animals & Nature"},{emoji:"🐛",names:["bug"],tags:[],description:"bug",category:"Animals & Nature"},{emoji:"🐜",names:["ant"],tags:[],description:"ant",category:"Animals & Nature"},{emoji:"🐝",names:["bee","honeybee"],tags:[],description:"honeybee",category:"Animals & Nature"},{emoji:"🪲",names:["beetle"],tags:[],description:"beetle",category:"Animals & Nature"},{emoji:"🐞",names:["lady_beetle"],tags:["bug"],description:"lady beetle",category:"Animals & Nature"},{emoji:"🦗",names:["cricket"],tags:[],description:"cricket",category:"Animals & Nature"},{emoji:"🪳",names:["cockroach"],tags:[],description:"cockroach",category:"Animals & Nature"},{emoji:"🕷️",names:["spider"],tags:[],description:"spider",category:"Animals & Nature"},{emoji:"🕸️",names:["spider_web"],tags:[],description:"spider web",category:"Animals & Nature"},{emoji:"🦂",names:["scorpion"],tags:[],description:"scorpion",category:"Animals & Nature"},{emoji:"🦟",names:["mosquito"],tags:[],description:"mosquito",category:"Animals & Nature"},{emoji:"🪰",names:["fly"],tags:[],description:"fly",category:"Animals & Nature"},{emoji:"🪱",names:["worm"],tags:[],description:"worm",category:"Animals & Nature"},{emoji:"🦠",names:["microbe"],tags:["germ"],description:"microbe",category:"Animals & Nature"},{emoji:"💐",names:["bouquet"],tags:["flowers"],description:"bouquet",category:"Animals & Nature"},{emoji:"🌸",names:["cherry_blossom"],tags:["flower","spring"],description:"cherry blossom",category:"Animals & Nature"},{emoji:"💮",names:["white_flower"],tags:[],description:"white flower",category:"Animals & Nature"},{emoji:"🪷",names:["lotus"],tags:[],description:"lotus",category:"Animals & Nature"},{emoji:"🏵️",names:["rosette"],tags:[],description:"rosette",category:"Animals & Nature"},{emoji:"🌹",names:["rose"],tags:["flower"],description:"rose",category:"Animals & Nature"},{emoji:"🥀",names:["wilted_flower"],tags:[],description:"wilted flower",category:"Animals & Nature"},{emoji:"🌺",names:["hibiscus"],tags:[],description:"hibiscus",category:"Animals & Nature"},{emoji:"🌻",names:["sunflower"],tags:[],description:"sunflower",category:"Animals & Nature"},{emoji:"🌼",names:["blossom"],tags:[],description:"blossom",category:"Animals & Nature"},{emoji:"🌷",names:["tulip"],tags:["flower"],description:"tulip",category:"Animals & Nature"},{emoji:"🪻",names:["hyacinth"],tags:[],description:"hyacinth",category:"Animals & Nature"},{emoji:"🌱",names:["seedling"],tags:["plant"],description:"seedling",category:"Animals & Nature"},{emoji:"🪴",names:["potted_plant"],tags:[],description:"potted plant",category:"Animals & Nature"},{emoji:"🌲",names:["evergreen_tree"],tags:["wood"],description:"evergreen tree",category:"Animals & Nature"},{emoji:"🌳",names:["deciduous_tree"],tags:["wood"],description:"deciduous tree",category:"Animals & Nature"},{emoji:"🌴",names:["palm_tree"],tags:[],description:"palm tree",category:"Animals & Nature"},{emoji:"🌵",names:["cactus"],tags:[],description:"cactus",category:"Animals & Nature"},{emoji:"🌾",names:["ear_of_rice"],tags:[],description:"sheaf of rice",category:"Animals & Nature"},{emoji:"🌿",names:["herb"],tags:[],description:"herb",category:"Animals & Nature"},{emoji:"☘️",names:["shamrock"],tags:[],description:"shamrock",category:"Animals & Nature"},{emoji:"🍀",names:["four_leaf_clover"],tags:["luck"],description:"four leaf clover",category:"Animals & Nature"},{emoji:"🍁",names:["maple_leaf"],tags:["canada"],description:"maple leaf",category:"Animals & Nature"},{emoji:"🍂",names:["fallen_leaf"],tags:["autumn"],description:"fallen leaf",category:"Animals & Nature"},{emoji:"🍃",names:["leaves"],tags:["leaf"],description:"leaf fluttering in wind",category:"Animals & Nature"},{emoji:"🪹",names:["empty_nest"],tags:[],description:"empty nest",category:"Animals & Nature"},{emoji:"🪺",names:["nest_with_eggs"],tags:[],description:"nest with eggs",category:"Animals & Nature"},{emoji:"🍄",names:["mushroom"],tags:["fungus"],description:"mushroom",category:"Animals & Nature"},{emoji:"🍇",names:["grapes"],tags:[],description:"grapes",category:"Food & Drink"},{emoji:"🍈",names:["melon"],tags:[],description:"melon",category:"Food & Drink"},{emoji:"🍉",names:["watermelon"],tags:[],description:"watermelon",category:"Food & Drink"},{emoji:"🍊",names:["tangerine","orange","mandarin"],tags:[],description:"tangerine",category:"Food & Drink"},{emoji:"🍋",names:["lemon"],tags:[],description:"lemon",category:"Food & Drink"},{emoji:"🍌",names:["banana"],tags:["fruit"],description:"banana",category:"Food & Drink"},{emoji:"🍍",names:["pineapple"],tags:[],description:"pineapple",category:"Food & Drink"},{emoji:"🥭",names:["mango"],tags:[],description:"mango",category:"Food & Drink"},{emoji:"🍎",names:["apple"],tags:[],description:"red apple",category:"Food & Drink"},{emoji:"🍏",names:["green_apple"],tags:["fruit"],description:"green apple",category:"Food & Drink"},{emoji:"🍐",names:["pear"],tags:[],description:"pear",category:"Food & Drink"},{emoji:"🍑",names:["peach"],tags:[],description:"peach",category:"Food & Drink"},{emoji:"🍒",names:["cherries"],tags:["fruit"],description:"cherries",category:"Food & Drink"},{emoji:"🍓",names:["strawberry"],tags:["fruit"],description:"strawberry",category:"Food & Drink"},{emoji:"🫐",names:["blueberries"],tags:[],description:"blueberries",category:"Food & Drink"},{emoji:"🥝",names:["kiwi_fruit"],tags:[],description:"kiwi fruit",category:"Food & Drink"},{emoji:"🍅",names:["tomato"],tags:[],description:"tomato",category:"Food & Drink"},{emoji:"🫒",names:["olive"],tags:[],description:"olive",category:"Food & Drink"},{emoji:"🥥",names:["coconut"],tags:[],description:"coconut",category:"Food & Drink"},{emoji:"🥑",names:["avocado"],tags:[],description:"avocado",category:"Food & Drink"},{emoji:"🍆",names:["eggplant"],tags:["aubergine"],description:"eggplant",category:"Food & Drink"},{emoji:"🥔",names:["potato"],tags:[],description:"potato",category:"Food & Drink"},{emoji:"🥕",names:["carrot"],tags:[],description:"carrot",category:"Food & Drink"},{emoji:"🌽",names:["corn"],tags:[],description:"ear of corn",category:"Food & Drink"},{emoji:"🌶️",names:["hot_pepper"],tags:["spicy"],description:"hot pepper",category:"Food & Drink"},{emoji:"🫑",names:["bell_pepper"],tags:[],description:"bell pepper",category:"Food & Drink"},{emoji:"🥒",names:["cucumber"],tags:[],description:"cucumber",category:"Food & Drink"},{emoji:"🥬",names:["leafy_green"],tags:[],description:"leafy green",category:"Food & Drink"},{emoji:"🥦",names:["broccoli"],tags:[],description:"broccoli",category:"Food & Drink"},{emoji:"🧄",names:["garlic"],tags:[],description:"garlic",category:"Food & Drink"},{emoji:"🧅",names:["onion"],tags:[],description:"onion",category:"Food & Drink"},{emoji:"🥜",names:["peanuts"],tags:[],description:"peanuts",category:"Food & Drink"},{emoji:"🫘",names:["beans"],tags:[],description:"beans",category:"Food & Drink"},{emoji:"🌰",names:["chestnut"],tags:[],description:"chestnut",category:"Food & Drink"},{emoji:"🫚",names:["ginger_root"],tags:[],description:"ginger root",category:"Food & Drink"},{emoji:"🫛",names:["pea_pod"],tags:[],description:"pea pod",category:"Food & Drink"},{emoji:"🍞",names:["bread"],tags:["toast"],description:"bread",category:"Food & Drink"},{emoji:"🥐",names:["croissant"],tags:[],description:"croissant",category:"Food & Drink"},{emoji:"🥖",names:["baguette_bread"],tags:[],description:"baguette bread",category:"Food & Drink"},{emoji:"🫓",names:["flatbread"],tags:[],description:"flatbread",category:"Food & Drink"},{emoji:"🥨",names:["pretzel"],tags:[],description:"pretzel",category:"Food & Drink"},{emoji:"🥯",names:["bagel"],tags:[],description:"bagel",category:"Food & Drink"},{emoji:"🥞",names:["pancakes"],tags:[],description:"pancakes",category:"Food & Drink"},{emoji:"🧇",names:["waffle"],tags:[],description:"waffle",category:"Food & Drink"},{emoji:"🧀",names:["cheese"],tags:[],description:"cheese wedge",category:"Food & Drink"},{emoji:"🍖",names:["meat_on_bone"],tags:[],description:"meat on bone",category:"Food & Drink"},{emoji:"🍗",names:["poultry_leg"],tags:["meat","chicken"],description:"poultry leg",category:"Food & Drink"},{emoji:"🥩",names:["cut_of_meat"],tags:[],description:"cut of meat",category:"Food & Drink"},{emoji:"🥓",names:["bacon"],tags:[],description:"bacon",category:"Food & Drink"},{emoji:"🍔",names:["hamburger"],tags:["burger"],description:"hamburger",category:"Food & Drink"},{emoji:"🍟",names:["fries"],tags:[],description:"french fries",category:"Food & Drink"},{emoji:"🍕",names:["pizza"],tags:[],description:"pizza",category:"Food & Drink"},{emoji:"🌭",names:["hotdog"],tags:[],description:"hot dog",category:"Food & Drink"},{emoji:"🥪",names:["sandwich"],tags:[],description:"sandwich",category:"Food & Drink"},{emoji:"🌮",names:["taco"],tags:[],description:"taco",category:"Food & Drink"},{emoji:"🌯",names:["burrito"],tags:[],description:"burrito",category:"Food & Drink"},{emoji:"🫔",names:["tamale"],tags:[],description:"tamale",category:"Food & Drink"},{emoji:"🥙",names:["stuffed_flatbread"],tags:[],description:"stuffed flatbread",category:"Food & Drink"},{emoji:"🧆",names:["falafel"],tags:[],description:"falafel",category:"Food & Drink"},{emoji:"🥚",names:["egg"],tags:[],description:"egg",category:"Food & Drink"},{emoji:"🍳",names:["fried_egg"],tags:["breakfast"],description:"cooking",category:"Food & Drink"},{emoji:"🥘",names:["shallow_pan_of_food"],tags:["paella","curry"],description:"shallow pan of food",category:"Food & Drink"},{emoji:"🍲",names:["stew"],tags:[],description:"pot of food",category:"Food & Drink"},{emoji:"🫕",names:["fondue"],tags:[],description:"fondue",category:"Food & Drink"},{emoji:"🥣",names:["bowl_with_spoon"],tags:[],description:"bowl with spoon",category:"Food & Drink"},{emoji:"🥗",names:["green_salad"],tags:[],description:"green salad",category:"Food & Drink"},{emoji:"🍿",names:["popcorn"],tags:[],description:"popcorn",category:"Food & Drink"},{emoji:"🧈",names:["butter"],tags:[],description:"butter",category:"Food & Drink"},{emoji:"🧂",names:["salt"],tags:[],description:"salt",category:"Food & Drink"},{emoji:"🥫",names:["canned_food"],tags:[],description:"canned food",category:"Food & Drink"},{emoji:"🍱",names:["bento"],tags:[],description:"bento box",category:"Food & Drink"},{emoji:"🍘",names:["rice_cracker"],tags:[],description:"rice cracker",category:"Food & Drink"},{emoji:"🍙",names:["rice_ball"],tags:[],description:"rice ball",category:"Food & Drink"},{emoji:"🍚",names:["rice"],tags:[],description:"cooked rice",category:"Food & Drink"},{emoji:"🍛",names:["curry"],tags:[],description:"curry rice",category:"Food & Drink"},{emoji:"🍜",names:["ramen"],tags:["noodle"],description:"steaming bowl",category:"Food & Drink"},{emoji:"🍝",names:["spaghetti"],tags:["pasta"],description:"spaghetti",category:"Food & Drink"},{emoji:"🍠",names:["sweet_potato"],tags:[],description:"roasted sweet potato",category:"Food & Drink"},{emoji:"🍢",names:["oden"],tags:[],description:"oden",category:"Food & Drink"},{emoji:"🍣",names:["sushi"],tags:[],description:"sushi",category:"Food & Drink"},{emoji:"🍤",names:["fried_shrimp"],tags:["tempura"],description:"fried shrimp",category:"Food & Drink"},{emoji:"🍥",names:["fish_cake"],tags:[],description:"fish cake with swirl",category:"Food & Drink"},{emoji:"🥮",names:["moon_cake"],tags:[],description:"moon cake",category:"Food & Drink"},{emoji:"🍡",names:["dango"],tags:[],description:"dango",category:"Food & Drink"},{emoji:"🥟",names:["dumpling"],tags:[],description:"dumpling",category:"Food & Drink"},{emoji:"🥠",names:["fortune_cookie"],tags:[],description:"fortune cookie",category:"Food & Drink"},{emoji:"🥡",names:["takeout_box"],tags:[],description:"takeout box",category:"Food & Drink"},{emoji:"🦀",names:["crab"],tags:[],description:"crab",category:"Food & Drink"},{emoji:"🦞",names:["lobster"],tags:[],description:"lobster",category:"Food & Drink"},{emoji:"🦐",names:["shrimp"],tags:[],description:"shrimp",category:"Food & Drink"},{emoji:"🦑",names:["squid"],tags:[],description:"squid",category:"Food & Drink"},{emoji:"🦪",names:["oyster"],tags:[],description:"oyster",category:"Food & Drink"},{emoji:"🍦",names:["icecream"],tags:[],description:"soft ice cream",category:"Food & Drink"},{emoji:"🍧",names:["shaved_ice"],tags:[],description:"shaved ice",category:"Food & Drink"},{emoji:"🍨",names:["ice_cream"],tags:[],description:"ice cream",category:"Food & Drink"},{emoji:"🍩",names:["doughnut"],tags:[],description:"doughnut",category:"Food & Drink"},{emoji:"🍪",names:["cookie"],tags:[],description:"cookie",category:"Food & Drink"},{emoji:"🎂",names:["birthday"],tags:["party"],description:"birthday cake",category:"Food & Drink"},{emoji:"🍰",names:["cake"],tags:["dessert"],description:"shortcake",category:"Food & Drink"},{emoji:"🧁",names:["cupcake"],tags:[],description:"cupcake",category:"Food & Drink"},{emoji:"🥧",names:["pie"],tags:[],description:"pie",category:"Food & Drink"},{emoji:"🍫",names:["chocolate_bar"],tags:[],description:"chocolate bar",category:"Food & Drink"},{emoji:"🍬",names:["candy"],tags:["sweet"],description:"candy",category:"Food & Drink"},{emoji:"🍭",names:["lollipop"],tags:[],description:"lollipop",category:"Food & Drink"},{emoji:"🍮",names:["custard"],tags:[],description:"custard",category:"Food & Drink"},{emoji:"🍯",names:["honey_pot"],tags:[],description:"honey pot",category:"Food & Drink"},{emoji:"🍼",names:["baby_bottle"],tags:["milk"],description:"baby bottle",category:"Food & Drink"},{emoji:"🥛",names:["milk_glass"],tags:[],description:"glass of milk",category:"Food & Drink"},{emoji:"☕",names:["coffee"],tags:["cafe","espresso"],description:"hot beverage",category:"Food & Drink"},{emoji:"🫖",names:["teapot"],tags:[],description:"teapot",category:"Food & Drink"},{emoji:"🍵",names:["tea"],tags:["green","breakfast"],description:"teacup without handle",category:"Food & Drink"},{emoji:"🍶",names:["sake"],tags:[],description:"sake",category:"Food & Drink"},{emoji:"🍾",names:["champagne"],tags:["bottle","bubbly","celebration"],description:"bottle with popping cork",category:"Food & Drink"},{emoji:"🍷",names:["wine_glass"],tags:[],description:"wine glass",category:"Food & Drink"},{emoji:"🍸",names:["cocktail"],tags:["drink"],description:"cocktail glass",category:"Food & Drink"},{emoji:"🍹",names:["tropical_drink"],tags:["summer","vacation"],description:"tropical drink",category:"Food & Drink"},{emoji:"🍺",names:["beer"],tags:["drink"],description:"beer mug",category:"Food & Drink"},{emoji:"🍻",names:["beers"],tags:["drinks"],description:"clinking beer mugs",category:"Food & Drink"},{emoji:"🥂",names:["clinking_glasses"],tags:["cheers","toast"],description:"clinking glasses",category:"Food & Drink"},{emoji:"🥃",names:["tumbler_glass"],tags:["whisky"],description:"tumbler glass",category:"Food & Drink"},{emoji:"🫗",names:["pouring_liquid"],tags:[],description:"pouring liquid",category:"Food & Drink"},{emoji:"🥤",names:["cup_with_straw"],tags:[],description:"cup with straw",category:"Food & Drink"},{emoji:"🧋",names:["bubble_tea"],tags:[],description:"bubble tea",category:"Food & Drink"},{emoji:"🧃",names:["beverage_box"],tags:[],description:"beverage box",category:"Food & Drink"},{emoji:"🧉",names:["mate"],tags:[],description:"mate",category:"Food & Drink"},{emoji:"🧊",names:["ice_cube"],tags:[],description:"ice",category:"Food & Drink"},{emoji:"🥢",names:["chopsticks"],tags:[],description:"chopsticks",category:"Food & Drink"},{emoji:"🍽️",names:["plate_with_cutlery"],tags:["dining","dinner"],description:"fork and knife with plate",category:"Food & Drink"},{emoji:"🍴",names:["fork_and_knife"],tags:["cutlery"],description:"fork and knife",category:"Food & Drink"},{emoji:"🥄",names:["spoon"],tags:[],description:"spoon",category:"Food & Drink"},{emoji:"🔪",names:["hocho","knife"],tags:["cut","chop"],description:"kitchen knife",category:"Food & Drink"},{emoji:"🫙",names:["jar"],tags:[],description:"jar",category:"Food & Drink"},{emoji:"🏺",names:["amphora"],tags:[],description:"amphora",category:"Food & Drink"},{emoji:"🌍",names:["earth_africa"],tags:["globe","world","international"],description:"globe showing Europe-Africa",category:"Travel & Places"},{emoji:"🌎",names:["earth_americas"],tags:["globe","world","international"],description:"globe showing Americas",category:"Travel & Places"},{emoji:"🌏",names:["earth_asia"],tags:["globe","world","international"],description:"globe showing Asia-Australia",category:"Travel & Places"},{emoji:"🌐",names:["globe_with_meridians"],tags:["world","global","international"],description:"globe with meridians",category:"Travel & Places"},{emoji:"🗺️",names:["world_map"],tags:["travel"],description:"world map",category:"Travel & Places"},{emoji:"🗾",names:["japan"],tags:[],description:"map of Japan",category:"Travel & Places"},{emoji:"🧭",names:["compass"],tags:[],description:"compass",category:"Travel & Places"},{emoji:"🏔️",names:["mountain_snow"],tags:[],description:"snow-capped mountain",category:"Travel & Places"},{emoji:"⛰️",names:["mountain"],tags:[],description:"mountain",category:"Travel & Places"},{emoji:"🌋",names:["volcano"],tags:[],description:"volcano",category:"Travel & Places"},{emoji:"🗻",names:["mount_fuji"],tags:[],description:"mount fuji",category:"Travel & Places"},{emoji:"🏕️",names:["camping"],tags:[],description:"camping",category:"Travel & Places"},{emoji:"🏖️",names:["beach_umbrella"],tags:[],description:"beach with umbrella",category:"Travel & Places"},{emoji:"🏜️",names:["desert"],tags:[],description:"desert",category:"Travel & Places"},{emoji:"🏝️",names:["desert_island"],tags:[],description:"desert island",category:"Travel & Places"},{emoji:"🏞️",names:["national_park"],tags:[],description:"national park",category:"Travel & Places"},{emoji:"🏟️",names:["stadium"],tags:[],description:"stadium",category:"Travel & Places"},{emoji:"🏛️",names:["classical_building"],tags:[],description:"classical building",category:"Travel & Places"},{emoji:"🏗️",names:["building_construction"],tags:[],description:"building construction",category:"Travel & Places"},{emoji:"🧱",names:["bricks"],tags:[],description:"brick",category:"Travel & Places"},{emoji:"🪨",names:["rock"],tags:[],description:"rock",category:"Travel & Places"},{emoji:"🪵",names:["wood"],tags:[],description:"wood",category:"Travel & Places"},{emoji:"🛖",names:["hut"],tags:[],description:"hut",category:"Travel & Places"},{emoji:"🏘️",names:["houses"],tags:[],description:"houses",category:"Travel & Places"},{emoji:"🏚️",names:["derelict_house"],tags:[],description:"derelict house",category:"Travel & Places"},{emoji:"🏠",names:["house"],tags:[],description:"house",category:"Travel & Places"},{emoji:"🏡",names:["house_with_garden"],tags:[],description:"house with garden",category:"Travel & Places"},{emoji:"🏢",names:["office"],tags:[],description:"office building",category:"Travel & Places"},{emoji:"🏣",names:["post_office"],tags:[],description:"Japanese post office",category:"Travel & Places"},{emoji:"🏤",names:["european_post_office"],tags:[],description:"post office",category:"Travel & Places"},{emoji:"🏥",names:["hospital"],tags:[],description:"hospital",category:"Travel & Places"},{emoji:"🏦",names:["bank"],tags:[],description:"bank",category:"Travel & Places"},{emoji:"🏨",names:["hotel"],tags:[],description:"hotel",category:"Travel & Places"},{emoji:"🏩",names:["love_hotel"],tags:[],description:"love hotel",category:"Travel & Places"},{emoji:"🏪",names:["convenience_store"],tags:[],description:"convenience store",category:"Travel & Places"},{emoji:"🏫",names:["school"],tags:[],description:"school",category:"Travel & Places"},{emoji:"🏬",names:["department_store"],tags:[],description:"department store",category:"Travel & Places"},{emoji:"🏭",names:["factory"],tags:[],description:"factory",category:"Travel & Places"},{emoji:"🏯",names:["japanese_castle"],tags:[],description:"Japanese castle",category:"Travel & Places"},{emoji:"🏰",names:["european_castle"],tags:[],description:"castle",category:"Travel & Places"},{emoji:"💒",names:["wedding"],tags:["marriage"],description:"wedding",category:"Travel & Places"},{emoji:"🗼",names:["tokyo_tower"],tags:[],description:"Tokyo tower",category:"Travel & Places"},{emoji:"🗽",names:["statue_of_liberty"],tags:[],description:"Statue of Liberty",category:"Travel & Places"},{emoji:"⛪",names:["church"],tags:[],description:"church",category:"Travel & Places"},{emoji:"🕌",names:["mosque"],tags:[],description:"mosque",category:"Travel & Places"},{emoji:"🛕",names:["hindu_temple"],tags:[],description:"hindu temple",category:"Travel & Places"},{emoji:"🕍",names:["synagogue"],tags:[],description:"synagogue",category:"Travel & Places"},{emoji:"⛩️",names:["shinto_shrine"],tags:[],description:"shinto shrine",category:"Travel & Places"},{emoji:"🕋",names:["kaaba"],tags:[],description:"kaaba",category:"Travel & Places"},{emoji:"⛲",names:["fountain"],tags:[],description:"fountain",category:"Travel & Places"},{emoji:"⛺",names:["tent"],tags:["camping"],description:"tent",category:"Travel & Places"},{emoji:"🌁",names:["foggy"],tags:["karl"],description:"foggy",category:"Travel & Places"},{emoji:"🌃",names:["night_with_stars"],tags:[],description:"night with stars",category:"Travel & Places"},{emoji:"🏙️",names:["cityscape"],tags:["skyline"],description:"cityscape",category:"Travel & Places"},{emoji:"🌄",names:["sunrise_over_mountains"],tags:[],description:"sunrise over mountains",category:"Travel & Places"},{emoji:"🌅",names:["sunrise"],tags:[],description:"sunrise",category:"Travel & Places"},{emoji:"🌆",names:["city_sunset"],tags:[],description:"cityscape at dusk",category:"Travel & Places"},{emoji:"🌇",names:["city_sunrise"],tags:[],description:"sunset",category:"Travel & Places"},{emoji:"🌉",names:["bridge_at_night"],tags:[],description:"bridge at night",category:"Travel & Places"},{emoji:"♨️",names:["hotsprings"],tags:[],description:"hot springs",category:"Travel & Places"},{emoji:"🎠",names:["carousel_horse"],tags:[],description:"carousel horse",category:"Travel & Places"},{emoji:"🛝",names:["playground_slide"],tags:[],description:"playground slide",category:"Travel & Places"},{emoji:"🎡",names:["ferris_wheel"],tags:[],description:"ferris wheel",category:"Travel & Places"},{emoji:"🎢",names:["roller_coaster"],tags:[],description:"roller coaster",category:"Travel & Places"},{emoji:"💈",names:["barber"],tags:[],description:"barber pole",category:"Travel & Places"},{emoji:"🎪",names:["circus_tent"],tags:[],description:"circus tent",category:"Travel & Places"},{emoji:"🚂",names:["steam_locomotive"],tags:["train"],description:"locomotive",category:"Travel & Places"},{emoji:"🚃",names:["railway_car"],tags:[],description:"railway car",category:"Travel & Places"},{emoji:"🚄",names:["bullettrain_side"],tags:["train"],description:"high-speed train",category:"Travel & Places"},{emoji:"🚅",names:["bullettrain_front"],tags:["train"],description:"bullet train",category:"Travel & Places"},{emoji:"🚆",names:["train2"],tags:[],description:"train",category:"Travel & Places"},{emoji:"🚇",names:["metro"],tags:[],description:"metro",category:"Travel & Places"},{emoji:"🚈",names:["light_rail"],tags:[],description:"light rail",category:"Travel & Places"},{emoji:"🚉",names:["station"],tags:[],description:"station",category:"Travel & Places"},{emoji:"🚊",names:["tram"],tags:[],description:"tram",category:"Travel & Places"},{emoji:"🚝",names:["monorail"],tags:[],description:"monorail",category:"Travel & Places"},{emoji:"🚞",names:["mountain_railway"],tags:[],description:"mountain railway",category:"Travel & Places"},{emoji:"🚋",names:["train"],tags:[],description:"tram car",category:"Travel & Places"},{emoji:"🚌",names:["bus"],tags:[],description:"bus",category:"Travel & Places"},{emoji:"🚍",names:["oncoming_bus"],tags:[],description:"oncoming bus",category:"Travel & Places"},{emoji:"🚎",names:["trolleybus"],tags:[],description:"trolleybus",category:"Travel & Places"},{emoji:"🚐",names:["minibus"],tags:[],description:"minibus",category:"Travel & Places"},{emoji:"🚑",names:["ambulance"],tags:[],description:"ambulance",category:"Travel & Places"},{emoji:"🚒",names:["fire_engine"],tags:[],description:"fire engine",category:"Travel & Places"},{emoji:"🚓",names:["police_car"],tags:[],description:"police car",category:"Travel & Places"},{emoji:"🚔",names:["oncoming_police_car"],tags:[],description:"oncoming police car",category:"Travel & Places"},{emoji:"🚕",names:["taxi"],tags:[],description:"taxi",category:"Travel & Places"},{emoji:"🚖",names:["oncoming_taxi"],tags:[],description:"oncoming taxi",category:"Travel & Places"},{emoji:"🚗",names:["car","red_car"],tags:[],description:"automobile",category:"Travel & Places"},{emoji:"🚘",names:["oncoming_automobile"],tags:[],description:"oncoming automobile",category:"Travel & Places"},{emoji:"🚙",names:["blue_car"],tags:[],description:"sport utility vehicle",category:"Travel & Places"},{emoji:"🛻",names:["pickup_truck"],tags:[],description:"pickup truck",category:"Travel & Places"},{emoji:"🚚",names:["truck"],tags:[],description:"delivery truck",category:"Travel & Places"},{emoji:"🚛",names:["articulated_lorry"],tags:[],description:"articulated lorry",category:"Travel & Places"},{emoji:"🚜",names:["tractor"],tags:[],description:"tractor",category:"Travel & Places"},{emoji:"🏎️",names:["racing_car"],tags:[],description:"racing car",category:"Travel & Places"},{emoji:"🏍️",names:["motorcycle"],tags:[],description:"motorcycle",category:"Travel & Places"},{emoji:"🛵",names:["motor_scooter"],tags:[],description:"motor scooter",category:"Travel & Places"},{emoji:"🦽",names:["manual_wheelchair"],tags:[],description:"manual wheelchair",category:"Travel & Places"},{emoji:"🦼",names:["motorized_wheelchair"],tags:[],description:"motorized wheelchair",category:"Travel & Places"},{emoji:"🛺",names:["auto_rickshaw"],tags:[],description:"auto rickshaw",category:"Travel & Places"},{emoji:"🚲",names:["bike"],tags:["bicycle"],description:"bicycle",category:"Travel & Places"},{emoji:"🛴",names:["kick_scooter"],tags:[],description:"kick scooter",category:"Travel & Places"},{emoji:"🛹",names:["skateboard"],tags:[],description:"skateboard",category:"Travel & Places"},{emoji:"🛼",names:["roller_skate"],tags:[],description:"roller skate",category:"Travel & Places"},{emoji:"🚏",names:["busstop"],tags:[],description:"bus stop",category:"Travel & Places"},{emoji:"🛣️",names:["motorway"],tags:[],description:"motorway",category:"Travel & Places"},{emoji:"🛤️",names:["railway_track"],tags:[],description:"railway track",category:"Travel & Places"},{emoji:"🛢️",names:["oil_drum"],tags:[],description:"oil drum",category:"Travel & Places"},{emoji:"⛽",names:["fuelpump"],tags:[],description:"fuel pump",category:"Travel & Places"},{emoji:"🛞",names:["wheel"],tags:[],description:"wheel",category:"Travel & Places"},{emoji:"🚨",names:["rotating_light"],tags:["911","emergency"],description:"police car light",category:"Travel & Places"},{emoji:"🚥",names:["traffic_light"],tags:[],description:"horizontal traffic light",category:"Travel & Places"},{emoji:"🚦",names:["vertical_traffic_light"],tags:["semaphore"],description:"vertical traffic light",category:"Travel & Places"},{emoji:"🛑",names:["stop_sign"],tags:[],description:"stop sign",category:"Travel & Places"},{emoji:"🚧",names:["construction"],tags:["wip"],description:"construction",category:"Travel & Places"},{emoji:"⚓",names:["anchor"],tags:["ship"],description:"anchor",category:"Travel & Places"},{emoji:"🛟",names:["ring_buoy"],tags:["life preserver"],description:"ring buoy",category:"Travel & Places"},{emoji:"⛵",names:["boat","sailboat"],tags:[],description:"sailboat",category:"Travel & Places"},{emoji:"🛶",names:["canoe"],tags:[],description:"canoe",category:"Travel & Places"},{emoji:"🚤",names:["speedboat"],tags:["ship"],description:"speedboat",category:"Travel & Places"},{emoji:"🛳️",names:["passenger_ship"],tags:["cruise"],description:"passenger ship",category:"Travel & Places"},{emoji:"⛴️",names:["ferry"],tags:[],description:"ferry",category:"Travel & Places"},{emoji:"🛥️",names:["motor_boat"],tags:[],description:"motor boat",category:"Travel & Places"},{emoji:"🚢",names:["ship"],tags:[],description:"ship",category:"Travel & Places"},{emoji:"✈️",names:["airplane"],tags:["flight"],description:"airplane",category:"Travel & Places"},{emoji:"🛩️",names:["small_airplane"],tags:["flight"],description:"small airplane",category:"Travel & Places"},{emoji:"🛫",names:["flight_departure"],tags:[],description:"airplane departure",category:"Travel & Places"},{emoji:"🛬",names:["flight_arrival"],tags:[],description:"airplane arrival",category:"Travel & Places"},{emoji:"🪂",names:["parachute"],tags:[],description:"parachute",category:"Travel & Places"},{emoji:"💺",names:["seat"],tags:[],description:"seat",category:"Travel & Places"},{emoji:"🚁",names:["helicopter"],tags:[],description:"helicopter",category:"Travel & Places"},{emoji:"🚟",names:["suspension_railway"],tags:[],description:"suspension railway",category:"Travel & Places"},{emoji:"🚠",names:["mountain_cableway"],tags:[],description:"mountain cableway",category:"Travel & Places"},{emoji:"🚡",names:["aerial_tramway"],tags:[],description:"aerial tramway",category:"Travel & Places"},{emoji:"🛰️",names:["artificial_satellite"],tags:["orbit","space"],description:"satellite",category:"Travel & Places"},{emoji:"🚀",names:["rocket"],tags:["ship","launch"],description:"rocket",category:"Travel & Places"},{emoji:"🛸",names:["flying_saucer"],tags:["ufo"],description:"flying saucer",category:"Travel & Places"},{emoji:"🛎️",names:["bellhop_bell"],tags:[],description:"bellhop bell",category:"Travel & Places"},{emoji:"🧳",names:["luggage"],tags:[],description:"luggage",category:"Travel & Places"},{emoji:"⌛",names:["hourglass"],tags:["time"],description:"hourglass done",category:"Travel & Places"},{emoji:"⏳",names:["hourglass_flowing_sand"],tags:["time"],description:"hourglass not done",category:"Travel & Places"},{emoji:"⌚",names:["watch"],tags:["time"],description:"watch",category:"Travel & Places"},{emoji:"⏰",names:["alarm_clock"],tags:["morning"],description:"alarm clock",category:"Travel & Places"},{emoji:"⏱️",names:["stopwatch"],tags:[],description:"stopwatch",category:"Travel & Places"},{emoji:"⏲️",names:["timer_clock"],tags:[],description:"timer clock",category:"Travel & Places"},{emoji:"🕰️",names:["mantelpiece_clock"],tags:[],description:"mantelpiece clock",category:"Travel & Places"},{emoji:"🕛",names:["clock12"],tags:[],description:"twelve o’clock",category:"Travel & Places"},{emoji:"🕧",names:["clock1230"],tags:[],description:"twelve-thirty",category:"Travel & Places"},{emoji:"🕐",names:["clock1"],tags:[],description:"one o’clock",category:"Travel & Places"},{emoji:"🕜",names:["clock130"],tags:[],description:"one-thirty",category:"Travel & Places"},{emoji:"🕑",names:["clock2"],tags:[],description:"two o’clock",category:"Travel & Places"},{emoji:"🕝",names:["clock230"],tags:[],description:"two-thirty",category:"Travel & Places"},{emoji:"🕒",names:["clock3"],tags:[],description:"three o’clock",category:"Travel & Places"},{emoji:"🕞",names:["clock330"],tags:[],description:"three-thirty",category:"Travel & Places"},{emoji:"🕓",names:["clock4"],tags:[],description:"four o’clock",category:"Travel & Places"},{emoji:"🕟",names:["clock430"],tags:[],description:"four-thirty",category:"Travel & Places"},{emoji:"🕔",names:["clock5"],tags:[],description:"five o’clock",category:"Travel & Places"},{emoji:"🕠",names:["clock530"],tags:[],description:"five-thirty",category:"Travel & Places"},{emoji:"🕕",names:["clock6"],tags:[],description:"six o’clock",category:"Travel & Places"},{emoji:"🕡",names:["clock630"],tags:[],description:"six-thirty",category:"Travel & Places"},{emoji:"🕖",names:["clock7"],tags:[],description:"seven o’clock",category:"Travel & Places"},{emoji:"🕢",names:["clock730"],tags:[],description:"seven-thirty",category:"Travel & Places"},{emoji:"🕗",names:["clock8"],tags:[],description:"eight o’clock",category:"Travel & Places"},{emoji:"🕣",names:["clock830"],tags:[],description:"eight-thirty",category:"Travel & Places"},{emoji:"🕘",names:["clock9"],tags:[],description:"nine o’clock",category:"Travel & Places"},{emoji:"🕤",names:["clock930"],tags:[],description:"nine-thirty",category:"Travel & Places"},{emoji:"🕙",names:["clock10"],tags:[],description:"ten o’clock",category:"Travel & Places"},{emoji:"🕥",names:["clock1030"],tags:[],description:"ten-thirty",category:"Travel & Places"},{emoji:"🕚",names:["clock11"],tags:[],description:"eleven o’clock",category:"Travel & Places"},{emoji:"🕦",names:["clock1130"],tags:[],description:"eleven-thirty",category:"Travel & Places"},{emoji:"🌑",names:["new_moon"],tags:[],description:"new moon",category:"Travel & Places"},{emoji:"🌒",names:["waxing_crescent_moon"],tags:[],description:"waxing crescent moon",category:"Travel & Places"},{emoji:"🌓",names:["first_quarter_moon"],tags:[],description:"first quarter moon",category:"Travel & Places"},{emoji:"🌔",names:["moon","waxing_gibbous_moon"],tags:[],description:"waxing gibbous moon",category:"Travel & Places"},{emoji:"🌕",names:["full_moon"],tags:[],description:"full moon",category:"Travel & Places"},{emoji:"🌖",names:["waning_gibbous_moon"],tags:[],description:"waning gibbous moon",category:"Travel & Places"},{emoji:"🌗",names:["last_quarter_moon"],tags:[],description:"last quarter moon",category:"Travel & Places"},{emoji:"🌘",names:["waning_crescent_moon"],tags:[],description:"waning crescent moon",category:"Travel & Places"},{emoji:"🌙",names:["crescent_moon"],tags:["night"],description:"crescent moon",category:"Travel & Places"},{emoji:"🌚",names:["new_moon_with_face"],tags:[],description:"new moon face",category:"Travel & Places"},{emoji:"🌛",names:["first_quarter_moon_with_face"],tags:[],description:"first quarter moon face",category:"Travel & Places"},{emoji:"🌜",names:["last_quarter_moon_with_face"],tags:[],description:"last quarter moon face",category:"Travel & Places"},{emoji:"🌡️",names:["thermometer"],tags:[],description:"thermometer",category:"Travel & Places"},{emoji:"☀️",names:["sunny"],tags:["weather"],description:"sun",category:"Travel & Places"},{emoji:"🌝",names:["full_moon_with_face"],tags:[],description:"full moon face",category:"Travel & Places"},{emoji:"🌞",names:["sun_with_face"],tags:["summer"],description:"sun with face",category:"Travel & Places"},{emoji:"🪐",names:["ringed_planet"],tags:[],description:"ringed planet",category:"Travel & Places"},{emoji:"⭐",names:["star"],tags:[],description:"star",category:"Travel & Places"},{emoji:"🌟",names:["star2"],tags:[],description:"glowing star",category:"Travel & Places"},{emoji:"🌠",names:["stars"],tags:[],description:"shooting star",category:"Travel & Places"},{emoji:"🌌",names:["milky_way"],tags:[],description:"milky way",category:"Travel & Places"},{emoji:"☁️",names:["cloud"],tags:[],description:"cloud",category:"Travel & Places"},{emoji:"⛅",names:["partly_sunny"],tags:["weather","cloud"],description:"sun behind cloud",category:"Travel & Places"},{emoji:"⛈️",names:["cloud_with_lightning_and_rain"],tags:[],description:"cloud with lightning and rain",category:"Travel & Places"},{emoji:"🌤️",names:["sun_behind_small_cloud"],tags:[],description:"sun behind small cloud",category:"Travel & Places"},{emoji:"🌥️",names:["sun_behind_large_cloud"],tags:[],description:"sun behind large cloud",category:"Travel & Places"},{emoji:"🌦️",names:["sun_behind_rain_cloud"],tags:[],description:"sun behind rain cloud",category:"Travel & Places"},{emoji:"🌧️",names:["cloud_with_rain"],tags:[],description:"cloud with rain",category:"Travel & Places"},{emoji:"🌨️",names:["cloud_with_snow"],tags:[],description:"cloud with snow",category:"Travel & Places"},{emoji:"🌩️",names:["cloud_with_lightning"],tags:[],description:"cloud with lightning",category:"Travel & Places"},{emoji:"🌪️",names:["tornado"],tags:[],description:"tornado",category:"Travel & Places"},{emoji:"🌫️",names:["fog"],tags:[],description:"fog",category:"Travel & Places"},{emoji:"🌬️",names:["wind_face"],tags:[],description:"wind face",category:"Travel & Places"},{emoji:"🌀",names:["cyclone"],tags:["swirl"],description:"cyclone",category:"Travel & Places"},{emoji:"🌈",names:["rainbow"],tags:[],description:"rainbow",category:"Travel & Places"},{emoji:"🌂",names:["closed_umbrella"],tags:["weather","rain"],description:"closed umbrella",category:"Travel & Places"},{emoji:"☂️",names:["open_umbrella"],tags:[],description:"umbrella",category:"Travel & Places"},{emoji:"☔",names:["umbrella"],tags:["rain","weather"],description:"umbrella with rain drops",category:"Travel & Places"},{emoji:"⛱️",names:["parasol_on_ground"],tags:["beach_umbrella"],description:"umbrella on ground",category:"Travel & Places"},{emoji:"⚡",names:["zap"],tags:["lightning","thunder"],description:"high voltage",category:"Travel & Places"},{emoji:"❄️",names:["snowflake"],tags:["winter","cold","weather"],description:"snowflake",category:"Travel & Places"},{emoji:"☃️",names:["snowman_with_snow"],tags:["winter","christmas"],description:"snowman",category:"Travel & Places"},{emoji:"⛄",names:["snowman"],tags:["winter"],description:"snowman without snow",category:"Travel & Places"},{emoji:"☄️",names:["comet"],tags:[],description:"comet",category:"Travel & Places"},{emoji:"🔥",names:["fire"],tags:["burn"],description:"fire",category:"Travel & Places"},{emoji:"💧",names:["droplet"],tags:["water"],description:"droplet",category:"Travel & Places"},{emoji:"🌊",names:["ocean"],tags:["sea"],description:"water wave",category:"Travel & Places"},{emoji:"🎃",names:["jack_o_lantern"],tags:["halloween"],description:"jack-o-lantern",category:"Activities"},{emoji:"🎄",names:["christmas_tree"],tags:[],description:"Christmas tree",category:"Activities"},{emoji:"🎆",names:["fireworks"],tags:["festival","celebration"],description:"fireworks",category:"Activities"},{emoji:"🎇",names:["sparkler"],tags:[],description:"sparkler",category:"Activities"},{emoji:"🧨",names:["firecracker"],tags:[],description:"firecracker",category:"Activities"},{emoji:"✨",names:["sparkles"],tags:["shiny"],description:"sparkles",category:"Activities"},{emoji:"🎈",names:["balloon"],tags:["party","birthday"],description:"balloon",category:"Activities"},{emoji:"🎉",names:["tada"],tags:["hooray","party"],description:"party popper",category:"Activities"},{emoji:"🎊",names:["confetti_ball"],tags:[],description:"confetti ball",category:"Activities"},{emoji:"🎋",names:["tanabata_tree"],tags:[],description:"tanabata tree",category:"Activities"},{emoji:"🎍",names:["bamboo"],tags:[],description:"pine decoration",category:"Activities"},{emoji:"🎎",names:["dolls"],tags:[],description:"Japanese dolls",category:"Activities"},{emoji:"🎏",names:["flags"],tags:[],description:"carp streamer",category:"Activities"},{emoji:"🎐",names:["wind_chime"],tags:[],description:"wind chime",category:"Activities"},{emoji:"🎑",names:["rice_scene"],tags:[],description:"moon viewing ceremony",category:"Activities"},{emoji:"🧧",names:["red_envelope"],tags:[],description:"red envelope",category:"Activities"},{emoji:"🎀",names:["ribbon"],tags:[],description:"ribbon",category:"Activities"},{emoji:"🎁",names:["gift"],tags:["present","birthday","christmas"],description:"wrapped gift",category:"Activities"},{emoji:"🎗️",names:["reminder_ribbon"],tags:[],description:"reminder ribbon",category:"Activities"},{emoji:"🎟️",names:["tickets"],tags:[],description:"admission tickets",category:"Activities"},{emoji:"🎫",names:["ticket"],tags:[],description:"ticket",category:"Activities"},{emoji:"🎖️",names:["medal_military"],tags:[],description:"military medal",category:"Activities"},{emoji:"🏆",names:["trophy"],tags:["award","contest","winner"],description:"trophy",category:"Activities"},{emoji:"🏅",names:["medal_sports"],tags:["gold","winner"],description:"sports medal",category:"Activities"},{emoji:"🥇",names:["1st_place_medal"],tags:["gold"],description:"1st place medal",category:"Activities"},{emoji:"🥈",names:["2nd_place_medal"],tags:["silver"],description:"2nd place medal",category:"Activities"},{emoji:"🥉",names:["3rd_place_medal"],tags:["bronze"],description:"3rd place medal",category:"Activities"},{emoji:"⚽",names:["soccer"],tags:["sports"],description:"soccer ball",category:"Activities"},{emoji:"⚾",names:["baseball"],tags:["sports"],description:"baseball",category:"Activities"},{emoji:"🥎",names:["softball"],tags:[],description:"softball",category:"Activities"},{emoji:"🏀",names:["basketball"],tags:["sports"],description:"basketball",category:"Activities"},{emoji:"🏐",names:["volleyball"],tags:[],description:"volleyball",category:"Activities"},{emoji:"🏈",names:["football"],tags:["sports"],description:"american football",category:"Activities"},{emoji:"🏉",names:["rugby_football"],tags:[],description:"rugby football",category:"Activities"},{emoji:"🎾",names:["tennis"],tags:["sports"],description:"tennis",category:"Activities"},{emoji:"🥏",names:["flying_disc"],tags:[],description:"flying disc",category:"Activities"},{emoji:"🎳",names:["bowling"],tags:[],description:"bowling",category:"Activities"},{emoji:"🏏",names:["cricket_game"],tags:[],description:"cricket game",category:"Activities"},{emoji:"🏑",names:["field_hockey"],tags:[],description:"field hockey",category:"Activities"},{emoji:"🏒",names:["ice_hockey"],tags:[],description:"ice hockey",category:"Activities"},{emoji:"🥍",names:["lacrosse"],tags:[],description:"lacrosse",category:"Activities"},{emoji:"🏓",names:["ping_pong"],tags:[],description:"ping pong",category:"Activities"},{emoji:"🏸",names:["badminton"],tags:[],description:"badminton",category:"Activities"},{emoji:"🥊",names:["boxing_glove"],tags:[],description:"boxing glove",category:"Activities"},{emoji:"🥋",names:["martial_arts_uniform"],tags:[],description:"martial arts uniform",category:"Activities"},{emoji:"🥅",names:["goal_net"],tags:[],description:"goal net",category:"Activities"},{emoji:"⛳",names:["golf"],tags:[],description:"flag in hole",category:"Activities"},{emoji:"⛸️",names:["ice_skate"],tags:["skating"],description:"ice skate",category:"Activities"},{emoji:"🎣",names:["fishing_pole_and_fish"],tags:[],description:"fishing pole",category:"Activities"},{emoji:"🤿",names:["diving_mask"],tags:[],description:"diving mask",category:"Activities"},{emoji:"🎽",names:["running_shirt_with_sash"],tags:["marathon"],description:"running shirt",category:"Activities"},{emoji:"🎿",names:["ski"],tags:[],description:"skis",category:"Activities"},{emoji:"🛷",names:["sled"],tags:[],description:"sled",category:"Activities"},{emoji:"🥌",names:["curling_stone"],tags:[],description:"curling stone",category:"Activities"},{emoji:"🎯",names:["dart"],tags:["target"],description:"bullseye",category:"Activities"},{emoji:"🪀",names:["yo_yo"],tags:[],description:"yo-yo",category:"Activities"},{emoji:"🪁",names:["kite"],tags:[],description:"kite",category:"Activities"},{emoji:"🔫",names:["gun"],tags:["shoot","weapon"],description:"water pistol",category:"Activities"},{emoji:"🎱",names:["8ball"],tags:["pool","billiards"],description:"pool 8 ball",category:"Activities"},{emoji:"🔮",names:["crystal_ball"],tags:["fortune"],description:"crystal ball",category:"Activities"},{emoji:"🪄",names:["magic_wand"],tags:[],description:"magic wand",category:"Activities"},{emoji:"🎮",names:["video_game"],tags:["play","controller","console"],description:"video game",category:"Activities"},{emoji:"🕹️",names:["joystick"],tags:[],description:"joystick",category:"Activities"},{emoji:"🎰",names:["slot_machine"],tags:[],description:"slot machine",category:"Activities"},{emoji:"🎲",names:["game_die"],tags:["dice","gambling"],description:"game die",category:"Activities"},{emoji:"🧩",names:["jigsaw"],tags:[],description:"puzzle piece",category:"Activities"},{emoji:"🧸",names:["teddy_bear"],tags:[],description:"teddy bear",category:"Activities"},{emoji:"🪅",names:["pinata"],tags:[],description:"piñata",category:"Activities"},{emoji:"🪩",names:["mirror_ball"],tags:["disco","party"],description:"mirror ball",category:"Activities"},{emoji:"🪆",names:["nesting_dolls"],tags:[],description:"nesting dolls",category:"Activities"},{emoji:"♠️",names:["spades"],tags:[],description:"spade suit",category:"Activities"},{emoji:"♥️",names:["hearts"],tags:[],description:"heart suit",category:"Activities"},{emoji:"♦️",names:["diamonds"],tags:[],description:"diamond suit",category:"Activities"},{emoji:"♣️",names:["clubs"],tags:[],description:"club suit",category:"Activities"},{emoji:"♟️",names:["chess_pawn"],tags:[],description:"chess pawn",category:"Activities"},{emoji:"🃏",names:["black_joker"],tags:[],description:"joker",category:"Activities"},{emoji:"🀄",names:["mahjong"],tags:[],description:"mahjong red dragon",category:"Activities"},{emoji:"🎴",names:["flower_playing_cards"],tags:[],description:"flower playing cards",category:"Activities"},{emoji:"🎭",names:["performing_arts"],tags:["theater","drama"],description:"performing arts",category:"Activities"},{emoji:"🖼️",names:["framed_picture"],tags:[],description:"framed picture",category:"Activities"},{emoji:"🎨",names:["art"],tags:["design","paint"],description:"artist palette",category:"Activities"},{emoji:"🧵",names:["thread"],tags:[],description:"thread",category:"Activities"},{emoji:"🪡",names:["sewing_needle"],tags:[],description:"sewing needle",category:"Activities"},{emoji:"🧶",names:["yarn"],tags:[],description:"yarn",category:"Activities"},{emoji:"🪢",names:["knot"],tags:[],description:"knot",category:"Activities"},{emoji:"👓",names:["eyeglasses"],tags:["glasses"],description:"glasses",category:"Objects"},{emoji:"🕶️",names:["dark_sunglasses"],tags:[],description:"sunglasses",category:"Objects"},{emoji:"🥽",names:["goggles"],tags:[],description:"goggles",category:"Objects"},{emoji:"🥼",names:["lab_coat"],tags:[],description:"lab coat",category:"Objects"},{emoji:"🦺",names:["safety_vest"],tags:[],description:"safety vest",category:"Objects"},{emoji:"👔",names:["necktie"],tags:["shirt","formal"],description:"necktie",category:"Objects"},{emoji:"👕",names:["shirt","tshirt"],tags:[],description:"t-shirt",category:"Objects"},{emoji:"👖",names:["jeans"],tags:["pants"],description:"jeans",category:"Objects"},{emoji:"🧣",names:["scarf"],tags:[],description:"scarf",category:"Objects"},{emoji:"🧤",names:["gloves"],tags:[],description:"gloves",category:"Objects"},{emoji:"🧥",names:["coat"],tags:[],description:"coat",category:"Objects"},{emoji:"🧦",names:["socks"],tags:[],description:"socks",category:"Objects"},{emoji:"👗",names:["dress"],tags:[],description:"dress",category:"Objects"},{emoji:"👘",names:["kimono"],tags:[],description:"kimono",category:"Objects"},{emoji:"🥻",names:["sari"],tags:[],description:"sari",category:"Objects"},{emoji:"🩱",names:["one_piece_swimsuit"],tags:[],description:"one-piece swimsuit",category:"Objects"},{emoji:"🩲",names:["swim_brief"],tags:[],description:"briefs",category:"Objects"},{emoji:"🩳",names:["shorts"],tags:[],description:"shorts",category:"Objects"},{emoji:"👙",names:["bikini"],tags:["beach"],description:"bikini",category:"Objects"},{emoji:"👚",names:["womans_clothes"],tags:[],description:"woman’s clothes",category:"Objects"},{emoji:"🪭",names:["folding_hand_fan"],tags:["sensu"],description:"folding hand fan",category:"Objects"},{emoji:"👛",names:["purse"],tags:[],description:"purse",category:"Objects"},{emoji:"👜",names:["handbag"],tags:["bag"],description:"handbag",category:"Objects"},{emoji:"👝",names:["pouch"],tags:["bag"],description:"clutch bag",category:"Objects"},{emoji:"🛍️",names:["shopping"],tags:["bags"],description:"shopping bags",category:"Objects"},{emoji:"🎒",names:["school_satchel"],tags:[],description:"backpack",category:"Objects"},{emoji:"🩴",names:["thong_sandal"],tags:[],description:"thong sandal",category:"Objects"},{emoji:"👞",names:["mans_shoe","shoe"],tags:[],description:"man’s shoe",category:"Objects"},{emoji:"👟",names:["athletic_shoe"],tags:["sneaker","sport","running"],description:"running shoe",category:"Objects"},{emoji:"🥾",names:["hiking_boot"],tags:[],description:"hiking boot",category:"Objects"},{emoji:"🥿",names:["flat_shoe"],tags:[],description:"flat shoe",category:"Objects"},{emoji:"👠",names:["high_heel"],tags:["shoe"],description:"high-heeled shoe",category:"Objects"},{emoji:"👡",names:["sandal"],tags:["shoe"],description:"woman’s sandal",category:"Objects"},{emoji:"🩰",names:["ballet_shoes"],tags:[],description:"ballet shoes",category:"Objects"},{emoji:"👢",names:["boot"],tags:[],description:"woman’s boot",category:"Objects"},{emoji:"🪮",names:["hair_pick"],tags:[],description:"hair pick",category:"Objects"},{emoji:"👑",names:["crown"],tags:["king","queen","royal"],description:"crown",category:"Objects"},{emoji:"👒",names:["womans_hat"],tags:[],description:"woman’s hat",category:"Objects"},{emoji:"🎩",names:["tophat"],tags:["hat","classy"],description:"top hat",category:"Objects"},{emoji:"🎓",names:["mortar_board"],tags:["education","college","university","graduation"],description:"graduation cap",category:"Objects"},{emoji:"🧢",names:["billed_cap"],tags:[],description:"billed cap",category:"Objects"},{emoji:"🪖",names:["military_helmet"],tags:[],description:"military helmet",category:"Objects"},{emoji:"⛑️",names:["rescue_worker_helmet"],tags:[],description:"rescue worker’s helmet",category:"Objects"},{emoji:"📿",names:["prayer_beads"],tags:[],description:"prayer beads",category:"Objects"},{emoji:"💄",names:["lipstick"],tags:["makeup"],description:"lipstick",category:"Objects"},{emoji:"💍",names:["ring"],tags:["wedding","marriage","engaged"],description:"ring",category:"Objects"},{emoji:"💎",names:["gem"],tags:["diamond"],description:"gem stone",category:"Objects"},{emoji:"🔇",names:["mute"],tags:["sound","volume"],description:"muted speaker",category:"Objects"},{emoji:"🔈",names:["speaker"],tags:[],description:"speaker low volume",category:"Objects"},{emoji:"🔉",names:["sound"],tags:["volume"],description:"speaker medium volume",category:"Objects"},{emoji:"🔊",names:["loud_sound"],tags:["volume"],description:"speaker high volume",category:"Objects"},{emoji:"📢",names:["loudspeaker"],tags:["announcement"],description:"loudspeaker",category:"Objects"},{emoji:"📣",names:["mega"],tags:[],description:"megaphone",category:"Objects"},{emoji:"📯",names:["postal_horn"],tags:[],description:"postal horn",category:"Objects"},{emoji:"🔔",names:["bell"],tags:["sound","notification"],description:"bell",category:"Objects"},{emoji:"🔕",names:["no_bell"],tags:["volume","off"],description:"bell with slash",category:"Objects"},{emoji:"🎼",names:["musical_score"],tags:[],description:"musical score",category:"Objects"},{emoji:"🎵",names:["musical_note"],tags:[],description:"musical note",category:"Objects"},{emoji:"🎶",names:["notes"],tags:["music"],description:"musical notes",category:"Objects"},{emoji:"🎙️",names:["studio_microphone"],tags:["podcast"],description:"studio microphone",category:"Objects"},{emoji:"🎚️",names:["level_slider"],tags:[],description:"level slider",category:"Objects"},{emoji:"🎛️",names:["control_knobs"],tags:[],description:"control knobs",category:"Objects"},{emoji:"🎤",names:["microphone"],tags:["sing"],description:"microphone",category:"Objects"},{emoji:"🎧",names:["headphones"],tags:["music","earphones"],description:"headphone",category:"Objects"},{emoji:"📻",names:["radio"],tags:["podcast"],description:"radio",category:"Objects"},{emoji:"🎷",names:["saxophone"],tags:[],description:"saxophone",category:"Objects"},{emoji:"🪗",names:["accordion"],tags:[],description:"accordion",category:"Objects"},{emoji:"🎸",names:["guitar"],tags:["rock"],description:"guitar",category:"Objects"},{emoji:"🎹",names:["musical_keyboard"],tags:["piano"],description:"musical keyboard",category:"Objects"},{emoji:"🎺",names:["trumpet"],tags:[],description:"trumpet",category:"Objects"},{emoji:"🎻",names:["violin"],tags:[],description:"violin",category:"Objects"},{emoji:"🪕",names:["banjo"],tags:[],description:"banjo",category:"Objects"},{emoji:"🥁",names:["drum"],tags:[],description:"drum",category:"Objects"},{emoji:"🪘",names:["long_drum"],tags:[],description:"long drum",category:"Objects"},{emoji:"🪇",names:["maracas"],tags:["shaker"],description:"maracas",category:"Objects"},{emoji:"🪈",names:["flute"],tags:["recorder"],description:"flute",category:"Objects"},{emoji:"📱",names:["iphone"],tags:["smartphone","mobile"],description:"mobile phone",category:"Objects"},{emoji:"📲",names:["calling"],tags:["call","incoming"],description:"mobile phone with arrow",category:"Objects"},{emoji:"☎️",names:["phone","telephone"],tags:[],description:"telephone",category:"Objects"},{emoji:"📞",names:["telephone_receiver"],tags:["phone","call"],description:"telephone receiver",category:"Objects"},{emoji:"📟",names:["pager"],tags:[],description:"pager",category:"Objects"},{emoji:"📠",names:["fax"],tags:[],description:"fax machine",category:"Objects"},{emoji:"🔋",names:["battery"],tags:["power"],description:"battery",category:"Objects"},{emoji:"🪫",names:["low_battery"],tags:[],description:"low battery",category:"Objects"},{emoji:"🔌",names:["electric_plug"],tags:[],description:"electric plug",category:"Objects"},{emoji:"💻",names:["computer"],tags:["desktop","screen"],description:"laptop",category:"Objects"},{emoji:"🖥️",names:["desktop_computer"],tags:[],description:"desktop computer",category:"Objects"},{emoji:"🖨️",names:["printer"],tags:[],description:"printer",category:"Objects"},{emoji:"⌨️",names:["keyboard"],tags:[],description:"keyboard",category:"Objects"},{emoji:"🖱️",names:["computer_mouse"],tags:[],description:"computer mouse",category:"Objects"},{emoji:"🖲️",names:["trackball"],tags:[],description:"trackball",category:"Objects"},{emoji:"💽",names:["minidisc"],tags:[],description:"computer disk",category:"Objects"},{emoji:"💾",names:["floppy_disk"],tags:["save"],description:"floppy disk",category:"Objects"},{emoji:"💿",names:["cd"],tags:[],description:"optical disk",category:"Objects"},{emoji:"📀",names:["dvd"],tags:[],description:"dvd",category:"Objects"},{emoji:"🧮",names:["abacus"],tags:[],description:"abacus",category:"Objects"},{emoji:"🎥",names:["movie_camera"],tags:["film","video"],description:"movie camera",category:"Objects"},{emoji:"🎞️",names:["film_strip"],tags:[],description:"film frames",category:"Objects"},{emoji:"📽️",names:["film_projector"],tags:[],description:"film projector",category:"Objects"},{emoji:"🎬",names:["clapper"],tags:["film"],description:"clapper board",category:"Objects"},{emoji:"📺",names:["tv"],tags:[],description:"television",category:"Objects"},{emoji:"📷",names:["camera"],tags:["photo"],description:"camera",category:"Objects"},{emoji:"📸",names:["camera_flash"],tags:["photo"],description:"camera with flash",category:"Objects"},{emoji:"📹",names:["video_camera"],tags:[],description:"video camera",category:"Objects"},{emoji:"📼",names:["vhs"],tags:[],description:"videocassette",category:"Objects"},{emoji:"🔍",names:["mag"],tags:["search","zoom"],description:"magnifying glass tilted left",category:"Objects"},{emoji:"🔎",names:["mag_right"],tags:[],description:"magnifying glass tilted right",category:"Objects"},{emoji:"🕯️",names:["candle"],tags:[],description:"candle",category:"Objects"},{emoji:"💡",names:["bulb"],tags:["idea","light"],description:"light bulb",category:"Objects"},{emoji:"🔦",names:["flashlight"],tags:[],description:"flashlight",category:"Objects"},{emoji:"🏮",names:["izakaya_lantern","lantern"],tags:[],description:"red paper lantern",category:"Objects"},{emoji:"🪔",names:["diya_lamp"],tags:[],description:"diya lamp",category:"Objects"},{emoji:"📔",names:["notebook_with_decorative_cover"],tags:[],description:"notebook with decorative cover",category:"Objects"},{emoji:"📕",names:["closed_book"],tags:[],description:"closed book",category:"Objects"},{emoji:"📖",names:["book","open_book"],tags:[],description:"open book",category:"Objects"},{emoji:"📗",names:["green_book"],tags:[],description:"green book",category:"Objects"},{emoji:"📘",names:["blue_book"],tags:[],description:"blue book",category:"Objects"},{emoji:"📙",names:["orange_book"],tags:[],description:"orange book",category:"Objects"},{emoji:"📚",names:["books"],tags:["library"],description:"books",category:"Objects"},{emoji:"📓",names:["notebook"],tags:[],description:"notebook",category:"Objects"},{emoji:"📒",names:["ledger"],tags:[],description:"ledger",category:"Objects"},{emoji:"📃",names:["page_with_curl"],tags:[],description:"page with curl",category:"Objects"},{emoji:"📜",names:["scroll"],tags:["document"],description:"scroll",category:"Objects"},{emoji:"📄",names:["page_facing_up"],tags:["document"],description:"page facing up",category:"Objects"},{emoji:"📰",names:["newspaper"],tags:["press"],description:"newspaper",category:"Objects"},{emoji:"🗞️",names:["newspaper_roll"],tags:["press"],description:"rolled-up newspaper",category:"Objects"},{emoji:"📑",names:["bookmark_tabs"],tags:[],description:"bookmark tabs",category:"Objects"},{emoji:"🔖",names:["bookmark"],tags:[],description:"bookmark",category:"Objects"},{emoji:"🏷️",names:["label"],tags:["tag"],description:"label",category:"Objects"},{emoji:"💰",names:["moneybag"],tags:["dollar","cream"],description:"money bag",category:"Objects"},{emoji:"🪙",names:["coin"],tags:[],description:"coin",category:"Objects"},{emoji:"💴",names:["yen"],tags:[],description:"yen banknote",category:"Objects"},{emoji:"💵",names:["dollar"],tags:["money"],description:"dollar banknote",category:"Objects"},{emoji:"💶",names:["euro"],tags:[],description:"euro banknote",category:"Objects"},{emoji:"💷",names:["pound"],tags:[],description:"pound banknote",category:"Objects"},{emoji:"💸",names:["money_with_wings"],tags:["dollar"],description:"money with wings",category:"Objects"},{emoji:"💳",names:["credit_card"],tags:["subscription"],description:"credit card",category:"Objects"},{emoji:"🧾",names:["receipt"],tags:[],description:"receipt",category:"Objects"},{emoji:"💹",names:["chart"],tags:[],description:"chart increasing with yen",category:"Objects"},{emoji:"✉️",names:["envelope"],tags:["letter","email"],description:"envelope",category:"Objects"},{emoji:"📧",names:["email","e-mail"],tags:[],description:"e-mail",category:"Objects"},{emoji:"📨",names:["incoming_envelope"],tags:[],description:"incoming envelope",category:"Objects"},{emoji:"📩",names:["envelope_with_arrow"],tags:[],description:"envelope with arrow",category:"Objects"},{emoji:"📤",names:["outbox_tray"],tags:[],description:"outbox tray",category:"Objects"},{emoji:"📥",names:["inbox_tray"],tags:[],description:"inbox tray",category:"Objects"},{emoji:"📦",names:["package"],tags:["shipping"],description:"package",category:"Objects"},{emoji:"📫",names:["mailbox"],tags:[],description:"closed mailbox with raised flag",category:"Objects"},{emoji:"📪",names:["mailbox_closed"],tags:[],description:"closed mailbox with lowered flag",category:"Objects"},{emoji:"📬",names:["mailbox_with_mail"],tags:[],description:"open mailbox with raised flag",category:"Objects"},{emoji:"📭",names:["mailbox_with_no_mail"],tags:[],description:"open mailbox with lowered flag",category:"Objects"},{emoji:"📮",names:["postbox"],tags:[],description:"postbox",category:"Objects"},{emoji:"🗳️",names:["ballot_box"],tags:[],description:"ballot box with ballot",category:"Objects"},{emoji:"✏️",names:["pencil2"],tags:[],description:"pencil",category:"Objects"},{emoji:"✒️",names:["black_nib"],tags:[],description:"black nib",category:"Objects"},{emoji:"🖋️",names:["fountain_pen"],tags:[],description:"fountain pen",category:"Objects"},{emoji:"🖊️",names:["pen"],tags:[],description:"pen",category:"Objects"},{emoji:"🖌️",names:["paintbrush"],tags:[],description:"paintbrush",category:"Objects"},{emoji:"🖍️",names:["crayon"],tags:[],description:"crayon",category:"Objects"},{emoji:"📝",names:["memo","pencil"],tags:["document","note"],description:"memo",category:"Objects"},{emoji:"💼",names:["briefcase"],tags:["business"],description:"briefcase",category:"Objects"},{emoji:"📁",names:["file_folder"],tags:["directory"],description:"file folder",category:"Objects"},{emoji:"📂",names:["open_file_folder"],tags:[],description:"open file folder",category:"Objects"},{emoji:"🗂️",names:["card_index_dividers"],tags:[],description:"card index dividers",category:"Objects"},{emoji:"📅",names:["date"],tags:["calendar","schedule"],description:"calendar",category:"Objects"},{emoji:"📆",names:["calendar"],tags:["schedule"],description:"tear-off calendar",category:"Objects"},{emoji:"🗒️",names:["spiral_notepad"],tags:[],description:"spiral notepad",category:"Objects"},{emoji:"🗓️",names:["spiral_calendar"],tags:[],description:"spiral calendar",category:"Objects"},{emoji:"📇",names:["card_index"],tags:[],description:"card index",category:"Objects"},{emoji:"📈",names:["chart_with_upwards_trend"],tags:["graph","metrics"],description:"chart increasing",category:"Objects"},{emoji:"📉",names:["chart_with_downwards_trend"],tags:["graph","metrics"],description:"chart decreasing",category:"Objects"},{emoji:"📊",names:["bar_chart"],tags:["stats","metrics"],description:"bar chart",category:"Objects"},{emoji:"📋",names:["clipboard"],tags:[],description:"clipboard",category:"Objects"},{emoji:"📌",names:["pushpin"],tags:["location"],description:"pushpin",category:"Objects"},{emoji:"📍",names:["round_pushpin"],tags:["location"],description:"round pushpin",category:"Objects"},{emoji:"📎",names:["paperclip"],tags:[],description:"paperclip",category:"Objects"},{emoji:"🖇️",names:["paperclips"],tags:[],description:"linked paperclips",category:"Objects"},{emoji:"📏",names:["straight_ruler"],tags:[],description:"straight ruler",category:"Objects"},{emoji:"📐",names:["triangular_ruler"],tags:[],description:"triangular ruler",category:"Objects"},{emoji:"✂️",names:["scissors"],tags:["cut"],description:"scissors",category:"Objects"},{emoji:"🗃️",names:["card_file_box"],tags:[],description:"card file box",category:"Objects"},{emoji:"🗄️",names:["file_cabinet"],tags:[],description:"file cabinet",category:"Objects"},{emoji:"🗑️",names:["wastebasket"],tags:["trash"],description:"wastebasket",category:"Objects"},{emoji:"🔒",names:["lock"],tags:["security","private"],description:"locked",category:"Objects"},{emoji:"🔓",names:["unlock"],tags:["security"],description:"unlocked",category:"Objects"},{emoji:"🔏",names:["lock_with_ink_pen"],tags:[],description:"locked with pen",category:"Objects"},{emoji:"🔐",names:["closed_lock_with_key"],tags:["security"],description:"locked with key",category:"Objects"},{emoji:"🔑",names:["key"],tags:["lock","password"],description:"key",category:"Objects"},{emoji:"🗝️",names:["old_key"],tags:[],description:"old key",category:"Objects"},{emoji:"🔨",names:["hammer"],tags:["tool"],description:"hammer",category:"Objects"},{emoji:"🪓",names:["axe"],tags:[],description:"axe",category:"Objects"},{emoji:"⛏️",names:["pick"],tags:[],description:"pick",category:"Objects"},{emoji:"⚒️",names:["hammer_and_pick"],tags:[],description:"hammer and pick",category:"Objects"},{emoji:"🛠️",names:["hammer_and_wrench"],tags:[],description:"hammer and wrench",category:"Objects"},{emoji:"🗡️",names:["dagger"],tags:[],description:"dagger",category:"Objects"},{emoji:"⚔️",names:["crossed_swords"],tags:[],description:"crossed swords",category:"Objects"},{emoji:"💣",names:["bomb"],tags:["boom"],description:"bomb",category:"Objects"},{emoji:"🪃",names:["boomerang"],tags:[],description:"boomerang",category:"Objects"},{emoji:"🏹",names:["bow_and_arrow"],tags:["archery"],description:"bow and arrow",category:"Objects"},{emoji:"🛡️",names:["shield"],tags:[],description:"shield",category:"Objects"},{emoji:"🪚",names:["carpentry_saw"],tags:[],description:"carpentry saw",category:"Objects"},{emoji:"🔧",names:["wrench"],tags:["tool"],description:"wrench",category:"Objects"},{emoji:"🪛",names:["screwdriver"],tags:[],description:"screwdriver",category:"Objects"},{emoji:"🔩",names:["nut_and_bolt"],tags:[],description:"nut and bolt",category:"Objects"},{emoji:"⚙️",names:["gear"],tags:[],description:"gear",category:"Objects"},{emoji:"🗜️",names:["clamp"],tags:[],description:"clamp",category:"Objects"},{emoji:"⚖️",names:["balance_scale"],tags:[],description:"balance scale",category:"Objects"},{emoji:"🦯",names:["probing_cane"],tags:[],description:"white cane",category:"Objects"},{emoji:"🔗",names:["link"],tags:[],description:"link",category:"Objects"},{emoji:"⛓️",names:["chains"],tags:[],description:"chains",category:"Objects"},{emoji:"🪝",names:["hook"],tags:[],description:"hook",category:"Objects"},{emoji:"🧰",names:["toolbox"],tags:[],description:"toolbox",category:"Objects"},{emoji:"🧲",names:["magnet"],tags:[],description:"magnet",category:"Objects"},{emoji:"🪜",names:["ladder"],tags:[],description:"ladder",category:"Objects"},{emoji:"⚗️",names:["alembic"],tags:[],description:"alembic",category:"Objects"},{emoji:"🧪",names:["test_tube"],tags:[],description:"test tube",category:"Objects"},{emoji:"🧫",names:["petri_dish"],tags:[],description:"petri dish",category:"Objects"},{emoji:"🧬",names:["dna"],tags:[],description:"dna",category:"Objects"},{emoji:"🔬",names:["microscope"],tags:["science","laboratory","investigate"],description:"microscope",category:"Objects"},{emoji:"🔭",names:["telescope"],tags:[],description:"telescope",category:"Objects"},{emoji:"📡",names:["satellite"],tags:["signal"],description:"satellite antenna",category:"Objects"},{emoji:"💉",names:["syringe"],tags:["health","hospital","needle"],description:"syringe",category:"Objects"},{emoji:"🩸",names:["drop_of_blood"],tags:[],description:"drop of blood",category:"Objects"},{emoji:"💊",names:["pill"],tags:["health","medicine"],description:"pill",category:"Objects"},{emoji:"🩹",names:["adhesive_bandage"],tags:[],description:"adhesive bandage",category:"Objects"},{emoji:"🩼",names:["crutch"],tags:[],description:"crutch",category:"Objects"},{emoji:"🩺",names:["stethoscope"],tags:[],description:"stethoscope",category:"Objects"},{emoji:"🩻",names:["x_ray"],tags:[],description:"x-ray",category:"Objects"},{emoji:"🚪",names:["door"],tags:[],description:"door",category:"Objects"},{emoji:"🛗",names:["elevator"],tags:[],description:"elevator",category:"Objects"},{emoji:"🪞",names:["mirror"],tags:[],description:"mirror",category:"Objects"},{emoji:"🪟",names:["window"],tags:[],description:"window",category:"Objects"},{emoji:"🛏️",names:["bed"],tags:[],description:"bed",category:"Objects"},{emoji:"🛋️",names:["couch_and_lamp"],tags:[],description:"couch and lamp",category:"Objects"},{emoji:"🪑",names:["chair"],tags:[],description:"chair",category:"Objects"},{emoji:"🚽",names:["toilet"],tags:["wc"],description:"toilet",category:"Objects"},{emoji:"🪠",names:["plunger"],tags:[],description:"plunger",category:"Objects"},{emoji:"🚿",names:["shower"],tags:["bath"],description:"shower",category:"Objects"},{emoji:"🛁",names:["bathtub"],tags:[],description:"bathtub",category:"Objects"},{emoji:"🪤",names:["mouse_trap"],tags:[],description:"mouse trap",category:"Objects"},{emoji:"🪒",names:["razor"],tags:[],description:"razor",category:"Objects"},{emoji:"🧴",names:["lotion_bottle"],tags:[],description:"lotion bottle",category:"Objects"},{emoji:"🧷",names:["safety_pin"],tags:[],description:"safety pin",category:"Objects"},{emoji:"🧹",names:["broom"],tags:[],description:"broom",category:"Objects"},{emoji:"🧺",names:["basket"],tags:[],description:"basket",category:"Objects"},{emoji:"🧻",names:["roll_of_paper"],tags:["toilet"],description:"roll of paper",category:"Objects"},{emoji:"🪣",names:["bucket"],tags:[],description:"bucket",category:"Objects"},{emoji:"🧼",names:["soap"],tags:[],description:"soap",category:"Objects"},{emoji:"🫧",names:["bubbles"],tags:[],description:"bubbles",category:"Objects"},{emoji:"🪥",names:["toothbrush"],tags:[],description:"toothbrush",category:"Objects"},{emoji:"🧽",names:["sponge"],tags:[],description:"sponge",category:"Objects"},{emoji:"🧯",names:["fire_extinguisher"],tags:[],description:"fire extinguisher",category:"Objects"},{emoji:"🛒",names:["shopping_cart"],tags:[],description:"shopping cart",category:"Objects"},{emoji:"🚬",names:["smoking"],tags:["cigarette"],description:"cigarette",category:"Objects"},{emoji:"⚰️",names:["coffin"],tags:["funeral"],description:"coffin",category:"Objects"},{emoji:"🪦",names:["headstone"],tags:[],description:"headstone",category:"Objects"},{emoji:"⚱️",names:["funeral_urn"],tags:[],description:"funeral urn",category:"Objects"},{emoji:"🧿",names:["nazar_amulet"],tags:[],description:"nazar amulet",category:"Objects"},{emoji:"🪬",names:["hamsa"],tags:[],description:"hamsa",category:"Objects"},{emoji:"🗿",names:["moyai"],tags:["stone"],description:"moai",category:"Objects"},{emoji:"🪧",names:["placard"],tags:[],description:"placard",category:"Objects"},{emoji:"🪪",names:["identification_card"],tags:[],description:"identification card",category:"Objects"},{emoji:"🏧",names:["atm"],tags:[],description:"ATM sign",category:"Symbols"},{emoji:"🚮",names:["put_litter_in_its_place"],tags:[],description:"litter in bin sign",category:"Symbols"},{emoji:"🚰",names:["potable_water"],tags:[],description:"potable water",category:"Symbols"},{emoji:"♿",names:["wheelchair"],tags:["accessibility"],description:"wheelchair symbol",category:"Symbols"},{emoji:"🚹",names:["mens"],tags:[],description:"men’s room",category:"Symbols"},{emoji:"🚺",names:["womens"],tags:[],description:"women’s room",category:"Symbols"},{emoji:"🚻",names:["restroom"],tags:["toilet"],description:"restroom",category:"Symbols"},{emoji:"🚼",names:["baby_symbol"],tags:[],description:"baby symbol",category:"Symbols"},{emoji:"🚾",names:["wc"],tags:["toilet","restroom"],description:"water closet",category:"Symbols"},{emoji:"🛂",names:["passport_control"],tags:[],description:"passport control",category:"Symbols"},{emoji:"🛃",names:["customs"],tags:[],description:"customs",category:"Symbols"},{emoji:"🛄",names:["baggage_claim"],tags:["airport"],description:"baggage claim",category:"Symbols"},{emoji:"🛅",names:["left_luggage"],tags:[],description:"left luggage",category:"Symbols"},{emoji:"⚠️",names:["warning"],tags:["wip"],description:"warning",category:"Symbols"},{emoji:"🚸",names:["children_crossing"],tags:[],description:"children crossing",category:"Symbols"},{emoji:"⛔",names:["no_entry"],tags:["limit"],description:"no entry",category:"Symbols"},{emoji:"🚫",names:["no_entry_sign"],tags:["block","forbidden"],description:"prohibited",category:"Symbols"},{emoji:"🚳",names:["no_bicycles"],tags:[],description:"no bicycles",category:"Symbols"},{emoji:"🚭",names:["no_smoking"],tags:[],description:"no smoking",category:"Symbols"},{emoji:"🚯",names:["do_not_litter"],tags:[],description:"no littering",category:"Symbols"},{emoji:"🚱",names:["non-potable_water"],tags:[],description:"non-potable water",category:"Symbols"},{emoji:"🚷",names:["no_pedestrians"],tags:[],description:"no pedestrians",category:"Symbols"},{emoji:"📵",names:["no_mobile_phones"],tags:[],description:"no mobile phones",category:"Symbols"},{emoji:"🔞",names:["underage"],tags:[],description:"no one under eighteen",category:"Symbols"},{emoji:"☢️",names:["radioactive"],tags:[],description:"radioactive",category:"Symbols"},{emoji:"☣️",names:["biohazard"],tags:[],description:"biohazard",category:"Symbols"},{emoji:"⬆️",names:["arrow_up"],tags:[],description:"up arrow",category:"Symbols"},{emoji:"↗️",names:["arrow_upper_right"],tags:[],description:"up-right arrow",category:"Symbols"},{emoji:"➡️",names:["arrow_right"],tags:[],description:"right arrow",category:"Symbols"},{emoji:"↘️",names:["arrow_lower_right"],tags:[],description:"down-right arrow",category:"Symbols"},{emoji:"⬇️",names:["arrow_down"],tags:[],description:"down arrow",category:"Symbols"},{emoji:"↙️",names:["arrow_lower_left"],tags:[],description:"down-left arrow",category:"Symbols"},{emoji:"⬅️",names:["arrow_left"],tags:[],description:"left arrow",category:"Symbols"},{emoji:"↖️",names:["arrow_upper_left"],tags:[],description:"up-left arrow",category:"Symbols"},{emoji:"↕️",names:["arrow_up_down"],tags:[],description:"up-down arrow",category:"Symbols"},{emoji:"↔️",names:["left_right_arrow"],tags:[],description:"left-right arrow",category:"Symbols"},{emoji:"↩️",names:["leftwards_arrow_with_hook"],tags:["return"],description:"right arrow curving left",category:"Symbols"},{emoji:"↪️",names:["arrow_right_hook"],tags:[],description:"left arrow curving right",category:"Symbols"},{emoji:"⤴️",names:["arrow_heading_up"],tags:[],description:"right arrow curving up",category:"Symbols"},{emoji:"⤵️",names:["arrow_heading_down"],tags:[],description:"right arrow curving down",category:"Symbols"},{emoji:"🔃",names:["arrows_clockwise"],tags:[],description:"clockwise vertical arrows",category:"Symbols"},{emoji:"🔄",names:["arrows_counterclockwise"],tags:["sync"],description:"counterclockwise arrows button",category:"Symbols"},{emoji:"🔙",names:["back"],tags:[],description:"BACK arrow",category:"Symbols"},{emoji:"🔚",names:["end"],tags:[],description:"END arrow",category:"Symbols"},{emoji:"🔛",names:["on"],tags:[],description:"ON! arrow",category:"Symbols"},{emoji:"🔜",names:["soon"],tags:[],description:"SOON arrow",category:"Symbols"},{emoji:"🔝",names:["top"],tags:[],description:"TOP arrow",category:"Symbols"},{emoji:"🛐",names:["place_of_worship"],tags:[],description:"place of worship",category:"Symbols"},{emoji:"⚛️",names:["atom_symbol"],tags:[],description:"atom symbol",category:"Symbols"},{emoji:"🕉️",names:["om"],tags:[],description:"om",category:"Symbols"},{emoji:"✡️",names:["star_of_david"],tags:[],description:"star of David",category:"Symbols"},{emoji:"☸️",names:["wheel_of_dharma"],tags:[],description:"wheel of dharma",category:"Symbols"},{emoji:"☯️",names:["yin_yang"],tags:[],description:"yin yang",category:"Symbols"},{emoji:"✝️",names:["latin_cross"],tags:[],description:"latin cross",category:"Symbols"},{emoji:"☦️",names:["orthodox_cross"],tags:[],description:"orthodox cross",category:"Symbols"},{emoji:"☪️",names:["star_and_crescent"],tags:[],description:"star and crescent",category:"Symbols"},{emoji:"☮️",names:["peace_symbol"],tags:[],description:"peace symbol",category:"Symbols"},{emoji:"🕎",names:["menorah"],tags:[],description:"menorah",category:"Symbols"},{emoji:"🔯",names:["six_pointed_star"],tags:[],description:"dotted six-pointed star",category:"Symbols"},{emoji:"🪯",names:["khanda"],tags:[],description:"khanda",category:"Symbols"},{emoji:"♈",names:["aries"],tags:[],description:"Aries",category:"Symbols"},{emoji:"♉",names:["taurus"],tags:[],description:"Taurus",category:"Symbols"},{emoji:"♊",names:["gemini"],tags:[],description:"Gemini",category:"Symbols"},{emoji:"♋",names:["cancer"],tags:[],description:"Cancer",category:"Symbols"},{emoji:"♌",names:["leo"],tags:[],description:"Leo",category:"Symbols"},{emoji:"♍",names:["virgo"],tags:[],description:"Virgo",category:"Symbols"},{emoji:"♎",names:["libra"],tags:[],description:"Libra",category:"Symbols"},{emoji:"♏",names:["scorpius"],tags:[],description:"Scorpio",category:"Symbols"},{emoji:"♐",names:["sagittarius"],tags:[],description:"Sagittarius",category:"Symbols"},{emoji:"♑",names:["capricorn"],tags:[],description:"Capricorn",category:"Symbols"},{emoji:"♒",names:["aquarius"],tags:[],description:"Aquarius",category:"Symbols"},{emoji:"♓",names:["pisces"],tags:[],description:"Pisces",category:"Symbols"},{emoji:"⛎",names:["ophiuchus"],tags:[],description:"Ophiuchus",category:"Symbols"},{emoji:"🔀",names:["twisted_rightwards_arrows"],tags:["shuffle"],description:"shuffle tracks button",category:"Symbols"},{emoji:"🔁",names:["repeat"],tags:["loop"],description:"repeat button",category:"Symbols"},{emoji:"🔂",names:["repeat_one"],tags:[],description:"repeat single button",category:"Symbols"},{emoji:"▶️",names:["arrow_forward"],tags:[],description:"play button",category:"Symbols"},{emoji:"⏩",names:["fast_forward"],tags:[],description:"fast-forward button",category:"Symbols"},{emoji:"⏭️",names:["next_track_button"],tags:[],description:"next track button",category:"Symbols"},{emoji:"⏯️",names:["play_or_pause_button"],tags:[],description:"play or pause button",category:"Symbols"},{emoji:"◀️",names:["arrow_backward"],tags:[],description:"reverse button",category:"Symbols"},{emoji:"⏪",names:["rewind"],tags:[],description:"fast reverse button",category:"Symbols"},{emoji:"⏮️",names:["previous_track_button"],tags:[],description:"last track button",category:"Symbols"},{emoji:"🔼",names:["arrow_up_small"],tags:[],description:"upwards button",category:"Symbols"},{emoji:"⏫",names:["arrow_double_up"],tags:[],description:"fast up button",category:"Symbols"},{emoji:"🔽",names:["arrow_down_small"],tags:[],description:"downwards button",category:"Symbols"},{emoji:"⏬",names:["arrow_double_down"],tags:[],description:"fast down button",category:"Symbols"},{emoji:"⏸️",names:["pause_button"],tags:[],description:"pause button",category:"Symbols"},{emoji:"⏹️",names:["stop_button"],tags:[],description:"stop button",category:"Symbols"},{emoji:"⏺️",names:["record_button"],tags:[],description:"record button",category:"Symbols"},{emoji:"⏏️",names:["eject_button"],tags:[],description:"eject button",category:"Symbols"},{emoji:"🎦",names:["cinema"],tags:["film","movie"],description:"cinema",category:"Symbols"},{emoji:"🔅",names:["low_brightness"],tags:[],description:"dim button",category:"Symbols"},{emoji:"🔆",names:["high_brightness"],tags:[],description:"bright button",category:"Symbols"},{emoji:"📶",names:["signal_strength"],tags:["wifi"],description:"antenna bars",category:"Symbols"},{emoji:"🛜",names:["wireless"],tags:["wifi"],description:"wireless",category:"Symbols"},{emoji:"📳",names:["vibration_mode"],tags:[],description:"vibration mode",category:"Symbols"},{emoji:"📴",names:["mobile_phone_off"],tags:["mute","off"],description:"mobile phone off",category:"Symbols"},{emoji:"♀️",names:["female_sign"],tags:[],description:"female sign",category:"Symbols"},{emoji:"♂️",names:["male_sign"],tags:[],description:"male sign",category:"Symbols"},{emoji:"⚧️",names:["transgender_symbol"],tags:[],description:"transgender symbol",category:"Symbols"},{emoji:"✖️",names:["heavy_multiplication_x"],tags:[],description:"multiply",category:"Symbols"},{emoji:"➕",names:["heavy_plus_sign"],tags:[],description:"plus",category:"Symbols"},{emoji:"➖",names:["heavy_minus_sign"],tags:[],description:"minus",category:"Symbols"},{emoji:"➗",names:["heavy_division_sign"],tags:[],description:"divide",category:"Symbols"},{emoji:"🟰",names:["heavy_equals_sign"],tags:[],description:"heavy equals sign",category:"Symbols"},{emoji:"♾️",names:["infinity"],tags:[],description:"infinity",category:"Symbols"},{emoji:"‼️",names:["bangbang"],tags:[],description:"double exclamation mark",category:"Symbols"},{emoji:"⁉️",names:["interrobang"],tags:[],description:"exclamation question mark",category:"Symbols"},{emoji:"❓",names:["question"],tags:["confused"],description:"red question mark",category:"Symbols"},{emoji:"❔",names:["grey_question"],tags:[],description:"white question mark",category:"Symbols"},{emoji:"❕",names:["grey_exclamation"],tags:[],description:"white exclamation mark",category:"Symbols"},{emoji:"❗",names:["exclamation","heavy_exclamation_mark"],tags:["bang"],description:"red exclamation mark",category:"Symbols"},{emoji:"〰️",names:["wavy_dash"],tags:[],description:"wavy dash",category:"Symbols"},{emoji:"💱",names:["currency_exchange"],tags:[],description:"currency exchange",category:"Symbols"},{emoji:"💲",names:["heavy_dollar_sign"],tags:[],description:"heavy dollar sign",category:"Symbols"},{emoji:"⚕️",names:["medical_symbol"],tags:[],description:"medical symbol",category:"Symbols"},{emoji:"♻️",names:["recycle"],tags:["environment","green"],description:"recycling symbol",category:"Symbols"},{emoji:"⚜️",names:["fleur_de_lis"],tags:[],description:"fleur-de-lis",category:"Symbols"},{emoji:"🔱",names:["trident"],tags:[],description:"trident emblem",category:"Symbols"},{emoji:"📛",names:["name_badge"],tags:[],description:"name badge",category:"Symbols"},{emoji:"🔰",names:["beginner"],tags:[],description:"Japanese symbol for beginner",category:"Symbols"},{emoji:"⭕",names:["o"],tags:[],description:"hollow red circle",category:"Symbols"},{emoji:"✅",names:["white_check_mark"],tags:[],description:"check mark button",category:"Symbols"},{emoji:"☑️",names:["ballot_box_with_check"],tags:[],description:"check box with check",category:"Symbols"},{emoji:"✔️",names:["heavy_check_mark"],tags:[],description:"check mark",category:"Symbols"},{emoji:"❌",names:["x"],tags:[],description:"cross mark",category:"Symbols"},{emoji:"❎",names:["negative_squared_cross_mark"],tags:[],description:"cross mark button",category:"Symbols"},{emoji:"➰",names:["curly_loop"],tags:[],description:"curly loop",category:"Symbols"},{emoji:"➿",names:["loop"],tags:[],description:"double curly loop",category:"Symbols"},{emoji:"〽️",names:["part_alternation_mark"],tags:[],description:"part alternation mark",category:"Symbols"},{emoji:"✳️",names:["eight_spoked_asterisk"],tags:[],description:"eight-spoked asterisk",category:"Symbols"},{emoji:"✴️",names:["eight_pointed_black_star"],tags:[],description:"eight-pointed star",category:"Symbols"},{emoji:"❇️",names:["sparkle"],tags:[],description:"sparkle",category:"Symbols"},{emoji:"©️",names:["copyright"],tags:[],description:"copyright",category:"Symbols"},{emoji:"®️",names:["registered"],tags:[],description:"registered",category:"Symbols"},{emoji:"™️",names:["tm"],tags:["trademark"],description:"trade mark",category:"Symbols"},{emoji:"#️⃣",names:["hash"],tags:["number"],description:"keycap: #",category:"Symbols"},{emoji:"*️⃣",names:["asterisk"],tags:[],description:"keycap: *",category:"Symbols"},{emoji:"0️⃣",names:["zero"],tags:[],description:"keycap: 0",category:"Symbols"},{emoji:"1️⃣",names:["one"],tags:[],description:"keycap: 1",category:"Symbols"},{emoji:"2️⃣",names:["two"],tags:[],description:"keycap: 2",category:"Symbols"},{emoji:"3️⃣",names:["three"],tags:[],description:"keycap: 3",category:"Symbols"},{emoji:"4️⃣",names:["four"],tags:[],description:"keycap: 4",category:"Symbols"},{emoji:"5️⃣",names:["five"],tags:[],description:"keycap: 5",category:"Symbols"},{emoji:"6️⃣",names:["six"],tags:[],description:"keycap: 6",category:"Symbols"},{emoji:"7️⃣",names:["seven"],tags:[],description:"keycap: 7",category:"Symbols"},{emoji:"8️⃣",names:["eight"],tags:[],description:"keycap: 8",category:"Symbols"},{emoji:"9️⃣",names:["nine"],tags:[],description:"keycap: 9",category:"Symbols"},{emoji:"🔟",names:["keycap_ten"],tags:[],description:"keycap: 10",category:"Symbols"},{emoji:"🔠",names:["capital_abcd"],tags:["letters"],description:"input latin uppercase",category:"Symbols"},{emoji:"🔡",names:["abcd"],tags:[],description:"input latin lowercase",category:"Symbols"},{emoji:"🔢",names:["1234"],tags:["numbers"],description:"input numbers",category:"Symbols"},{emoji:"🔣",names:["symbols"],tags:[],description:"input symbols",category:"Symbols"},{emoji:"🔤",names:["abc"],tags:["alphabet"],description:"input latin letters",category:"Symbols"},{emoji:"🅰️",names:["a"],tags:[],description:"A button (blood type)",category:"Symbols"},{emoji:"🆎",names:["ab"],tags:[],description:"AB button (blood type)",category:"Symbols"},{emoji:"🅱️",names:["b"],tags:[],description:"B button (blood type)",category:"Symbols"},{emoji:"🆑",names:["cl"],tags:[],description:"CL button",category:"Symbols"},{emoji:"🆒",names:["cool"],tags:[],description:"COOL button",category:"Symbols"},{emoji:"🆓",names:["free"],tags:[],description:"FREE button",category:"Symbols"},{emoji:"ℹ️",names:["information_source"],tags:[],description:"information",category:"Symbols"},{emoji:"🆔",names:["id"],tags:[],description:"ID button",category:"Symbols"},{emoji:"Ⓜ️",names:["m"],tags:[],description:"circled M",category:"Symbols"},{emoji:"🆕",names:["new"],tags:["fresh"],description:"NEW button",category:"Symbols"},{emoji:"🆖",names:["ng"],tags:[],description:"NG button",category:"Symbols"},{emoji:"🅾️",names:["o2"],tags:[],description:"O button (blood type)",category:"Symbols"},{emoji:"🆗",names:["ok"],tags:["yes"],description:"OK button",category:"Symbols"},{emoji:"🅿️",names:["parking"],tags:[],description:"P button",category:"Symbols"},{emoji:"🆘",names:["sos"],tags:["help","emergency"],description:"SOS button",category:"Symbols"},{emoji:"🆙",names:["up"],tags:[],description:"UP! button",category:"Symbols"},{emoji:"🆚",names:["vs"],tags:[],description:"VS button",category:"Symbols"},{emoji:"🈁",names:["koko"],tags:[],description:"Japanese “here” button",category:"Symbols"},{emoji:"🈂️",names:["sa"],tags:[],description:"Japanese “service charge” button",category:"Symbols"},{emoji:"🈷️",names:["u6708"],tags:[],description:"Japanese “monthly amount” button",category:"Symbols"},{emoji:"🈶",names:["u6709"],tags:[],description:"Japanese “not free of charge” button",category:"Symbols"},{emoji:"🈯",names:["u6307"],tags:[],description:"Japanese “reserved” button",category:"Symbols"},{emoji:"🉐",names:["ideograph_advantage"],tags:[],description:"Japanese “bargain” button",category:"Symbols"},{emoji:"🈹",names:["u5272"],tags:[],description:"Japanese “discount” button",category:"Symbols"},{emoji:"🈚",names:["u7121"],tags:[],description:"Japanese “free of charge” button",category:"Symbols"},{emoji:"🈲",names:["u7981"],tags:[],description:"Japanese “prohibited” button",category:"Symbols"},{emoji:"🉑",names:["accept"],tags:[],description:"Japanese “acceptable” button",category:"Symbols"},{emoji:"🈸",names:["u7533"],tags:[],description:"Japanese “application” button",category:"Symbols"},{emoji:"🈴",names:["u5408"],tags:[],description:"Japanese “passing grade” button",category:"Symbols"},{emoji:"🈳",names:["u7a7a"],tags:[],description:"Japanese “vacancy” button",category:"Symbols"},{emoji:"㊗️",names:["congratulations"],tags:[],description:"Japanese “congratulations” button",category:"Symbols"},{emoji:"㊙️",names:["secret"],tags:[],description:"Japanese “secret” button",category:"Symbols"},{emoji:"🈺",names:["u55b6"],tags:[],description:"Japanese “open for business” button",category:"Symbols"},{emoji:"🈵",names:["u6e80"],tags:[],description:"Japanese “no vacancy” button",category:"Symbols"},{emoji:"🔴",names:["red_circle"],tags:[],description:"red circle",category:"Symbols"},{emoji:"🟠",names:["orange_circle"],tags:[],description:"orange circle",category:"Symbols"},{emoji:"🟡",names:["yellow_circle"],tags:[],description:"yellow circle",category:"Symbols"},{emoji:"🟢",names:["green_circle"],tags:[],description:"green circle",category:"Symbols"},{emoji:"🔵",names:["large_blue_circle"],tags:[],description:"blue circle",category:"Symbols"},{emoji:"🟣",names:["purple_circle"],tags:[],description:"purple circle",category:"Symbols"},{emoji:"🟤",names:["brown_circle"],tags:[],description:"brown circle",category:"Symbols"},{emoji:"⚫",names:["black_circle"],tags:[],description:"black circle",category:"Symbols"},{emoji:"⚪",names:["white_circle"],tags:[],description:"white circle",category:"Symbols"},{emoji:"🟥",names:["red_square"],tags:[],description:"red square",category:"Symbols"},{emoji:"🟧",names:["orange_square"],tags:[],description:"orange square",category:"Symbols"},{emoji:"🟨",names:["yellow_square"],tags:[],description:"yellow square",category:"Symbols"},{emoji:"🟩",names:["green_square"],tags:[],description:"green square",category:"Symbols"},{emoji:"🟦",names:["blue_square"],tags:[],description:"blue square",category:"Symbols"},{emoji:"🟪",names:["purple_square"],tags:[],description:"purple square",category:"Symbols"},{emoji:"🟫",names:["brown_square"],tags:[],description:"brown square",category:"Symbols"},{emoji:"⬛",names:["black_large_square"],tags:[],description:"black large square",category:"Symbols"},{emoji:"⬜",names:["white_large_square"],tags:[],description:"white large square",category:"Symbols"},{emoji:"◼️",names:["black_medium_square"],tags:[],description:"black medium square",category:"Symbols"},{emoji:"◻️",names:["white_medium_square"],tags:[],description:"white medium square",category:"Symbols"},{emoji:"◾",names:["black_medium_small_square"],tags:[],description:"black medium-small square",category:"Symbols"},{emoji:"◽",names:["white_medium_small_square"],tags:[],description:"white medium-small square",category:"Symbols"},{emoji:"▪️",names:["black_small_square"],tags:[],description:"black small square",category:"Symbols"},{emoji:"▫️",names:["white_small_square"],tags:[],description:"white small square",category:"Symbols"},{emoji:"🔶",names:["large_orange_diamond"],tags:[],description:"large orange diamond",category:"Symbols"},{emoji:"🔷",names:["large_blue_diamond"],tags:[],description:"large blue diamond",category:"Symbols"},{emoji:"🔸",names:["small_orange_diamond"],tags:[],description:"small orange diamond",category:"Symbols"},{emoji:"🔹",names:["small_blue_diamond"],tags:[],description:"small blue diamond",category:"Symbols"},{emoji:"🔺",names:["small_red_triangle"],tags:[],description:"red triangle pointed up",category:"Symbols"},{emoji:"🔻",names:["small_red_triangle_down"],tags:[],description:"red triangle pointed down",category:"Symbols"},{emoji:"💠",names:["diamond_shape_with_a_dot_inside"],tags:[],description:"diamond with a dot",category:"Symbols"},{emoji:"🔘",names:["radio_button"],tags:[],description:"radio button",category:"Symbols"},{emoji:"🔳",names:["white_square_button"],tags:[],description:"white square button",category:"Symbols"},{emoji:"🔲",names:["black_square_button"],tags:[],description:"black square button",category:"Symbols"},{emoji:"🏁",names:["checkered_flag"],tags:["milestone","finish"],description:"chequered flag",category:"Flags"},{emoji:"🚩",names:["triangular_flag_on_post"],tags:[],description:"triangular flag",category:"Flags"},{emoji:"🎌",names:["crossed_flags"],tags:[],description:"crossed flags",category:"Flags"},{emoji:"🏴",names:["black_flag"],tags:[],description:"black flag",category:"Flags"},{emoji:"🏳️",names:["white_flag"],tags:[],description:"white flag",category:"Flags"},{emoji:"🏳️‍🌈",names:["rainbow_flag"],tags:["pride"],description:"rainbow flag",category:"Flags"},{emoji:"🏳️‍⚧️",names:["transgender_flag"],tags:[],description:"transgender flag",category:"Flags"},{emoji:"🏴‍☠️",names:["pirate_flag"],tags:[],description:"pirate flag",category:"Flags"},{emoji:"🇦🇨",names:["ascension_island"],tags:[],description:"flag: Ascension Island",category:"Flags"},{emoji:"🇦🇩",names:["andorra"],tags:[],description:"flag: Andorra",category:"Flags"},{emoji:"🇦🇪",names:["united_arab_emirates"],tags:[],description:"flag: United Arab Emirates",category:"Flags"},{emoji:"🇦🇫",names:["afghanistan"],tags:[],description:"flag: Afghanistan",category:"Flags"},{emoji:"🇦🇬",names:["antigua_barbuda"],tags:[],description:"flag: Antigua & Barbuda",category:"Flags"},{emoji:"🇦🇮",names:["anguilla"],tags:[],description:"flag: Anguilla",category:"Flags"},{emoji:"🇦🇱",names:["albania"],tags:[],description:"flag: Albania",category:"Flags"},{emoji:"🇦🇲",names:["armenia"],tags:[],description:"flag: Armenia",category:"Flags"},{emoji:"🇦🇴",names:["angola"],tags:[],description:"flag: Angola",category:"Flags"},{emoji:"🇦🇶",names:["antarctica"],tags:[],description:"flag: Antarctica",category:"Flags"},{emoji:"🇦🇷",names:["argentina"],tags:[],description:"flag: Argentina",category:"Flags"},{emoji:"🇦🇸",names:["american_samoa"],tags:[],description:"flag: American Samoa",category:"Flags"},{emoji:"🇦🇹",names:["austria"],tags:[],description:"flag: Austria",category:"Flags"},{emoji:"🇦🇺",names:["australia"],tags:[],description:"flag: Australia",category:"Flags"},{emoji:"🇦🇼",names:["aruba"],tags:[],description:"flag: Aruba",category:"Flags"},{emoji:"🇦🇽",names:["aland_islands"],tags:[],description:"flag: Åland Islands",category:"Flags"},{emoji:"🇦🇿",names:["azerbaijan"],tags:[],description:"flag: Azerbaijan",category:"Flags"},{emoji:"🇧🇦",names:["bosnia_herzegovina"],tags:[],description:"flag: Bosnia & Herzegovina",category:"Flags"},{emoji:"🇧🇧",names:["barbados"],tags:[],description:"flag: Barbados",category:"Flags"},{emoji:"🇧🇩",names:["bangladesh"],tags:[],description:"flag: Bangladesh",category:"Flags"},{emoji:"🇧🇪",names:["belgium"],tags:[],description:"flag: Belgium",category:"Flags"},{emoji:"🇧🇫",names:["burkina_faso"],tags:[],description:"flag: Burkina Faso",category:"Flags"},{emoji:"🇧🇬",names:["bulgaria"],tags:[],description:"flag: Bulgaria",category:"Flags"},{emoji:"🇧🇭",names:["bahrain"],tags:[],description:"flag: Bahrain",category:"Flags"},{emoji:"🇧🇮",names:["burundi"],tags:[],description:"flag: Burundi",category:"Flags"},{emoji:"🇧🇯",names:["benin"],tags:[],description:"flag: Benin",category:"Flags"},{emoji:"🇧🇱",names:["st_barthelemy"],tags:[],description:"flag: St. Barthélemy",category:"Flags"},{emoji:"🇧🇲",names:["bermuda"],tags:[],description:"flag: Bermuda",category:"Flags"},{emoji:"🇧🇳",names:["brunei"],tags:[],description:"flag: Brunei",category:"Flags"},{emoji:"🇧🇴",names:["bolivia"],tags:[],description:"flag: Bolivia",category:"Flags"},{emoji:"🇧🇶",names:["caribbean_netherlands"],tags:[],description:"flag: Caribbean Netherlands",category:"Flags"},{emoji:"🇧🇷",names:["brazil"],tags:[],description:"flag: Brazil",category:"Flags"},{emoji:"🇧🇸",names:["bahamas"],tags:[],description:"flag: Bahamas",category:"Flags"},{emoji:"🇧🇹",names:["bhutan"],tags:[],description:"flag: Bhutan",category:"Flags"},{emoji:"🇧🇻",names:["bouvet_island"],tags:[],description:"flag: Bouvet Island",category:"Flags"},{emoji:"🇧🇼",names:["botswana"],tags:[],description:"flag: Botswana",category:"Flags"},{emoji:"🇧🇾",names:["belarus"],tags:[],description:"flag: Belarus",category:"Flags"},{emoji:"🇧🇿",names:["belize"],tags:[],description:"flag: Belize",category:"Flags"},{emoji:"🇨🇦",names:["canada"],tags:[],description:"flag: Canada",category:"Flags"},{emoji:"🇨🇨",names:["cocos_islands"],tags:["keeling"],description:"flag: Cocos (Keeling) Islands",category:"Flags"},{emoji:"🇨🇩",names:["congo_kinshasa"],tags:[],description:"flag: Congo - Kinshasa",category:"Flags"},{emoji:"🇨🇫",names:["central_african_republic"],tags:[],description:"flag: Central African Republic",category:"Flags"},{emoji:"🇨🇬",names:["congo_brazzaville"],tags:[],description:"flag: Congo - Brazzaville",category:"Flags"},{emoji:"🇨🇭",names:["switzerland"],tags:[],description:"flag: Switzerland",category:"Flags"},{emoji:"🇨🇮",names:["cote_divoire"],tags:["ivory"],description:"flag: Côte d’Ivoire",category:"Flags"},{emoji:"🇨🇰",names:["cook_islands"],tags:[],description:"flag: Cook Islands",category:"Flags"},{emoji:"🇨🇱",names:["chile"],tags:[],description:"flag: Chile",category:"Flags"},{emoji:"🇨🇲",names:["cameroon"],tags:[],description:"flag: Cameroon",category:"Flags"},{emoji:"🇨🇳",names:["cn"],tags:["china"],description:"flag: China",category:"Flags"},{emoji:"🇨🇴",names:["colombia"],tags:[],description:"flag: Colombia",category:"Flags"},{emoji:"🇨🇵",names:["clipperton_island"],tags:[],description:"flag: Clipperton Island",category:"Flags"},{emoji:"🇨🇷",names:["costa_rica"],tags:[],description:"flag: Costa Rica",category:"Flags"},{emoji:"🇨🇺",names:["cuba"],tags:[],description:"flag: Cuba",category:"Flags"},{emoji:"🇨🇻",names:["cape_verde"],tags:[],description:"flag: Cape Verde",category:"Flags"},{emoji:"🇨🇼",names:["curacao"],tags:[],description:"flag: Curaçao",category:"Flags"},{emoji:"🇨🇽",names:["christmas_island"],tags:[],description:"flag: Christmas Island",category:"Flags"},{emoji:"🇨🇾",names:["cyprus"],tags:[],description:"flag: Cyprus",category:"Flags"},{emoji:"🇨🇿",names:["czech_republic"],tags:[],description:"flag: Czechia",category:"Flags"},{emoji:"🇩🇪",names:["de"],tags:["flag","germany"],description:"flag: Germany",category:"Flags"},{emoji:"🇩🇬",names:["diego_garcia"],tags:[],description:"flag: Diego Garcia",category:"Flags"},{emoji:"🇩🇯",names:["djibouti"],tags:[],description:"flag: Djibouti",category:"Flags"},{emoji:"🇩🇰",names:["denmark"],tags:[],description:"flag: Denmark",category:"Flags"},{emoji:"🇩🇲",names:["dominica"],tags:[],description:"flag: Dominica",category:"Flags"},{emoji:"🇩🇴",names:["dominican_republic"],tags:[],description:"flag: Dominican Republic",category:"Flags"},{emoji:"🇩🇿",names:["algeria"],tags:[],description:"flag: Algeria",category:"Flags"},{emoji:"🇪🇦",names:["ceuta_melilla"],tags:[],description:"flag: Ceuta & Melilla",category:"Flags"},{emoji:"🇪🇨",names:["ecuador"],tags:[],description:"flag: Ecuador",category:"Flags"},{emoji:"🇪🇪",names:["estonia"],tags:[],description:"flag: Estonia",category:"Flags"},{emoji:"🇪🇬",names:["egypt"],tags:[],description:"flag: Egypt",category:"Flags"},{emoji:"🇪🇭",names:["western_sahara"],tags:[],description:"flag: Western Sahara",category:"Flags"},{emoji:"🇪🇷",names:["eritrea"],tags:[],description:"flag: Eritrea",category:"Flags"},{emoji:"🇪🇸",names:["es"],tags:["spain"],description:"flag: Spain",category:"Flags"},{emoji:"🇪🇹",names:["ethiopia"],tags:[],description:"flag: Ethiopia",category:"Flags"},{emoji:"🇪🇺",names:["eu","european_union"],tags:[],description:"flag: European Union",category:"Flags"},{emoji:"🇫🇮",names:["finland"],tags:[],description:"flag: Finland",category:"Flags"},{emoji:"🇫🇯",names:["fiji"],tags:[],description:"flag: Fiji",category:"Flags"},{emoji:"🇫🇰",names:["falkland_islands"],tags:[],description:"flag: Falkland Islands",category:"Flags"},{emoji:"🇫🇲",names:["micronesia"],tags:[],description:"flag: Micronesia",category:"Flags"},{emoji:"🇫🇴",names:["faroe_islands"],tags:[],description:"flag: Faroe Islands",category:"Flags"},{emoji:"🇫🇷",names:["fr"],tags:["france","french"],description:"flag: France",category:"Flags"},{emoji:"🇬🇦",names:["gabon"],tags:[],description:"flag: Gabon",category:"Flags"},{emoji:"🇬🇧",names:["gb","uk"],tags:["flag","british"],description:"flag: United Kingdom",category:"Flags"},{emoji:"🇬🇩",names:["grenada"],tags:[],description:"flag: Grenada",category:"Flags"},{emoji:"🇬🇪",names:["georgia"],tags:[],description:"flag: Georgia",category:"Flags"},{emoji:"🇬🇫",names:["french_guiana"],tags:[],description:"flag: French Guiana",category:"Flags"},{emoji:"🇬🇬",names:["guernsey"],tags:[],description:"flag: Guernsey",category:"Flags"},{emoji:"🇬🇭",names:["ghana"],tags:[],description:"flag: Ghana",category:"Flags"},{emoji:"🇬🇮",names:["gibraltar"],tags:[],description:"flag: Gibraltar",category:"Flags"},{emoji:"🇬🇱",names:["greenland"],tags:[],description:"flag: Greenland",category:"Flags"},{emoji:"🇬🇲",names:["gambia"],tags:[],description:"flag: Gambia",category:"Flags"},{emoji:"🇬🇳",names:["guinea"],tags:[],description:"flag: Guinea",category:"Flags"},{emoji:"🇬🇵",names:["guadeloupe"],tags:[],description:"flag: Guadeloupe",category:"Flags"},{emoji:"🇬🇶",names:["equatorial_guinea"],tags:[],description:"flag: Equatorial Guinea",category:"Flags"},{emoji:"🇬🇷",names:["greece"],tags:[],description:"flag: Greece",category:"Flags"},{emoji:"🇬🇸",names:["south_georgia_south_sandwich_islands"],tags:[],description:"flag: South Georgia & South Sandwich Islands",category:"Flags"},{emoji:"🇬🇹",names:["guatemala"],tags:[],description:"flag: Guatemala",category:"Flags"},{emoji:"🇬🇺",names:["guam"],tags:[],description:"flag: Guam",category:"Flags"},{emoji:"🇬🇼",names:["guinea_bissau"],tags:[],description:"flag: Guinea-Bissau",category:"Flags"},{emoji:"🇬🇾",names:["guyana"],tags:[],description:"flag: Guyana",category:"Flags"},{emoji:"🇭🇰",names:["hong_kong"],tags:[],description:"flag: Hong Kong SAR China",category:"Flags"},{emoji:"🇭🇲",names:["heard_mcdonald_islands"],tags:[],description:"flag: Heard & McDonald Islands",category:"Flags"},{emoji:"🇭🇳",names:["honduras"],tags:[],description:"flag: Honduras",category:"Flags"},{emoji:"🇭🇷",names:["croatia"],tags:[],description:"flag: Croatia",category:"Flags"},{emoji:"🇭🇹",names:["haiti"],tags:[],description:"flag: Haiti",category:"Flags"},{emoji:"🇭🇺",names:["hungary"],tags:[],description:"flag: Hungary",category:"Flags"},{emoji:"🇮🇨",names:["canary_islands"],tags:[],description:"flag: Canary Islands",category:"Flags"},{emoji:"🇮🇩",names:["indonesia"],tags:[],description:"flag: Indonesia",category:"Flags"},{emoji:"🇮🇪",names:["ireland"],tags:[],description:"flag: Ireland",category:"Flags"},{emoji:"🇮🇱",names:["israel"],tags:[],description:"flag: Israel",category:"Flags"},{emoji:"🇮🇲",names:["isle_of_man"],tags:[],description:"flag: Isle of Man",category:"Flags"},{emoji:"🇮🇳",names:["india"],tags:[],description:"flag: India",category:"Flags"},{emoji:"🇮🇴",names:["british_indian_ocean_territory"],tags:[],description:"flag: British Indian Ocean Territory",category:"Flags"},{emoji:"🇮🇶",names:["iraq"],tags:[],description:"flag: Iraq",category:"Flags"},{emoji:"🇮🇷",names:["iran"],tags:[],description:"flag: Iran",category:"Flags"},{emoji:"🇮🇸",names:["iceland"],tags:[],description:"flag: Iceland",category:"Flags"},{emoji:"🇮🇹",names:["it"],tags:["italy"],description:"flag: Italy",category:"Flags"},{emoji:"🇯🇪",names:["jersey"],tags:[],description:"flag: Jersey",category:"Flags"},{emoji:"🇯🇲",names:["jamaica"],tags:[],description:"flag: Jamaica",category:"Flags"},{emoji:"🇯🇴",names:["jordan"],tags:[],description:"flag: Jordan",category:"Flags"},{emoji:"🇯🇵",names:["jp"],tags:["japan"],description:"flag: Japan",category:"Flags"},{emoji:"🇰🇪",names:["kenya"],tags:[],description:"flag: Kenya",category:"Flags"},{emoji:"🇰🇬",names:["kyrgyzstan"],tags:[],description:"flag: Kyrgyzstan",category:"Flags"},{emoji:"🇰🇭",names:["cambodia"],tags:[],description:"flag: Cambodia",category:"Flags"},{emoji:"🇰🇮",names:["kiribati"],tags:[],description:"flag: Kiribati",category:"Flags"},{emoji:"🇰🇲",names:["comoros"],tags:[],description:"flag: Comoros",category:"Flags"},{emoji:"🇰🇳",names:["st_kitts_nevis"],tags:[],description:"flag: St. Kitts & Nevis",category:"Flags"},{emoji:"🇰🇵",names:["north_korea"],tags:[],description:"flag: North Korea",category:"Flags"},{emoji:"🇰🇷",names:["kr"],tags:["korea"],description:"flag: South Korea",category:"Flags"},{emoji:"🇰🇼",names:["kuwait"],tags:[],description:"flag: Kuwait",category:"Flags"},{emoji:"🇰🇾",names:["cayman_islands"],tags:[],description:"flag: Cayman Islands",category:"Flags"},{emoji:"🇰🇿",names:["kazakhstan"],tags:[],description:"flag: Kazakhstan",category:"Flags"},{emoji:"🇱🇦",names:["laos"],tags:[],description:"flag: Laos",category:"Flags"},{emoji:"🇱🇧",names:["lebanon"],tags:[],description:"flag: Lebanon",category:"Flags"},{emoji:"🇱🇨",names:["st_lucia"],tags:[],description:"flag: St. Lucia",category:"Flags"},{emoji:"🇱🇮",names:["liechtenstein"],tags:[],description:"flag: Liechtenstein",category:"Flags"},{emoji:"🇱🇰",names:["sri_lanka"],tags:[],description:"flag: Sri Lanka",category:"Flags"},{emoji:"🇱🇷",names:["liberia"],tags:[],description:"flag: Liberia",category:"Flags"},{emoji:"🇱🇸",names:["lesotho"],tags:[],description:"flag: Lesotho",category:"Flags"},{emoji:"🇱🇹",names:["lithuania"],tags:[],description:"flag: Lithuania",category:"Flags"},{emoji:"🇱🇺",names:["luxembourg"],tags:[],description:"flag: Luxembourg",category:"Flags"},{emoji:"🇱🇻",names:["latvia"],tags:[],description:"flag: Latvia",category:"Flags"},{emoji:"🇱🇾",names:["libya"],tags:[],description:"flag: Libya",category:"Flags"},{emoji:"🇲🇦",names:["morocco"],tags:[],description:"flag: Morocco",category:"Flags"},{emoji:"🇲🇨",names:["monaco"],tags:[],description:"flag: Monaco",category:"Flags"},{emoji:"🇲🇩",names:["moldova"],tags:[],description:"flag: Moldova",category:"Flags"},{emoji:"🇲🇪",names:["montenegro"],tags:[],description:"flag: Montenegro",category:"Flags"},{emoji:"🇲🇫",names:["st_martin"],tags:[],description:"flag: St. Martin",category:"Flags"},{emoji:"🇲🇬",names:["madagascar"],tags:[],description:"flag: Madagascar",category:"Flags"},{emoji:"🇲🇭",names:["marshall_islands"],tags:[],description:"flag: Marshall Islands",category:"Flags"},{emoji:"🇲🇰",names:["macedonia"],tags:[],description:"flag: North Macedonia",category:"Flags"},{emoji:"🇲🇱",names:["mali"],tags:[],description:"flag: Mali",category:"Flags"},{emoji:"🇲🇲",names:["myanmar"],tags:["burma"],description:"flag: Myanmar (Burma)",category:"Flags"},{emoji:"🇲🇳",names:["mongolia"],tags:[],description:"flag: Mongolia",category:"Flags"},{emoji:"🇲🇴",names:["macau"],tags:[],description:"flag: Macao SAR China",category:"Flags"},{emoji:"🇲🇵",names:["northern_mariana_islands"],tags:[],description:"flag: Northern Mariana Islands",category:"Flags"},{emoji:"🇲🇶",names:["martinique"],tags:[],description:"flag: Martinique",category:"Flags"},{emoji:"🇲🇷",names:["mauritania"],tags:[],description:"flag: Mauritania",category:"Flags"},{emoji:"🇲🇸",names:["montserrat"],tags:[],description:"flag: Montserrat",category:"Flags"},{emoji:"🇲🇹",names:["malta"],tags:[],description:"flag: Malta",category:"Flags"},{emoji:"🇲🇺",names:["mauritius"],tags:[],description:"flag: Mauritius",category:"Flags"},{emoji:"🇲🇻",names:["maldives"],tags:[],description:"flag: Maldives",category:"Flags"},{emoji:"🇲🇼",names:["malawi"],tags:[],description:"flag: Malawi",category:"Flags"},{emoji:"🇲🇽",names:["mexico"],tags:[],description:"flag: Mexico",category:"Flags"},{emoji:"🇲🇾",names:["malaysia"],tags:[],description:"flag: Malaysia",category:"Flags"},{emoji:"🇲🇿",names:["mozambique"],tags:[],description:"flag: Mozambique",category:"Flags"},{emoji:"🇳🇦",names:["namibia"],tags:[],description:"flag: Namibia",category:"Flags"},{emoji:"🇳🇨",names:["new_caledonia"],tags:[],description:"flag: New Caledonia",category:"Flags"},{emoji:"🇳🇪",names:["niger"],tags:[],description:"flag: Niger",category:"Flags"},{emoji:"🇳🇫",names:["norfolk_island"],tags:[],description:"flag: Norfolk Island",category:"Flags"},{emoji:"🇳🇬",names:["nigeria"],tags:[],description:"flag: Nigeria",category:"Flags"},{emoji:"🇳🇮",names:["nicaragua"],tags:[],description:"flag: Nicaragua",category:"Flags"},{emoji:"🇳🇱",names:["netherlands"],tags:[],description:"flag: Netherlands",category:"Flags"},{emoji:"🇳🇴",names:["norway"],tags:[],description:"flag: Norway",category:"Flags"},{emoji:"🇳🇵",names:["nepal"],tags:[],description:"flag: Nepal",category:"Flags"},{emoji:"🇳🇷",names:["nauru"],tags:[],description:"flag: Nauru",category:"Flags"},{emoji:"🇳🇺",names:["niue"],tags:[],description:"flag: Niue",category:"Flags"},{emoji:"🇳🇿",names:["new_zealand"],tags:[],description:"flag: New Zealand",category:"Flags"},{emoji:"🇴🇲",names:["oman"],tags:[],description:"flag: Oman",category:"Flags"},{emoji:"🇵🇦",names:["panama"],tags:[],description:"flag: Panama",category:"Flags"},{emoji:"🇵🇪",names:["peru"],tags:[],description:"flag: Peru",category:"Flags"},{emoji:"🇵🇫",names:["french_polynesia"],tags:[],description:"flag: French Polynesia",category:"Flags"},{emoji:"🇵🇬",names:["papua_new_guinea"],tags:[],description:"flag: Papua New Guinea",category:"Flags"},{emoji:"🇵🇭",names:["philippines"],tags:[],description:"flag: Philippines",category:"Flags"},{emoji:"🇵🇰",names:["pakistan"],tags:[],description:"flag: Pakistan",category:"Flags"},{emoji:"🇵🇱",names:["poland"],tags:[],description:"flag: Poland",category:"Flags"},{emoji:"🇵🇲",names:["st_pierre_miquelon"],tags:[],description:"flag: St. Pierre & Miquelon",category:"Flags"},{emoji:"🇵🇳",names:["pitcairn_islands"],tags:[],description:"flag: Pitcairn Islands",category:"Flags"},{emoji:"🇵🇷",names:["puerto_rico"],tags:[],description:"flag: Puerto Rico",category:"Flags"},{emoji:"🇵🇸",names:["palestinian_territories"],tags:[],description:"flag: Palestinian Territories",category:"Flags"},{emoji:"🇵🇹",names:["portugal"],tags:[],description:"flag: Portugal",category:"Flags"},{emoji:"🇵🇼",names:["palau"],tags:[],description:"flag: Palau",category:"Flags"},{emoji:"🇵🇾",names:["paraguay"],tags:[],description:"flag: Paraguay",category:"Flags"},{emoji:"🇶🇦",names:["qatar"],tags:[],description:"flag: Qatar",category:"Flags"},{emoji:"🇷🇪",names:["reunion"],tags:[],description:"flag: Réunion",category:"Flags"},{emoji:"🇷🇴",names:["romania"],tags:[],description:"flag: Romania",category:"Flags"},{emoji:"🇷🇸",names:["serbia"],tags:[],description:"flag: Serbia",category:"Flags"},{emoji:"🇷🇺",names:["ru"],tags:["russia"],description:"flag: Russia",category:"Flags"},{emoji:"🇷🇼",names:["rwanda"],tags:[],description:"flag: Rwanda",category:"Flags"},{emoji:"🇸🇦",names:["saudi_arabia"],tags:[],description:"flag: Saudi Arabia",category:"Flags"},{emoji:"🇸🇧",names:["solomon_islands"],tags:[],description:"flag: Solomon Islands",category:"Flags"},{emoji:"🇸🇨",names:["seychelles"],tags:[],description:"flag: Seychelles",category:"Flags"},{emoji:"🇸🇩",names:["sudan"],tags:[],description:"flag: Sudan",category:"Flags"},{emoji:"🇸🇪",names:["sweden"],tags:[],description:"flag: Sweden",category:"Flags"},{emoji:"🇸🇬",names:["singapore"],tags:[],description:"flag: Singapore",category:"Flags"},{emoji:"🇸🇭",names:["st_helena"],tags:[],description:"flag: St. Helena",category:"Flags"},{emoji:"🇸🇮",names:["slovenia"],tags:[],description:"flag: Slovenia",category:"Flags"},{emoji:"🇸🇯",names:["svalbard_jan_mayen"],tags:[],description:"flag: Svalbard & Jan Mayen",category:"Flags"},{emoji:"🇸🇰",names:["slovakia"],tags:[],description:"flag: Slovakia",category:"Flags"},{emoji:"🇸🇱",names:["sierra_leone"],tags:[],description:"flag: Sierra Leone",category:"Flags"},{emoji:"🇸🇲",names:["san_marino"],tags:[],description:"flag: San Marino",category:"Flags"},{emoji:"🇸🇳",names:["senegal"],tags:[],description:"flag: Senegal",category:"Flags"},{emoji:"🇸🇴",names:["somalia"],tags:[],description:"flag: Somalia",category:"Flags"},{emoji:"🇸🇷",names:["suriname"],tags:[],description:"flag: Suriname",category:"Flags"},{emoji:"🇸🇸",names:["south_sudan"],tags:[],description:"flag: South Sudan",category:"Flags"},{emoji:"🇸🇹",names:["sao_tome_principe"],tags:[],description:"flag: São Tomé & Príncipe",category:"Flags"},{emoji:"🇸🇻",names:["el_salvador"],tags:[],description:"flag: El Salvador",category:"Flags"},{emoji:"🇸🇽",names:["sint_maarten"],tags:[],description:"flag: Sint Maarten",category:"Flags"},{emoji:"🇸🇾",names:["syria"],tags:[],description:"flag: Syria",category:"Flags"},{emoji:"🇸🇿",names:["swaziland"],tags:[],description:"flag: Eswatini",category:"Flags"},{emoji:"🇹🇦",names:["tristan_da_cunha"],tags:[],description:"flag: Tristan da Cunha",category:"Flags"},{emoji:"🇹🇨",names:["turks_caicos_islands"],tags:[],description:"flag: Turks & Caicos Islands",category:"Flags"},{emoji:"🇹🇩",names:["chad"],tags:[],description:"flag: Chad",category:"Flags"},{emoji:"🇹🇫",names:["french_southern_territories"],tags:[],description:"flag: French Southern Territories",category:"Flags"},{emoji:"🇹🇬",names:["togo"],tags:[],description:"flag: Togo",category:"Flags"},{emoji:"🇹🇭",names:["thailand"],tags:[],description:"flag: Thailand",category:"Flags"},{emoji:"🇹🇯",names:["tajikistan"],tags:[],description:"flag: Tajikistan",category:"Flags"},{emoji:"🇹🇰",names:["tokelau"],tags:[],description:"flag: Tokelau",category:"Flags"},{emoji:"🇹🇱",names:["timor_leste"],tags:[],description:"flag: Timor-Leste",category:"Flags"},{emoji:"🇹🇲",names:["turkmenistan"],tags:[],description:"flag: Turkmenistan",category:"Flags"},{emoji:"🇹🇳",names:["tunisia"],tags:[],description:"flag: Tunisia",category:"Flags"},{emoji:"🇹🇴",names:["tonga"],tags:[],description:"flag: Tonga",category:"Flags"},{emoji:"🇹🇷",names:["tr"],tags:["turkey"],description:"flag: Turkey",category:"Flags"},{emoji:"🇹🇹",names:["trinidad_tobago"],tags:[],description:"flag: Trinidad & Tobago",category:"Flags"},{emoji:"🇹🇻",names:["tuvalu"],tags:[],description:"flag: Tuvalu",category:"Flags"},{emoji:"🇹🇼",names:["taiwan"],tags:[],description:"flag: Taiwan",category:"Flags"},{emoji:"🇹🇿",names:["tanzania"],tags:[],description:"flag: Tanzania",category:"Flags"},{emoji:"🇺🇦",names:["ukraine"],tags:[],description:"flag: Ukraine",category:"Flags"},{emoji:"🇺🇬",names:["uganda"],tags:[],description:"flag: Uganda",category:"Flags"},{emoji:"🇺🇲",names:["us_outlying_islands"],tags:[],description:"flag: U.S. Outlying Islands",category:"Flags"},{emoji:"🇺🇳",names:["united_nations"],tags:[],description:"flag: United Nations",category:"Flags"},{emoji:"🇺🇸",names:["us"],tags:["flag","united","america"],description:"flag: United States",category:"Flags"},{emoji:"🇺🇾",names:["uruguay"],tags:[],description:"flag: Uruguay",category:"Flags"},{emoji:"🇺🇿",names:["uzbekistan"],tags:[],description:"flag: Uzbekistan",category:"Flags"},{emoji:"🇻🇦",names:["vatican_city"],tags:[],description:"flag: Vatican City",category:"Flags"},{emoji:"🇻🇨",names:["st_vincent_grenadines"],tags:[],description:"flag: St. Vincent & Grenadines",category:"Flags"},{emoji:"🇻🇪",names:["venezuela"],tags:[],description:"flag: Venezuela",category:"Flags"},{emoji:"🇻🇬",names:["british_virgin_islands"],tags:[],description:"flag: British Virgin Islands",category:"Flags"},{emoji:"🇻🇮",names:["us_virgin_islands"],tags:[],description:"flag: U.S. Virgin Islands",category:"Flags"},{emoji:"🇻🇳",names:["vietnam"],tags:[],description:"flag: Vietnam",category:"Flags"},{emoji:"🇻🇺",names:["vanuatu"],tags:[],description:"flag: Vanuatu",category:"Flags"},{emoji:"🇼🇫",names:["wallis_futuna"],tags:[],description:"flag: Wallis & Futuna",category:"Flags"},{emoji:"🇼🇸",names:["samoa"],tags:[],description:"flag: Samoa",category:"Flags"},{emoji:"🇽🇰",names:["kosovo"],tags:[],description:"flag: Kosovo",category:"Flags"},{emoji:"🇾🇪",names:["yemen"],tags:[],description:"flag: Yemen",category:"Flags"},{emoji:"🇾🇹",names:["mayotte"],tags:[],description:"flag: Mayotte",category:"Flags"},{emoji:"🇿🇦",names:["south_africa"],tags:[],description:"flag: South Africa",category:"Flags"},{emoji:"🇿🇲",names:["zambia"],tags:[],description:"flag: Zambia",category:"Flags"},{emoji:"🇿🇼",names:["zimbabwe"],tags:[],description:"flag: Zimbabwe",category:"Flags"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",names:["england"],tags:[],description:"flag: England",category:"Flags"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",names:["scotland"],tags:[],description:"flag: Scotland",category:"Flags"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",names:["wales"],tags:[],description:"flag: Wales",category:"Flags"}],r2=/:\+1:|:-1:|:[\w+-]+:/g,s2="https://github.githubassets.com/images/icons/emoji/unicode",i2=new Map(o2.flatMap(e=>e.names.map(t=>[t,{description:e.description,emoji:e.emoji}])));function a2(e){const t=Array.from(e).map(n=>n.codePointAt(0)?.toString(16)).filter(n=>n&&n!=="fe0f").join("-");return`${s2}/${t}.png?v8`}function c2(e){const t=e.slice(1,-1),n=i2.get(t);return n?{type:"image",url:a2(n.emoji),alt:e,title:n.description,data:{hProperties:{className:"barkdown-emoji",draggable:!1,loading:"lazy"}}}:!1}function l2(e){const t=e.value;if(e.type!=="text"||!t)return[e];const n=[];let o=0;for(const r of t.matchAll(r2)){const s=r[0],i=r.index??0,a=c2(s);a&&(i>o&&n.push({type:"text",value:t.slice(o,i)}),n.push(a),o=i+s.length)}return o===0?[e]:(o<t.length&&n.push({type:"text",value:t.slice(o)}),n)}function Ej(e){if(!e.children)return;const t=[];for(const n of e.children)n.type==="text"?t.push(...l2(n)):(Ej(n),t.push(n));e.children=t}function u2(){return e=>{Ej(e)}}function Kf(e){let t;try{t=new URL(e)}catch{return}if(!(t.protocol!=="http:"&&t.protocol!=="https:"))return`https://www.google.com/s2/favicons?domain=${t.hostname}&sz=32`}const On="#2563eb",ar="#d9383a",Hi="#ea580c",Ki="#15803d",cr="#a16207",Io="#7c3aed",lr="#db2777",Rl="#0d9488",Yu="#64748b",ao="#334155",d2={pdf:{label:"PDF",color:ar},md:{label:"MD",color:On},markdown:{label:"MD",color:On},mdx:{label:"MDX",color:On},mdown:{label:"MD",color:On},mkd:{label:"MD",color:On},mkdn:{label:"MD",color:On},txt:{label:"TXT",color:Yu},text:{label:"TXT",color:Yu},html:{label:"HTML",color:Hi},htm:{label:"HTML",color:Hi},doc:{label:"DOC",color:On},docx:{label:"DOCX",color:On},odt:{label:"ODT",color:On},rtf:{label:"RTF",color:On},xls:{label:"XLS",color:Ki},xlsx:{label:"XLSX",color:Ki},ods:{label:"ODS",color:Ki},csv:{label:"CSV",color:Ki},ppt:{label:"PPT",color:Hi},pptx:{label:"PPTX",color:Hi},png:{label:"PNG",color:Io},jpg:{label:"JPG",color:Io},jpeg:{label:"JPEG",color:Io},gif:{label:"GIF",color:Io},webp:{label:"WEBP",color:Io},avif:{label:"AVIF",color:Io},svg:{label:"SVG",color:Io},mp3:{label:"MP3",color:lr},wav:{label:"WAV",color:lr},ogg:{label:"OGG",color:lr},m4a:{label:"M4A",color:lr},flac:{label:"FLAC",color:lr},aac:{label:"AAC",color:lr},mp4:{label:"MP4",color:ar},mov:{label:"MOV",color:ar},avi:{label:"AVI",color:ar},mkv:{label:"MKV",color:ar},webm:{label:"WEBM",color:ar},zip:{label:"ZIP",color:cr},gz:{label:"GZ",color:cr},tgz:{label:"TGZ",color:cr},tar:{label:"TAR",color:cr},rar:{label:"RAR",color:cr},"7z":{label:"7Z",color:cr},json:{label:"JSON",color:Rl},yaml:{label:"YAML",color:Rl},yml:{label:"YML",color:Rl},ts:{label:"TS",color:ao},tsx:{label:"TSX",color:ao},js:{label:"JS",color:ao},jsx:{label:"JSX",color:ao},py:{label:"PY",color:ao},go:{label:"GO",color:ao},rs:{label:"RS",color:ao},sh:{label:"SH",color:ao}};function Pj(e){if(Kf(e))return;const[t]=e.split(/[?#]/);if(!t)return;const n=t.slice(t.lastIndexOf("/")+1),o=n.lastIndexOf(".");if(o<=0)return;const r=n.slice(o+1).toLowerCase();if(r)return d2[r]??{label:r.slice(0,4).toUpperCase(),color:Yu}}function Cj({className:e="barkdown-link-icon",href:t}){if(!t)return null;const n=Kf(t);if(n)return d.jsx("img",{alt:"",className:e,height:16,loading:"lazy",src:n,width:16});const o=Pj(t);if(!o)return null;const{color:r,label:s}=o,i=s.length<=2?7:s.length===3?6.2:5.2;return d.jsxs("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",children:[d.jsx("rect",{x:"0.5",y:"0.5",fill:r,height:"15",rx:"3",width:"15"}),d.jsx("text",{dominantBaseline:"central",fill:"#fff",fontFamily:"ui-sans-serif, system-ui, sans-serif",fontSize:i,fontWeight:"700",letterSpacing:"0.02em",textAnchor:"middle",x:"8",y:"8.5",children:s})]})}function Tj({children:e,href:t,node:n,...o}){return d.jsxs("a",{href:t,...o,children:[d.jsx(Cj,{href:t}),e]})}function Oj({target:e,copied:t,onCopy:n,inline:o}){return d.jsx("button",{type:"button",className:o?"barkdown-heading-copy barkdown-heading-copy-inline":"barkdown-heading-copy","aria-label":`Copy heading reference ${e}`,title:`Copy ${e}`,onClick:r=>{r.stopPropagation(),n()},children:t?d.jsx(Hf,{"aria-hidden":"true",size:14}):d.jsx(J$,{"aria-hidden":"true",size:14})})}function Rj(e,t,n){return`${e}:${t??"?"}${n?` [${n}]`:""}`}function Ij(e){const t=[],n=r=>{if(typeof r=="string"||typeof r=="number")t.push(String(r));else if(f.isValidElement(r))r.props.children!=null&&n(r.props.children);else if(Array.isArray(r))for(const s of r)n(s)};return n(e),t.join("").replace(/\s+/g," ").trim()||void 0}function Nc(e=1800){const[t,n]=f.useState(!1),o=f.useCallback(r=>{navigator.clipboard.writeText(r).then(()=>{n(!0),window.setTimeout(()=>n(!1),e)})},[e]);return{copied:t,copy:o}}function f2({children:e,headingCopyPath:t}){const{open:n,toggle:o,contentRef:r}=m2(),{copied:s,copy:i}=Nc(),a=f.Children.toArray(e),c=a.findIndex(w=>f.isValidElement(w)),l=c>=0?a[c]:null,m=a.filter((w,v)=>v!==c),u=f.isValidElement(l)&&typeof l.props.id=="string"?l.props.id:void 0,p=u?`${u}-content`:void 0,g=f.isValidElement(l)&&typeof l.props["data-barkdown-line"]=="string"?l.props["data-barkdown-line"]:void 0,b=f.isValidElement(l)?Ij(l.props.children):void 0,h=t&&g?Rj(t,g,b):void 0,y=f.isValidElement(l)&&p?f.cloneElement(l,{},h?d.jsx(Oj,{copied:s,onCopy:()=>i(h),target:h}):null,d.jsxs("button",{type:"button",className:"barkdown-heading-toggle","aria-expanded":n,"aria-controls":p,onClick:o,children:[d.jsx("span",{className:"barkdown-heading-toggle-label",children:l.props.children}),d.jsx(Sj,{"aria-hidden":"true",className:"barkdown-heading-toggle-icon",size:18})]})):l;return d.jsxs("section",{"data-barkdown-section":"",children:[y,d.jsx("div",{ref:r,id:p,className:"barkdown-section-content",hidden:!n,children:m})]})}function m2(){const[e,t]=f.useState(!0),n=f.useRef(null);f.useEffect(()=>{const r=()=>{const s=window.location.hash;if(s.length<2)return;const i=document.getElementById(decodeURIComponent(s.slice(1)));i&&n.current?.contains(i)&&t(!0)};return r(),window.addEventListener("hashchange",r),()=>window.removeEventListener("hashchange",r)},[]);function o(){t(r=>!r)}return{open:e,toggle:o,contentRef:n}}const p2={startOnLoad:!1,securityLevel:"strict",theme:"base",htmlLabels:!1,flowchart:{curve:"basis",nodeSpacing:56,rankSpacing:72,wrappingWidth:220},themeVariables:{fontFamily:"Inter, ui-sans-serif, system-ui, sans-serif",primaryColor:"#ffffff",primaryTextColor:"#20232a",primaryBorderColor:"#ded8cf",lineColor:"#6d737c",secondaryColor:"#f4f1ea",tertiaryColor:"#f8f6f2"}};function g2(e,t=""){let n=0;for(let o=0;o<e.length;o+=1)n=(n<<5)-n+e.charCodeAt(o),n|=0;return`barkdown-mermaid-${Math.abs(n)}${t}`}let Og=Promise.resolve();async function h2(e,t){const n=Og.then(async()=>{const{default:o}=await Wr(async()=>{const{default:r}=await import("./mermaid.core-bE6Vl3bZ.js").then(s=>s.bp);return{default:r}},__vite__mapDeps([4,2,1]));return o.initialize(p2),o.render(e,t)});return Og=n.then(()=>{},()=>{}),n}function Aj({diagram:e,title:t="Mermaid diagram"}){const n=f.useId().replaceAll(":",""),[o,r]=f.useState(""),[s,i]=f.useState("");return f.useEffect(()=>{let a=!1;async function c(){r(""),i("");try{const l=await h2(g2(e,`-${n}`),e.trim());a||r(l.svg)}catch(l){if(a)return;i(l instanceof Error?l.message:"Unable to render diagram.")}}return c(),()=>{a=!0}},[e,n]),d.jsxs("figure",{"aria-label":t,"data-barkdown-mermaid":"",children:[d.jsx("figcaption",{"data-barkdown-mermaid-toolbar":"",children:d.jsx("span",{"data-barkdown-mermaid-title":"",children:t})}),d.jsx("div",{"data-barkdown-mermaid-viewport":"",children:s?d.jsx("div",{"data-barkdown-mermaid-error":"",children:s}):o?d.jsx("div",{"data-barkdown-mermaid-surface":"",dangerouslySetInnerHTML:{__html:o}}):d.jsx("div",{"data-barkdown-mermaid-status":"",children:"Rendering diagram…"})})]})}function Us({title:e,thumbnail:t,children:n,contentClassName:o}){const[r,s]=f.useState(!1),i=f.useId();return d.jsxs("span",{className:"barkdown-media",children:[d.jsxs("button",{type:"button",className:"barkdown-media-toggle","aria-expanded":r,"aria-controls":i,onClick:()=>s(a=>!a),children:[d.jsx("span",{className:"barkdown-media-thumbnail","aria-hidden":"true",children:t}),d.jsx("span",{children:e}),d.jsx(Sj,{"aria-hidden":"true",size:16})]}),d.jsx("span",{id:i,hidden:!r,children:r?d.jsx("span",{className:o?`barkdown-media-content ${o}`:"barkdown-media-content",children:n}):null})]})}function qf(e,t){return e?.split(/[?#]/)[0]?.split("/").filter(Boolean).at(-1)||t}function Wf(e){let t;try{t=new URL(e)}catch{return}if(e.match(/\/embed\/[A-Za-z0-9_-]{11}/)){const n=e.match(/\/embed\/([A-Za-z0-9_-]{11})/)[1];return ur(e,void 0,`YouTube video ${n}`)}if(t.hostname.endsWith("youtube.com")||t.hostname==="youtube.com"||t.hostname==="m.youtube.com"){const n=t.searchParams.get("v")??t.pathname.split("/").filter(Boolean).pop();if(n&&/^[A-Za-z0-9_-]{11}$/.test(n))return ur(`https://www.youtube-nocookie.com/embed/${n}`,`https://i.ytimg.com/vi/${n}/hqdefault.jpg`,`YouTube video ${n}`)}if(t.hostname==="youtu.be"){const n=t.pathname.replace("/","");if(n&&/^[A-Za-z0-9_-]{11}$/.test(n))return ur(`https://www.youtube-nocookie.com/embed/${n}`,`https://i.ytimg.com/vi/${n}/hqdefault.jpg`,`YouTube video ${n}`)}if(t.hostname.endsWith("vimeo.com")){const n=t.pathname.split("/").filter(Boolean)[0];if(n&&/^\d+$/.test(n))return ur(`https://player.vimeo.com/video/${n}`,void 0,`Vimeo video ${n}`)}if(t.hostname.endsWith("streamable.com")&&t.pathname.startsWith("/")){const n=t.pathname.split("/").filter(Boolean)[0];if(n&&n!=="")return ur(`https://streamable.com/e/${n}?nocontrols=0`,void 0,`Streamable video ${n}`)}if(t.hostname.endsWith("loom.com")&&t.pathname.includes("/share/")){const n=t.pathname.split("/share/")[1]?.split("/")[0];if(n&&/^[a-f0-9]+$/.test(n))return ur(`https://www.loom.com/embed/${n}`,void 0,`Loom video ${n}`)}}function ur(e,t,n){return{name:n??"Video",thumb:t?d.jsx("img",{src:t,alt:"",loading:"lazy"}):null,iframe:{src:e}}}function Gf({node:e,...t}){if(t.className?.split(/\s+/).includes("barkdown-emoji"))return d.jsx("img",{...t});if(!t.title&&typeof t.src=="string"){const o=Wf(t.src);if(o){const r=t.alt||o.name;return d.jsx(Us,{title:r,thumbnail:o.thumb,children:d.jsx("iframe",{...o.iframe,allowFullScreen:!0,loading:"lazy",title:r})})}}const n=t.title||t.alt||qf(typeof t.src=="string"?t.src:void 0,"Image");return d.jsx(Us,{title:n,thumbnail:d.jsx("img",{src:t.src,alt:"",loading:"lazy"}),children:d.jsx("img",{...t})})}function Zf({node:e,...t}){const n=!t.title&&t.src?Wf(t.src):void 0,o=t.title||n?.name||qf(t.src,"Embedded page");return d.jsx(Us,{title:o,thumbnail:n?.thumb??null,contentClassName:"barkdown-media-iframe",children:d.jsx("iframe",{...t,allowFullScreen:!0,title:o})})}function Yf({node:e,...t}){const n=t.src||f.Children.toArray(t.children).reduce((s,i)=>s||(f.isValidElement(i)&&i.type==="source"?i.props.src:void 0),void 0),o=n?Wf(n):void 0,r=t.title||o?.name||qf(n,"Video");return o?d.jsx(Us,{title:r,thumbnail:o.thumb,children:d.jsx("iframe",{...o.iframe,allowFullScreen:!0,loading:"lazy",title:r})}):d.jsx(Us,{title:r,thumbnail:t.poster?d.jsx("img",{src:t.poster,alt:"",loading:"lazy"}):d.jsx("video",{src:n,muted:!0,playsInline:!0,preload:"metadata"}),children:d.jsx("video",{...t,controls:!0,autoPlay:!0,playsInline:!0})})}const y2={...xi,tagNames:[...xi.tagNames??[],"small","video","source","track","iframe"],attributes:{...xi.attributes,video:["src","poster","controls","preload","width","height","loop","muted","playsInline"],source:["src","type"],track:["src","kind","label","srcLang","default"],iframe:["src","width","height","allowFullScreen","title"]},protocols:{...xi.protocols,poster:["http","https"],iframe:["http","https"]}},Rg=[o0,y2];function Tr(...e){return e.filter(Boolean).join(" ")||void 0}function b2(e){return e.mode==="mdx"?d.jsx(Mj,{...e}):d.jsx(Nj,{...e})}function Nj({className:e,collapsibleHeadings:t=!1,components:n,copyCode:o=!0,headingCopyPath:r,htmlEmbed:s,linkIcons:i=!0,style:a,value:c}){const l=f.useMemo(()=>{const u={a:({node:p,...g})=>i?d.jsx(Tj,{...g}):d.jsx("a",{...g}),code:p=>d.jsx(Xf,{copy:o,documentPath:r,htmlEmbed:s,...p}),pre:p=>d.jsx(j2,{...p}),img:Gf,video:Yf,iframe:Zf,...r&&!t?w2(r):{},...n};return t?{[n0]:p=>d.jsx(f2,{headingCopyPath:r,...p}),...u}:u},[t,n,o,r,s,i]),m=f.useMemo(()=>t?[Lm,Rg,Bm,zm,Vm,r0]:[Lm,Rg,Bm,zm,Vm],[t]);return d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"",style:a,children:d.jsx(s0,{components:l,rehypePlugins:m,remarkPlugins:[i0,a0,c0,u2],children:c})})}const v2=["h1","h2","h3","h4","h5","h6"];function w2(e){return Object.fromEntries(v2.map(t=>[t,n=>d.jsx(x2,{path:e,tag:t,...n})]))}function x2({path:e,tag:t,children:n,node:o,...r}){const{copied:s,copy:i}=Nc(),a=t,c=r,l=typeof c["data-barkdown-line"]=="string"?c["data-barkdown-line"]:void 0,m=Tr("barkdown-heading-wrapper",typeof r.className=="string"?r.className:void 0),u=Ij(n),p=!!(e&&l),g=p?Rj(e,l,u):void 0;return d.jsxs(a,{...r,className:Tr(m,p?"barkdown-heading-copyable":void 0),onClick:p?()=>i(g):void 0,children:[n,g?d.jsx(Oj,{copied:s,inline:!0,onCopy:()=>i(g),target:g}):null]})}function j2({children:e,node:t,...n}){return f.isValidElement(e)&&e.props.className?.split(/\s+/).some(o=>o==="language-mermaid"||o==="language-barkdown-html")?e:d.jsx("pre",{...n,children:e})}function Mj({className:e,components:t,copyCode:n=!0,fallback:o=null,onError:r,style:s,value:i}){const[a,c]=f.useState(null),[l,m]=f.useState(null),u=f.useMemo(()=>({code:p=>d.jsx(Xf,{copy:n,...p}),img:Gf,video:Yf,iframe:Zf,...t}),[t,n]);return f.useEffect(()=>{let p=!1;async function g(){try{const b=await z$(i,{...KS,baseUrl:import.meta.url});if(p)return;c(()=>b.default),m(null)}catch(b){const h=b instanceof Error?b:new Error(String(b));if(p)return;c(null),m(h),r?.(h)}}return g(),()=>{p=!0}},[r,i]),l?d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"","data-barkdown-error":"",style:s,children:l.message}):a?d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"",style:s,children:d.jsx(a,{components:u})}):d.jsx("div",{className:Tr("barkdown-content",e),"data-barkdown":"","data-barkdown-loading":"",style:s,children:o})}function _2({path:e,documentPath:t,resolve:n}){const[o,r]=f.useState(0),s=f.useMemo(()=>e&&!e.includes(`
273
273
  `)?n?.(e):void 0,[e,n,o]),i=typeof s=="string"?void 0:s,[a,c]=f.useState();f.useEffect(()=>{if(!i)return;let h=!0;return i.then(y=>{h&&c({pending:i,source:y})},()=>{h&&c({pending:i,failed:!0})}),()=>{h=!1}},[i]);const l=!!(i&&a?.pending!==i),m=i&&a?.pending===i?a:void 0,u=typeof s=="string"?s:m?.source,g=(e.split("/").at(-1)??e).replace(/\.html?$/i,"").replaceAll(/[-_]/g," "),b=t?`${t.slice(0,t.lastIndexOf("/")+1)}${e}`:e;return d.jsx(S2,{html:u,path:b,title:g,loading:l,onReload:()=>r(h=>h+1),children:l?d.jsx("span",{role:"status",children:"Loading HTML visualization…"}):u?d.jsx("iframe",{"data-barkdown-html-embed":"",loading:"lazy",sandbox:"allow-scripts",srcDoc:u,title:g},o):d.jsxs("span",{"data-barkdown-html-embed-error":"",children:[m?.failed?"Could not load HTML visualization":"HTML visualization not found",": ",e||"missing path"]})})}function S2({children:e,html:t,loading:n,onReload:o,path:r,title:s}){const{copied:i,copy:a}=Nc(),[c,l]=f.useState();return f.useEffect(()=>{if(!t)return;const m=document.implementation.createHTMLDocument(s),u=m.createElement("meta");u.setAttribute("charset","utf-8"),m.head.prepend(u),m.documentElement.style.height="100%",m.body.style.cssText="margin:0;height:100%";const p=m.createElement("iframe");p.setAttribute("sandbox","allow-scripts"),p.title=s,p.srcdoc=t,p.style.cssText="display:block;width:100%;height:100%;border:0",m.body.append(p);const g=URL.createObjectURL(new Blob(["<!doctype html>",m.documentElement.outerHTML],{type:"text/html;charset=utf-8"}));return l({html:t,href:g}),()=>URL.revokeObjectURL(g)},[t,s]),d.jsxs("figure",{"data-barkdown-html-preview":"","aria-label":s,children:[d.jsxs("figcaption",{"data-barkdown-html-toolbar":"",children:[d.jsx("span",{children:s}),d.jsxs("span",{"data-barkdown-html-actions":"",children:[d.jsx("button",{type:"button","aria-label":"Reload HTML",title:"Reload HTML",disabled:n,onClick:o,children:d.jsx(n2,{"aria-hidden":"true"})}),d.jsx("button",{type:"button","aria-label":i?"HTML file path copied":"Copy HTML file path",title:`Copy HTML file path: ${r}`,onClick:()=>a(r),children:i?d.jsx(Hf,{"aria-hidden":"true"}):d.jsx(kj,{"aria-hidden":"true"})}),d.jsx("a",{"data-barkdown-html-open":"","aria-label":"Open HTML",title:"Open HTML",href:t&&c?.html===t?c.href:void 0,"aria-disabled":!t||void 0,rel:"noopener noreferrer",children:d.jsx(e2,{"aria-hidden":"true"})})]})]}),e]})}function Xf({children:e,className:t,copy:n=!0,documentPath:o,htmlEmbed:r,inline:s,node:i,...a}){const{copied:c,copy:l}=Nc(),m=String(e??"").replace(/\n$/,""),u=/(?:^|\s)language-([\w+-]+)/.exec(t??"")?.[1]?.toLowerCase(),p=s===!1||!!t||m.includes(`
274
274
  `);return u==="mermaid"?d.jsx(Aj,{diagram:m}):u==="barkdown-html"?d.jsx(_2,{path:m.trim(),documentPath:o,resolve:r}):p?d.jsxs("span",{"data-barkdown-code-block":"",children:[d.jsx("code",{className:t,...a,children:e}),n?d.jsx("button",{"aria-label":"Copy code","data-barkdown-code-copy":"",type:"button",onClick:()=>{l(m)},children:c?d.jsx(Hf,{"aria-hidden":"true",size:14}):d.jsx(kj,{"aria-hidden":"true",size:14})}):null]}):d.jsx("code",{className:t,...a,children:e})}const k2=Object.freeze(Object.defineProperty({__proto__:null,BarkdownContent:b2,BarkdownLink:Tj,BarkdownMarkdown:Nj,BarkdownMdx:Mj,BarkdownMermaid:Aj,CodeBlock:Xf,IframePreview:Zf,ImagePreview:Gf,LinkIcon:Cj,VideoPreview:Yf,faviconUrl:Kf,fileBadge:Pj},Symbol.toStringTag,{value:"Module"}));function Xu(e){const t=e?.replace(/[\\/]+$/,"").split(/[\\/]/).pop();return t||void 0}function Il(e){return e?e.url??(e.data?`data:${e.mediaType};base64,${e.data}`:void 0):void 0}function E2(e){const t=Il(e?.assets[e?.iconAssetKey??""])??Il(e?.assets[e?.repository?.avatarAssetKey??""])??Il(e?.assets[e?.faviconAssetKey??""]);return t?{src:t}:void 0}function P2(e){const t=e?.repository?.name;return t||void 0}function C2({modal:e,...t}){const{contained:n}=Fn();return d.jsx(gw,{"data-slot":"dropdown-menu",modal:e??!n,...t})}function T2({container:e,...t}){const n=es();return d.jsx(yw,{"data-slot":"dropdown-menu-portal",container:e??n,...t})}function O2({...e}){return d.jsx(hw,{"data-slot":"dropdown-menu-trigger",...e})}function R2({className:e,sideOffset:t=4,...n}){return d.jsx(T2,{children:d.jsx(bw,{"data-slot":"dropdown-menu-content",sideOffset:t,className:ue(`bg-popover text-popover-foreground data-[state=open]:animate-in
275
275
  data-[state=closed]:animate-out data-[state=closed]:fade-out-0
@@ -402,7 +402,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
402
402
  data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t
403
403
  data-horizontal:border-t-transparent data-vertical:h-full
404
404
  data-vertical:w-2.5 data-vertical:border-l
405
- data-vertical:border-l-transparent`,e),...n,children:d.jsx(sV,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var iH=6;function aH({items:e,selectedItem:t,visibleItemLimit:n}){if(e.length<=n)return e;const o=e.slice(0,n);return!t||o.some(r=>r.key===t.key)?o:[...o.slice(0,Math.max(1,n-1)),t]}function cH({item:e}){return d.jsxs(d.Fragment,{children:[e.icon,d.jsx("span",{className:"landing-template-label",children:e.label}),e.error?d.jsx("small",{"aria-label":e.error,className:"text-[#9c3a3a]",title:e.error,children:"!"}):null]})}function lH({items:e,selectedKey:t}){const[n,o]=f.useState(!1),r=f.useRef(new Map);return d.jsxs(Qf,{open:n,onOpenChange:o,children:[d.jsx(em,{asChild:!0,children:d.jsxs(nt,{"aria-label":`Show all ${e.length} views`,className:"landing-tabnav-all",size:"sm",type:"button",variant:"ghost",children:[d.jsx(NM,{"aria-hidden":"true"}),d.jsx("span",{children:"All views"}),d.jsx("span",{className:"landing-tabnav-count",children:e.length})]})}),d.jsx(tm,{align:"end",className:"landing-tabnav-popover p-0",children:d.jsxs(lm,{children:[d.jsx(d_,{placeholder:"Search views…"}),d.jsxs(f_,{children:[d.jsx(m_,{children:"No views match"}),d.jsx(td,{heading:"Views",children:e.map(s=>d.jsx(nd,{className:"landing-tabnav-command-item p-0",onSelect:()=>{r.current.get(s.key)?.click()},value:`${s.label} ${s.key}`,children:d.jsxs("a",{"aria-current":s.key===t?"page":void 0,className:"landing-tabnav-command-link",ref:i=>{i?r.current.set(s.key,i):r.current.delete(s.key)},href:s.href,onClick:()=>o(!1),title:s.error??s.label,children:[s.icon,d.jsx("span",{className:"landing-tabnav-command-label",children:s.label}),typeof s.count=="number"?d.jsx("span",{className:"landing-tabnav-count",children:s.count}):null,s.error?d.jsx("small",{"aria-label":s.error,title:s.error,children:"!"}):null]})},s.key))})]})]})})]})}function uH({ariaLabel:e,isSelected:t,items:n,visibleItemLimit:o}){const r=xS(),s=n.find(u=>t?.(u)??!1),i=s?.key??null,a=r?aH({items:n,selectedItem:s,visibleItemLimit:o}):n,c=r&&n.length>o,l=f.useRef(null),m=f.useRef(null);return f.useLayoutEffect(()=>{const u=l.current,p=m.current;if(!u||!p)return;const g=()=>{const h=u.getBoundingClientRect(),y=p.getBoundingClientRect();y.left<h.left?u.scrollLeft+=y.left-h.left:y.right>h.right&&(u.scrollLeft+=y.right-h.right)};g();const b=new ResizeObserver(g);return b.observe(u),()=>b.disconnect()},[a,i]),d.jsxs("div",{className:"landing-tabnav-shell",children:[d.jsx(tH,{className:"landing-tabnav",ref:l,value:i,children:d.jsxs(nH,{"aria-label":e,activateOnFocus:!1,className:"landing-tabnav-list",children:[a.map(u=>d.jsx(oH,{className:"landing-tabnav-tab",nativeButton:!1,ref:u.key===i?m:void 0,render:d.jsx("a",{"aria-label":`Show ${u.label}`,href:u.href,title:u.label}),value:u.key,children:d.jsx(cH,{item:u})},u.key)),d.jsx(rH,{className:"landing-tabnav-indicator"})]})}),c?d.jsx(lH,{items:n,selectedKey:i}):null]})}function dH({ariaLabel:e,isSelected:t,items:n}){return d.jsxs(sH,{className:"landing-template-tabs-scroll",children:[d.jsx("div",{"aria-label":e,className:"landing-template-tabs",role:"tablist",children:n.map(o=>d.jsx(nt,{asChild:!0,className:"landing-template-tab",variant:t?.(o)?"secondary":"ghost",children:d.jsxs("a",{"aria-label":`Show ${o.label}`,"aria-selected":t?.(o)??!1,href:o.href,role:"tab",title:o.label,children:[d.jsx("span",{className:"landing-template-story-icon",children:o.icon}),d.jsx("span",{className:"landing-template-label",children:o.label}),o.error?d.jsx("small",{"aria-label":o.error,className:"text-[#9c3a3a]",title:o.error,children:"!"}):null]})},o.key))}),d.jsx(RS,{className:"landing-template-tabs-scrollbar",orientation:"horizontal"})]})}function IS({ariaLabel:e="Schema views",renderer:t="tabs",className:n,visibleItemLimit:o=iH,...r}){return d.jsx("div",{className:ue("folder-tabs",n),"data-renderer":t,children:t==="story"?d.jsx(dH,{ariaLabel:e,...r}):d.jsx(uH,{ariaLabel:e,visibleItemLimit:o,...r})})}function AS({icon:e}){return e?d.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:e.paths.map((t,n)=>d.jsx("path",{d:t},n))}):null}function Dh({children:e,count:t,href:n,icon:o,title:r}){return d.jsxs("section",{className:"landing-section",children:[d.jsxs("header",{children:[d.jsx("h2",{children:n?d.jsxs("a",{href:n,children:[o,r,d.jsx(kf,{"aria-hidden":"true"})]}):d.jsxs(d.Fragment,{children:[o,r]})}),d.jsx("span",{children:t})]}),e]})}function fH({active:e,children:t,href:n,icon:o}){return d.jsx(Ga,{children:d.jsx(ES,{asChild:!0,"aria-current":e?"page":void 0,isActive:e,children:d.jsxs("a",{href:n,children:[o,d.jsx("span",{children:t})]})})})}function mH({error:e}){return d.jsx("div",{className:"folder-discovery-error",role:"alert",children:d.jsx("p",{children:e})})}function pH(){return d.jsx("ul",{className:"landing-list landing-skeleton-list","aria-hidden":"true",children:Array.from({length:8},(e,t)=>d.jsx("li",{children:d.jsxs("div",{children:[d.jsx(fo,{className:"landing-skeleton-icon"}),d.jsxs("span",{children:[d.jsx(fo,{className:"landing-skeleton-line is-title"}),d.jsx(fo,{className:"landing-skeleton-line is-meta"})]}),d.jsx(fo,{className:"landing-skeleton-line is-time"}),d.jsx(fo,{className:"landing-skeleton-chevron"})]})},t))})}function gH({children:e,error:t,folder:n,onBack:o,onCopyPath:r,onFindProject:s,onForward:i,onOpenFolder:a,pluginHref:c,status:l,view:m,viewNavigation:u,tab:p,tabHref:g}){const b=p??"files",h=!!m,y="Notes",w=[{href:g("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),key:"files",label:"Notes"}];m&&w.push({href:c(m.pluginId),icon:d.jsx(AS,{icon:u?.icon}),key:`plugin:${m.pluginId}`,label:u?.label??m.pluginId});const v=e?d.jsxs("div",{className:"landing-sections",children:[t?d.jsx(mH,{error:t}):null,e]}):t?d.jsxs("section",{className:"landing-section landing-loading-section",children:[d.jsx("header",{children:d.jsxs("h2",{children:[d.jsx(Vu,{"aria-hidden":"true"}),"Folder"]})}),d.jsxs("div",{className:"landing-loading-error",children:[d.jsx("h1",{children:"Folder activity is unavailable"}),d.jsx("p",{children:t})]})]}):d.jsxs("section",{className:"landing-section landing-loading-section",children:[d.jsxs("header",{children:[d.jsxs("h2",{children:[d.jsx(Lo,{"aria-hidden":"true"}),y]}),d.jsx(fo,{className:"landing-skeleton-count"})]}),d.jsx(pH,{})]});return d.jsxs("main",{className:"folder-landing","aria-busy":!t&&!h,children:[d.jsx(IS,{ariaLabel:"Loading folder sections",isSelected:m?j=>j.key===`plugin:${m.pluginId}`:j=>b===j.key,items:w}),d.jsxs(_S,{className:"landing-sidebar-shell",defaultOpen:!1,style:{"--sidebar-width":"17rem"},children:[d.jsxs(PS,{folder:n,icon:d.jsx(Vu,{"aria-hidden":"true"}),onFindProject:s,status:l,...a?{onOpenFolder:a}:{},children:[w.map(j=>d.jsx(fH,{active:m?j.key===`plugin:${m.pluginId}`:b===j.key,href:j.href,icon:j.icon,children:j.label},j.key)),d.jsx(Ga,{className:"landing-sidebar-skeleton-item",children:d.jsx(fo,{className:"landing-skeleton-menu"})}),d.jsx(Ga,{className:"landing-sidebar-skeleton-item",children:d.jsx(fo,{className:"landing-skeleton-menu is-short"})})]}),d.jsx(kS,{asChild:!0,className:"landing-sidebar-inset",children:d.jsxs("div",{children:[d.jsxs("div",{className:"landing-inset-toolbar",children:[d.jsx(SS,{className:"landing-sidebar-toggle"}),d.jsx(nm,{actions:Dc({folderPath:n,onBack:o,onCopyPath:r,onForward:i,onOpenFolder:a})})]}),v]})})]})]})}function hH({children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,view:y,viewNavigation:w,tab:v,tabHref:j}){const x=o?.plugins?.items??[],k=o?.plugins?.configWarnings??o?.configWarnings??[],S=o?.workspace?.schemas??[];if(!o)return d.jsx(gH,{children:e,error:s,folder:i,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,status:b,tab:v,tabHref:j,pluginHref:h,view:y,viewNavigation:w});const E=o.projects.items.filter(A=>A.relativePath),_=o.files.items.filter(A=>!A.folder).slice(0,5),P=!!y,C=!v&&!y&&!n,I=[{count:o.files.items.length,href:j("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),key:"files",label:"Notes"},...S.map(A=>({count:A.count??0,error:A.diagnostics?.length?A.diagnostics.map($=>$.message).join("; "):void 0,href:t&&A.id?t(A.id):a(A.folder),icon:d.jsx(Mc,{name:A.icon}),key:`folder:${A.folder}`,label:A.navLabel??A.title,view:{type:"folder",id:A.id}})),...x.filter(A=>A.id!=="notes").map(A=>({count:A.count??0,error:A.error,href:h(A.id),icon:d.jsx(AS,{icon:A.icon}),key:`plugin:${A.id}`,label:A.label,view:{id:A.id,type:"plugin"}}))],M=e??d.jsxs("div",{className:"landing-sections",children:[k.length?d.jsx("div",{className:"folder-discovery-error",role:"alert",children:k.map(A=>d.jsx("p",{children:A},A))}):null,v==="projects"&&E.length?d.jsx(Dh,{count:E.length,href:v?void 0:j("projects"),icon:d.jsx(Qr,{"aria-hidden":"true"}),title:"Projects",children:d.jsx(eH,{assets:o.assets,folderHref:a,projects:o.projects.items})}):null,C?d.jsx(Dh,{count:o.files.items.length,href:j("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),title:"Notes",children:d.jsx(J4,{documentHref:r,files:_,onOpenPath:g})}):null]}),B=A=>A.view?.type==="folder"?!!(n&&A.view.id===n):A.view?.type==="plugin"?P&&A.view.id===y?.pluginId:v==="files"||C;return d.jsx("main",{className:"folder-landing",children:I.length>1?d.jsxs(d.Fragment,{children:[d.jsx(IS,{items:I,isSelected:B}),d.jsxs(_S,{className:"landing-sidebar-shell",defaultOpen:!1,style:{"--sidebar-width":"17rem"},children:[d.jsx(PS,{folder:o.folder,folderHref:a,icon:d.jsx(Br,{icon:o.identity?.icon}),subtitle:o.identity?.subtitle,onFindProject:m,status:b,workspace:o.workspace,...p?{onOpenFolder:p}:{},children:I.map(A=>d.jsx(Ga,{children:d.jsx(ES,{asChild:!0,"aria-current":B(A)?"page":void 0,isActive:B(A),children:d.jsxs("a",{href:A.href,title:A.error??void 0,children:[A.icon,d.jsx("span",{children:A.label}),A.error?d.jsx("span",{className:"text-[#9c3a3a]",children:"!"}):null]})})},A.key))}),d.jsx(kS,{asChild:!0,className:"landing-sidebar-inset",children:d.jsxs("div",{children:[d.jsxs("div",{className:"landing-inset-toolbar",children:[d.jsx(SS,{className:"landing-sidebar-toggle"}),d.jsx(nm,{actions:Dc({folderPath:o.folder,onBack:c,onCopyPath:l,onForward:u,onOpenFolder:p})})]}),M]})})]})]}):M})}function yH({children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,tab:y,tabHref:w,view:v,viewNavigation:j}){return d.jsx(hH,{children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,tab:y,tabHref:w,view:v,viewNavigation:j})}function bH({backLabel:e="Back",canOpen:t,folder:n,homeHref:o,icon:r,name:s,onBack:i,onCopyPath:a,onForward:c,onOpen:l,onOpenFolder:m,rightAction:u,...p}){return d.jsxs(d.Fragment,{children:[d.jsx(om,{...p,className:"mobile-view-header",folder:n,homeHref:o,name:s,icon:d.jsx(Br,{icon:r}),actions:Dc({backLabel:e,canBrowse:t,folderPath:n,onBack:i,onBrowse:l,onCopyPath:a,onForward:c,onOpenFolder:m})}),u]})}var NS=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e)),this.name="PluginLoadError"}},MS=class extends f.Component{state={resetKey:this.props.resetKey};static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:void 0,resetKey:e.resetKey}}componentDidCatch(e,t){console.error("Kennel viewer: a view failed",e,t.componentStack)}retry=()=>{this.props.onRetry?.(),this.setState({error:void 0})};render(){return this.state.error?this.props.fallback(this.state.error,this.retry):this.props.children}};function xd({title:e,message:t,retry:n,retryLabel:o="Retry"}){return d.jsxs("section",{role:"alert",className:`kennel-viewer-failure mx-auto grid w-full max-w-3xl gap-3 px-4
405
+ data-vertical:border-l-transparent`,e),...n,children:d.jsx(sV,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var iH=6;function aH({items:e,selectedItem:t,visibleItemLimit:n}){if(e.length<=n)return e;const o=e.slice(0,n);return!t||o.some(r=>r.key===t.key)?o:[...o.slice(0,Math.max(1,n-1)),t]}function cH({item:e}){return d.jsxs(d.Fragment,{children:[e.icon,d.jsx("span",{className:"landing-template-label",children:e.label}),e.error?d.jsx("small",{"aria-label":e.error,className:"text-[#9c3a3a]",title:e.error,children:"!"}):null]})}function lH({items:e,selectedKey:t}){const[n,o]=f.useState(!1),r=f.useRef(new Map);return d.jsxs(Qf,{open:n,onOpenChange:o,children:[d.jsx(em,{asChild:!0,children:d.jsxs(nt,{"aria-label":`Show all ${e.length} views`,className:"landing-tabnav-all",size:"sm",type:"button",variant:"ghost",children:[d.jsx(NM,{"aria-hidden":"true"}),d.jsx("span",{children:"All views"}),d.jsx("span",{className:"landing-tabnav-count",children:e.length})]})}),d.jsx(tm,{align:"end",className:"landing-tabnav-popover p-0",children:d.jsxs(lm,{children:[d.jsx(d_,{placeholder:"Search views…"}),d.jsxs(f_,{children:[d.jsx(m_,{children:"No views match"}),d.jsx(td,{heading:"Views",children:e.map(s=>d.jsx(nd,{className:"landing-tabnav-command-item p-0",onSelect:()=>{r.current.get(s.key)?.click()},value:`${s.label} ${s.key}`,children:d.jsxs("a",{"aria-current":s.key===t?"page":void 0,className:"landing-tabnav-command-link",ref:i=>{i?r.current.set(s.key,i):r.current.delete(s.key)},href:s.href,onClick:()=>o(!1),title:s.error??s.label,children:[s.icon,d.jsx("span",{className:"landing-tabnav-command-label",children:s.label}),typeof s.count=="number"?d.jsx("span",{className:"landing-tabnav-count",children:s.count}):null,s.error?d.jsx("small",{"aria-label":s.error,title:s.error,children:"!"}):null]})},s.key))})]})]})})]})}function uH({ariaLabel:e,isSelected:t,items:n,visibleItemLimit:o}){const r=xS(),s=n.find(u=>t?.(u)??!1),i=s?.key??null,a=r?aH({items:n,selectedItem:s,visibleItemLimit:o}):n,c=r&&n.length>o,l=f.useRef(null),m=f.useRef(null);return f.useLayoutEffect(()=>{const u=l.current,p=m.current;if(!u||!p)return;const g=()=>{const h=u.getBoundingClientRect(),y=p.getBoundingClientRect();y.left<h.left?u.scrollLeft+=y.left-h.left:y.right>h.right&&(u.scrollLeft+=y.right-h.right)};g();const b=new ResizeObserver(g);return b.observe(u),()=>b.disconnect()},[a,i]),d.jsxs("div",{className:"landing-tabnav-shell",children:[d.jsx(tH,{className:"landing-tabnav",ref:l,value:i,children:d.jsxs(nH,{"aria-label":e,activateOnFocus:!1,className:"landing-tabnav-list",children:[a.map(u=>d.jsx(oH,{className:"landing-tabnav-tab","data-label":u.label,nativeButton:!1,ref:u.key===i?m:void 0,render:d.jsx("a",{"aria-label":`Show ${u.label}`,href:u.href,title:u.label}),value:u.key,children:d.jsx(cH,{item:u})},u.key)),d.jsx(rH,{className:"landing-tabnav-indicator"})]})}),c?d.jsx(lH,{items:n,selectedKey:i}):null]})}function dH({ariaLabel:e,isSelected:t,items:n}){return d.jsxs(sH,{className:"landing-template-tabs-scroll",children:[d.jsx("div",{"aria-label":e,className:"landing-template-tabs",role:"tablist",children:n.map(o=>d.jsx(nt,{asChild:!0,className:"landing-template-tab",variant:t?.(o)?"secondary":"ghost",children:d.jsxs("a",{"aria-label":`Show ${o.label}`,"aria-selected":t?.(o)??!1,href:o.href,role:"tab",title:o.label,children:[d.jsx("span",{className:"landing-template-story-icon",children:o.icon}),d.jsx("span",{className:"landing-template-label",children:o.label}),o.error?d.jsx("small",{"aria-label":o.error,className:"text-[#9c3a3a]",title:o.error,children:"!"}):null]})},o.key))}),d.jsx(RS,{className:"landing-template-tabs-scrollbar",orientation:"horizontal"})]})}function IS({ariaLabel:e="Schema views",renderer:t="tabs",className:n,visibleItemLimit:o=iH,...r}){return d.jsx("div",{className:ue("folder-tabs",n),"data-renderer":t,children:t==="story"?d.jsx(dH,{ariaLabel:e,...r}):d.jsx(uH,{ariaLabel:e,visibleItemLimit:o,...r})})}function AS({icon:e}){return e?d.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:e.paths.map((t,n)=>d.jsx("path",{d:t},n))}):null}function Dh({children:e,count:t,href:n,icon:o,title:r}){return d.jsxs("section",{className:"landing-section",children:[d.jsxs("header",{children:[d.jsx("h2",{children:n?d.jsxs("a",{href:n,children:[o,r,d.jsx(kf,{"aria-hidden":"true"})]}):d.jsxs(d.Fragment,{children:[o,r]})}),d.jsx("span",{children:t})]}),e]})}function fH({active:e,children:t,href:n,icon:o}){return d.jsx(Ga,{children:d.jsx(ES,{asChild:!0,"aria-current":e?"page":void 0,isActive:e,children:d.jsxs("a",{href:n,children:[o,d.jsx("span",{children:t})]})})})}function mH({error:e}){return d.jsx("div",{className:"folder-discovery-error",role:"alert",children:d.jsx("p",{children:e})})}function pH(){return d.jsx("ul",{className:"landing-list landing-skeleton-list","aria-hidden":"true",children:Array.from({length:8},(e,t)=>d.jsx("li",{children:d.jsxs("div",{children:[d.jsx(fo,{className:"landing-skeleton-icon"}),d.jsxs("span",{children:[d.jsx(fo,{className:"landing-skeleton-line is-title"}),d.jsx(fo,{className:"landing-skeleton-line is-meta"})]}),d.jsx(fo,{className:"landing-skeleton-line is-time"}),d.jsx(fo,{className:"landing-skeleton-chevron"})]})},t))})}function gH({children:e,error:t,folder:n,onBack:o,onCopyPath:r,onFindProject:s,onForward:i,onOpenFolder:a,pluginHref:c,status:l,view:m,viewNavigation:u,tab:p,tabHref:g}){const b=p??"files",h=!!m,y="Notes",w=[{href:g("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),key:"files",label:"Notes"}];m&&w.push({href:c(m.pluginId),icon:d.jsx(AS,{icon:u?.icon}),key:`plugin:${m.pluginId}`,label:u?.label??m.pluginId});const v=e?d.jsxs("div",{className:"landing-sections",children:[t?d.jsx(mH,{error:t}):null,e]}):t?d.jsxs("section",{className:"landing-section landing-loading-section",children:[d.jsx("header",{children:d.jsxs("h2",{children:[d.jsx(Vu,{"aria-hidden":"true"}),"Folder"]})}),d.jsxs("div",{className:"landing-loading-error",children:[d.jsx("h1",{children:"Folder activity is unavailable"}),d.jsx("p",{children:t})]})]}):d.jsxs("section",{className:"landing-section landing-loading-section",children:[d.jsxs("header",{children:[d.jsxs("h2",{children:[d.jsx(Lo,{"aria-hidden":"true"}),y]}),d.jsx(fo,{className:"landing-skeleton-count"})]}),d.jsx(pH,{})]});return d.jsxs("main",{className:"folder-landing","aria-busy":!t&&!h,children:[d.jsx(IS,{ariaLabel:"Loading folder sections",isSelected:m?j=>j.key===`plugin:${m.pluginId}`:j=>b===j.key,items:w}),d.jsxs(_S,{className:"landing-sidebar-shell",defaultOpen:!1,style:{"--sidebar-width":"17rem"},children:[d.jsxs(PS,{folder:n,icon:d.jsx(Vu,{"aria-hidden":"true"}),onFindProject:s,status:l,...a?{onOpenFolder:a}:{},children:[w.map(j=>d.jsx(fH,{active:m?j.key===`plugin:${m.pluginId}`:b===j.key,href:j.href,icon:j.icon,children:j.label},j.key)),d.jsx(Ga,{className:"landing-sidebar-skeleton-item",children:d.jsx(fo,{className:"landing-skeleton-menu"})}),d.jsx(Ga,{className:"landing-sidebar-skeleton-item",children:d.jsx(fo,{className:"landing-skeleton-menu is-short"})})]}),d.jsx(kS,{asChild:!0,className:"landing-sidebar-inset",children:d.jsxs("div",{children:[d.jsxs("div",{className:"landing-inset-toolbar",children:[d.jsx(SS,{className:"landing-sidebar-toggle"}),d.jsx(nm,{actions:Dc({folderPath:n,onBack:o,onCopyPath:r,onForward:i,onOpenFolder:a})})]}),v]})})]})]})}function hH({children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,view:y,viewNavigation:w,tab:v,tabHref:j}){const x=o?.plugins?.items??[],k=o?.plugins?.configWarnings??o?.configWarnings??[],S=o?.workspace?.schemas??[];if(!o)return d.jsx(gH,{children:e,error:s,folder:i,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,status:b,tab:v,tabHref:j,pluginHref:h,view:y,viewNavigation:w});const E=o.projects.items.filter(A=>A.relativePath),_=o.files.items.filter(A=>!A.folder).slice(0,5),P=!!y,C=!v&&!y&&!n,I=[{count:o.files.items.length,href:j("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),key:"files",label:"Notes"},...S.map(A=>({count:A.count??0,error:A.diagnostics?.length?A.diagnostics.map($=>$.message).join("; "):void 0,href:t&&A.id?t(A.id):a(A.folder),icon:d.jsx(Mc,{name:A.icon}),key:`folder:${A.folder}`,label:A.navLabel??A.title,view:{type:"folder",id:A.id}})),...x.filter(A=>A.id!=="notes").map(A=>({count:A.count??0,error:A.error,href:h(A.id),icon:d.jsx(AS,{icon:A.icon}),key:`plugin:${A.id}`,label:A.label,view:{id:A.id,type:"plugin"}}))],M=e??d.jsxs("div",{className:"landing-sections",children:[k.length?d.jsx("div",{className:"folder-discovery-error",role:"alert",children:k.map(A=>d.jsx("p",{children:A},A))}):null,v==="projects"&&E.length?d.jsx(Dh,{count:E.length,href:v?void 0:j("projects"),icon:d.jsx(Qr,{"aria-hidden":"true"}),title:"Projects",children:d.jsx(eH,{assets:o.assets,folderHref:a,projects:o.projects.items})}):null,C?d.jsx(Dh,{count:o.files.items.length,href:j("files"),icon:d.jsx(Lo,{"aria-hidden":"true"}),title:"Notes",children:d.jsx(J4,{documentHref:r,files:_,onOpenPath:g})}):null]}),B=A=>A.view?.type==="folder"?!!(n&&A.view.id===n):A.view?.type==="plugin"?P&&A.view.id===y?.pluginId:v==="files"||C;return d.jsx("main",{className:"folder-landing",children:I.length>1?d.jsxs(d.Fragment,{children:[d.jsx(IS,{items:I,isSelected:B}),d.jsxs(_S,{className:"landing-sidebar-shell",defaultOpen:!1,style:{"--sidebar-width":"17rem"},children:[d.jsx(PS,{folder:o.folder,folderHref:a,icon:d.jsx(Br,{icon:o.identity?.icon}),subtitle:o.identity?.subtitle,onFindProject:m,status:b,workspace:o.workspace,...p?{onOpenFolder:p}:{},children:I.map(A=>d.jsx(Ga,{children:d.jsx(ES,{asChild:!0,"aria-current":B(A)?"page":void 0,isActive:B(A),children:d.jsxs("a",{href:A.href,title:A.error??void 0,children:[A.icon,d.jsx("span",{children:A.label}),A.error?d.jsx("span",{className:"text-[#9c3a3a]",children:"!"}):null]})})},A.key))}),d.jsx(kS,{asChild:!0,className:"landing-sidebar-inset",children:d.jsxs("div",{children:[d.jsxs("div",{className:"landing-inset-toolbar",children:[d.jsx(SS,{className:"landing-sidebar-toggle"}),d.jsx(nm,{actions:Dc({folderPath:o.folder,onBack:c,onCopyPath:l,onForward:u,onOpenFolder:p})})]}),M]})})]})]}):M})}function yH({children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,tab:y,tabHref:w,view:v,viewNavigation:j}){return d.jsx(hH,{children:e,collectionHref:t,collectionId:n,data:o,documentHref:r,error:s,folder:i,folderHref:a,onBack:c,onCopyPath:l,onFindProject:m,onForward:u,onOpenFolder:p,onOpenPath:g,status:b,pluginHref:h,tab:y,tabHref:w,view:v,viewNavigation:j})}function bH({backLabel:e="Back",canOpen:t,folder:n,homeHref:o,icon:r,name:s,onBack:i,onCopyPath:a,onForward:c,onOpen:l,onOpenFolder:m,rightAction:u,...p}){return d.jsxs(d.Fragment,{children:[d.jsx(om,{...p,className:"mobile-view-header",folder:n,homeHref:o,name:s,icon:d.jsx(Br,{icon:r}),actions:Dc({backLabel:e,canBrowse:t,folderPath:n,onBack:i,onBrowse:l,onCopyPath:a,onForward:c,onOpenFolder:m})}),u]})}var NS=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e)),this.name="PluginLoadError"}},MS=class extends f.Component{state={resetKey:this.props.resetKey};static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:void 0,resetKey:e.resetKey}}componentDidCatch(e,t){console.error("Kennel viewer: a view failed",e,t.componentStack)}retry=()=>{this.props.onRetry?.(),this.setState({error:void 0})};render(){return this.state.error?this.props.fallback(this.state.error,this.retry):this.props.children}};function xd({title:e,message:t,retry:n,retryLabel:o="Retry"}){return d.jsxs("section",{role:"alert",className:`kennel-viewer-failure mx-auto grid w-full max-w-3xl gap-3 px-4
406
406
  py-5`,children:[d.jsx("h2",{className:"m-0 text-lg font-semibold text-[#233025]",children:e}),d.jsx("p",{className:"m-0 text-sm text-[#6c7a6d]",children:t}),n?d.jsx("button",{className:`w-fit rounded-md border border-[#dde1dc] bg-white px-3
407
407
  py-1.5 text-sm`,onClick:n,type:"button",children:o}):null]})}var Za="f_",Ya="max_",Is="min_",jd="q",_d="sort";function vH(e,t,n){const o=new URLSearchParams(e),r=new Set(t),s=new Set(n),i={},a={};for(const[c,l]of o){if(c.startsWith(Za)&&l){const g=c.slice(Za.length);r.has(g)&&(i[g]=l);continue}const m=c.startsWith(Is)?Is:c.startsWith(Ya)?Ya:void 0;if(!m||!l)continue;const u=c.slice(m.length),p=Number(l);!s.has(u)||!Number.isFinite(p)||(a[u]={...a[u],[m===Is?"min":"max"]:p})}return{filters:i,query:o.get(jd)??"",ranges:a,sort:DS(e)}}function DS(e){return new URLSearchParams(e).get(_d)==="alpha"?"alpha":"recent"}function wH(e,t){const n=new URLSearchParams(e);n.delete(jd);for(const r of[...n.keys()])(r.startsWith(Za)||r.startsWith(Is)||r.startsWith(Ya))&&n.delete(r);const o=t.query.trim();o&&n.set(jd,o),t.sort==="alpha"?n.set(_d,t.sort):n.delete(_d);for(const[r,s]of Object.entries(t.filters))s&&n.set(`${Za}${r}`,s);for(const[r,s]of Object.entries(t.ranges))Number.isFinite(s.min)&&n.set(`${Is}${r}`,String(s.min)),Number.isFinite(s.max)&&n.set(`${Ya}${r}`,String(s.max));return n.toString()}function Fh({...e}){return d.jsx(Nb,{"data-slot":"collapsible",...e})}function FS({...e}){return d.jsx(qd,{"data-slot":"collapsible-content",...e})}function Xs(e,t){let n=e;for(const o of t.split(".")){if(!n||typeof n!="object"||Array.isArray(n))return;n=n[o]}return n}function Js(e){return e==null?"":Array.isArray(e)?e.map(Js).join(", "):typeof e=="object"?JSON.stringify(e):String(e)}function xH(e,t){return[...new Set(e.records.map(n=>Js(Xs(n.fields,t))).filter(Boolean))].sort()}function jH(e,t,n="",o={}){const r=n.trim().toLocaleLowerCase();return e.records.filter(s=>(!r||`${s.title} ${Object.values(s.fields).map(Js).join(" ")}`.toLocaleLowerCase().includes(r))&&e.ui.filters.every(i=>!t[i]||Js(Xs(s.fields,i))===t[i])&&Object.entries(o).every(([i,a])=>{const c=Xs(s.fields,i);return typeof c=="number"&&(a.min===void 0||c>=a.min)&&(a.max===void 0||c<=a.max)}))}function _H({collection:e,record:t}){const[n,o]=f.useState(),r=t.iconAssetKey?e.assets?.[t.iconAssetKey]:void 0,s=r?r.url??(r.data?`data:${r.mediaType};base64,${r.data}`:void 0):void 0;return!s||n===s?d.jsx(Mc,{name:e.icon}):d.jsx("img",{alt:"","aria-hidden":"true",onError:()=>o(s),src:s,style:{width:18,height:18,borderRadius:4,objectFit:"contain",flexShrink:0}})}var $h=e=>e.replace(/[\\/][^\\/]+$/,""),SH=e=>/(?:^|[\\/])(?:AGENTS|README|SKILL)\.md$/i.test(e);function kH({collection:e,documentHref:t,folderHref:n,folder:o,records:r}){return d.jsx(CS,{className:"landing-collection-records",items:r,renderActions:s=>d.jsx(Ix,{className:"landing-list-copy-context",context:()=>$h(s.path),label:`Copy folder path for ${s.title}`}),empty:d.jsx("p",{className:"landing-empty",children:e.count?"No matching records.":"No records match this collection’s document patterns."}),getClassName:()=>"has-copy-context",getKey:s=>s.id,getHref:s=>SH(s.path)?n($h(s.path)):`${t(s.path.slice(o.length+1))}?collection=${encodeURIComponent(e.id)}`,renderItem:s=>d.jsxs(d.Fragment,{children:[d.jsx(_H,{collection:e,record:s}),d.jsxs("span",{children:[d.jsx("strong",{children:s.title}),d.jsx("small",{children:e.ui.secondaryField?Js(Xs(s.fields,e.ui.secondaryField)):s.relativePath}),s.validationErrors.length?d.jsxs("small",{className:"text-destructive",title:s.validationErrors.map(i=>`${i.path}: ${i.message}`).join(`
408
408
  `),children:[s.validationErrors.length," metadata issues"]}):null]})]})})}function $S(e,t={}){return f.Children.forEach(e,n=>{if(!f.isValidElement(n))return;const o=n.props;n.type===xs&&typeof o.value=="string"?t[o.value]=o.children:o.children&&$S(o.children,t)}),t}function Lh({children:e,defaultValue:t,disabled:n,modal:o,name:r,onOpenChange:s,onValueChange:i,open:a,required:c,value:l}){const{contained:m}=Fn(),u=f.useMemo(()=>$S(e),[e]);return d.jsx(gU,{defaultValue:t,disabled:n,items:u,modal:o??!m,name:r,onOpenChange:s?p=>s(p):void 0,onValueChange:i?p=>{typeof p=="string"&&i(p)}:void 0,open:a,required:c,value:l,children:e})}function Bh({...e}){return d.jsx(OU,{"data-slot":"select-value",...e})}function zh({className:e,size:t="default",children:n,...o}){return d.jsxs(CU,{"data-slot":"select-trigger","data-size":t,className:ue(`border-input data-[placeholder]:text-muted-foreground
@@ -448,4 +448,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
448
448
  text-[#6c7a6d]`,title:r,children:[d.jsx(tg,{"aria-hidden":"true",className:"size-3 shrink-0"}),d.jsxs("span",{className:"break-all",children:["Linked · ",Kh(r)]})]}):null]})}function ZH({className:e,...t}){return d.jsx("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:ue("mx-auto flex w-full justify-center",e),...t})}function YH({className:e,...t}){return d.jsx("ul",{"data-slot":"pagination-content",className:ue("flex flex-row items-center gap-1",e),...t})}function sa({...e}){return d.jsx("li",{"data-slot":"pagination-item",...e})}function XH({className:e,...t}){return d.jsxs("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:ue("flex size-9 items-center justify-center",e),...t,children:[d.jsx(Cx,{className:"size-4"}),d.jsx("span",{className:"sr-only",children:"More pages"})]})}function JH({total:e,offset:t,pageSize:n,onOffsetChange:o,label:r="Items"}){const s=Math.max(1,Math.ceil(e/n)),i=Math.min(Math.floor(t/n),s-1),a=Array.from(new Set([0,i-1,i,i+1,s-1])).filter(c=>c>=0&&c<s).sort((c,l)=>c-l);return d.jsxs("div",{className:"grid gap-2",children:[d.jsxs("p",{className:"text-muted-foreground m-0 text-center text-sm",role:"status",children:[r," ",e?i*n+1:0,"–",Math.min((i+1)*n,e)," of ",e]}),s>1?d.jsx(ZH,{"aria-label":`${r} pagination`,children:d.jsxs(YH,{className:"gap-0 sm:gap-1",children:[d.jsx(sa,{children:d.jsx(nt,{variant:"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":"Previous page",disabled:i===0,onClick:()=>o((i-1)*n),children:d.jsx(hM,{"aria-hidden":"true"})})}),a.map((c,l)=>d.jsxs(f.Fragment,{children:[l>0&&c-a[l-1]>1?d.jsx(sa,{children:d.jsx(XH,{className:"size-6 sm:size-9"})}):null,d.jsx(sa,{children:d.jsx(nt,{variant:c===i?"outline":"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":`Page ${c+1}`,"aria-current":c===i?"page":void 0,onClick:()=>o(c*n),children:c+1})})]},c)),d.jsx(sa,{children:d.jsx(nt,{variant:"ghost",size:"icon",className:"size-8 sm:size-9","aria-label":"Next page",disabled:i===s-1,onClick:()=>o((i+1)*n),children:d.jsx(kf,{"aria-hidden":"true"})})})]})}):null]})}var ia=25,QH=[];function e5({action:e,documentHref:t,error:n,files:o=QH,filter:r,folder:s,folderHref:i,loading:a}){const[c,l]=f.useState(0),[m,u]=f.useState(""),p=f.useMemo(()=>[...o].sort((y,w)=>w.activityAt-y.activityAt||`${y.folder??""}/${y.relativePath}`.localeCompare(`${w.folder??""}/${w.relativePath}`)),[o]),g=f.useMemo(()=>{const y=m.trim().toLowerCase();return y?p.filter(w=>`${w.name}
449
449
  ${w.folder??""}/${w.relativePath}`.toLowerCase().includes(y)):p},[p,m]),b=Math.min(c,Math.max(0,Math.ceil(g.length/ia)-1)*ia),h=g.slice(b,b+ia);return d.jsxs("div",{className:"mx-auto grid w-full max-w-3xl gap-4 px-4 py-5",children:[d.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[d.jsx("h1",{className:"m-0 text-2xl font-semibold text-[#233025]",children:"Notes"}),e]}),d.jsx(vS,{type:"search","aria-label":"Search notes by name or path",placeholder:"Search notes by name or path…",value:m,onChange:y=>{u(y.target.value),l(0)}}),r,a?d.jsx("p",{className:"m-0 text-sm text-[#6c7a6d]",children:"Loading…"}):null,n?d.jsx("p",{className:"m-0 text-sm text-[#9c3a3a]",children:n}):null,!a&&!n&&!h.length?d.jsx("p",{className:"m-0 text-sm text-[#6c7a6d]",children:m.trim()?"No notes match this search.":"No notes found."}):null,h.length?d.jsx("ol",{className:"m-0 grid list-none gap-2 p-0",children:h.map(y=>d.jsx("li",{children:d.jsx(GH,{activityAt:y.activityAt,context:y.folder?`${y.folder.replace(/[\\/]+$/,"")}/${y.relativePath}`:s?`${s.replace(/[\\/]+$/,"")}/${y.relativePath}`:y.relativePath,folderHref:y.folder?i(y.folder):void 0,href:t(y),linkedFolder:y.folder,path:y.relativePath,title:y.name})},`${y.folder??""}:${y.relativePath}`))}):null,g.length?d.jsx(JH,{label:"Notes",total:g.length,offset:b,pageSize:ia,onOffsetChange:l}):null]})}function t5(e,t){const n=e.folder??t;if(!n)return null;const o=e.relativePath.replaceAll("\\","/").split("/").slice(0,-1).filter(Boolean).join("/");return o?`${n.replace(/[\\/]+$/,"")}/${o}`:n}function n5({composer:e,documentHref:t,folder:n,folderHref:o,request:r}){const[s,i]=f.useState(!1),a=yo(n),{local:c,linked:l,files:m,retryLinked:u}=bS({folder:n,request:r}),p=KH(m??[],{allowOutside:!0,getFolder:g=>t5(g,n),rootFolder:n});return d.jsxs(d.Fragment,{children:[d.jsx(e5,{action:e?d.jsx(qH,{onOpenChange:i,open:s}):void 0,documentHref:g=>t(g.folder??n,g.relativePath),error:c.error?String(c.error):"",files:p.visibleItems,filter:p.choices.length>1?d.jsx(LH,{ariaLabel:"Filter notes by folder",choices:p.choices,onSelect:p.setSelected,selected:p.effectiveSelected,total:p.total}):void 0,folder:n,folderHref:o,loading:c.isLoading},`${a}:${p.effectiveSelected}`),c.error?d.jsx("button",{className:"px-4",onClick:()=>{c.refetch()},children:"Retry local notes"}):null,l.isLoading?d.jsx("p",{role:"status",className:"text-muted-foreground px-4 text-sm",children:"Loading linked notes…"}):null,l.error?d.jsxs("p",{role:"alert",className:"px-4 text-sm",children:["Linked notes could not load."," ",d.jsx("button",{type:"button",onClick:u,children:"Retry"})]}):null,e?d.jsx(WH,{composer:e,onOpenChange:i,open:s}):null]})}function zS(e){return(t,n,{retryLinked:o,signal:r})=>e.metadata(t,"notes",{notesScope:n,retryLinked:o,signal:r})}function o5(e){const{runtime:t}=Rt(),n=t.agent?.composer;return xo({enabled:!!n,queryFn:()=>n(e),queryKey:Hs(e,"composer"),staleTime:Number.POSITIVE_INFINITY,retry:!1}).data}function r5({folder:e}){const t=Rt(),n=o5(e);return d.jsx(n5,{composer:n,documentHref:(o,r)=>t.hrefFor({folder:o,view:"document",path:r}),folder:e,folderHref:o=>t.hrefFor({folder:o,view:"notes"}),request:zS(t.runtime)})}function s5({folder:e}){const{data:t}=rm(e);return d.jsx(Br,{icon:t?.icon})}function i5(e){return d.jsx(s5,{folder:e},e)}function a5({children:e}){return d.jsx(FH,{renderIcon:i5,children:e})}var c5=new Set(["GET","HEAD"]);function l5(e){return(e?.method??"GET").toUpperCase()}function u5(e){return c5.has(e.toUpperCase())}var d5=class extends Error{status=403;constructor(e){super(`This folder is read-only: ${e} plugin requests are not allowed.`),this.name="ReadOnlyError"}},qh=new WeakMap;function f5(e,t){const n=e.load;if(!n)return e.component;let o=qh.get(e);o||(o=new Map,qh.set(e,o));let r=o.get(t);return r||(r=f.lazy(async()=>{try{return await n()}catch(s){throw new NS(s)}}),o.set(t,r)),r}function m5(){const{readOnly:e,runtime:t}=Rt(),n=t.actions,o=n?.openPath,r=n?.createAgentFile;if(!(e||!o||!r))return{openPath:o,createAgentFile:async s=>{const i=await r(s);return await o(i.path),i}}}function p5({folder:e,guard:t,pluginId:n,subpath:o=""}){const r=Rt(),s=Pd(),i=r.plugins.get(n),a=m5(),[c,l]=f.useState(0),[m,u]=f.useState(!1),p=yo(e);if(f.useEffect(()=>t.onDefer(()=>u(!0)),[t,e,n]),!i)return d.jsxs("div",{className:"mx-auto grid w-full max-w-3xl gap-4 px-4 py-5",children:[d.jsx("p",{className:"text-muted-foreground m-0 text-sm",children:"That view is not registered."}),d.jsx("a",{className:`bg-background inline-flex w-fit items-center justify-center
450
450
  rounded-md border px-3 py-1.5 text-sm no-underline`,href:r.hrefFor({folder:e,view:"notes"}),children:"Back to folder"})]});const g=()=>{t.setDirty(!1),u(!1),s.invalidateQueries({queryKey:["folder",p]})},b={documentHref:(h,y)=>r.hrefFor({folder:h,view:"document",path:y}),folder:e,folderId:p,homeHref:r.hrefFor({folder:e,view:"notes"}),hostActions:a,href:h=>r.hrefFor({folder:e,view:"plugin",pluginId:n,subpath:h}),listHref:r.hrefFor({folder:e,view:"plugin",pluginId:n}),request:(h,y)=>{const w=l5(y);return r.readOnly&&!u5(w)?Promise.reject(new d5(w)):r.runtime.plugin(n,e,h,y)},subpath:o};return d.jsxs("div",{className:"contents",onInput:h=>{p4(h.target)&&t.setDirty(!0)},onSubmit:()=>{t.setDirty(!1),m&&g()},onReset:()=>t.setDirty(!1),children:[m?d.jsxs("div",{className:`kennel-viewer-notice mx-auto flex w-full max-w-3xl
451
- flex-wrap items-center gap-2 px-4 pt-4 text-sm`,role:"status",children:[d.jsx("span",{children:"Files in this folder changed while you were editing. Your unsaved input is kept."}),d.jsx("button",{className:"underline",onClick:g,type:"button",children:"Load latest"}),d.jsx("button",{className:"underline",onClick:()=>u(!1),type:"button",children:"Keep editing"})]}):null,d.jsx(MS,{resetKey:`${e}:${n}:${o}:${c}`,onRetry:()=>{s.removeQueries({predicate:({queryKey:h})=>g4(h,p)}),l(h=>h+1)},fallback:(h,y)=>h instanceof NS?d.jsx(xd,{title:`The ${i.label} plugin could not load`,message:`Its code did not load, so this view cannot show the folder yet. ${h.message}`,retry:y,retryLabel:"Retry loading"}):d.jsx(xd,{title:`The ${i.label} view stopped with an error`,message:`The plugin loaded but failed while showing this folder's content: ${h.message}`,retry:y}),children:d.jsx(g5,{attempt:c,folder:e,folderId:p,plugin:i,view:b},`${i.id}:${c}`)})]})}function g5({attempt:e,folder:t,folderId:n,plugin:o,view:r}){const[s]=f.useState(()=>f5(o,e));return d.jsx(Nx,{folder:t,children:d.jsx(a5,{children:d.jsx(f.Suspense,{fallback:d.jsxs("p",{role:"status",className:"text-muted-foreground p-4 text-sm",children:["Loading ",o.label,"…"]}),children:d.jsx(s,{...r})})})},`${n}:${o.id}`)}var h5=f.lazy(async()=>({default:(await Wr(async()=>{const{DocumentView:e}=await import("./ask-tray-PMT6VVXN-C4dJH21Q.js").then(t=>t.d);return{DocumentView:e}},__vite__mapDeps([5,1,2,3]))).DocumentView})),y5=f.lazy(async()=>({default:(await Wr(async()=>{const{ProjectSearchDialog:e}=await import("./project-search-dialog-HJFGW4DG-DPly4OiB.js");return{ProjectSearchDialog:e}},__vite__mapDeps([6,1,2,3]))).ProjectSearchDialog})),b5=f.lazy(async()=>({default:(await Wr(async()=>{const{ProjectSearchPage:e}=await import("./project-search-page-NKQEBGPF-Cc6HV7BN.js");return{ProjectSearchPage:e}},__vite__mapDeps([7,3,1,2]))).ProjectSearchPage})),v5=f.lazy(async()=>({default:(await Wr(async()=>{const{EntitySearchPage:e}=await import("./entity-search-page-G6QEQNXT--sKP5dP3.js");return{EntitySearchPage:e}},__vite__mapDeps([8,1,2,3]))).EntitySearchPage}));function w5(){return d.jsx("p",{role:"status",className:"text-muted-foreground p-4 text-sm",children:"Loading page…"})}function js({children:e,location:t,title:n}){const o=Rt();return d.jsx(MS,{resetKey:o.hrefFor(t),fallback:(r,s)=>d.jsx(xd,{title:`${n} could not be shown`,message:r.message,retry:s}),children:d.jsx(f.Suspense,{fallback:d.jsx(w5,{}),children:e})})}function x5({guard:e}){const t=Rt(),{location:n}=t,o=n.folder;switch(n.view){case"document":return d.jsx(js,{location:n,title:"This document",children:d.jsx(h5,{folder:o,live:n.live,path:n.path,session:n.session},`${o}:${n.path}`)});case"collection":return d.jsx(js,{location:n,title:"This collection",children:d.jsx(NH,{collectionId:n.collectionId,folder:o,search:n.search})});case"search":return d.jsx(js,{location:n,title:"Search",children:d.jsx(b5,{query:n.query??""})});case"entities":return d.jsx(js,{location:n,title:"Entity search",children:d.jsx(v5,{query:{...n.query?{q:n.query}:{},...n.root?{root:n.root}:{},...n.entity?{entity:n.entity}:{}}})});default:return d.jsx(_5,{guard:e})}}var j5={files:"notes",projects:"projects",sessions:"notes"};function _5({guard:e}){const t=Rt(),{location:n,runtime:o}=t,r=n.folder,s=n.view==="projects"?"projects":"notes",i=n.view==="plugin"?{pluginId:n.pluginId,subpath:n.subpath}:void 0,[a,c]=f.useState(!1),l=!!o.search?.projects,m=t.root;f.useEffect(()=>{if(!m||!l)return;const I=M=>{if(!(M.metaKey||M.ctrlKey)||M.key.toLocaleLowerCase()!=="k")return;const B=M.target;B instanceof HTMLElement&&(B.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(B.tagName))||(M.preventDefault(),c(!0))};return m.addEventListener("keydown",I),()=>m.removeEventListener("keydown",I)},[l,m]);const u=rm(r),p=xo({enabled:n.view==="projects",gcTime:Number.POSITIVE_INFINITY,queryFn:({signal:I})=>o.metadata(r,"discovery",{signal:I}),queryKey:Hs(r,"discovery"),staleTime:Number.POSITIVE_INFINITY}),g=xo({gcTime:Number.POSITIVE_INFINITY,queryFn:({signal:I})=>o.metadata(r,"plugins",{signal:I}),queryKey:Hs(r,"plugins"),staleTime:Number.POSITIVE_INFINITY}),b=Dj(r),h=bS({enabled:n.view==="notes",folder:r,request:zS(o)}),y=f.useMemo(()=>{if(u.data)return{assets:{...p.data?.assets},files:{items:h.files??[]},folder:r,identity:u.data,plugins:g.data?.plugins??{items:[]},projects:p.data?.projects??{items:[]},workspace:b.data?.workspace??p.data?.workspace,sessions:{items:[]}}},[p.data,r,u.data,h.files,g.data,b.data]),w=u.error??(n.view==="projects"?p.error:void 0),v=u.data?.name??Ts(r),j=o.actions?.openFolder,x=j?()=>{j(r).catch(I=>t.notify("error",I instanceof Error?I.message:"Could not open the folder."))}:void 0,k=t.readOnly?void 0:o.actions?.openPath,S=h.files?.find(I=>!I.folder&&I.relativePath.toLowerCase()==="readme.md")??h.files?.find(I=>!I.folder),E=i?y?.plugins?.items.find(I=>I.id===i.pluginId):void 0,_=i?t.plugins.get(i.pluginId):void 0,P=i?d.jsx(p5,{folder:r,guard:e,pluginId:i.pluginId,subpath:i.subpath},`${r}:${i.pluginId}`):s==="notes"?d.jsx(js,{location:n,title:"Notes",children:d.jsx(r5,{folder:r})}):!p.data&&(p.isPending||p.error)?d.jsx("div",{className:"p-4",role:p.error?"alert":"status",children:p.error?d.jsxs(d.Fragment,{children:["Projects could not load."," ",d.jsx("button",{type:"button",onClick:()=>{p.refetch()},children:"Retry projects"})]}):"Loading projects…"}):null,C=d.jsx(yH,{data:y,collectionHref:I=>t.hrefFor({folder:r,view:"collection",collectionId:I}),documentHref:I=>t.hrefFor({folder:r,view:"document",path:I}),error:w?w instanceof Error?w.message:"Could not load folder activity.":"",folder:r,folderHref:I=>t.hrefFor({folder:I,view:"notes"}),onBack:t.back,onCopyPath:I=>{t.copy(I)},onFindProject:l?()=>c(!0):void 0,onForward:t.forward,onOpenFolder:x,onOpenPath:k?I=>{k(I).catch(M=>t.notify("error",M instanceof Error?M.message:"Could not open the default app."))}:void 0,pluginHref:I=>t.hrefFor({folder:r,view:"plugin",pluginId:I}),status:t.readOnly?o.capabilities.label??"Read-only":void 0,tab:n.view==="projects"?"projects":i?void 0:"files",tabHref:I=>t.hrefFor({folder:r,view:j5[I]}),view:i,viewNavigation:E??(_?{label:_.label,icon:_.icon}:void 0),children:P});return d.jsxs("div",{className:"kennel-viewer-folder","data-mobile-landing":t.narrow?"true":void 0,children:[d.jsx(bH,{canOpen:!!S,homeHref:t.hrefFor({folder:r,view:"notes"}),icon:u.data?.icon,name:v,folder:r,folderHref:I=>t.hrefFor({folder:I,view:"notes"}),collectionHref:I=>t.hrefFor({folder:r,view:"collection",collectionId:I}),workspace:y?.workspace,onBack:t.back,onCopyPath:I=>{t.copy(I)},onForward:t.forward,onOpen:()=>{S&&t.go({folder:S.folder??r,view:"document",path:S.relativePath})},onOpenFolder:x}),t.narrow?d.jsx("div",{className:"mobile-landing-content",children:C}):C,d.jsx(nD,{folder:r},r),a?d.jsx(f.Suspense,{fallback:null,children:d.jsx(y5,{open:a,onOpenChange:c})}):null]})}var S5={allowed:!1,reason:"This host does not open other folders in this viewer."};function Wh({className:e,embedded:t=!1,folder:n,initialLocation:o,initialSection:r="notes",instanceId:s,navigation:i,onViewChange:a,plugins:c=[],runtime:l}){const m=`kennel-viewer${f.useId().replaceAll(":","-")}`,[u]=f.useState(()=>new l0({defaultOptions:{queries:{refetchOnWindowFocus:!1}}})),[p]=f.useState(()=>w4(o??{folder:n,view:r})),g=i??p,b=f.useSyncExternalStore(g.subscribe,g.current,g.current),[h,y]=f.useState(null),[w,v]=f.useState(null),j=f4(h),[x]=f.useState(m4),[k,S]=f.useState([]),[E,_]=f.useState(),[P,C]=f.useState(),[I,M]=f.useState(!1),B=f.useRef(null),A=f.useCallback(()=>{B.current=null,_(void 0)},[]);f.useEffect(()=>A,[A]);const $=f.useRef(n);f.useEffect(()=>{$.current!==n&&($.current=n,S([]),C(void 0),A(),g.current().folder!==n&&g.navigate({folder:n,view:r},{replace:!0}))},[A,n,r,g]),f.useEffect(()=>{S(G=>G.at(-1)?.folder===b.folder?G.slice(0,-1):G)},[b.folder]),f.useEffect(()=>{A(),C(void 0)},[A,b]);const U=f.useCallback((G,X)=>{const ne=g.current();if(A(),G.folder===ne.folder){g.navigate(G,X);return}const be=G.folder===$.current||k.some(de=>de.folder===G.folder),fe=()=>{C(void 0),S(de=>de.at(-1)?.folder===G.folder?de:[...de,{folder:ne.folder,location:ne}]),g.navigate(G,X)};if(be){fe();return}const ke={folder:G.folder};B.current=ke,_(G.folder),C(void 0),(l.requestFolder?l.requestFolder(G.folder):Promise.resolve(S5)).catch(de=>({allowed:!1,reason:de instanceof Error?de.message:"The folder request failed."})).then(de=>{B.current===ke&&(B.current=null,_(void 0),de.allowed?fe():C({folder:G.folder,reason:de.reason}))})},[A,g,l,k]),F=f.useCallback(()=>{const G=k.at(-1);G&&(A(),S(X=>X.slice(0,-1)),C(void 0),g.navigate(G.location))},[A,g,k]),R=f.useRef(new Map),K=l.storage,N=f.useCallback(G=>{const X=`${s??""}\0${G}`;let ne=R.current.get(X);return ne||(ne=QM(G,K,s),R.current.set(X,ne)),ne},[s,K]),z=f.useMemo(()=>v4(m),[m]),T=l.clipboard?G=>l.clipboard.writeText(G):void 0,O=f.useCallback(async G=>{const X=await _c(G,{container:w,writeText:T});return z(X?"success":"error",X?"Copied to clipboard":"Could not copy"),X},[z,w,l.clipboard]),D=f.useCallback(G=>g.href?g.href(G):Wa(G),[g]),V=f.useCallback(G=>g.parse?g.parse(G):yS(G),[g]),H=f.useCallback(G=>{if(!h)return G;const X=h.ownerDocument.createElement("a");return X.href=G,X.href},[h]),q=f.useMemo(()=>new Map(c.map(G=>[G.id,G])),[c]),L=l.capabilities.readOnly===!0,ee=f.useMemo(()=>({absoluteHref:H,askAi:{enabled:I,setEnabled:M},back:g.back?()=>g.back():void 0,backToPreviousFolder:F,copy:O,drafts:N,embedded:t,folderTrail:k,forward:g.forward?()=>g.forward():void 0,go:U,hostFolder:n,hrefFor:D,id:m,location:b,narrow:j,notify:z,overlay:w,plugins:q,readOnly:L,root:h,runtime:l}),[H,I,F,O,N,t,n,U,D,m,b,j,g,z,w,q,L,h,l,k]),ce=G=>{if(G.defaultPrevented||G.button!==0||G.metaKey||G.ctrlKey||G.shiftKey||G.altKey||!(G.target instanceof Element))return;const X=G.target.closest("a[href]");if(!X||!G.currentTarget.contains(X))return;const ne=X.getAttribute("target");if(ne&&ne!=="_self"||X.hasAttribute("download"))return;const be=V(X.getAttribute("href")??"");be&&(G.preventDefault(),U(be))};return d.jsxs("div",{ref:y,className:["kennel-viewer",e].filter(Boolean).join(" "),"data-kennel-viewer":"","data-layout":j?"narrow":"wide","data-read-only":L?"true":void 0,id:m,onClick:ce,tabIndex:-1,children:[d.jsx(u0,{client:u,children:d.jsx(IT,{value:ee,children:d.jsxs(oD,{value:{container:w,contained:!0,keyboardScope:h,mobile:j,notify:z,writeText:T},children:[d.jsx(k5,{guard:x}),d.jsx("div",{className:"kennel-viewer-scroll",children:d.jsx(x5,{guard:x})}),d.jsx(E5,{denied:P,pending:E}),d.jsx(C5,{onViewChange:a}),d.jsx(b4,{id:m})]})})}),d.jsx("div",{className:"kennel-viewer-overlay",ref:v})]})}function k5({guard:e}){const{location:t,runtime:n}=Rt(),o=Pd();return h4(t.folder,n,o,e),null}function E5({denied:e,pending:t}){const n=Rt(),o=n.folderTrail.at(-1);return!o&&!e&&!t&&!n.readOnly?null:d.jsxs("div",{className:"kennel-viewer-notices","aria-live":"polite",children:[n.readOnly?d.jsx("span",{className:"kennel-viewer-status","data-read-only":"",children:n.runtime.capabilities.label??"Read-only"}):null,o?d.jsxs("button",{className:"kennel-viewer-back",onClick:n.backToPreviousFolder,type:"button",children:["← Back to ",Ts(o.folder)]}):null,t?d.jsxs("p",{className:"kennel-viewer-notice",role:"status",children:["Asking to open ",Ts(t),"…"]}):null,e?d.jsxs("p",{className:"kennel-viewer-notice",role:"alert","data-denied":"",children:[Ts(e.folder)," was not opened: ",e.reason," The current folder stays open."]}):null]})}function P5(e,t){switch(e.view){case"document":return e.path.split("/").at(-1)??e.path;case"plugin":return t.get(e.pluginId)?.label??e.pluginId;case"collection":return e.collectionId;case"projects":return"Projects";case"search":return"Search projects";case"entities":return"Entities";case"notes":return"Notes"}}function C5({onViewChange:e}){const{location:t,plugins:n}=Rt(),o=rm(t.folder,!!e),r=o.data?.name??Ts(t.folder),s=o.data?.icon,i=P5(t,n),a=f.useRef(e);return f.useEffect(()=>{a.current=e}),f.useEffect(()=>{a.current?.({folder:t.folder,icon:s,location:t,name:r,title:i})},[s,t,r,i]),null}function T5(e){const t=e.slice(e.lastIndexOf(".")).toLowerCase();if(t===".htm"||t===".html")return"html";if(t===".md"||t===".markdown")return"markdown";if(t===".text"||t===".txt")return"text"}async function VS(e,t=""){const n=[];for await(const o of e.values()){const r=t?`${t}/${o.name}`:o.name;if(o.kind==="directory"){n.push(...await VS(o,r));continue}const s=T5(o.name);if(!s)continue;const i=await o.getFile();n.push({path:r,content:await i.text(),kind:s})}return n}async function O5(e){const t=await VS(e);return t.sort((n,o)=>n.path.localeCompare(o.path)),{root:e.name,documents:t}}async function R5(e){for(const t of e){if(t.kind!=="file")continue;const n=t.getAsFileSystemHandle;if(!n)throw new Error("This browser cannot read dropped folders.");const o=await n.call(t);if(o?.kind==="directory")return o}throw new Error("Drop one folder to open it.")}function I5(e){return(e.split("/").at(-1)??e).replace(/\.(?:md|markdown)$/i,"")}function A5(e){const t=e.root,n=e.documents.filter(s=>s.kind==="markdown").map(s=>({activityAt:0,name:I5(s.path),relativePath:s.path})),o={breadcrumbs:[],root:t},r={identity:{folder:t,assets:{}},notes:{folder:t,files:{items:n}},plugins:{folder:t,plugins:{items:[]}},discovery:{folder:t,assets:{},projects:{items:[]},workspace:o},workspace:{folder:t,workspace:o}};return{capabilities:{readOnly:!0,label:"Dropped folder · read-only"},async metadata(s,i,a={}){if(i==="collections")throw new Error("Collections need a Kennel server.");return i==="notes"&&a.notesScope==="linked"?{folder:t,files:{items:[]}}:r[i]},async document(s,i){const a=e.documents.find(c=>c.path===i);if(!a)throw new Error("Document not found.");return{...a,root:t}},async plugin(){throw new Error("Plugins need a Kennel server.")},events:{subscribe:()=>()=>{}}}}const US=["embedded","panel","host"];function fr(e,t){for(const o of US){const r=new URLSearchParams(window.location.search).get(o);r!==null&&t.set(o,r)}const n=t.toString();return n?`${e}?${n}`:e}function ps(e){const t=new URLSearchParams;for(const[n,o]of Object.entries(e))o&&t.set(n,o);return t}function Gh(e){switch(e.view){case"notes":case"projects":return fr(By(e.folder,e.view),ps({}));case"collection":return fr(b1(e.folder,e.collectionId),new URLSearchParams(e.search??""));case"plugin":return fr(y1(e.folder,e.pluginId,e.subpath),ps({}));case"document":return fr(zy(e.folder,e.path),ps({session:e.session,watch:e.live&&"1"}));case"search":return fr("/search",ps({q:e.query}));case"entities":return fr("/entities",ps({q:e.query,root:e.root,entity:e.entity}))}}function Zh(e,t){if(e.startsWith("#"))return;const n=new URL(e,window.location.href);if(n.origin!==window.location.origin)return;const o=n.searchParams;if(n.pathname==="/search")return{folder:t,view:"search",...o.get("q")?{query:o.get("q")}:{}};if(n.pathname==="/entities")return{folder:t,view:"entities",...o.get("q")?{query:o.get("q")}:{},...o.get("root")?{root:o.get("root")}:{},...o.get("entity")?{entity:o.get("entity")}:{}};if(n.pathname!=="/"&&!n.pathname.startsWith("/folder/"))return;const r=ei(n.href),s=r.folder??t;if(r.document)return{folder:s,view:"document",path:r.document,...r.session?{session:r.session}:{},...o.get("watch")==="1"?{live:!0}:{}};if(r.collectionId){const i=new URLSearchParams(n.search);for(const a of US)i.delete(a);return{folder:s,view:"collection",collectionId:r.collectionId,...i.size?{search:i.toString()}:{}}}return r.view?{folder:s,view:"plugin",pluginId:r.view.pluginId,...r.view.subpath?{subpath:decodeURIComponent(r.view.subpath)}:{}}:r.section==="projects"?{folder:s,view:"projects"}:{folder:s,view:"notes"}}function N5(e){const t=new Set;let n="",o={folder:e,view:"notes"};const r=()=>(n!==window.location.href&&(n=window.location.href,o=Zh(n,e)??{folder:e,view:"notes"}),o),s=()=>{for(const i of t)i()};return{current:r,subscribe(i){return t.add(i),t.size===1&&window.addEventListener("popstate",s),()=>{t.delete(i),t.size===0&&window.removeEventListener("popstate",s)}},navigate(i,a={}){const c=Gh(i);a.replace?window.history.replaceState(null,"",c):window.history.pushState(null,"",c),s()},back:()=>window.history.back(),forward:()=>window.history.forward(),href:Gh,parse:i=>Zh(i,r().folder)}}const Yh=new Map;async function M5(e,t){const o=(await e.config(t)).aiInputModule;if(typeof o!="string"||!o)return null;let r=Yh.get(o);r||(r=import(o).then(i=>{const a=i.default;if(!a?.Composer)throw new Error("The AI input module must default-export an adapter with a Composer component.");return a}),Yh.set(o,r));const s=await r;return await s.install?.(),s.Composer}let Nn;const _r=new Set;function HS(){if(!(Nn||document.visibilityState!=="visible")){Nn=new EventSource("/api/events");for(const{event:e,listener:t}of _r)Nn.addEventListener(e,t)}}function Xh(){if(document.visibilityState!=="visible"){Nn?.close(),Nn=void 0;return}HS();for(const e of _r)e.resume()}function nu(e,t,n=()=>t(new Event(e))){const o={event:e,listener:t,resume:n};return _r.add(o),_r.size===1&&document.addEventListener("visibilitychange",Xh),Nn?Nn.addEventListener(e,t):HS(),()=>{_r.delete(o)&&(Nn?.removeEventListener(e,t),_r.size===0&&(Nn?.close(),Nn=void 0,document.removeEventListener("visibilitychange",Xh)))}}const D5=["claude","codex","cursor","opencode","pi"];async function F5(e,t={}){const n=await fetch(`/api/session?sessionId=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok)throw new Error("Session not found");const o=await n.json(),r=e.slice(0,e.indexOf(":")),s=D5.find(i=>i===r);return{id:e,title:o.title,...s?{client:s,iconUrl:`/providers/${s}.svg`}:{},...o.lastMessageAt?{lastMessageAt:o.lastMessageAt}:{}}}function ou(e){return`/?folder=${encodeURIComponent(e)}`}function ru(e){try{const t=JSON.parse(e.data);return typeof t.path=="string"?t.path:void 0}catch{return}}function $5(){try{return window.sessionStorage}catch{return}}function L5(e,t,n={}){const o=new URL(n.download?"/api/raw":"/api/media",window.location.origin);return o.searchParams.set("path",e),o.searchParams.set("file",t),n.download&&o.searchParams.set("download","1"),`${o.pathname}${o.search}`}function B5({agent:e,capabilities:t,client:n}){const o=t.hostActions==="local";return{metadata:async(r,s,i={})=>{const{collectionId:a,notesScope:c,retryLinked:l,signal:m,sort:u}=i;return await n.metadata(ou(r),s,{signal:m,notesScope:c,sort:u,...a?{id:a}:{},headers:l?{"x-kennel-retry-linked":"1"}:void 0})},document:(r,s,i={})=>n.document(ou(r),s,i),plugin:(r,s,i,a)=>n.plugin(r,s,i,a),events:{subscribe(r,s){const i=l=>s(l),a=()=>i({type:"resync"}),c=[nu("kennel:metadata-changed",l=>i({type:"metadata-changed",path:ru(l)}),a),nu("kennel:workspace-changed",l=>i({type:"workspace-changed",path:ru(l)}),a),nu("kennel:linked-folders-changed",l=>{ru(l)===r&&i({type:"linked-folders-changed"})},a)];return()=>{for(const l of c)l()}}},capabilities:{agent:!!e?.send,download:t.download,readOnly:!o,...t.local?{}:{label:"Remote · read-only"}},async requestFolder(r){try{return await n.metadata(ou(r),"identity"),{allowed:!0}}catch(s){return{allowed:!1,reason:s instanceof ca||s instanceof Error?s.message:"The server refused this folder."}}},media:{url:L5},actions:o?{openPath:async r=>{try{await n.openPath(r)}catch{throw new Error("Could not open the default app.")}},openFolder:r=>n.openFolder(r),createAgentFile:r=>n.createAgentFile(r)}:void 0,clipboard:navigator.clipboard?.writeText?{writeText:r=>navigator.clipboard.writeText(r)}:void 0,storage:$5(),agent:{...e,session:F5,composer:r=>M5(n,r)},search:t.local?{projects:(r,s)=>n.projectSearch(r,s),entities:(r,s)=>n.entities(r,s)}:void 0}}function z5({bridge:e,capabilities:t,client:n,folder:o,onView:r,plugins:s}){const[i]=f.useState(()=>N5(o)),[a]=f.useState(()=>{const h=new URLSearchParams(window.location.search);return{embedded:h.get("embedded")==="1"||h.get("panel")==="1"}}),c=f.useMemo(()=>B5({agent:e?{label:"chat",send:e.send}:void 0,capabilities:t,client:n}),[e,t,n]),[l,m]=f.useState(),[u,p]=f.useState(!1),g=f.useRef(0),b=h=>[...h.dataTransfer.items].some(y=>y.kind==="file");return d.jsxs("div",{className:"web-host",onDragEnter:h=>{a.embedded||!b(h)||(h.preventDefault(),g.current+=1,p(!0))},onDragLeave:()=>{g.current-=1,g.current<=0&&p(!1)},onDragOver:h=>{a.embedded||(h.preventDefault(),h.dataTransfer.dropEffect="copy")},onDrop:h=>{a.embedded||(h.preventDefault(),g.current=0,p(!1),R5(h.dataTransfer.items).then(O5).then(y=>m({folder:y.root,runtime:A5(y)})).catch(y=>console.error(y)))},children:[l?d.jsx(Wh,{folder:l.folder,onViewChange:Uy,runtime:l.runtime},l.folder):d.jsx(Wh,{embedded:a.embedded,folder:o,navigation:i,onViewChange:r,plugins:s,runtime:c}),u?d.jsx("div",{className:"folder-drop-overlay",children:"Drop folder to open"}):null]})}F1();const Jh=v1(window.location.href);if(Jh){const e=new URL(Jh,window.location.origin),t=new URLSearchParams(window.location.search);for(const n of["watch","embedded","panel","host"]){const o=t.get(n);o!==null&&e.searchParams.set(n,o)}window.history.replaceState(null,"",`${e.pathname}${e.search}`)}const kd=Vy(),V5={download:!1,hostActions:"none",local:!1,viewer:"unknown"},Ed={},U5=R1(()=>{const e=Ed.current?.location;return{path:e?.view==="document"?e.path:void 0,title:Ed.current?.title}}),H5=e=>{Ed.current=e,Uy(e)},Qh=qS.createRoot(document.getElementById("root")),K5=ei(window.location.href).folder??kd.health().then(e=>e.root);Promise.all([kd.capabilities().catch(()=>V5),K5,D1()]).then(([e,t,n])=>Qh.render(d.jsx(f.StrictMode,{children:d.jsx(z5,{bridge:U5,capabilities:e,client:kd,folder:t,onView:H5,plugins:n})}))).catch(e=>Qh.render(d.jsxs("p",{role:"alert",className:"web-host-error",children:["Kennel could not start:"," ",e instanceof Error?e.message:String(e)]})));export{Ht as $,nc as A,nt as B,gK as C,lO as D,to as E,$e as F,oi as G,ve as H,Le as I,an as J,Nb as K,DM as L,pO as M,hR as N,Ra as O,Tx as P,Ca as Q,gb as R,Oa as S,mO as T,Pa as U,Ea as V,Ta as W,$p as X,ka as Y,jn as Z,Wr as _,Sx as a,Bd as a$,gn as a0,Qd as a1,Mv as a2,zA as a3,UA as a4,WA as a5,VA as a6,LA as a7,KA as a8,qA as a9,mb as aA,sc as aB,si as aC,ii as aD,xn as aE,Zd as aF,nK as aG,tK as aH,pb as aI,Vw as aJ,Q5 as aK,rK as aL,eK as aM,sK as aN,iK as aO,oK as aP,aK as aQ,cK as aR,Y5 as aS,lK as aT,J5 as aU,yo as aV,Pf as aW,So as aX,Px as aY,Lo as aZ,Nr as a_,GA as aa,YA as ab,JA as ac,XA as ad,$A as ae,FA as af,BA as ag,HA as ah,ZA as ai,Xr as aj,Jr as ak,gc as al,pc as am,ri as an,cf as ao,lf as ap,Ov as aq,nA as ar,oA as as,Sw as at,Vd as au,GT as av,HI as aw,X5 as ax,yf as ay,Sb as az,d_ as b,kT as b0,qy as b1,uK as b2,dK as b3,ue as b4,Ix as b5,L2 as b6,Vu as b7,ho as b8,fK as b9,WM as ba,D2 as bb,Jf as bc,mK as bd,tD as be,nD as bf,ze as c,f_ as d,m_ as e,td as f,nd as g,Ze as h,Dr as i,pv as j,dt as k,Ds as l,sf as m,go as n,_o as o,Yt as p,of as q,Ox as r,Ot as s,gv as t,Rt as u,bv as v,hv as w,vv as x,Tu as y,pn as z};
451
+ flex-wrap items-center gap-2 px-4 pt-4 text-sm`,role:"status",children:[d.jsx("span",{children:"Files in this folder changed while you were editing. Your unsaved input is kept."}),d.jsx("button",{className:"underline",onClick:g,type:"button",children:"Load latest"}),d.jsx("button",{className:"underline",onClick:()=>u(!1),type:"button",children:"Keep editing"})]}):null,d.jsx(MS,{resetKey:`${e}:${n}:${o}:${c}`,onRetry:()=>{s.removeQueries({predicate:({queryKey:h})=>g4(h,p)}),l(h=>h+1)},fallback:(h,y)=>h instanceof NS?d.jsx(xd,{title:`The ${i.label} plugin could not load`,message:`Its code did not load, so this view cannot show the folder yet. ${h.message}`,retry:y,retryLabel:"Retry loading"}):d.jsx(xd,{title:`The ${i.label} view stopped with an error`,message:`The plugin loaded but failed while showing this folder's content: ${h.message}`,retry:y}),children:d.jsx(g5,{attempt:c,folder:e,folderId:p,plugin:i,view:b},`${i.id}:${c}`)})]})}function g5({attempt:e,folder:t,folderId:n,plugin:o,view:r}){const[s]=f.useState(()=>f5(o,e));return d.jsx(Nx,{folder:t,children:d.jsx(a5,{children:d.jsx(f.Suspense,{fallback:d.jsxs("p",{role:"status",className:"text-muted-foreground p-4 text-sm",children:["Loading ",o.label,"…"]}),children:d.jsx(s,{...r})})})},`${n}:${o.id}`)}var h5=f.lazy(async()=>({default:(await Wr(async()=>{const{DocumentView:e}=await import("./ask-tray-PMT6VVXN-FqPDpwtw.js").then(t=>t.d);return{DocumentView:e}},__vite__mapDeps([5,1,2,3]))).DocumentView})),y5=f.lazy(async()=>({default:(await Wr(async()=>{const{ProjectSearchDialog:e}=await import("./project-search-dialog-HJFGW4DG-h_dHeh7g.js");return{ProjectSearchDialog:e}},__vite__mapDeps([6,1,2,3]))).ProjectSearchDialog})),b5=f.lazy(async()=>({default:(await Wr(async()=>{const{ProjectSearchPage:e}=await import("./project-search-page-NKQEBGPF-2AzjjLEC.js");return{ProjectSearchPage:e}},__vite__mapDeps([7,3,1,2]))).ProjectSearchPage})),v5=f.lazy(async()=>({default:(await Wr(async()=>{const{EntitySearchPage:e}=await import("./entity-search-page-G6QEQNXT-CnG8d-at.js");return{EntitySearchPage:e}},__vite__mapDeps([8,1,2,3]))).EntitySearchPage}));function w5(){return d.jsx("p",{role:"status",className:"text-muted-foreground p-4 text-sm",children:"Loading page…"})}function js({children:e,location:t,title:n}){const o=Rt();return d.jsx(MS,{resetKey:o.hrefFor(t),fallback:(r,s)=>d.jsx(xd,{title:`${n} could not be shown`,message:r.message,retry:s}),children:d.jsx(f.Suspense,{fallback:d.jsx(w5,{}),children:e})})}function x5({guard:e}){const t=Rt(),{location:n}=t,o=n.folder;switch(n.view){case"document":return d.jsx(js,{location:n,title:"This document",children:d.jsx(h5,{folder:o,live:n.live,path:n.path,session:n.session},`${o}:${n.path}`)});case"collection":return d.jsx(js,{location:n,title:"This collection",children:d.jsx(NH,{collectionId:n.collectionId,folder:o,search:n.search})});case"search":return d.jsx(js,{location:n,title:"Search",children:d.jsx(b5,{query:n.query??""})});case"entities":return d.jsx(js,{location:n,title:"Entity search",children:d.jsx(v5,{query:{...n.query?{q:n.query}:{},...n.root?{root:n.root}:{},...n.entity?{entity:n.entity}:{}}})});default:return d.jsx(_5,{guard:e})}}var j5={files:"notes",projects:"projects",sessions:"notes"};function _5({guard:e}){const t=Rt(),{location:n,runtime:o}=t,r=n.folder,s=n.view==="projects"?"projects":"notes",i=n.view==="plugin"?{pluginId:n.pluginId,subpath:n.subpath}:void 0,[a,c]=f.useState(!1),l=!!o.search?.projects,m=t.root;f.useEffect(()=>{if(!m||!l)return;const I=M=>{if(!(M.metaKey||M.ctrlKey)||M.key.toLocaleLowerCase()!=="k")return;const B=M.target;B instanceof HTMLElement&&(B.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(B.tagName))||(M.preventDefault(),c(!0))};return m.addEventListener("keydown",I),()=>m.removeEventListener("keydown",I)},[l,m]);const u=rm(r),p=xo({enabled:n.view==="projects",gcTime:Number.POSITIVE_INFINITY,queryFn:({signal:I})=>o.metadata(r,"discovery",{signal:I}),queryKey:Hs(r,"discovery"),staleTime:Number.POSITIVE_INFINITY}),g=xo({gcTime:Number.POSITIVE_INFINITY,queryFn:({signal:I})=>o.metadata(r,"plugins",{signal:I}),queryKey:Hs(r,"plugins"),staleTime:Number.POSITIVE_INFINITY}),b=Dj(r),h=bS({enabled:n.view==="notes",folder:r,request:zS(o)}),y=f.useMemo(()=>{if(u.data)return{assets:{...p.data?.assets},files:{items:h.files??[]},folder:r,identity:u.data,plugins:g.data?.plugins??{items:[]},projects:p.data?.projects??{items:[]},workspace:b.data?.workspace??p.data?.workspace,sessions:{items:[]}}},[p.data,r,u.data,h.files,g.data,b.data]),w=u.error??(n.view==="projects"?p.error:void 0),v=u.data?.name??Ts(r),j=o.actions?.openFolder,x=j?()=>{j(r).catch(I=>t.notify("error",I instanceof Error?I.message:"Could not open the folder."))}:void 0,k=t.readOnly?void 0:o.actions?.openPath,S=h.files?.find(I=>!I.folder&&I.relativePath.toLowerCase()==="readme.md")??h.files?.find(I=>!I.folder),E=i?y?.plugins?.items.find(I=>I.id===i.pluginId):void 0,_=i?t.plugins.get(i.pluginId):void 0,P=i?d.jsx(p5,{folder:r,guard:e,pluginId:i.pluginId,subpath:i.subpath},`${r}:${i.pluginId}`):s==="notes"?d.jsx(js,{location:n,title:"Notes",children:d.jsx(r5,{folder:r})}):!p.data&&(p.isPending||p.error)?d.jsx("div",{className:"p-4",role:p.error?"alert":"status",children:p.error?d.jsxs(d.Fragment,{children:["Projects could not load."," ",d.jsx("button",{type:"button",onClick:()=>{p.refetch()},children:"Retry projects"})]}):"Loading projects…"}):null,C=d.jsx(yH,{data:y,collectionHref:I=>t.hrefFor({folder:r,view:"collection",collectionId:I}),documentHref:I=>t.hrefFor({folder:r,view:"document",path:I}),error:w?w instanceof Error?w.message:"Could not load folder activity.":"",folder:r,folderHref:I=>t.hrefFor({folder:I,view:"notes"}),onBack:t.back,onCopyPath:I=>{t.copy(I)},onFindProject:l?()=>c(!0):void 0,onForward:t.forward,onOpenFolder:x,onOpenPath:k?I=>{k(I).catch(M=>t.notify("error",M instanceof Error?M.message:"Could not open the default app."))}:void 0,pluginHref:I=>t.hrefFor({folder:r,view:"plugin",pluginId:I}),status:t.readOnly?o.capabilities.label??"Read-only":void 0,tab:n.view==="projects"?"projects":i?void 0:"files",tabHref:I=>t.hrefFor({folder:r,view:j5[I]}),view:i,viewNavigation:E??(_?{label:_.label,icon:_.icon}:void 0),children:P});return d.jsxs("div",{className:"kennel-viewer-folder","data-mobile-landing":t.narrow?"true":void 0,children:[d.jsx(bH,{canOpen:!!S,homeHref:t.hrefFor({folder:r,view:"notes"}),icon:u.data?.icon,name:v,folder:r,folderHref:I=>t.hrefFor({folder:I,view:"notes"}),collectionHref:I=>t.hrefFor({folder:r,view:"collection",collectionId:I}),workspace:y?.workspace,onBack:t.back,onCopyPath:I=>{t.copy(I)},onForward:t.forward,onOpen:()=>{S&&t.go({folder:S.folder??r,view:"document",path:S.relativePath})},onOpenFolder:x}),t.narrow?d.jsx("div",{className:"mobile-landing-content",children:C}):C,d.jsx(nD,{folder:r},r),a?d.jsx(f.Suspense,{fallback:null,children:d.jsx(y5,{open:a,onOpenChange:c})}):null]})}var S5={allowed:!1,reason:"This host does not open other folders in this viewer."};function Wh({className:e,embedded:t=!1,folder:n,initialLocation:o,initialSection:r="notes",instanceId:s,navigation:i,onViewChange:a,plugins:c=[],runtime:l}){const m=`kennel-viewer${f.useId().replaceAll(":","-")}`,[u]=f.useState(()=>new l0({defaultOptions:{queries:{refetchOnWindowFocus:!1}}})),[p]=f.useState(()=>w4(o??{folder:n,view:r})),g=i??p,b=f.useSyncExternalStore(g.subscribe,g.current,g.current),[h,y]=f.useState(null),[w,v]=f.useState(null),j=f4(h),[x]=f.useState(m4),[k,S]=f.useState([]),[E,_]=f.useState(),[P,C]=f.useState(),[I,M]=f.useState(!1),B=f.useRef(null),A=f.useCallback(()=>{B.current=null,_(void 0)},[]);f.useEffect(()=>A,[A]);const $=f.useRef(n);f.useEffect(()=>{$.current!==n&&($.current=n,S([]),C(void 0),A(),g.current().folder!==n&&g.navigate({folder:n,view:r},{replace:!0}))},[A,n,r,g]),f.useEffect(()=>{S(G=>G.at(-1)?.folder===b.folder?G.slice(0,-1):G)},[b.folder]),f.useEffect(()=>{A(),C(void 0)},[A,b]);const U=f.useCallback((G,X)=>{const ne=g.current();if(A(),G.folder===ne.folder){g.navigate(G,X);return}const be=G.folder===$.current||k.some(de=>de.folder===G.folder),fe=()=>{C(void 0),S(de=>de.at(-1)?.folder===G.folder?de:[...de,{folder:ne.folder,location:ne}]),g.navigate(G,X)};if(be){fe();return}const ke={folder:G.folder};B.current=ke,_(G.folder),C(void 0),(l.requestFolder?l.requestFolder(G.folder):Promise.resolve(S5)).catch(de=>({allowed:!1,reason:de instanceof Error?de.message:"The folder request failed."})).then(de=>{B.current===ke&&(B.current=null,_(void 0),de.allowed?fe():C({folder:G.folder,reason:de.reason}))})},[A,g,l,k]),F=f.useCallback(()=>{const G=k.at(-1);G&&(A(),S(X=>X.slice(0,-1)),C(void 0),g.navigate(G.location))},[A,g,k]),R=f.useRef(new Map),K=l.storage,N=f.useCallback(G=>{const X=`${s??""}\0${G}`;let ne=R.current.get(X);return ne||(ne=QM(G,K,s),R.current.set(X,ne)),ne},[s,K]),z=f.useMemo(()=>v4(m),[m]),T=l.clipboard?G=>l.clipboard.writeText(G):void 0,O=f.useCallback(async G=>{const X=await _c(G,{container:w,writeText:T});return z(X?"success":"error",X?"Copied to clipboard":"Could not copy"),X},[z,w,l.clipboard]),D=f.useCallback(G=>g.href?g.href(G):Wa(G),[g]),V=f.useCallback(G=>g.parse?g.parse(G):yS(G),[g]),H=f.useCallback(G=>{if(!h)return G;const X=h.ownerDocument.createElement("a");return X.href=G,X.href},[h]),q=f.useMemo(()=>new Map(c.map(G=>[G.id,G])),[c]),L=l.capabilities.readOnly===!0,ee=f.useMemo(()=>({absoluteHref:H,askAi:{enabled:I,setEnabled:M},back:g.back?()=>g.back():void 0,backToPreviousFolder:F,copy:O,drafts:N,embedded:t,folderTrail:k,forward:g.forward?()=>g.forward():void 0,go:U,hostFolder:n,hrefFor:D,id:m,location:b,narrow:j,notify:z,overlay:w,plugins:q,readOnly:L,root:h,runtime:l}),[H,I,F,O,N,t,n,U,D,m,b,j,g,z,w,q,L,h,l,k]),ce=G=>{if(G.defaultPrevented||G.button!==0||G.metaKey||G.ctrlKey||G.shiftKey||G.altKey||!(G.target instanceof Element))return;const X=G.target.closest("a[href]");if(!X||!G.currentTarget.contains(X))return;const ne=X.getAttribute("target");if(ne&&ne!=="_self"||X.hasAttribute("download"))return;const be=V(X.getAttribute("href")??"");be&&(G.preventDefault(),U(be))};return d.jsxs("div",{ref:y,className:["kennel-viewer",e].filter(Boolean).join(" "),"data-kennel-viewer":"","data-layout":j?"narrow":"wide","data-read-only":L?"true":void 0,id:m,onClick:ce,tabIndex:-1,children:[d.jsx(u0,{client:u,children:d.jsx(IT,{value:ee,children:d.jsxs(oD,{value:{container:w,contained:!0,keyboardScope:h,mobile:j,notify:z,writeText:T},children:[d.jsx(k5,{guard:x}),d.jsx("div",{className:"kennel-viewer-scroll",children:d.jsx(x5,{guard:x})}),d.jsx(E5,{denied:P,pending:E}),d.jsx(C5,{onViewChange:a}),d.jsx(b4,{id:m})]})})}),d.jsx("div",{className:"kennel-viewer-overlay",ref:v})]})}function k5({guard:e}){const{location:t,runtime:n}=Rt(),o=Pd();return h4(t.folder,n,o,e),null}function E5({denied:e,pending:t}){const n=Rt(),o=n.folderTrail.at(-1);return!o&&!e&&!t&&!n.readOnly?null:d.jsxs("div",{className:"kennel-viewer-notices","aria-live":"polite",children:[n.readOnly?d.jsx("span",{className:"kennel-viewer-status","data-read-only":"",children:n.runtime.capabilities.label??"Read-only"}):null,o?d.jsxs("button",{className:"kennel-viewer-back",onClick:n.backToPreviousFolder,type:"button",children:["← Back to ",Ts(o.folder)]}):null,t?d.jsxs("p",{className:"kennel-viewer-notice",role:"status",children:["Asking to open ",Ts(t),"…"]}):null,e?d.jsxs("p",{className:"kennel-viewer-notice",role:"alert","data-denied":"",children:[Ts(e.folder)," was not opened: ",e.reason," The current folder stays open."]}):null]})}function P5(e,t){switch(e.view){case"document":return e.path.split("/").at(-1)??e.path;case"plugin":return t.get(e.pluginId)?.label??e.pluginId;case"collection":return e.collectionId;case"projects":return"Projects";case"search":return"Search projects";case"entities":return"Entities";case"notes":return"Notes"}}function C5({onViewChange:e}){const{location:t,plugins:n}=Rt(),o=rm(t.folder,!!e),r=o.data?.name??Ts(t.folder),s=o.data?.icon,i=P5(t,n),a=f.useRef(e);return f.useEffect(()=>{a.current=e}),f.useEffect(()=>{a.current?.({folder:t.folder,icon:s,location:t,name:r,title:i})},[s,t,r,i]),null}function T5(e){const t=e.slice(e.lastIndexOf(".")).toLowerCase();if(t===".htm"||t===".html")return"html";if(t===".md"||t===".markdown")return"markdown";if(t===".text"||t===".txt")return"text"}async function VS(e,t=""){const n=[];for await(const o of e.values()){const r=t?`${t}/${o.name}`:o.name;if(o.kind==="directory"){n.push(...await VS(o,r));continue}const s=T5(o.name);if(!s)continue;const i=await o.getFile();n.push({path:r,content:await i.text(),kind:s})}return n}async function O5(e){const t=await VS(e);return t.sort((n,o)=>n.path.localeCompare(o.path)),{root:e.name,documents:t}}async function R5(e){for(const t of e){if(t.kind!=="file")continue;const n=t.getAsFileSystemHandle;if(!n)throw new Error("This browser cannot read dropped folders.");const o=await n.call(t);if(o?.kind==="directory")return o}throw new Error("Drop one folder to open it.")}function I5(e){return(e.split("/").at(-1)??e).replace(/\.(?:md|markdown)$/i,"")}function A5(e){const t=e.root,n=e.documents.filter(s=>s.kind==="markdown").map(s=>({activityAt:0,name:I5(s.path),relativePath:s.path})),o={breadcrumbs:[],root:t},r={identity:{folder:t,assets:{}},notes:{folder:t,files:{items:n}},plugins:{folder:t,plugins:{items:[]}},discovery:{folder:t,assets:{},projects:{items:[]},workspace:o},workspace:{folder:t,workspace:o}};return{capabilities:{readOnly:!0,label:"Dropped folder · read-only"},async metadata(s,i,a={}){if(i==="collections")throw new Error("Collections need a Kennel server.");return i==="notes"&&a.notesScope==="linked"?{folder:t,files:{items:[]}}:r[i]},async document(s,i){const a=e.documents.find(c=>c.path===i);if(!a)throw new Error("Document not found.");return{...a,root:t}},async plugin(){throw new Error("Plugins need a Kennel server.")},events:{subscribe:()=>()=>{}}}}const US=["embedded","panel","host"];function fr(e,t){for(const o of US){const r=new URLSearchParams(window.location.search).get(o);r!==null&&t.set(o,r)}const n=t.toString();return n?`${e}?${n}`:e}function ps(e){const t=new URLSearchParams;for(const[n,o]of Object.entries(e))o&&t.set(n,o);return t}function Gh(e){switch(e.view){case"notes":case"projects":return fr(By(e.folder,e.view),ps({}));case"collection":return fr(b1(e.folder,e.collectionId),new URLSearchParams(e.search??""));case"plugin":return fr(y1(e.folder,e.pluginId,e.subpath),ps({}));case"document":return fr(zy(e.folder,e.path),ps({session:e.session,watch:e.live&&"1"}));case"search":return fr("/search",ps({q:e.query}));case"entities":return fr("/entities",ps({q:e.query,root:e.root,entity:e.entity}))}}function Zh(e,t){if(e.startsWith("#"))return;const n=new URL(e,window.location.href);if(n.origin!==window.location.origin)return;const o=n.searchParams;if(n.pathname==="/search")return{folder:t,view:"search",...o.get("q")?{query:o.get("q")}:{}};if(n.pathname==="/entities")return{folder:t,view:"entities",...o.get("q")?{query:o.get("q")}:{},...o.get("root")?{root:o.get("root")}:{},...o.get("entity")?{entity:o.get("entity")}:{}};if(n.pathname!=="/"&&!n.pathname.startsWith("/folder/"))return;const r=ei(n.href),s=r.folder??t;if(r.document)return{folder:s,view:"document",path:r.document,...r.session?{session:r.session}:{},...o.get("watch")==="1"?{live:!0}:{}};if(r.collectionId){const i=new URLSearchParams(n.search);for(const a of US)i.delete(a);return{folder:s,view:"collection",collectionId:r.collectionId,...i.size?{search:i.toString()}:{}}}return r.view?{folder:s,view:"plugin",pluginId:r.view.pluginId,...r.view.subpath?{subpath:decodeURIComponent(r.view.subpath)}:{}}:r.section==="projects"?{folder:s,view:"projects"}:{folder:s,view:"notes"}}function N5(e){const t=new Set;let n="",o={folder:e,view:"notes"};const r=()=>(n!==window.location.href&&(n=window.location.href,o=Zh(n,e)??{folder:e,view:"notes"}),o),s=()=>{for(const i of t)i()};return{current:r,subscribe(i){return t.add(i),t.size===1&&window.addEventListener("popstate",s),()=>{t.delete(i),t.size===0&&window.removeEventListener("popstate",s)}},navigate(i,a={}){const c=Gh(i);a.replace?window.history.replaceState(null,"",c):window.history.pushState(null,"",c),s()},back:()=>window.history.back(),forward:()=>window.history.forward(),href:Gh,parse:i=>Zh(i,r().folder)}}const Yh=new Map;async function M5(e,t){const o=(await e.config(t)).aiInputModule;if(typeof o!="string"||!o)return null;let r=Yh.get(o);r||(r=import(o).then(i=>{const a=i.default;if(!a?.Composer)throw new Error("The AI input module must default-export an adapter with a Composer component.");return a}),Yh.set(o,r));const s=await r;return await s.install?.(),s.Composer}let Nn;const _r=new Set;function HS(){if(!(Nn||document.visibilityState!=="visible")){Nn=new EventSource("/api/events");for(const{event:e,listener:t}of _r)Nn.addEventListener(e,t)}}function Xh(){if(document.visibilityState!=="visible"){Nn?.close(),Nn=void 0;return}HS();for(const e of _r)e.resume()}function nu(e,t,n=()=>t(new Event(e))){const o={event:e,listener:t,resume:n};return _r.add(o),_r.size===1&&document.addEventListener("visibilitychange",Xh),Nn?Nn.addEventListener(e,t):HS(),()=>{_r.delete(o)&&(Nn?.removeEventListener(e,t),_r.size===0&&(Nn?.close(),Nn=void 0,document.removeEventListener("visibilitychange",Xh)))}}const D5=["claude","codex","cursor","opencode","pi"];async function F5(e,t={}){const n=await fetch(`/api/session?sessionId=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok)throw new Error("Session not found");const o=await n.json(),r=e.slice(0,e.indexOf(":")),s=D5.find(i=>i===r);return{id:e,title:o.title,...s?{client:s,iconUrl:`/providers/${s}.svg`}:{},...o.lastMessageAt?{lastMessageAt:o.lastMessageAt}:{}}}function ou(e){return`/?folder=${encodeURIComponent(e)}`}function ru(e){try{const t=JSON.parse(e.data);return typeof t.path=="string"?t.path:void 0}catch{return}}function $5(){try{return window.sessionStorage}catch{return}}function L5(e,t,n={}){const o=new URL(n.download?"/api/raw":"/api/media",window.location.origin);return o.searchParams.set("path",e),o.searchParams.set("file",t),n.download&&o.searchParams.set("download","1"),`${o.pathname}${o.search}`}function B5({agent:e,capabilities:t,client:n}){const o=t.hostActions==="local";return{metadata:async(r,s,i={})=>{const{collectionId:a,notesScope:c,retryLinked:l,signal:m,sort:u}=i;return await n.metadata(ou(r),s,{signal:m,notesScope:c,sort:u,...a?{id:a}:{},headers:l?{"x-kennel-retry-linked":"1"}:void 0})},document:(r,s,i={})=>n.document(ou(r),s,i),plugin:(r,s,i,a)=>n.plugin(r,s,i,a),events:{subscribe(r,s){const i=l=>s(l),a=()=>i({type:"resync"}),c=[nu("kennel:metadata-changed",l=>i({type:"metadata-changed",path:ru(l)}),a),nu("kennel:workspace-changed",l=>i({type:"workspace-changed",path:ru(l)}),a),nu("kennel:linked-folders-changed",l=>{ru(l)===r&&i({type:"linked-folders-changed"})},a)];return()=>{for(const l of c)l()}}},capabilities:{agent:!!e?.send,download:t.download,readOnly:!o,...t.local?{}:{label:"Remote · read-only"}},async requestFolder(r){try{return await n.metadata(ou(r),"identity"),{allowed:!0}}catch(s){return{allowed:!1,reason:s instanceof ca||s instanceof Error?s.message:"The server refused this folder."}}},media:{url:L5},actions:o?{openPath:async r=>{try{await n.openPath(r)}catch{throw new Error("Could not open the default app.")}},openFolder:r=>n.openFolder(r),createAgentFile:r=>n.createAgentFile(r)}:void 0,clipboard:navigator.clipboard?.writeText?{writeText:r=>navigator.clipboard.writeText(r)}:void 0,storage:$5(),agent:{...e,session:F5,composer:r=>M5(n,r)},search:t.local?{projects:(r,s)=>n.projectSearch(r,s),entities:(r,s)=>n.entities(r,s)}:void 0}}function z5({bridge:e,capabilities:t,client:n,folder:o,onView:r,plugins:s}){const[i]=f.useState(()=>N5(o)),[a]=f.useState(()=>{const h=new URLSearchParams(window.location.search);return{embedded:h.get("embedded")==="1"||h.get("panel")==="1"}}),c=f.useMemo(()=>B5({agent:e?{label:"chat",send:e.send}:void 0,capabilities:t,client:n}),[e,t,n]),[l,m]=f.useState(),[u,p]=f.useState(!1),g=f.useRef(0),b=h=>[...h.dataTransfer.items].some(y=>y.kind==="file");return d.jsxs("div",{className:"web-host",onDragEnter:h=>{a.embedded||!b(h)||(h.preventDefault(),g.current+=1,p(!0))},onDragLeave:()=>{g.current-=1,g.current<=0&&p(!1)},onDragOver:h=>{a.embedded||(h.preventDefault(),h.dataTransfer.dropEffect="copy")},onDrop:h=>{a.embedded||(h.preventDefault(),g.current=0,p(!1),R5(h.dataTransfer.items).then(O5).then(y=>m({folder:y.root,runtime:A5(y)})).catch(y=>console.error(y)))},children:[l?d.jsx(Wh,{folder:l.folder,onViewChange:Uy,runtime:l.runtime},l.folder):d.jsx(Wh,{embedded:a.embedded,folder:o,navigation:i,onViewChange:r,plugins:s,runtime:c}),u?d.jsx("div",{className:"folder-drop-overlay",children:"Drop folder to open"}):null]})}F1();const Jh=v1(window.location.href);if(Jh){const e=new URL(Jh,window.location.origin),t=new URLSearchParams(window.location.search);for(const n of["watch","embedded","panel","host"]){const o=t.get(n);o!==null&&e.searchParams.set(n,o)}window.history.replaceState(null,"",`${e.pathname}${e.search}`)}const kd=Vy(),V5={download:!1,hostActions:"none",local:!1,viewer:"unknown"},Ed={},U5=R1(()=>{const e=Ed.current?.location;return{path:e?.view==="document"?e.path:void 0,title:Ed.current?.title}}),H5=e=>{Ed.current=e,Uy(e)},Qh=qS.createRoot(document.getElementById("root")),K5=ei(window.location.href).folder??kd.health().then(e=>e.root);Promise.all([kd.capabilities().catch(()=>V5),K5,D1()]).then(([e,t,n])=>Qh.render(d.jsx(f.StrictMode,{children:d.jsx(z5,{bridge:U5,capabilities:e,client:kd,folder:t,onView:H5,plugins:n})}))).catch(e=>Qh.render(d.jsxs("p",{role:"alert",className:"web-host-error",children:["Kennel could not start:"," ",e instanceof Error?e.message:String(e)]})));export{Ht as $,nc as A,nt as B,gK as C,lO as D,to as E,$e as F,oi as G,ve as H,Le as I,an as J,Nb as K,DM as L,pO as M,hR as N,Ra as O,Tx as P,Ca as Q,gb as R,Oa as S,mO as T,Pa as U,Ea as V,Ta as W,$p as X,ka as Y,jn as Z,Wr as _,Sx as a,Bd as a$,gn as a0,Qd as a1,Mv as a2,zA as a3,UA as a4,WA as a5,VA as a6,LA as a7,KA as a8,qA as a9,mb as aA,sc as aB,si as aC,ii as aD,xn as aE,Zd as aF,nK as aG,tK as aH,pb as aI,Vw as aJ,Q5 as aK,rK as aL,eK as aM,sK as aN,iK as aO,oK as aP,aK as aQ,cK as aR,Y5 as aS,lK as aT,J5 as aU,yo as aV,Pf as aW,So as aX,Px as aY,Lo as aZ,Nr as a_,GA as aa,YA as ab,JA as ac,XA as ad,$A as ae,FA as af,BA as ag,HA as ah,ZA as ai,Xr as aj,Jr as ak,gc as al,pc as am,ri as an,cf as ao,lf as ap,Ov as aq,nA as ar,oA as as,Sw as at,Vd as au,GT as av,HI as aw,X5 as ax,yf as ay,Sb as az,d_ as b,kT as b0,qy as b1,uK as b2,dK as b3,ue as b4,Ix as b5,L2 as b6,Vu as b7,ho as b8,fK as b9,WM as ba,D2 as bb,Jf as bc,mK as bd,tD as be,nD as bf,ze as c,f_ as d,m_ as e,td as f,nd as g,Ze as h,Dr as i,pv as j,dt as k,Ds as l,sf as m,go as n,_o as o,Yt as p,of as q,Ox as r,Ot as s,gv as t,Rt as u,bv as v,hv as w,vv as x,Tu as y,pn as z};