chatlab-cli 0.31.3 → 0.33.0

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 (152) hide show
  1. package/README.md +2 -1
  2. package/dist/{chat-command-ZIXKNLSE.mjs → chat-command-IHRNO7J4.mjs} +8 -8
  3. package/dist/{chunk-3J7WTUEE.mjs → chunk-4V6UP7EW.mjs} +2 -2
  4. package/dist/{chunk-YVNZ73O5.mjs → chunk-C3B7RXES.mjs} +3919 -3773
  5. package/dist/chunk-C3B7RXES.mjs.map +1 -0
  6. package/dist/{chunk-FDLLEDNW.mjs → chunk-HGV4MUIW.mjs} +4 -4
  7. package/dist/{chunk-75FZ26HM.mjs → chunk-KWJ5FZ74.mjs} +1196 -1045
  8. package/dist/chunk-KWJ5FZ74.mjs.map +1 -0
  9. package/dist/{chunk-DV4U34MR.mjs → chunk-NHTOSDYI.mjs} +2 -2
  10. package/dist/{chunk-UIUEG7JB.mjs → chunk-NSWFHMBZ.mjs} +112 -16
  11. package/dist/chunk-NSWFHMBZ.mjs.map +1 -0
  12. package/dist/{chunk-EINCXXWY.mjs → chunk-RHA534GU.mjs} +3 -3
  13. package/dist/{chunk-23AIEWCD.mjs → chunk-S7YPBKQ3.mjs} +2 -2
  14. package/dist/{chunk-BLOBEOCG.mjs → chunk-U4F6BNGZ.mjs} +2 -2
  15. package/dist/{chunk-MFOCDGCC.mjs → chunk-ZERQIKI4.mjs} +121 -19
  16. package/dist/chunk-ZERQIKI4.mjs.map +1 -0
  17. package/dist/{chunk-GZO3NAHC.mjs → chunk-ZTMZ7S7T.mjs} +65 -16
  18. package/dist/chunk-ZTMZ7S7T.mjs.map +1 -0
  19. package/dist/cli.mjs +8 -8
  20. package/dist/contacts-worker.mjs +2 -2
  21. package/dist/global-insight-worker.mjs +1 -1
  22. package/dist/{http-WDG2OHOV.mjs → http-Y2WC2UK4.mjs} +11 -11
  23. package/dist/{import-4BDC37F7.mjs → import-4HF2UNQI.mjs} +7 -7
  24. package/dist/index.mjs +11 -11
  25. package/dist/{mcp-4KUVRGFF.mjs → mcp-DJPDRFTW.mjs} +8 -8
  26. package/dist/people-relationships-worker.mjs +2 -2
  27. package/dist/semantic-index-worker.mjs +1 -1
  28. package/dist/{src-ZOCLFBCJ.mjs → src-R7MZLKXQ.mjs} +17 -9
  29. package/dist/{stream-import-ERTT7U6V.mjs → stream-import-DX57ANUL.mjs} +7 -7
  30. package/dist/{worker-runtime-2TUZHV7W.mjs → worker-runtime-QMN7OKOZ.mjs} +5 -5
  31. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-hwRVh048.js +110 -0
  32. package/{dist-web/assets/BufferResource-DgKoy0Ii.js → dist-cli-web/assets/BufferResource-DwfMBlAa.js} +1 -1
  33. package/dist-cli-web/assets/CanvasRenderer-q312LRsp.js +1 -0
  34. package/dist-cli-web/assets/DataDirCleanupNotice--ee1dY0d.js +1 -0
  35. package/dist-cli-web/assets/EChartWordcloud-BaMgUl0Y.js +1 -0
  36. package/{dist-web/assets/Filter-D32zqY5x.js → dist-cli-web/assets/Filter-BOb5cLBx.js} +1 -1
  37. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-DK2z0Jrh.js +1 -0
  38. package/dist-cli-web/assets/MessageExportModal-CFbovWh1.js +1 -0
  39. package/dist-cli-web/assets/PageHeader-B3-W9mvh.js +1 -0
  40. package/{dist-web/assets/RelationshipGalaxyCanvas-DsMOubHV.js → dist-cli-web/assets/RelationshipGalaxyCanvas-GEpsKHxV.js} +4 -4
  41. package/{dist-web/assets/RelationshipGalaxyThreeCanvas-Dh5HjVHr.js → dist-cli-web/assets/RelationshipGalaxyThreeCanvas-DHOU66Gj.js} +2 -2
  42. package/{dist-web/assets/RenderTargetSystem-CovK4x_D.js → dist-cli-web/assets/RenderTargetSystem-PEnnW2yb.js} +1 -1
  43. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-sNw3hP4c.js +1 -0
  44. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BtUvMehe.js +1 -0
  45. package/{dist-web/assets/WebGLRenderer-CawhbcYU.js → dist-cli-web/assets/WebGLRenderer-BjP_1do7.js} +2 -2
  46. package/{dist-web/assets/WebGPURenderer-B7P1D2sA.js → dist-cli-web/assets/WebGPURenderer-ldVv92u7.js} +2 -2
  47. package/dist-cli-web/assets/annual-summary-time-range-BHClzNvd.js +1 -0
  48. package/dist-cli-web/assets/base-DBJ95yXf.js +1 -0
  49. package/{dist-web/assets/browserAll-CtQkc1DF.js → dist-cli-web/assets/browserAll-CPoMOLKh.js} +1 -1
  50. package/dist-cli-web/assets/cli-web-B5VYO-Dh.js +1 -0
  51. package/{dist-web/assets/dateFormat-Cfb89ZjM.js → dist-cli-web/assets/dateFormat-Cf2xuaE-.js} +1 -1
  52. package/dist-cli-web/assets/fetch-80O3EH4a.js +1 -0
  53. package/dist-cli-web/assets/fetch-B1km2u3N.js +1 -0
  54. package/dist-cli-web/assets/fetch-BFDKzf1P.js +1 -0
  55. package/dist-cli-web/assets/fetch-BuWxo6oK.js +1 -0
  56. package/{dist-web/assets/fetch-DkfUUq-R.js → dist-cli-web/assets/fetch-C0HHT1Yn.js} +3 -3
  57. package/dist-cli-web/assets/fetch-CXIdj2-_.js +1 -0
  58. package/{dist-web/assets/fetch-DVGCzZ0E.js → dist-cli-web/assets/fetch-CtyVktRW.js} +3 -3
  59. package/{dist-web/assets/fetch-D2hvh7lO.js → dist-cli-web/assets/fetch-DGi_9my2.js} +2 -2
  60. package/dist-cli-web/assets/fetch-Dr41uuXL.js +1 -0
  61. package/dist-cli-web/assets/fetch-J67jyI2k.js +1 -0
  62. package/dist-cli-web/assets/index-5UdyJtVU.js +1 -0
  63. package/dist-cli-web/assets/index-7jm3YI9u.js +53 -0
  64. package/dist-cli-web/assets/index-B7R74Yp7.js +1 -0
  65. package/dist-cli-web/assets/index-BGiTw98l.js +1 -0
  66. package/dist-cli-web/assets/index-Ba21yU86.js +1 -0
  67. package/{dist-web/assets/index-CuPE4SSh.js → dist-cli-web/assets/index-Bf3gFaid.js} +4 -4
  68. package/dist-cli-web/assets/index-ByQSR8Bj.js +2 -0
  69. package/dist-cli-web/assets/index-CPZYydbc.js +2 -0
  70. package/dist-cli-web/assets/index-D8Q3U-6e.js +1 -0
  71. package/dist-cli-web/assets/index-DGtDxRCd.js +173 -0
  72. package/{dist-web/assets/index-DBb03wVF.css → dist-cli-web/assets/index-DTxnpQiv.css} +1 -1
  73. package/dist-cli-web/assets/index-DmrrdYXH.css +1 -0
  74. package/dist-cli-web/assets/index-DtlTo3nt.js +1 -0
  75. package/dist-cli-web/assets/index-DzQT-qXF.js +1 -0
  76. package/dist-cli-web/assets/index-gpTDI3sq.js +64 -0
  77. package/{dist-web/assets/index-D8Uq3_Dc.css → dist-cli-web/assets/index-lwhCMqhd.css} +1 -1
  78. package/dist-cli-web/assets/index-qsbWn8VP.css +1 -0
  79. package/dist-cli-web/assets/people-page-header-BvQy1GQj.js +1 -0
  80. package/{dist-web/assets/webworkerAll-BzRoT-6m.js → dist-cli-web/assets/webworkerAll-DgKQKbNn.js} +1 -1
  81. package/{dist-web → dist-cli-web}/index.html +2 -4
  82. package/package.json +4 -4
  83. package/dist/chunk-75FZ26HM.mjs.map +0 -1
  84. package/dist/chunk-GZO3NAHC.mjs.map +0 -1
  85. package/dist/chunk-MFOCDGCC.mjs.map +0 -1
  86. package/dist/chunk-UIUEG7JB.mjs.map +0 -1
  87. package/dist/chunk-YVNZ73O5.mjs.map +0 -1
  88. package/dist-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-GgQ5ueMX.js +0 -110
  89. package/dist-web/assets/CanvasRenderer-CKpp71xg.js +0 -1
  90. package/dist-web/assets/EChartWordcloud-CSOuFvyM.js +0 -1
  91. package/dist-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-DUAtrSZD.js +0 -1
  92. package/dist-web/assets/MessageExportModal-BYLw4vZ8.js +0 -1
  93. package/dist-web/assets/PageHeader-Dmu6cdAk.js +0 -1
  94. package/dist-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-DhUfYrEx.js +0 -1
  95. package/dist-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-CaumhCAS.js +0 -1
  96. package/dist-web/assets/annual-summary-time-range-Bya4h2j6.js +0 -1
  97. package/dist-web/assets/base-ClGWE9aq.js +0 -1
  98. package/dist-web/assets/electron-Brd7jS6W.js +0 -1
  99. package/dist-web/assets/electron-DGxVMsvC.js +0 -1
  100. package/dist-web/assets/electron-hcWiB7Gg.js +0 -1
  101. package/dist-web/assets/fetch-BJ3lnhzK.js +0 -1
  102. package/dist-web/assets/fetch-BoB63ns8.js +0 -1
  103. package/dist-web/assets/fetch-BtK7YvLp.js +0 -1
  104. package/dist-web/assets/fetch-CeREJiFL.js +0 -1
  105. package/dist-web/assets/fetch-DWoMmOlr.js +0 -1
  106. package/dist-web/assets/fetch-Dr_Fjtvp.js +0 -1
  107. package/dist-web/assets/fetch-u7ivV7Uy.js +0 -1
  108. package/dist-web/assets/index-BHnQaeQY.js +0 -1
  109. package/dist-web/assets/index-BKFGuwJu.css +0 -1
  110. package/dist-web/assets/index-BXaKyn8J.js +0 -2
  111. package/dist-web/assets/index-BzH9cnfy.js +0 -1
  112. package/dist-web/assets/index-D-qNxFxp.js +0 -173
  113. package/dist-web/assets/index-D494nYee.js +0 -64
  114. package/dist-web/assets/index-DJ8kB4US.js +0 -2
  115. package/dist-web/assets/index-DNMWR2Vj.js +0 -1
  116. package/dist-web/assets/index-DSPls1YV.js +0 -1
  117. package/dist-web/assets/index-DcAqhCpS.js +0 -1
  118. package/dist-web/assets/index-DnkaYOFI.js +0 -1
  119. package/dist-web/assets/index-_UKteDZB.js +0 -25
  120. package/dist-web/assets/index-gi0wgh0M.css +0 -1
  121. package/dist-web/assets/index-w_1EjXiF.js +0 -1
  122. package/dist-web/assets/people-page-header-YGQM9G53.js +0 -1
  123. package/dist-web/assets/types-CZnACqaB.js +0 -1
  124. package/dist-web/assets/vendor-nuxt-ui-DmkGVKod.js +0 -15
  125. package/dist-web/assets/vendor-reka-ui-BkhadcDj.js +0 -15
  126. package/dist-web/assets/web-zXxtk2KZ.js +0 -1
  127. /package/dist/{chat-command-ZIXKNLSE.mjs.map → chat-command-IHRNO7J4.mjs.map} +0 -0
  128. /package/dist/{chunk-3J7WTUEE.mjs.map → chunk-4V6UP7EW.mjs.map} +0 -0
  129. /package/dist/{chunk-FDLLEDNW.mjs.map → chunk-HGV4MUIW.mjs.map} +0 -0
  130. /package/dist/{chunk-DV4U34MR.mjs.map → chunk-NHTOSDYI.mjs.map} +0 -0
  131. /package/dist/{chunk-EINCXXWY.mjs.map → chunk-RHA534GU.mjs.map} +0 -0
  132. /package/dist/{chunk-23AIEWCD.mjs.map → chunk-S7YPBKQ3.mjs.map} +0 -0
  133. /package/dist/{chunk-BLOBEOCG.mjs.map → chunk-U4F6BNGZ.mjs.map} +0 -0
  134. /package/dist/{http-WDG2OHOV.mjs.map → http-Y2WC2UK4.mjs.map} +0 -0
  135. /package/dist/{import-4BDC37F7.mjs.map → import-4HF2UNQI.mjs.map} +0 -0
  136. /package/dist/{mcp-4KUVRGFF.mjs.map → mcp-DJPDRFTW.mjs.map} +0 -0
  137. /package/dist/{src-ZOCLFBCJ.mjs.map → src-R7MZLKXQ.mjs.map} +0 -0
  138. /package/dist/{stream-import-ERTT7U6V.mjs.map → stream-import-DX57ANUL.mjs.map} +0 -0
  139. /package/dist/{worker-runtime-2TUZHV7W.mjs.map → worker-runtime-QMN7OKOZ.mjs.map} +0 -0
  140. /package/{dist-web → dist-cli-web}/assets/ActionToolsPanel-Dp-ojXjO.css +0 -0
  141. /package/{dist-web → dist-cli-web}/assets/PageHeader-XIXMTomn.css +0 -0
  142. /package/{dist-web → dist-cli-web}/assets/RelationshipGalaxyThreeCanvas-BluPHjCR.css +0 -0
  143. /package/{dist-web → dist-cli-web}/assets/index-BfO_LpDv.css +0 -0
  144. /package/{dist-web → dist-cli-web}/assets/index-ByUaiVQK.css +0 -0
  145. /package/{dist-web → dist-cli-web}/assets/index-ZsZwPLWy.css +0 -0
  146. /package/{dist-web → dist-cli-web}/assets/logo-DXIuG_WE.svg +0 -0
  147. /package/{dist-web → dist-cli-web}/assets/relationship-galaxy-viewport-Cwfa51ER.js +0 -0
  148. /package/{dist-web → dist-cli-web}/assets/vendor-echarts-B-i_56Av.js +0 -0
  149. /package/{dist-web → dist-cli-web}/assets/vendor-echarts-wordcloud-Ca8n6qS6.js +0 -0
  150. /package/{dist-web → dist-cli-web}/assets/vendor-snapdom--nZvo8Sg.js +0 -0
  151. /package/{dist-web → dist-cli-web}/assets/vendor-zrender-5DcYjSZk.js +0 -0
  152. /package/{dist-web → dist-cli-web}/favicon.ico +0 -0
@@ -0,0 +1,53 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fetch-80O3EH4a.js","assets/vendor-snapdom--nZvo8Sg.js","assets/fetch-CtyVktRW.js","assets/fetch-C0HHT1Yn.js","assets/fetch-DGi_9my2.js","assets/cli-web-B5VYO-Dh.js","assets/fetch-J67jyI2k.js","assets/fetch-Dr41uuXL.js","assets/fetch-B1km2u3N.js","assets/fetch-BuWxo6oK.js","assets/fetch-BFDKzf1P.js","assets/fetch-CXIdj2-_.js","assets/DataDirCleanupNotice--ee1dY0d.js","assets/index-B7R74Yp7.js","assets/ThemeCard.vue_vue_type_script_setup_true_lang-sNw3hP4c.js","assets/index-DGtDxRCd.js","assets/index-Bf3gFaid.js","assets/index-DmrrdYXH.css","assets/index-gpTDI3sq.js","assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-hwRVh048.js","assets/base-DBJ95yXf.js","assets/vendor-echarts-B-i_56Av.js","assets/vendor-zrender-5DcYjSZk.js","assets/dateFormat-Cf2xuaE-.js","assets/vendor-echarts-wordcloud-Ca8n6qS6.js","assets/LoadingState.vue_vue_type_script_setup_true_lang-DK2z0Jrh.js","assets/TimeSelect.vue_vue_type_script_setup_true_lang-BtUvMehe.js","assets/PageHeader-B3-W9mvh.js","assets/PageHeader-XIXMTomn.css","assets/ActionToolsPanel-Dp-ojXjO.css","assets/index-DTxnpQiv.css","assets/index-ByQSR8Bj.js","assets/index-lwhCMqhd.css","assets/index-DzQT-qXF.js","assets/annual-summary-time-range-BHClzNvd.js","assets/index-ZsZwPLWy.css","assets/index-D8Q3U-6e.js","assets/index-5UdyJtVU.js","assets/index-DtlTo3nt.js","assets/index-BGiTw98l.js","assets/people-page-header-BvQy1GQj.js","assets/index-BfO_LpDv.css","assets/index-Ba21yU86.js","assets/index-ByUaiVQK.css","assets/index-CPZYydbc.js"])))=>i.map(i=>d[i]);
2
+ import{N as _k}from"./vendor-snapdom--nZvo8Sg.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"]'))n(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function a(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 n(r){if(r.ep)return;r.ep=!0;const s=a(r);fetch(r.href,s)}})();function cm(e){const t=Object.create(null);for(const a of e.split(","))t[a]=1;return a=>a in t}const mt={},bo=[],Fn=()=>{},ob=()=>!1,Pu=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),um=e=>e.startsWith("onUpdate:"),ea=Object.assign,dm=(e,t)=>{const a=e.indexOf(t);a>-1&&e.splice(a,1)},wk=Object.prototype.hasOwnProperty,xt=(e,t)=>wk.call(e,t),Je=Array.isArray,xo=e=>_l(e)==="[object Map]",Du=e=>_l(e)==="[object Set]",Ng=e=>_l(e)==="[object Date]",et=e=>typeof e=="function",qt=e=>typeof e=="string",_n=e=>typeof e=="symbol",wt=e=>e!==null&&typeof e=="object",ib=e=>(wt(e)||et(e))&&et(e.then)&&et(e.catch),lb=Object.prototype.toString,_l=e=>lb.call(e),kk=e=>_l(e).slice(8,-1),cb=e=>_l(e)==="[object Object]",Eu=e=>qt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Li=cm(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ru=e=>{const t=Object.create(null);return(a=>t[a]||(t[a]=e(a)))},Ck=/-\w/g,qa=Ru(e=>e.replace(Ck,t=>t.slice(1).toUpperCase())),Sk=/\B([A-Z])/g,$r=Ru(e=>e.replace(Sk,"-$1").toLowerCase()),Ou=Ru(e=>e.charAt(0).toUpperCase()+e.slice(1)),qi=Ru(e=>e?`on${Ou(e)}`:""),Ea=(e,t)=>!Object.is(e,t),Tc=(e,...t)=>{for(let a=0;a<e.length;a++)e[a](...t)},ub=(e,t,a,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:a})},fm=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Mk=e=>{const t=qt(e)?Number(e):NaN;return isNaN(t)?e:t};let Fg;const Lu=()=>Fg||(Fg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Tt(e){if(Je(e)){const t={};for(let a=0;a<e.length;a++){const n=e[a],r=qt(n)?Tk(n):Tt(n);if(r)for(const s in r)t[s]=r[s]}return t}else if(qt(e)||wt(e))return e}const $k=/;(?![^(]*\))/g,Ak=/:([^]+)/,Ik=/\/\*[^]*?\*\//g;function Tk(e){const t={};return e.replace(Ik,"").split($k).forEach(a=>{if(a){const n=a.split(Ak);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function xe(e){let t="";if(qt(e))t=e;else if(Je(e))for(let a=0;a<e.length;a++){const n=xe(e[a]);n&&(t+=n+" ")}else if(wt(e))for(const a in e)e[a]&&(t+=a+" ");return t.trim()}function He(e){if(!e)return null;let{class:t,style:a}=e;return t&&!qt(t)&&(e.class=xe(t)),a&&(e.style=Tt(a)),e}const Pk="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Dk=cm(Pk);function db(e){return!!e||e===""}function Ek(e,t){if(e.length!==t.length)return!1;let a=!0;for(let n=0;a&&n<e.length;n++)a=qu(e[n],t[n]);return a}function qu(e,t){if(e===t)return!0;let a=Ng(e),n=Ng(t);if(a||n)return a&&n?e.getTime()===t.getTime():!1;if(a=_n(e),n=_n(t),a||n)return e===t;if(a=Je(e),n=Je(t),a||n)return a&&n?Ek(e,t):!1;if(a=wt(e),n=wt(t),a||n){if(!a||!n)return!1;const r=Object.keys(e).length,s=Object.keys(t).length;if(r!==s)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!qu(e[o],t[o]))return!1}}return String(e)===String(t)}function fb(e,t){return e.findIndex(a=>qu(a,t))}const pb=e=>!!(e&&e.__v_isRef===!0),C=e=>qt(e)?e:e==null?"":Je(e)||wt(e)&&(e.toString===lb||!et(e.toString))?pb(e)?C(e.value):JSON.stringify(e,mb,2):String(e),mb=(e,t)=>pb(t)?mb(e,t.value):xo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((a,[n,r],s)=>(a[Od(n,s)+" =>"]=r,a),{})}:Du(t)?{[`Set(${t.size})`]:[...t.values()].map(a=>Od(a))}:_n(t)?Od(t):wt(t)&&!Je(t)&&!cb(t)?String(t):t,Od=(e,t="")=>{var a;return _n(e)?`Symbol(${(a=e.description)!=null?a:t})`:e};let ka;class gb{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ka,!t&&ka&&(this.index=(ka.scopes||(ka.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,a;if(this.scopes)for(t=0,a=this.scopes.length;t<a;t++)this.scopes[t].pause();for(t=0,a=this.effects.length;t<a;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,a;if(this.scopes)for(t=0,a=this.scopes.length;t<a;t++)this.scopes[t].resume();for(t=0,a=this.effects.length;t<a;t++)this.effects[t].resume()}}run(t){if(this._active){const a=ka;try{return ka=this,t()}finally{ka=a}}}on(){++this._on===1&&(this.prevScope=ka,ka=this)}off(){this._on>0&&--this._on===0&&(ka=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let a,n;for(a=0,n=this.effects.length;a<n;a++)this.effects[a].stop();for(this.effects.length=0,a=0,n=this.cleanups.length;a<n;a++)this.cleanups[a]();if(this.cleanups.length=0,this.scopes){for(a=0,n=this.scopes.length;a<n;a++)this.scopes[a].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function wl(e){return new gb(e)}function Jo(){return ka}function Qo(e,t=!1){ka&&ka.cleanups.push(e)}let Pt;const Ld=new WeakSet;class hb{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ka&&ka.active&&ka.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ld.has(this)&&(Ld.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||yb(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Vg(this),bb(this);const t=Pt,a=bn;Pt=this,bn=!0;try{return this.fn()}finally{xb(this),Pt=t,bn=a,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)gm(t);this.deps=this.depsTail=void 0,Vg(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ld.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){zf(this)&&this.run()}get dirty(){return zf(this)}}let vb=0,Ni,Fi;function yb(e,t=!1){if(e.flags|=8,t){e.next=Fi,Fi=e;return}e.next=Ni,Ni=e}function pm(){vb++}function mm(){if(--vb>0)return;if(Fi){let t=Fi;for(Fi=void 0;t;){const a=t.next;t.next=void 0,t.flags&=-9,t=a}}let e;for(;Ni;){let t=Ni;for(Ni=void 0;t;){const a=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=a}}if(e)throw e}function bb(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xb(e){let t,a=e.depsTail,n=a;for(;n;){const r=n.prevDep;n.version===-1?(n===a&&(a=r),gm(n),Rk(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=a}function zf(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_b(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _b(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xi)||(e.globalVersion=Xi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!zf(e))))return;e.flags|=2;const t=e.dep,a=Pt,n=bn;Pt=e,bn=!0;try{bb(e);const r=e.fn(e._value);(t.version===0||Ea(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Pt=a,bn=n,xb(e),e.flags&=-3}}function gm(e,t=!1){const{dep:a,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),a.subs===e&&(a.subs=n,!n&&a.computed)){a.computed.flags&=-5;for(let s=a.computed.deps;s;s=s.nextDep)gm(s,!0)}!t&&!--a.sc&&a.map&&a.map.delete(a.key)}function Rk(e){const{prevDep:t,nextDep:a}=e;t&&(t.nextDep=a,e.prevDep=void 0),a&&(a.prevDep=t,e.nextDep=void 0)}let bn=!0;const wb=[];function br(){wb.push(bn),bn=!1}function xr(){const e=wb.pop();bn=e===void 0?!0:e}function Vg(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const a=Pt;Pt=void 0;try{t()}finally{Pt=a}}}let Xi=0;class Ok{constructor(t,a){this.sub=t,this.dep=a,this.version=a.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Nu{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Pt||!bn||Pt===this.computed)return;let a=this.activeLink;if(a===void 0||a.sub!==Pt)a=this.activeLink=new Ok(Pt,this),Pt.deps?(a.prevDep=Pt.depsTail,Pt.depsTail.nextDep=a,Pt.depsTail=a):Pt.deps=Pt.depsTail=a,kb(a);else if(a.version===-1&&(a.version=this.version,a.nextDep)){const n=a.nextDep;n.prevDep=a.prevDep,a.prevDep&&(a.prevDep.nextDep=n),a.prevDep=Pt.depsTail,a.nextDep=void 0,Pt.depsTail.nextDep=a,Pt.depsTail=a,Pt.deps===a&&(Pt.deps=n)}return a}trigger(t){this.version++,Xi++,this.notify(t)}notify(t){pm();try{for(let a=this.subs;a;a=a.prevSub)a.sub.notify()&&a.sub.dep.notify()}finally{mm()}}}function kb(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)kb(n)}const a=e.dep.subs;a!==e&&(e.prevSub=a,a&&(a.nextSub=e)),e.dep.subs=e}}const tu=new WeakMap,Es=Symbol(""),Hf=Symbol(""),Ji=Symbol("");function Ca(e,t,a){if(bn&&Pt){let n=tu.get(e);n||tu.set(e,n=new Map);let r=n.get(a);r||(n.set(a,r=new Nu),r.map=n,r.key=a),r.track()}}function ir(e,t,a,n,r,s){const o=tu.get(e);if(!o){Xi++;return}const l=c=>{c&&c.trigger()};if(pm(),t==="clear")o.forEach(l);else{const c=Je(e),u=c&&Eu(a);if(c&&a==="length"){const d=Number(n);o.forEach((f,p)=>{(p==="length"||p===Ji||!_n(p)&&p>=d)&&l(f)})}else switch((a!==void 0||o.has(void 0))&&l(o.get(a)),u&&l(o.get(Ji)),t){case"add":c?u&&l(o.get("length")):(l(o.get(Es)),xo(e)&&l(o.get(Hf)));break;case"delete":c||(l(o.get(Es)),xo(e)&&l(o.get(Hf)));break;case"set":xo(e)&&l(o.get(Es));break}}mm()}function Lk(e,t){const a=tu.get(e);return a&&a.get(t)}function ao(e){const t=rt(e);return t===e?t:(Ca(t,"iterate",Ji),Qa(e)?t:t.map(wn))}function Fu(e){return Ca(e=rt(e),"iterate",Ji),e}function Wr(e,t){return _r(e)?Ro(Vn(e)?wn(t):t):wn(t)}const qk={__proto__:null,[Symbol.iterator](){return qd(this,Symbol.iterator,e=>Wr(this,e))},concat(...e){return ao(this).concat(...e.map(t=>Je(t)?ao(t):t))},entries(){return qd(this,"entries",e=>(e[1]=Wr(this,e[1]),e))},every(e,t){return Yn(this,"every",e,t,void 0,arguments)},filter(e,t){return Yn(this,"filter",e,t,a=>a.map(n=>Wr(this,n)),arguments)},find(e,t){return Yn(this,"find",e,t,a=>Wr(this,a),arguments)},findIndex(e,t){return Yn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Yn(this,"findLast",e,t,a=>Wr(this,a),arguments)},findLastIndex(e,t){return Yn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Yn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Nd(this,"includes",e)},indexOf(...e){return Nd(this,"indexOf",e)},join(e){return ao(this).join(e)},lastIndexOf(...e){return Nd(this,"lastIndexOf",e)},map(e,t){return Yn(this,"map",e,t,void 0,arguments)},pop(){return _i(this,"pop")},push(...e){return _i(this,"push",e)},reduce(e,...t){return Bg(this,"reduce",e,t)},reduceRight(e,...t){return Bg(this,"reduceRight",e,t)},shift(){return _i(this,"shift")},some(e,t){return Yn(this,"some",e,t,void 0,arguments)},splice(...e){return _i(this,"splice",e)},toReversed(){return ao(this).toReversed()},toSorted(e){return ao(this).toSorted(e)},toSpliced(...e){return ao(this).toSpliced(...e)},unshift(...e){return _i(this,"unshift",e)},values(){return qd(this,"values",e=>Wr(this,e))}};function qd(e,t,a){const n=Fu(e),r=n[t]();return n!==e&&!Qa(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=a(s.value)),s}),r}const Nk=Array.prototype;function Yn(e,t,a,n,r,s){const o=Fu(e),l=o!==e&&!Qa(e),c=o[t];if(c!==Nk[t]){const f=c.apply(e,s);return l?wn(f):f}let u=a;o!==e&&(l?u=function(f,p){return a.call(this,Wr(e,f),p,e)}:a.length>2&&(u=function(f,p){return a.call(this,f,p,e)}));const d=c.call(o,u,n);return l&&r?r(d):d}function Bg(e,t,a,n){const r=Fu(e);let s=a;return r!==e&&(Qa(e)?a.length>3&&(s=function(o,l,c){return a.call(this,o,l,c,e)}):s=function(o,l,c){return a.call(this,o,Wr(e,l),c,e)}),r[t](s,...n)}function Nd(e,t,a){const n=rt(e);Ca(n,"iterate",Ji);const r=n[t](...a);return(r===-1||r===!1)&&zu(a[0])?(a[0]=rt(a[0]),n[t](...a)):r}function _i(e,t,a=[]){br(),pm();const n=rt(e)[t].apply(e,a);return mm(),xr(),n}const Fk=cm("__proto__,__v_isRef,__isVue"),Cb=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(_n));function Vk(e){_n(e)||(e=String(e));const t=rt(this);return Ca(t,"has",e),t.hasOwnProperty(e)}class Sb{constructor(t=!1,a=!1){this._isReadonly=t,this._isShallow=a}get(t,a,n){if(a==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(a==="__v_isReactive")return!r;if(a==="__v_isReadonly")return r;if(a==="__v_isShallow")return s;if(a==="__v_raw")return n===(r?s?Pb:Tb:s?Ib:Ab).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=Je(t);if(!r){let c;if(o&&(c=qk[a]))return c;if(a==="hasOwnProperty")return Vk}const l=Reflect.get(t,a,at(t)?t:n);if((_n(a)?Cb.has(a):Fk(a))||(r||Ca(t,"get",a),s))return l;if(at(l)){const c=o&&Eu(a)?l:l.value;return r&&wt(c)?Ns(c):c}return wt(l)?r?Ns(l):ln(l):l}}class Mb extends Sb{constructor(t=!1){super(!1,t)}set(t,a,n,r){let s=t[a];const o=Je(t)&&Eu(a);if(!this._isShallow){const u=_r(s);if(!Qa(n)&&!_r(n)&&(s=rt(s),n=rt(n)),!o&&at(s)&&!at(n))return u||(s.value=n),!0}const l=o?Number(a)<t.length:xt(t,a),c=Reflect.set(t,a,n,at(t)?t:r);return t===rt(r)&&(l?Ea(n,s)&&ir(t,"set",a,n):ir(t,"add",a,n)),c}deleteProperty(t,a){const n=xt(t,a);t[a];const r=Reflect.deleteProperty(t,a);return r&&n&&ir(t,"delete",a,void 0),r}has(t,a){const n=Reflect.has(t,a);return(!_n(a)||!Cb.has(a))&&Ca(t,"has",a),n}ownKeys(t){return Ca(t,"iterate",Je(t)?"length":Es),Reflect.ownKeys(t)}}class $b extends Sb{constructor(t=!1){super(!0,t)}set(t,a){return!0}deleteProperty(t,a){return!0}}const Bk=new Mb,zk=new $b,Hk=new Mb(!0),Uk=new $b(!0),Uf=e=>e,Xl=e=>Reflect.getPrototypeOf(e);function jk(e,t,a){return function(...n){const r=this.__v_raw,s=rt(r),o=xo(s),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...n),d=a?Uf:t?Ro:wn;return!t&&Ca(s,"iterate",c?Hf:Es),ea(Object.create(u),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[d(f[0]),d(f[1])]:d(f),done:p}}})}}function Jl(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wk(e,t){const a={get(r){const s=this.__v_raw,o=rt(s),l=rt(r);e||(Ea(r,l)&&Ca(o,"get",r),Ca(o,"get",l));const{has:c}=Xl(o),u=t?Uf:e?Ro:wn;if(c.call(o,r))return u(s.get(r));if(c.call(o,l))return u(s.get(l));s!==o&&s.get(r)},get size(){const r=this.__v_raw;return!e&&Ca(rt(r),"iterate",Es),r.size},has(r){const s=this.__v_raw,o=rt(s),l=rt(r);return e||(Ea(r,l)&&Ca(o,"has",r),Ca(o,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const o=this,l=o.__v_raw,c=rt(l),u=t?Uf:e?Ro:wn;return!e&&Ca(c,"iterate",Es),l.forEach((d,f)=>r.call(s,u(d),u(f),o))}};return ea(a,e?{add:Jl("add"),set:Jl("set"),delete:Jl("delete"),clear:Jl("clear")}:{add(r){!t&&!Qa(r)&&!_r(r)&&(r=rt(r));const s=rt(this);return Xl(s).has.call(s,r)||(s.add(r),ir(s,"add",r,r)),this},set(r,s){!t&&!Qa(s)&&!_r(s)&&(s=rt(s));const o=rt(this),{has:l,get:c}=Xl(o);let u=l.call(o,r);u||(r=rt(r),u=l.call(o,r));const d=c.call(o,r);return o.set(r,s),u?Ea(s,d)&&ir(o,"set",r,s):ir(o,"add",r,s),this},delete(r){const s=rt(this),{has:o,get:l}=Xl(s);let c=o.call(s,r);c||(r=rt(r),c=o.call(s,r)),l&&l.call(s,r);const u=s.delete(r);return c&&ir(s,"delete",r,void 0),u},clear(){const r=rt(this),s=r.size!==0,o=r.clear();return s&&ir(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{a[r]=jk(r,e,t)}),a}function Vu(e,t){const a=Wk(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(xt(a,r)&&r in n?a:n,r,s)}const Kk={get:Vu(!1,!1)},Gk={get:Vu(!1,!0)},Yk={get:Vu(!0,!1)},Xk={get:Vu(!0,!0)},Ab=new WeakMap,Ib=new WeakMap,Tb=new WeakMap,Pb=new WeakMap;function Jk(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qk(e){return e.__v_skip||!Object.isExtensible(e)?0:Jk(kk(e))}function ln(e){return _r(e)?e:Bu(e,!1,Bk,Kk,Ab)}function hm(e){return Bu(e,!1,Hk,Gk,Ib)}function Ns(e){return Bu(e,!0,zk,Yk,Tb)}function Rn(e){return Bu(e,!0,Uk,Xk,Pb)}function Bu(e,t,a,n,r){if(!wt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=Qk(e);if(s===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,s===2?n:a);return r.set(e,l),l}function Vn(e){return _r(e)?Vn(e.__v_raw):!!(e&&e.__v_isReactive)}function _r(e){return!!(e&&e.__v_isReadonly)}function Qa(e){return!!(e&&e.__v_isShallow)}function zu(e){return e?!!e.__v_raw:!1}function rt(e){const t=e&&e.__v_raw;return t?rt(t):e}function kl(e){return!xt(e,"__v_skip")&&Object.isExtensible(e)&&ub(e,"__v_skip",!0),e}const wn=e=>wt(e)?ln(e):e,Ro=e=>wt(e)?Ns(e):e;function at(e){return e?e.__v_isRef===!0:!1}function E(e){return Db(e,!1)}function pt(e){return Db(e,!0)}function Db(e,t){return at(e)?e:new Zk(e,t)}class Zk{constructor(t,a){this.dep=new Nu,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=a?t:rt(t),this._value=a?t:wn(t),this.__v_isShallow=a}get value(){return this.dep.track(),this._value}set value(t){const a=this._rawValue,n=this.__v_isShallow||Qa(t)||_r(t);t=n?t:rt(t),Ea(t,a)&&(this._rawValue=t,this._value=n?t:wn(t),this.dep.trigger())}}function jf(e){e.dep&&e.dep.trigger()}function i(e){return at(e)?e.value:e}function Ze(e){return et(e)?e():i(e)}const e5={get:(e,t,a)=>t==="__v_raw"?e:i(Reflect.get(e,t,a)),set:(e,t,a,n)=>{const r=e[t];return at(r)&&!at(a)?(r.value=a,!0):Reflect.set(e,t,a,n)}};function Eb(e){return Vn(e)?e:new Proxy(e,e5)}class t5{constructor(t){this.__v_isRef=!0,this._value=void 0;const a=this.dep=new Nu,{get:n,set:r}=t(a.track.bind(a),a.trigger.bind(a));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Cl(e){return new t5(e)}function dt(e){const t=Je(e)?new Array(e.length):{};for(const a in e)t[a]=Rb(e,a);return t}class a5{constructor(t,a,n){this._object=t,this._key=a,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=rt(t);let r=!0,s=t;if(!Je(t)||!Eu(String(a)))do r=!zu(s)||Qa(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&at(this._raw[this._key])){const a=this._object[this._key];if(at(a)){a.value=t;return}}this._object[this._key]=t}get dep(){return Lk(this._raw,this._key)}}class n5{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function _t(e,t,a){return at(e)?e:et(e)?new n5(e):wt(e)&&arguments.length>1?Rb(e,t,a):E(e)}function Rb(e,t,a){return new a5(e,t,a)}class r5{constructor(t,a,n){this.fn=t,this.setter=a,this._value=void 0,this.dep=new Nu(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Xi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!a,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Pt!==this)return yb(this,!0),!0}get value(){const t=this.dep.track();return _b(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function s5(e,t,a=!1){let n,r;return et(e)?n=e:(n=e.get,r=e.set),new r5(n,r,a)}const Ql={},au=new WeakMap;let _s;function o5(e,t=!1,a=_s){if(a){let n=au.get(a);n||au.set(a,n=[]),n.push(e)}}function i5(e,t,a=mt){const{immediate:n,deep:r,once:s,scheduler:o,augmentJob:l,call:c}=a,u=w=>r?w:Qa(w)||r===!1||r===0?lr(w,1):lr(w);let d,f,p,m,g=!1,y=!1;if(at(e)?(f=()=>e.value,g=Qa(e)):Vn(e)?(f=()=>u(e),g=!0):Je(e)?(y=!0,g=e.some(w=>Vn(w)||Qa(w)),f=()=>e.map(w=>{if(at(w))return w.value;if(Vn(w))return u(w);if(et(w))return c?c(w,2):w()})):et(e)?t?f=c?()=>c(e,2):e:f=()=>{if(p){br();try{p()}finally{xr()}}const w=_s;_s=d;try{return c?c(e,3,[m]):e(m)}finally{_s=w}}:f=Fn,t&&r){const w=f,A=r===!0?1/0:r;f=()=>lr(w(),A)}const _=Jo(),v=()=>{d.stop(),_&&_.active&&dm(_.effects,d)};if(s&&t){const w=t;t=(...A)=>{w(...A),v()}}let h=y?new Array(e.length).fill(Ql):Ql;const k=w=>{if(!(!(d.flags&1)||!d.dirty&&!w))if(t){const A=d.run();if(r||g||(y?A.some((M,S)=>Ea(M,h[S])):Ea(A,h))){p&&p();const M=_s;_s=d;try{const S=[A,h===Ql?void 0:y&&h[0]===Ql?[]:h,m];h=A,c?c(t,3,S):t(...S)}finally{_s=M}}}else d.run()};return l&&l(k),d=new hb(f),d.scheduler=o?()=>o(k,!1):k,m=w=>o5(w,!1,d),p=d.onStop=()=>{const w=au.get(d);if(w){if(c)c(w,4);else for(const A of w)A();au.delete(d)}},t?n?k(!0):h=d.run():o?o(k.bind(null,!0),!0):d.run(),v.pause=d.pause.bind(d),v.resume=d.resume.bind(d),v.stop=v,v}function lr(e,t=1/0,a){if(t<=0||!wt(e)||e.__v_skip||(a=a||new Map,(a.get(e)||0)>=t))return e;if(a.set(e,t),t--,at(e))lr(e.value,t,a);else if(Je(e))for(let n=0;n<e.length;n++)lr(e[n],t,a);else if(Du(e)||xo(e))e.forEach(n=>{lr(n,t,a)});else if(cb(e)){for(const n in e)lr(e[n],t,a);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&lr(e[n],t,a)}return e}function Sl(e,t,a,n){try{return n?e(...n):e()}catch(r){Ml(r,t,a)}}function kn(e,t,a,n){if(et(e)){const r=Sl(e,t,a,n);return r&&ib(r)&&r.catch(s=>{Ml(s,t,a)}),r}if(Je(e)){const r=[];for(let s=0;s<e.length;s++)r.push(kn(e[s],t,a,n));return r}}function Ml(e,t,a,n=!0){const r=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||mt;if(t){let l=t.parent;const c=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${a}`;for(;l;){const d=l.ec;if(d){for(let f=0;f<d.length;f++)if(d[f](e,c,u)===!1)return}l=l.parent}if(s){br(),Sl(s,null,10,[e,c,u]),xr();return}}l5(e,a,r,n,o)}function l5(e,t,a,n=!0,r=!1){if(r)throw e;console.error(e)}const Ra=[];let En=-1;const _o=[];let Kr=null,fo=0;const Ob=Promise.resolve();let nu=null;function je(e){const t=nu||Ob;return e?t.then(this?e.bind(this):e):t}function c5(e){let t=En+1,a=Ra.length;for(;t<a;){const n=t+a>>>1,r=Ra[n],s=Qi(r);s<e||s===e&&r.flags&2?t=n+1:a=n}return t}function vm(e){if(!(e.flags&1)){const t=Qi(e),a=Ra[Ra.length-1];!a||!(e.flags&2)&&t>=Qi(a)?Ra.push(e):Ra.splice(c5(t),0,e),e.flags|=1,Lb()}}function Lb(){nu||(nu=Ob.then(Nb))}function u5(e){Je(e)?_o.push(...e):Kr&&e.id===-1?Kr.splice(fo+1,0,e):e.flags&1||(_o.push(e),e.flags|=1),Lb()}function zg(e,t,a=En+1){for(;a<Ra.length;a++){const n=Ra[a];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Ra.splice(a,1),a--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function qb(e){if(_o.length){const t=[...new Set(_o)].sort((a,n)=>Qi(a)-Qi(n));if(_o.length=0,Kr){Kr.push(...t);return}for(Kr=t,fo=0;fo<Kr.length;fo++){const a=Kr[fo];a.flags&4&&(a.flags&=-2),a.flags&8||a(),a.flags&=-2}Kr=null,fo=0}}const Qi=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Nb(e){try{for(En=0;En<Ra.length;En++){const t=Ra[En];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Sl(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;En<Ra.length;En++){const t=Ra[En];t&&(t.flags&=-2)}En=-1,Ra.length=0,qb(),nu=null,(Ra.length||_o.length)&&Nb()}}let ya=null,Fb=null;function ru(e){const t=ya;return ya=e,Fb=e&&e.type.__scopeId||null,t}function T(e,t=ya,a){if(!t||e._n)return e;const n=(...r)=>{n._d&&iu(-1);const s=ru(t);let o;try{o=e(...r)}finally{ru(s),n._d&&iu(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function d5(e,t){if(ya===null)return e;const a=Gu(ya),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[s,o,l,c=mt]=t[r];s&&(et(s)&&(s={mounted:s,updated:s}),s.deep&&lr(o),n.push({dir:s,instance:a,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function ds(e,t,a,n){const r=e.dirs,s=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];s&&(l.oldValue=s[o].value);let c=l.dir[n];c&&(br(),kn(c,a,8,[e.el,l,e,t]),xr())}}function on(e,t){if(va){let a=va.provides;const n=va.parent&&va.parent.provides;n===a&&(a=va.provides=Object.create(n)),a[e]=t}}function Ct(e,t,a=!1){const n=Rt();if(n||Rs){let r=Rs?Rs._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return a&&et(t)?t.call(n&&n.proxy):t}}function Zo(){return!!(Rt()||Rs)}const f5=Symbol.for("v-scx"),p5=()=>Ct(f5);function Bt(e,t){return $l(e,null,t)}function ym(e,t){return $l(e,null,{flush:"post"})}function m5(e,t){return $l(e,null,{flush:"sync"})}function Pe(e,t,a){return $l(e,t,a)}function $l(e,t,a=mt){const{immediate:n,deep:r,flush:s,once:o}=a,l=ea({},a),c=t&&n||!t&&s!=="post";let u;if(Lo){if(s==="sync"){const m=p5();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=Fn,m.resume=Fn,m.pause=Fn,m}}const d=va;l.call=(m,g,y)=>kn(m,d,g,y);let f=!1;s==="post"?l.scheduler=m=>{Pa(m,d&&d.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(m,g)=>{g?m():vm(m)}),l.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,d&&(m.id=d.uid,m.i=d))};const p=i5(e,t,l);return Lo&&(u?u.push(p):c&&p()),p}function g5(e,t,a){const n=this.proxy,r=qt(e)?e.includes(".")?Vb(n,e):()=>n[e]:e.bind(n,n);let s;et(t)?s=t:(s=t.handler,a=t);const o=Dl(this),l=$l(r,s.bind(n),a);return o(),l}function Vb(e,t){const a=t.split(".");return()=>{let n=e;for(let r=0;r<a.length&&n;r++)n=n[a[r]];return n}}const Bb=Symbol("_vte"),zb=e=>e.__isTeleport,Vi=e=>e&&(e.disabled||e.disabled===""),Hg=e=>e&&(e.defer||e.defer===""),Ug=e=>typeof SVGElement<"u"&&e instanceof SVGElement,jg=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Wf=(e,t)=>{const a=e&&e.to;return qt(a)?t?t(a):null:a},Hb={name:"Teleport",__isTeleport:!0,process(e,t,a,n,r,s,o,l,c,u){const{mc:d,pc:f,pbc:p,o:{insert:m,querySelector:g,createText:y,createComment:_}}=u,v=Vi(t.props);let{shapeFlag:h,children:k,dynamicChildren:w}=t;if(e==null){const A=t.el=y(""),M=t.anchor=y("");m(A,a,n),m(M,a,n);const S=(D,H)=>{h&16&&d(k,D,H,r,s,o,l,c)},P=()=>{const D=t.target=Wf(t.props,g),H=Ub(D,t,y,m);D&&(o!=="svg"&&Ug(D)?o="svg":o!=="mathml"&&jg(D)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(D),v||(S(D,H),Pc(t,!1)))};v&&(S(a,M),Pc(t,!0)),Hg(t.props)?(t.el.__isMounted=!1,Pa(()=>{P(),delete t.el.__isMounted},s)):P()}else{if(Hg(t.props)&&e.el.__isMounted===!1){Pa(()=>{Hb.process(e,t,a,n,r,s,o,l,c,u)},s);return}t.el=e.el,t.targetStart=e.targetStart;const A=t.anchor=e.anchor,M=t.target=e.target,S=t.targetAnchor=e.targetAnchor,P=Vi(e.props),D=P?a:M,H=P?A:S;if(o==="svg"||Ug(M)?o="svg":(o==="mathml"||jg(M))&&(o="mathml"),w?(p(e.dynamicChildren,w,D,r,s,o,l),km(e,t,!0)):c||f(e,t,D,H,r,s,o,l,!1),v)P?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Zl(t,a,A,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Q=t.target=Wf(t.props,g);Q&&Zl(t,Q,null,u,0)}else P&&Zl(t,M,S,u,1);Pc(t,v)}},remove(e,t,a,{um:n,o:{remove:r}},s){const{shapeFlag:o,children:l,anchor:c,targetStart:u,targetAnchor:d,target:f,props:p}=e;if(f&&(r(u),r(d)),s&&r(c),o&16){const m=s||!Vi(p);for(let g=0;g<l.length;g++){const y=l[g];n(y,t,a,m,!!y.dynamicChildren)}}},move:Zl,hydrate:h5};function Zl(e,t,a,{o:{insert:n},m:r},s=2){s===0&&n(e.targetAnchor,t,a);const{el:o,anchor:l,shapeFlag:c,children:u,props:d}=e,f=s===2;if(f&&n(o,t,a),(!f||Vi(d))&&c&16)for(let p=0;p<u.length;p++)r(u[p],t,a,2);f&&n(l,t,a)}function h5(e,t,a,n,r,s,{o:{nextSibling:o,parentNode:l,querySelector:c,insert:u,createText:d}},f){function p(y,_,v,h){_.anchor=f(o(y),_,l(y),a,n,r,s),_.targetStart=v,_.targetAnchor=h}const m=t.target=Wf(t.props,c),g=Vi(t.props);if(m){const y=m._lpa||m.firstChild;if(t.shapeFlag&16)if(g)p(e,t,y,y&&o(y));else{t.anchor=o(e);let _=y;for(;_;){if(_&&_.nodeType===8){if(_.data==="teleport start anchor")t.targetStart=_;else if(_.data==="teleport anchor"){t.targetAnchor=_,m._lpa=t.targetAnchor&&o(t.targetAnchor);break}}_=o(_)}t.targetAnchor||Ub(m,t,d,u),f(y&&o(y),t,m,a,n,r,s)}Pc(t,g)}else g&&t.shapeFlag&16&&p(e,t,e,o(e));return t.anchor&&o(t.anchor)}const Hu=Hb;function Pc(e,t){const a=e.ctx;if(a&&a.ut){let n,r;for(t?(n=e.el,r=e.anchor):(n=e.targetStart,r=e.targetAnchor);n&&n!==r;)n.nodeType===1&&n.setAttribute("data-v-owner",a.uid),n=n.nextSibling;a.ut()}}function Ub(e,t,a,n){const r=t.targetStart=a(""),s=t.targetAnchor=a("");return r[Bb]=s,e&&(n(r,e),n(s,e)),s}const nr=Symbol("_leaveCb"),ec=Symbol("_enterCb");function v5(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ke(()=>{e.isMounted=!0}),Hs(()=>{e.isUnmounting=!0}),e}const tn=[Function,Array],jb={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:tn,onEnter:tn,onAfterEnter:tn,onEnterCancelled:tn,onBeforeLeave:tn,onLeave:tn,onAfterLeave:tn,onLeaveCancelled:tn,onBeforeAppear:tn,onAppear:tn,onAfterAppear:tn,onAppearCancelled:tn},Wb=e=>{const t=e.subTree;return t.component?Wb(t.component):t},y5={name:"BaseTransition",props:jb,setup(e,{slots:t}){const a=Rt(),n=v5();return()=>{const r=t.default&&Yb(t.default(),!0);if(!r||!r.length)return;const s=Kb(r),o=rt(e),{mode:l}=o;if(n.isLeaving)return Fd(s);const c=Wg(s);if(!c)return Fd(s);let u=Kf(c,o,n,a,f=>u=f);c.type!==ha&&Zi(c,u);let d=a.subTree&&Wg(a.subTree);if(d&&d.type!==ha&&!ws(d,c)&&Wb(a).type!==ha){let f=Kf(d,o,n,a);if(Zi(d,f),l==="out-in"&&c.type!==ha)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,a.job.flags&8||a.update(),delete f.afterLeave,d=void 0},Fd(s);l==="in-out"&&c.type!==ha?f.delayLeave=(p,m,g)=>{const y=Gb(n,d);y[String(d.key)]=d,p[nr]=()=>{m(),p[nr]=void 0,delete u.delayedLeave,d=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return s}}};function Kb(e){let t=e[0];if(e.length>1){for(const a of e)if(a.type!==ha){t=a;break}}return t}const b5=y5;function Gb(e,t){const{leavingVNodes:a}=e;let n=a.get(t.type);return n||(n=Object.create(null),a.set(t.type,n)),n}function Kf(e,t,a,n,r){const{appear:s,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:g,onLeaveCancelled:y,onBeforeAppear:_,onAppear:v,onAfterAppear:h,onAppearCancelled:k}=t,w=String(e.key),A=Gb(a,e),M=(D,H)=>{D&&kn(D,n,9,H)},S=(D,H)=>{const Q=H[1];M(D,H),Je(D)?D.every(G=>G.length<=1)&&Q():D.length<=1&&Q()},P={mode:o,persisted:l,beforeEnter(D){let H=c;if(!a.isMounted)if(s)H=_||c;else return;D[nr]&&D[nr](!0);const Q=A[w];Q&&ws(e,Q)&&Q.el[nr]&&Q.el[nr](),M(H,[D])},enter(D){let H=u,Q=d,G=f;if(!a.isMounted)if(s)H=v||u,Q=h||d,G=k||f;else return;let V=!1;const R=D[ec]=L=>{V||(V=!0,L?M(G,[D]):M(Q,[D]),P.delayedLeave&&P.delayedLeave(),D[ec]=void 0)};H?S(H,[D,R]):R()},leave(D,H){const Q=String(e.key);if(D[ec]&&D[ec](!0),a.isUnmounting)return H();M(p,[D]);let G=!1;const V=D[nr]=R=>{G||(G=!0,H(),R?M(y,[D]):M(g,[D]),D[nr]=void 0,A[Q]===e&&delete A[Q])};A[Q]=e,m?S(m,[D,V]):V()},clone(D){const H=Kf(D,t,a,n,r);return r&&r(H),H}};return P}function Fd(e){if(Al(e))return e=kr(e),e.children=null,e}function Wg(e){if(!Al(e))return zb(e.type)&&e.children?Kb(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:a}=e;if(a){if(t&16)return a[0];if(t&32&&et(a.default))return a.default()}}function Zi(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Zi(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yb(e,t=!1,a){let n=[],r=0;for(let s=0;s<e.length;s++){let o=e[s];const l=a==null?o.key:String(a)+String(o.key!=null?o.key:s);o.type===De?(o.patchFlag&128&&r++,n=n.concat(Yb(o.children,t,l))):(t||o.type!==ha)&&n.push(l!=null?kr(o,{key:l}):o)}if(r>1)for(let s=0;s<n.length;s++)n[s].patchFlag=-2;return n}function ue(e,t){return et(e)?ea({name:e.name},t,{setup:e}):e}function Uu(){const e=Rt();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function bm(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function el(e){const t=Rt(),a=pt(null);if(t){const r=t.refs===mt?t.refs={}:t.refs;Object.defineProperty(r,e,{enumerable:!0,get:()=>a.value,set:s=>a.value=s})}return a}const su=new WeakMap;function Bi(e,t,a,n,r=!1){if(Je(e)){e.forEach((g,y)=>Bi(g,t&&(Je(t)?t[y]:t),a,n,r));return}if(wo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Bi(e,t,a,n.component.subTree);return}const s=n.shapeFlag&4?Gu(n.component):n.el,o=r?null:s,{i:l,r:c}=e,u=t&&t.r,d=l.refs===mt?l.refs={}:l.refs,f=l.setupState,p=rt(f),m=f===mt?ob:g=>xt(p,g);if(u!=null&&u!==c){if(Kg(t),qt(u))d[u]=null,m(u)&&(f[u]=null);else if(at(u)){u.value=null;const g=t;g.k&&(d[g.k]=null)}}if(et(c))Sl(c,l,12,[o,d]);else{const g=qt(c),y=at(c);if(g||y){const _=()=>{if(e.f){const v=g?m(c)?f[c]:d[c]:c.value;if(r)Je(v)&&dm(v,s);else if(Je(v))v.includes(s)||v.push(s);else if(g)d[c]=[s],m(c)&&(f[c]=d[c]);else{const h=[s];c.value=h,e.k&&(d[e.k]=h)}}else g?(d[c]=o,m(c)&&(f[c]=o)):y&&(c.value=o,e.k&&(d[e.k]=o))};if(o){const v=()=>{_(),su.delete(e)};v.id=-1,su.set(e,v),Pa(v,a)}else Kg(e),_()}}}function Kg(e){const t=su.get(e);t&&(t.flags|=8,su.delete(e))}const Gg=e=>e.nodeType===8;Lu().requestIdleCallback;Lu().cancelIdleCallback;function x5(e,t){if(Gg(e)&&e.data==="["){let a=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Gg(n))if(n.data==="]"){if(--a===0)break}else n.data==="["&&a++;n=n.nextSibling}}else t(e)}const wo=e=>!!e.type.__asyncLoader;function _5(e){et(e)&&(e={loader:e});const{loader:t,loadingComponent:a,errorComponent:n,delay:r=200,hydrate:s,timeout:o,suspensible:l=!0,onError:c}=e;let u=null,d,f=0;const p=()=>(f++,u=null,m()),m=()=>{let g;return u||(g=u=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),c)return new Promise((_,v)=>{c(y,()=>_(p()),()=>v(y),f+1)});throw y}).then(y=>g!==u&&u?u:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),d=y,y)))};return ue({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(g,y,_){let v=!1;(y.bu||(y.bu=[])).push(()=>v=!0);const h=()=>{v||_()},k=s?()=>{const w=s(h,A=>x5(g,A));w&&(y.bum||(y.bum=[])).push(w)}:h;d?k():m().then(()=>!y.isUnmounted&&k())},get __asyncResolved(){return d},setup(){const g=va;if(bm(g),d)return()=>tc(d,g);const y=k=>{u=null,Ml(k,g,13,!n)};if(l&&g.suspense||Lo)return m().then(k=>()=>tc(k,g)).catch(k=>(y(k),()=>n?I(n,{error:k}):null));const _=E(!1),v=E(),h=E(!!r);return r&&setTimeout(()=>{h.value=!1},r),o!=null&&setTimeout(()=>{if(!_.value&&!v.value){const k=new Error(`Async component timed out after ${o}ms.`);y(k),v.value=k}},o),m().then(()=>{_.value=!0,g.parent&&Al(g.parent.vnode)&&g.parent.update()}).catch(k=>{y(k),v.value=k}),()=>{if(_.value&&d)return tc(d,g);if(v.value&&n)return I(n,{error:v.value});if(a&&!h.value)return tc(a,g)}}})}function tc(e,t){const{ref:a,props:n,children:r,ce:s}=t.vnode,o=I(e,n,r);return o.ref=a,o.ce=s,delete t.vnode.ce,o}const Al=e=>e.type.__isKeepAlive;function Xb(e,t){Qb(e,"a",t)}function Jb(e,t){Qb(e,"da",t)}function Qb(e,t,a=va){const n=e.__wdc||(e.__wdc=()=>{let r=a;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ju(t,n,a),a){let r=a.parent;for(;r&&r.parent;)Al(r.parent.vnode)&&w5(n,t,a,r),r=r.parent}}function w5(e,t,a,n){const r=ju(t,e,n,!0);Ft(()=>{dm(n[t],r)},a)}function ju(e,t,a=va,n=!1){if(a){const r=a[e]||(a[e]=[]),s=t.__weh||(t.__weh=(...o)=>{br();const l=Dl(a),c=kn(t,a,e,o);return l(),xr(),c});return n?r.unshift(s):r.push(s),s}}const Ar=e=>(t,a=va)=>{(!Lo||e==="sp")&&ju(e,(...n)=>t(...n),a)},Zb=Ar("bm"),Ke=Ar("m"),k5=Ar("bu"),xm=Ar("u"),Hs=Ar("bum"),Ft=Ar("um"),C5=Ar("sp"),S5=Ar("rtg"),M5=Ar("rtc");function $5(e,t=va){ju("ec",e,t)}const e1="components";function A5(e,t){return a1(e1,e,!0,t)||e}const t1=Symbol.for("v-ndc");function sa(e){return qt(e)?a1(e1,e,!1)||e:e||t1}function a1(e,t,a=!0,n=!1){const r=ya||va;if(r){const s=r.type;{const l=lC(s,!1);if(l&&(l===t||l===qa(t)||l===Ou(qa(t))))return s}const o=Yg(r[e]||s[e],t)||Yg(r.appContext[e],t);return!o&&n?s:o}}function Yg(e,t){return e&&(e[t]||e[qa(t)]||e[Ou(qa(t))])}function Ye(e,t,a,n){let r;const s=a&&a[n],o=Je(e);if(o||qt(e)){const l=o&&Vn(e);let c=!1,u=!1;l&&(c=!Qa(e),u=_r(e),e=Fu(e)),r=new Array(e.length);for(let d=0,f=e.length;d<f;d++)r[d]=t(c?u?Ro(wn(e[d])):wn(e[d]):e[d],d,void 0,s&&s[d])}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,s&&s[l])}else if(wt(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,s&&s[c]));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c<u;c++){const d=l[c];r[c]=t(e[d],d,c,s&&s[c])}}else r=[];return a&&(a[n]=r),r}function Il(e,t){for(let a=0;a<t.length;a++){const n=t[a];if(Je(n))for(let r=0;r<n.length;r++)e[n[r].name]=n[r].fn;else n&&(e[n.name]=n.key?(...r)=>{const s=n.fn(...r);return s&&(s.key=n.key),s}:n.fn)}return e}function Z(e,t,a={},n,r){if(ya.ce||ya.parent&&wo(ya.parent)&&ya.parent.ce){const u=Object.keys(a).length>0;return t!=="default"&&(a.name=t),x(),N(De,null,[I("slot",a,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),x();const o=s&&n1(s(a)),l=a.key||o&&o.key,c=N(De,{key:(l&&!_n(l)?l:`_${t}`)+(!o&&n?"_fb":"")},o||(n?n():[]),o&&e._===1?64:-2);return!r&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),s&&s._c&&(s._d=!0),c}function n1(e){return e.some(t=>al(t)?!(t.type===ha||t.type===De&&!n1(t.children)):!0)?e:null}function Wu(e,t){const a={};for(const n in e)a[t&&/[A-Z]/.test(n)?`on:${n}`:qi(n)]=e[n];return a}const Gf=e=>e?S1(e)?Gu(e):Gf(e.parent):null,zi=ea(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Gf(e.parent),$root:e=>Gf(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>l1(e),$forceUpdate:e=>e.f||(e.f=()=>{vm(e.update)}),$nextTick:e=>e.n||(e.n=je.bind(e.proxy)),$watch:e=>g5.bind(e)}),Vd=(e,t)=>e!==mt&&!e.__isScriptSetup&&xt(e,t),I5={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:a,setupState:n,data:r,props:s,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return r[t];case 4:return a[t];case 3:return s[t]}else{if(Vd(n,t))return o[t]=1,n[t];if(r!==mt&&xt(r,t))return o[t]=2,r[t];if(xt(s,t))return o[t]=3,s[t];if(a!==mt&&xt(a,t))return o[t]=4,a[t];Yf&&(o[t]=0)}}const u=zi[t];let d,f;if(u)return t==="$attrs"&&Ca(e.attrs,"get",""),u(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(a!==mt&&xt(a,t))return o[t]=4,a[t];if(f=c.config.globalProperties,xt(f,t))return f[t]},set({_:e},t,a){const{data:n,setupState:r,ctx:s}=e;return Vd(r,t)?(r[t]=a,!0):n!==mt&&xt(n,t)?(n[t]=a,!0):xt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=a,!0)},has({_:{data:e,setupState:t,accessCache:a,ctx:n,appContext:r,props:s,type:o}},l){let c;return!!(a[l]||e!==mt&&l[0]!=="$"&&xt(e,l)||Vd(t,l)||xt(s,l)||xt(n,l)||xt(zi,l)||xt(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,a){return a.get!=null?e._.accessCache[t]=0:xt(a,"value")&&this.set(e,t,a.value,null),Reflect.defineProperty(e,t,a)}};function fa(){return s1().slots}function r1(){return s1().attrs}function s1(e){const t=Rt();return t.setupContext||(t.setupContext=$1(t))}function tl(e){return Je(e)?e.reduce((t,a)=>(t[a]=null,t),{}):e}function o1(e,t){const a=tl(e);for(const n in t){if(n.startsWith("__skip"))continue;let r=a[n];r?Je(r)||et(r)?r=a[n]={type:r,default:t[n]}:r.default=t[n]:r===null&&(r=a[n]={default:t[n]}),r&&t[`__skip_${n}`]&&(r.skipFactory=!0)}return a}function wr(e,t){return!e||!t?e||t:Je(e)&&Je(t)?e.concat(t):ea({},tl(e),tl(t))}let Yf=!0;function T5(e){const t=l1(e),a=e.proxy,n=e.ctx;Yf=!1,t.beforeCreate&&Xg(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:l,provide:c,inject:u,created:d,beforeMount:f,mounted:p,beforeUpdate:m,updated:g,activated:y,deactivated:_,beforeDestroy:v,beforeUnmount:h,destroyed:k,unmounted:w,render:A,renderTracked:M,renderTriggered:S,errorCaptured:P,serverPrefetch:D,expose:H,inheritAttrs:Q,components:G,directives:V,filters:R}=t;if(u&&P5(u,n,null),o)for(const le in o){const K=o[le];et(K)&&(n[le]=K.bind(a))}if(r){const le=r.call(a,a);wt(le)&&(e.data=ln(le))}if(Yf=!0,s)for(const le in s){const K=s[le],ce=et(K)?K.bind(a,a):et(K.get)?K.get.bind(a,a):Fn,Y=!et(K)&&et(K.set)?K.set.bind(a):Fn,ve=$({get:ce,set:Y});Object.defineProperty(n,le,{enumerable:!0,configurable:!0,get:()=>ve.value,set:ie=>ve.value=ie})}if(l)for(const le in l)i1(l[le],n,a,le);if(c){const le=et(c)?c.call(a):c;Reflect.ownKeys(le).forEach(K=>{on(K,le[K])})}d&&Xg(d,e,"c");function z(le,K){Je(K)?K.forEach(ce=>le(ce.bind(a))):K&&le(K.bind(a))}if(z(Zb,f),z(Ke,p),z(k5,m),z(xm,g),z(Xb,y),z(Jb,_),z($5,P),z(M5,M),z(S5,S),z(Hs,h),z(Ft,w),z(C5,D),Je(H))if(H.length){const le=e.exposed||(e.exposed={});H.forEach(K=>{Object.defineProperty(le,K,{get:()=>a[K],set:ce=>a[K]=ce,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===Fn&&(e.render=A),Q!=null&&(e.inheritAttrs=Q),G&&(e.components=G),V&&(e.directives=V),D&&bm(e)}function P5(e,t,a=Fn){Je(e)&&(e=Xf(e));for(const n in e){const r=e[n];let s;wt(r)?"default"in r?s=Ct(r.from||n,r.default,!0):s=Ct(r.from||n):s=Ct(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):t[n]=s}}function Xg(e,t,a){kn(Je(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,a)}function i1(e,t,a,n){let r=n.includes(".")?Vb(a,n):()=>a[n];if(qt(e)){const s=t[e];et(s)&&Pe(r,s)}else if(et(e))Pe(r,e.bind(a));else if(wt(e))if(Je(e))e.forEach(s=>i1(s,t,a,n));else{const s=et(e.handler)?e.handler.bind(a):t[e.handler];et(s)&&Pe(r,s,e)}}function l1(e){const t=e.type,{mixins:a,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,l=s.get(t);let c;return l?c=l:!r.length&&!a&&!n?c=t:(c={},r.length&&r.forEach(u=>ou(c,u,o,!0)),ou(c,t,o)),wt(t)&&s.set(t,c),c}function ou(e,t,a,n=!1){const{mixins:r,extends:s}=t;s&&ou(e,s,a,!0),r&&r.forEach(o=>ou(e,o,a,!0));for(const o in t)if(!(n&&o==="expose")){const l=D5[o]||a&&a[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const D5={data:Jg,props:Qg,emits:Qg,methods:Ri,computed:Ri,beforeCreate:Ia,created:Ia,beforeMount:Ia,mounted:Ia,beforeUpdate:Ia,updated:Ia,beforeDestroy:Ia,beforeUnmount:Ia,destroyed:Ia,unmounted:Ia,activated:Ia,deactivated:Ia,errorCaptured:Ia,serverPrefetch:Ia,components:Ri,directives:Ri,watch:R5,provide:Jg,inject:E5};function Jg(e,t){return t?e?function(){return ea(et(e)?e.call(this,this):e,et(t)?t.call(this,this):t)}:t:e}function E5(e,t){return Ri(Xf(e),Xf(t))}function Xf(e){if(Je(e)){const t={};for(let a=0;a<e.length;a++)t[e[a]]=e[a];return t}return e}function Ia(e,t){return e?[...new Set([].concat(e,t))]:t}function Ri(e,t){return e?ea(Object.create(null),e,t):t}function Qg(e,t){return e?Je(e)&&Je(t)?[...new Set([...e,...t])]:ea(Object.create(null),tl(e),tl(t??{})):t}function R5(e,t){if(!e)return t;if(!t)return e;const a=ea(Object.create(null),e);for(const n in t)a[n]=Ia(e[n],t[n]);return a}function c1(){return{app:null,config:{isNativeTag:ob,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let O5=0;function L5(e,t){return function(n,r=null){et(n)||(n=ea({},n)),r!=null&&!wt(r)&&(r=null);const s=c1(),o=new WeakSet,l=[];let c=!1;const u=s.app={_uid:O5++,_component:n,_props:r,_container:null,_context:s,_instance:null,version:dC,get config(){return s.config},set config(d){},use(d,...f){return o.has(d)||(d&&et(d.install)?(o.add(d),d.install(u,...f)):et(d)&&(o.add(d),d(u,...f))),u},mixin(d){return s.mixins.includes(d)||s.mixins.push(d),u},component(d,f){return f?(s.components[d]=f,u):s.components[d]},directive(d,f){return f?(s.directives[d]=f,u):s.directives[d]},mount(d,f,p){if(!c){const m=u._ceVNode||I(n,r);return m.appContext=s,p===!0?p="svg":p===!1&&(p=void 0),e(m,d,p),c=!0,u._container=d,d.__vue_app__=u,Gu(m.component)}},onUnmount(d){l.push(d)},unmount(){c&&(kn(l,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(d,f){return s.provides[d]=f,u},runWithContext(d){const f=Rs;Rs=u;try{return d()}finally{Rs=f}}};return u}}let Rs=null;function Tl(e,t,a=mt){const n=Rt(),r=qa(t),s=$r(t),o=u1(e,r),l=Cl((c,u)=>{let d,f=mt,p;return m5(()=>{const m=e[r];Ea(d,m)&&(d=m,u())}),{get(){return c(),a.get?a.get(d):d},set(m){const g=a.set?a.set(m):m;if(!Ea(g,d)&&!(f!==mt&&Ea(m,f)))return;const y=n.vnode.props;y&&(t in y||r in y||s in y)&&(`onUpdate:${t}`in y||`onUpdate:${r}`in y||`onUpdate:${s}`in y)||(d=m,u()),n.emit(`update:${t}`,g),Ea(m,g)&&Ea(m,f)&&!Ea(g,p)&&u(),f=m,p=g}}});return l[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?o||mt:l,done:!1}:{done:!0}}}},l}const u1=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${qa(t)}Modifiers`]||e[`${$r(t)}Modifiers`];function q5(e,t,...a){if(e.isUnmounted)return;const n=e.vnode.props||mt;let r=a;const s=t.startsWith("update:"),o=s&&u1(n,t.slice(7));o&&(o.trim&&(r=a.map(d=>qt(d)?d.trim():d)),o.number&&(r=a.map(fm)));let l,c=n[l=qi(t)]||n[l=qi(qa(t))];!c&&s&&(c=n[l=qi($r(t))]),c&&kn(c,e,6,r);const u=n[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,kn(u,e,6,r)}}const N5=new WeakMap;function d1(e,t,a=!1){const n=a?N5:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let o={},l=!1;if(!et(e)){const c=u=>{const d=d1(u,t,!0);d&&(l=!0,ea(o,d))};!a&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!l?(wt(e)&&n.set(e,null),null):(Je(s)?s.forEach(c=>o[c]=null):ea(o,s),wt(e)&&n.set(e,o),o)}function Ku(e,t){return!e||!Pu(t)?!1:(t=t.slice(2).replace(/Once$/,""),xt(e,t[0].toLowerCase()+t.slice(1))||xt(e,$r(t))||xt(e,t))}function Zg(e){const{type:t,vnode:a,proxy:n,withProxy:r,propsOptions:[s],slots:o,attrs:l,emit:c,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:g,inheritAttrs:y}=e,_=ru(e);let v,h;try{if(a.shapeFlag&4){const w=r||n,A=w;v=On(u.call(A,w,d,f,m,p,g)),h=l}else{const w=t;v=On(w.length>1?w(f,{attrs:l,slots:o,emit:c}):w(f,null)),h=t.props?l:F5(l)}}catch(w){Hi.length=0,Ml(w,e,1),v=I(ha)}let k=v;if(h&&y!==!1){const w=Object.keys(h),{shapeFlag:A}=k;w.length&&A&7&&(s&&w.some(um)&&(h=V5(h,s)),k=kr(k,h,!1,!0))}return a.dirs&&(k=kr(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(a.dirs):a.dirs),a.transition&&Zi(k,a.transition),v=k,ru(_),v}const F5=e=>{let t;for(const a in e)(a==="class"||a==="style"||Pu(a))&&((t||(t={}))[a]=e[a]);return t},V5=(e,t)=>{const a={};for(const n in e)(!um(n)||!(n.slice(9)in t))&&(a[n]=e[n]);return a};function B5(e,t,a){const{props:n,children:r,component:s}=e,{props:o,children:l,patchFlag:c}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(a&&c>=0){if(c&1024)return!0;if(c&16)return n?eh(n,o,u):!!o;if(c&8){const d=t.dynamicProps;for(let f=0;f<d.length;f++){const p=d[f];if(o[p]!==n[p]&&!Ku(u,p))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?eh(n,o,u):!0:!!o;return!1}function eh(e,t,a){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const s=n[r];if(t[s]!==e[s]&&!Ku(a,s))return!0}return!1}function z5({vnode:e,parent:t},a){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=a,t=t.parent;else break}}const f1={},p1=()=>Object.create(f1),m1=e=>Object.getPrototypeOf(e)===f1;function H5(e,t,a,n=!1){const r={},s=p1();e.propsDefaults=Object.create(null),g1(e,t,r,s);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);a?e.props=n?r:hm(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function U5(e,t,a,n){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,l=rt(r),[c]=e.propsOptions;let u=!1;if((n||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let f=0;f<d.length;f++){let p=d[f];if(Ku(e.emitsOptions,p))continue;const m=t[p];if(c)if(xt(s,p))m!==s[p]&&(s[p]=m,u=!0);else{const g=qa(p);r[g]=Jf(c,l,g,m,e,!1)}else m!==s[p]&&(s[p]=m,u=!0)}}}else{g1(e,t,r,s)&&(u=!0);let d;for(const f in l)(!t||!xt(t,f)&&((d=$r(f))===f||!xt(t,d)))&&(c?a&&(a[f]!==void 0||a[d]!==void 0)&&(r[f]=Jf(c,l,f,void 0,e,!0)):delete r[f]);if(s!==l)for(const f in s)(!t||!xt(t,f))&&(delete s[f],u=!0)}u&&ir(e.attrs,"set","")}function g1(e,t,a,n){const[r,s]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Li(c))continue;const u=t[c];let d;r&&xt(r,d=qa(c))?!s||!s.includes(d)?a[d]=u:(l||(l={}))[d]=u:Ku(e.emitsOptions,c)||(!(c in n)||u!==n[c])&&(n[c]=u,o=!0)}if(s){const c=rt(a),u=l||mt;for(let d=0;d<s.length;d++){const f=s[d];a[f]=Jf(r,c,f,u[f],e,!xt(u,f))}}return o}function Jf(e,t,a,n,r,s){const o=e[a];if(o!=null){const l=xt(o,"default");if(l&&n===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&et(c)){const{propsDefaults:u}=r;if(a in u)n=u[a];else{const d=Dl(r);n=u[a]=c.call(null,t),d()}}else n=c;r.ce&&r.ce._setProp(a,n)}o[0]&&(s&&!l?n=!1:o[1]&&(n===""||n===$r(a))&&(n=!0))}return n}const j5=new WeakMap;function h1(e,t,a=!1){const n=a?j5:t.propsCache,r=n.get(e);if(r)return r;const s=e.props,o={},l=[];let c=!1;if(!et(e)){const d=f=>{c=!0;const[p,m]=h1(f,t,!0);ea(o,p),m&&l.push(...m)};!a&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!s&&!c)return wt(e)&&n.set(e,bo),bo;if(Je(s))for(let d=0;d<s.length;d++){const f=qa(s[d]);th(f)&&(o[f]=mt)}else if(s)for(const d in s){const f=qa(d);if(th(f)){const p=s[d],m=o[f]=Je(p)||et(p)?{type:p}:ea({},p),g=m.type;let y=!1,_=!0;if(Je(g))for(let v=0;v<g.length;++v){const h=g[v],k=et(h)&&h.name;if(k==="Boolean"){y=!0;break}else k==="String"&&(_=!1)}else y=et(g)&&g.name==="Boolean";m[0]=y,m[1]=_,(y||xt(m,"default"))&&l.push(f)}}const u=[o,l];return wt(e)&&n.set(e,u),u}function th(e){return e[0]!=="$"&&!Li(e)}const _m=e=>e==="_"||e==="_ctx"||e==="$stable",wm=e=>Je(e)?e.map(On):[On(e)],W5=(e,t,a)=>{if(t._n)return t;const n=T((...r)=>wm(t(...r)),a);return n._c=!1,n},v1=(e,t,a)=>{const n=e._ctx;for(const r in e){if(_m(r))continue;const s=e[r];if(et(s))t[r]=W5(r,s,n);else if(s!=null){const o=wm(s);t[r]=()=>o}}},y1=(e,t)=>{const a=wm(t);e.slots.default=()=>a},b1=(e,t,a)=>{for(const n in t)(a||!_m(n))&&(e[n]=t[n])},K5=(e,t,a)=>{const n=e.slots=p1();if(e.vnode.shapeFlag&32){const r=t._;r?(b1(n,t,a),a&&ub(n,"_",r,!0)):v1(t,n)}else t&&y1(e,t)},G5=(e,t,a)=>{const{vnode:n,slots:r}=e;let s=!0,o=mt;if(n.shapeFlag&32){const l=t._;l?a&&l===1?s=!1:b1(r,t,a):(s=!t.$stable,v1(t,r)),o=t}else t&&(y1(e,t),o={default:1});if(s)for(const l in r)!_m(l)&&o[l]==null&&delete r[l]},Pa=Z5;function Y5(e){return X5(e)}function X5(e,t){const a=Lu();a.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:o,createText:l,createComment:c,setText:u,setElementText:d,parentNode:f,nextSibling:p,setScopeId:m=Fn,insertStaticContent:g}=e,y=(U,q,oe,_e=null,me=null,be=null,B=void 0,X=null,te=!!q.dynamicChildren)=>{if(U===q)return;U&&!ws(U,q)&&(_e=O(U),ie(U,me,be,!0),U=null),q.patchFlag===-2&&(te=!1,q.dynamicChildren=null);const{type:ee,ref:Me,shapeFlag:ae}=q;switch(ee){case Pl:_(U,q,oe,_e);break;case ha:v(U,q,oe,_e);break;case Dc:U==null&&h(q,oe,_e,B);break;case De:G(U,q,oe,_e,me,be,B,X,te);break;default:ae&1?A(U,q,oe,_e,me,be,B,X,te):ae&6?V(U,q,oe,_e,me,be,B,X,te):(ae&64||ae&128)&&ee.process(U,q,oe,_e,me,be,B,X,te,J)}Me!=null&&me?Bi(Me,U&&U.ref,be,q||U,!q):Me==null&&U&&U.ref!=null&&Bi(U.ref,null,be,U,!0)},_=(U,q,oe,_e)=>{if(U==null)n(q.el=l(q.children),oe,_e);else{const me=q.el=U.el;q.children!==U.children&&u(me,q.children)}},v=(U,q,oe,_e)=>{U==null?n(q.el=c(q.children||""),oe,_e):q.el=U.el},h=(U,q,oe,_e)=>{[U.el,U.anchor]=g(U.children,q,oe,_e,U.el,U.anchor)},k=({el:U,anchor:q},oe,_e)=>{let me;for(;U&&U!==q;)me=p(U),n(U,oe,_e),U=me;n(q,oe,_e)},w=({el:U,anchor:q})=>{let oe;for(;U&&U!==q;)oe=p(U),r(U),U=oe;r(q)},A=(U,q,oe,_e,me,be,B,X,te)=>{if(q.type==="svg"?B="svg":q.type==="math"&&(B="mathml"),U==null)M(q,oe,_e,me,be,B,X,te);else{const ee=U.el&&U.el._isVueCE?U.el:null;try{ee&&ee._beginPatch(),D(U,q,me,be,B,X,te)}finally{ee&&ee._endPatch()}}},M=(U,q,oe,_e,me,be,B,X)=>{let te,ee;const{props:Me,shapeFlag:ae,transition:re,dirs:fe}=U;if(te=U.el=o(U.type,be,Me&&Me.is,Me),ae&8?d(te,U.children):ae&16&&P(U.children,te,null,_e,me,Bd(U,be),B,X),fe&&ds(U,null,_e,"created"),S(te,U,U.scopeId,B,_e),Me){for(const Se in Me)Se!=="value"&&!Li(Se)&&s(te,Se,null,Me[Se],be,_e);"value"in Me&&s(te,"value",null,Me.value,be),(ee=Me.onVnodeBeforeMount)&&In(ee,_e,U)}fe&&ds(U,null,_e,"beforeMount");const ke=J5(me,re);ke&&re.beforeEnter(te),n(te,q,oe),((ee=Me&&Me.onVnodeMounted)||ke||fe)&&Pa(()=>{ee&&In(ee,_e,U),ke&&re.enter(te),fe&&ds(U,null,_e,"mounted")},me)},S=(U,q,oe,_e,me)=>{if(oe&&m(U,oe),_e)for(let be=0;be<_e.length;be++)m(U,_e[be]);if(me){let be=me.subTree;if(q===be||w1(be.type)&&(be.ssContent===q||be.ssFallback===q)){const B=me.vnode;S(U,B,B.scopeId,B.slotScopeIds,me.parent)}}},P=(U,q,oe,_e,me,be,B,X,te=0)=>{for(let ee=te;ee<U.length;ee++){const Me=U[ee]=X?Gr(U[ee]):On(U[ee]);y(null,Me,q,oe,_e,me,be,B,X)}},D=(U,q,oe,_e,me,be,B)=>{const X=q.el=U.el;let{patchFlag:te,dynamicChildren:ee,dirs:Me}=q;te|=U.patchFlag&16;const ae=U.props||mt,re=q.props||mt;let fe;if(oe&&fs(oe,!1),(fe=re.onVnodeBeforeUpdate)&&In(fe,oe,q,U),Me&&ds(q,U,oe,"beforeUpdate"),oe&&fs(oe,!0),(ae.innerHTML&&re.innerHTML==null||ae.textContent&&re.textContent==null)&&d(X,""),ee?H(U.dynamicChildren,ee,X,oe,_e,Bd(q,me),be):B||K(U,q,X,null,oe,_e,Bd(q,me),be,!1),te>0){if(te&16)Q(X,ae,re,oe,me);else if(te&2&&ae.class!==re.class&&s(X,"class",null,re.class,me),te&4&&s(X,"style",ae.style,re.style,me),te&8){const ke=q.dynamicProps;for(let Se=0;Se<ke.length;Se++){const we=ke[Se],Ve=ae[we],Ie=re[we];(Ie!==Ve||we==="value")&&s(X,we,Ve,Ie,me,oe)}}te&1&&U.children!==q.children&&d(X,q.children)}else!B&&ee==null&&Q(X,ae,re,oe,me);((fe=re.onVnodeUpdated)||Me)&&Pa(()=>{fe&&In(fe,oe,q,U),Me&&ds(q,U,oe,"updated")},_e)},H=(U,q,oe,_e,me,be,B)=>{for(let X=0;X<q.length;X++){const te=U[X],ee=q[X],Me=te.el&&(te.type===De||!ws(te,ee)||te.shapeFlag&198)?f(te.el):oe;y(te,ee,Me,null,_e,me,be,B,!0)}},Q=(U,q,oe,_e,me)=>{if(q!==oe){if(q!==mt)for(const be in q)!Li(be)&&!(be in oe)&&s(U,be,q[be],null,me,_e);for(const be in oe){if(Li(be))continue;const B=oe[be],X=q[be];B!==X&&be!=="value"&&s(U,be,X,B,me,_e)}"value"in oe&&s(U,"value",q.value,oe.value,me)}},G=(U,q,oe,_e,me,be,B,X,te)=>{const ee=q.el=U?U.el:l(""),Me=q.anchor=U?U.anchor:l("");let{patchFlag:ae,dynamicChildren:re,slotScopeIds:fe}=q;fe&&(X=X?X.concat(fe):fe),U==null?(n(ee,oe,_e),n(Me,oe,_e),P(q.children||[],oe,Me,me,be,B,X,te)):ae>0&&ae&64&&re&&U.dynamicChildren&&U.dynamicChildren.length===re.length?(H(U.dynamicChildren,re,oe,me,be,B,X),(q.key!=null||me&&q===me.subTree)&&km(U,q,!0)):K(U,q,oe,Me,me,be,B,X,te)},V=(U,q,oe,_e,me,be,B,X,te)=>{q.slotScopeIds=X,U==null?q.shapeFlag&512?me.ctx.activate(q,oe,_e,B,te):R(q,oe,_e,me,be,B,te):L(U,q,te)},R=(U,q,oe,_e,me,be,B)=>{const X=U.component=rC(U,_e,me);if(Al(U)&&(X.ctx.renderer=J),sC(X,!1,B),X.asyncDep){if(me&&me.registerDep(X,z,B),!U.el){const te=X.subTree=I(ha);v(null,te,q,oe),U.placeholder=te.el}}else z(X,U,q,oe,me,be,B)},L=(U,q,oe)=>{const _e=q.component=U.component;if(B5(U,q,oe))if(_e.asyncDep&&!_e.asyncResolved){le(_e,q,oe);return}else _e.next=q,_e.update();else q.el=U.el,_e.vnode=q},z=(U,q,oe,_e,me,be,B)=>{const X=()=>{if(U.isMounted){let{next:ae,bu:re,u:fe,parent:ke,vnode:Se}=U;{const Ce=x1(U);if(Ce){ae&&(ae.el=Se.el,le(U,ae,B)),Ce.asyncDep.then(()=>{U.isUnmounted||X()});return}}let we=ae,Ve;fs(U,!1),ae?(ae.el=Se.el,le(U,ae,B)):ae=Se,re&&Tc(re),(Ve=ae.props&&ae.props.onVnodeBeforeUpdate)&&In(Ve,ke,ae,Se),fs(U,!0);const Ie=Zg(U),Ee=U.subTree;U.subTree=Ie,y(Ee,Ie,f(Ee.el),O(Ee),U,me,be),ae.el=Ie.el,we===null&&z5(U,Ie.el),fe&&Pa(fe,me),(Ve=ae.props&&ae.props.onVnodeUpdated)&&Pa(()=>In(Ve,ke,ae,Se),me)}else{let ae;const{el:re,props:fe}=q,{bm:ke,m:Se,parent:we,root:Ve,type:Ie}=U,Ee=wo(q);fs(U,!1),ke&&Tc(ke),!Ee&&(ae=fe&&fe.onVnodeBeforeMount)&&In(ae,we,q),fs(U,!0);{Ve.ce&&Ve.ce._def.shadowRoot!==!1&&Ve.ce._injectChildStyle(Ie);const Ce=U.subTree=Zg(U);y(null,Ce,oe,_e,U,me,be),q.el=Ce.el}if(Se&&Pa(Se,me),!Ee&&(ae=fe&&fe.onVnodeMounted)){const Ce=q;Pa(()=>In(ae,we,Ce),me)}(q.shapeFlag&256||we&&wo(we.vnode)&&we.vnode.shapeFlag&256)&&U.a&&Pa(U.a,me),U.isMounted=!0,q=oe=_e=null}};U.scope.on();const te=U.effect=new hb(X);U.scope.off();const ee=U.update=te.run.bind(te),Me=U.job=te.runIfDirty.bind(te);Me.i=U,Me.id=U.uid,te.scheduler=()=>vm(Me),fs(U,!0),ee()},le=(U,q,oe)=>{q.component=U;const _e=U.vnode.props;U.vnode=q,U.next=null,U5(U,q.props,_e,oe),G5(U,q.children,oe),br(),zg(U),xr()},K=(U,q,oe,_e,me,be,B,X,te=!1)=>{const ee=U&&U.children,Me=U?U.shapeFlag:0,ae=q.children,{patchFlag:re,shapeFlag:fe}=q;if(re>0){if(re&128){Y(ee,ae,oe,_e,me,be,B,X,te);return}else if(re&256){ce(ee,ae,oe,_e,me,be,B,X,te);return}}fe&8?(Me&16&&ge(ee,me,be),ae!==ee&&d(oe,ae)):Me&16?fe&16?Y(ee,ae,oe,_e,me,be,B,X,te):ge(ee,me,be,!0):(Me&8&&d(oe,""),fe&16&&P(ae,oe,_e,me,be,B,X,te))},ce=(U,q,oe,_e,me,be,B,X,te)=>{U=U||bo,q=q||bo;const ee=U.length,Me=q.length,ae=Math.min(ee,Me);let re;for(re=0;re<ae;re++){const fe=q[re]=te?Gr(q[re]):On(q[re]);y(U[re],fe,oe,null,me,be,B,X,te)}ee>Me?ge(U,me,be,!0,!1,ae):P(q,oe,_e,me,be,B,X,te,ae)},Y=(U,q,oe,_e,me,be,B,X,te)=>{let ee=0;const Me=q.length;let ae=U.length-1,re=Me-1;for(;ee<=ae&&ee<=re;){const fe=U[ee],ke=q[ee]=te?Gr(q[ee]):On(q[ee]);if(ws(fe,ke))y(fe,ke,oe,null,me,be,B,X,te);else break;ee++}for(;ee<=ae&&ee<=re;){const fe=U[ae],ke=q[re]=te?Gr(q[re]):On(q[re]);if(ws(fe,ke))y(fe,ke,oe,null,me,be,B,X,te);else break;ae--,re--}if(ee>ae){if(ee<=re){const fe=re+1,ke=fe<Me?q[fe].el:_e;for(;ee<=re;)y(null,q[ee]=te?Gr(q[ee]):On(q[ee]),oe,ke,me,be,B,X,te),ee++}}else if(ee>re)for(;ee<=ae;)ie(U[ee],me,be,!0),ee++;else{const fe=ee,ke=ee,Se=new Map;for(ee=ke;ee<=re;ee++){const Re=q[ee]=te?Gr(q[ee]):On(q[ee]);Re.key!=null&&Se.set(Re.key,ee)}let we,Ve=0;const Ie=re-ke+1;let Ee=!1,Ce=0;const Oe=new Array(Ie);for(ee=0;ee<Ie;ee++)Oe[ee]=0;for(ee=fe;ee<=ae;ee++){const Re=U[ee];if(Ve>=Ie){ie(Re,me,be,!0);continue}let Fe;if(Re.key!=null)Fe=Se.get(Re.key);else for(we=ke;we<=re;we++)if(Oe[we-ke]===0&&ws(Re,q[we])){Fe=we;break}Fe===void 0?ie(Re,me,be,!0):(Oe[Fe-ke]=ee+1,Fe>=Ce?Ce=Fe:Ee=!0,y(Re,q[Fe],oe,null,me,be,B,X,te),Ve++)}const Ae=Ee?Q5(Oe):bo;for(we=Ae.length-1,ee=Ie-1;ee>=0;ee--){const Re=ke+ee,Fe=q[Re],lt=q[Re+1],We=Re+1<Me?lt.el||_1(lt):_e;Oe[ee]===0?y(null,Fe,oe,We,me,be,B,X,te):Ee&&(we<0||ee!==Ae[we]?ve(Fe,oe,We,2):we--)}}},ve=(U,q,oe,_e,me=null)=>{const{el:be,type:B,transition:X,children:te,shapeFlag:ee}=U;if(ee&6){ve(U.component.subTree,q,oe,_e);return}if(ee&128){U.suspense.move(q,oe,_e);return}if(ee&64){B.move(U,q,oe,J);return}if(B===De){n(be,q,oe);for(let ae=0;ae<te.length;ae++)ve(te[ae],q,oe,_e);n(U.anchor,q,oe);return}if(B===Dc){k(U,q,oe);return}if(_e!==2&&ee&1&&X)if(_e===0)X.beforeEnter(be),n(be,q,oe),Pa(()=>X.enter(be),me);else{const{leave:ae,delayLeave:re,afterLeave:fe}=X,ke=()=>{U.ctx.isUnmounted?r(be):n(be,q,oe)},Se=()=>{be._isLeaving&&be[nr](!0),ae(be,()=>{ke(),fe&&fe()})};re?re(be,ke,Se):Se()}else n(be,q,oe)},ie=(U,q,oe,_e=!1,me=!1)=>{const{type:be,props:B,ref:X,children:te,dynamicChildren:ee,shapeFlag:Me,patchFlag:ae,dirs:re,cacheIndex:fe}=U;if(ae===-2&&(me=!1),X!=null&&(br(),Bi(X,null,oe,U,!0),xr()),fe!=null&&(q.renderCache[fe]=void 0),Me&256){q.ctx.deactivate(U);return}const ke=Me&1&&re,Se=!wo(U);let we;if(Se&&(we=B&&B.onVnodeBeforeUnmount)&&In(we,q,U),Me&6)he(U.component,oe,_e);else{if(Me&128){U.suspense.unmount(oe,_e);return}ke&&ds(U,null,q,"beforeUnmount"),Me&64?U.type.remove(U,q,oe,J,_e):ee&&!ee.hasOnce&&(be!==De||ae>0&&ae&64)?ge(ee,q,oe,!1,!0):(be===De&&ae&384||!me&&Me&16)&&ge(te,q,oe),_e&&ye(U)}(Se&&(we=B&&B.onVnodeUnmounted)||ke)&&Pa(()=>{we&&In(we,q,U),ke&&ds(U,null,q,"unmounted")},oe)},ye=U=>{const{type:q,el:oe,anchor:_e,transition:me}=U;if(q===De){de(oe,_e);return}if(q===Dc){w(U);return}const be=()=>{r(oe),me&&!me.persisted&&me.afterLeave&&me.afterLeave()};if(U.shapeFlag&1&&me&&!me.persisted){const{leave:B,delayLeave:X}=me,te=()=>B(oe,be);X?X(U.el,be,te):te()}else be()},de=(U,q)=>{let oe;for(;U!==q;)oe=p(U),r(U),U=oe;r(q)},he=(U,q,oe)=>{const{bum:_e,scope:me,job:be,subTree:B,um:X,m:te,a:ee}=U;ah(te),ah(ee),_e&&Tc(_e),me.stop(),be&&(be.flags|=8,ie(B,U,q,oe)),X&&Pa(X,q),Pa(()=>{U.isUnmounted=!0},q)},ge=(U,q,oe,_e=!1,me=!1,be=0)=>{for(let B=be;B<U.length;B++)ie(U[B],q,oe,_e,me)},O=U=>{if(U.shapeFlag&6)return O(U.component.subTree);if(U.shapeFlag&128)return U.suspense.next();const q=p(U.anchor||U.el),oe=q&&q[Bb];return oe?p(oe):q};let W=!1;const j=(U,q,oe)=>{let _e;U==null?q._vnode&&(ie(q._vnode,null,null,!0),_e=q._vnode.component):y(q._vnode||null,U,q,null,null,null,oe),q._vnode=U,W||(W=!0,zg(_e),qb(),W=!1)},J={p:y,um:ie,m:ve,r:ye,mt:R,mc:P,pc:K,pbc:H,n:O,o:e};return{render:j,hydrate:void 0,createApp:L5(j)}}function Bd({type:e,props:t},a){return a==="svg"&&e==="foreignObject"||a==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:a}function fs({effect:e,job:t},a){a?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function J5(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function km(e,t,a=!1){const n=e.children,r=t.children;if(Je(n)&&Je(r))for(let s=0;s<n.length;s++){const o=n[s];let l=r[s];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[s]=Gr(r[s]),l.el=o.el),!a&&l.patchFlag!==-2&&km(o,l)),l.type===Pl&&(l.patchFlag!==-1?l.el=o.el:l.__elIndex=s+(e.type===De?1:0)),l.type===ha&&!l.el&&(l.el=o.el)}}function Q5(e){const t=e.slice(),a=[0];let n,r,s,o,l;const c=e.length;for(n=0;n<c;n++){const u=e[n];if(u!==0){if(r=a[a.length-1],e[r]<u){t[n]=r,a.push(n);continue}for(s=0,o=a.length-1;s<o;)l=s+o>>1,e[a[l]]<u?s=l+1:o=l;u<e[a[s]]&&(s>0&&(t[n]=a[s-1]),a[s]=n)}}for(s=a.length,o=a[s-1];s-- >0;)a[s]=o,o=t[o];return a}function x1(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:x1(t)}function ah(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function _1(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?_1(t.subTree):null}const w1=e=>e.__isSuspense;function Z5(e,t){t&&t.pendingBranch?Je(e)?t.effects.push(...e):t.effects.push(e):u5(e)}const De=Symbol.for("v-fgt"),Pl=Symbol.for("v-txt"),ha=Symbol.for("v-cmt"),Dc=Symbol.for("v-stc"),Hi=[];let Oa=null;function x(e=!1){Hi.push(Oa=e?null:[])}function eC(){Hi.pop(),Oa=Hi[Hi.length-1]||null}let Oo=1;function iu(e,t=!1){Oo+=e,e<0&&Oa&&t&&(Oa.hasOnce=!0)}function k1(e){return e.dynamicChildren=Oo>0?Oa||bo:null,eC(),Oo>0&&Oa&&Oa.push(e),e}function F(e,t,a,n,r,s){return k1(b(e,t,a,n,r,s,!0))}function N(e,t,a,n,r){return k1(I(e,t,a,n,r,!0))}function al(e){return e?e.__v_isVNode===!0:!1}function ws(e,t){return e.type===t.type&&e.key===t.key}const C1=({key:e})=>e??null,Ec=({ref:e,ref_key:t,ref_for:a})=>(typeof e=="number"&&(e=""+e),e!=null?qt(e)||at(e)||et(e)?{i:ya,r:e,k:t,f:!!a}:e:null);function b(e,t=null,a=null,n=0,r=null,s=e===De?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&C1(t),ref:t&&Ec(t),scopeId:Fb,slotScopeIds:null,children:a,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ya};return l?(Cm(c,a),s&128&&e.normalize(c)):a&&(c.shapeFlag|=qt(a)?8:16),Oo>0&&!o&&Oa&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&Oa.push(c),c}const I=tC;function tC(e,t=null,a=null,n=0,r=null,s=!1){if((!e||e===t1)&&(e=ha),al(e)){const l=kr(e,t,!0);return a&&Cm(l,a),Oo>0&&!s&&Oa&&(l.shapeFlag&6?Oa[Oa.indexOf(e)]=l:Oa.push(l)),l.patchFlag=-2,l}if(cC(e)&&(e=e.__vccOpts),t){t=Ge(t);let{class:l,style:c}=t;l&&!qt(l)&&(t.class=xe(l)),wt(c)&&(zu(c)&&!Je(c)&&(c=ea({},c)),t.style=Tt(c))}const o=qt(e)?1:w1(e)?128:zb(e)?64:wt(e)?4:et(e)?2:0;return b(e,t,a,n,r,o,s,!0)}function Ge(e){return e?zu(e)||m1(e)?ea({},e):e:null}function kr(e,t,a=!1,n=!1){const{props:r,ref:s,patchFlag:o,children:l,transition:c}=e,u=t?$e(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&C1(u),ref:t&&t.ref?a&&s?Je(s)?s.concat(Ec(t)):[s,Ec(t)]:Ec(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==De?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kr(e.ssContent),ssFallback:e.ssFallback&&kr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Zi(d,c.clone(d)),d}function pe(e=" ",t=0){return I(Pl,null,e,t)}function N_e(e,t){const a=I(Dc,null,e);return a.staticCount=t,a}function se(e="",t=!1){return t?(x(),N(ha,null,e)):I(ha,null,e)}function On(e){return e==null||typeof e=="boolean"?I(ha):Je(e)?I(De,null,e.slice()):al(e)?Gr(e):I(Pl,null,String(e))}function Gr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kr(e)}function Cm(e,t){let a=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Je(t))a=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Cm(e,r()),r._c&&(r._d=!0));return}else{a=32;const r=t._;!r&&!m1(t)?t._ctx=ya:r===3&&ya&&(ya.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else et(t)?(t={default:t,_ctx:ya},a=32):(t=String(t),n&64?(a=16,t=[pe(t)]):a=8);e.children=t,e.shapeFlag|=a}function $e(...e){const t={};for(let a=0;a<e.length;a++){const n=e[a];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=xe([t.class,n.class]));else if(r==="style")t.style=Tt([t.style,n.style]);else if(Pu(r)){const s=t[r],o=n[r];o&&s!==o&&!(Je(s)&&s.includes(o))&&(t[r]=s?[].concat(s,o):o)}else r!==""&&(t[r]=n[r])}return t}function In(e,t,a,n=null){kn(e,t,7,[a,n])}const aC=c1();let nC=0;function rC(e,t,a){const n=e.type,r=(t?t.appContext:e.appContext)||aC,s={uid:nC++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new gb(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:h1(n,r),emitsOptions:d1(n,r),emit:null,emitted:null,propsDefaults:mt,inheritAttrs:n.inheritAttrs,ctx:mt,data:mt,props:mt,attrs:mt,slots:mt,refs:mt,setupState:mt,setupContext:null,suspense:a,suspenseId:a?a.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=q5.bind(null,s),e.ce&&e.ce(s),s}let va=null;const Rt=()=>va||ya;let lu,Qf;{const e=Lu(),t=(a,n)=>{let r;return(r=e[a])||(r=e[a]=[]),r.push(n),s=>{r.length>1?r.forEach(o=>o(s)):r[0](s)}};lu=t("__VUE_INSTANCE_SETTERS__",a=>va=a),Qf=t("__VUE_SSR_SETTERS__",a=>Lo=a)}const Dl=e=>{const t=va;return lu(e),e.scope.on(),()=>{e.scope.off(),lu(t)}},nh=()=>{va&&va.scope.off(),lu(null)};function S1(e){return e.vnode.shapeFlag&4}let Lo=!1;function sC(e,t=!1,a=!1){t&&Qf(t);const{props:n,children:r}=e.vnode,s=S1(e);H5(e,n,s,t),K5(e,r,a||t);const o=s?oC(e,t):void 0;return t&&Qf(!1),o}function oC(e,t){const a=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,I5);const{setup:n}=a;if(n){br();const r=e.setupContext=n.length>1?$1(e):null,s=Dl(e),o=Sl(n,e,0,[e.props,r]),l=ib(o);if(xr(),s(),(l||e.sp)&&!wo(e)&&bm(e),l){if(o.then(nh,nh),t)return o.then(c=>{rh(e,c)}).catch(c=>{Ml(c,e,0)});e.asyncDep=o}else rh(e,o)}else M1(e)}function rh(e,t,a){et(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:wt(t)&&(e.setupState=Eb(t)),M1(e)}function M1(e,t,a){const n=e.type;e.render||(e.render=n.render||Fn);{const r=Dl(e);br();try{T5(e)}finally{xr(),r()}}}const iC={get(e,t){return Ca(e,"get",""),e[t]}};function $1(e){const t=a=>{e.exposed=a||{}};return{attrs:new Proxy(e.attrs,iC),slots:e.slots,emit:e.emit,expose:t}}function Gu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Eb(kl(e.exposed)),{get(t,a){if(a in t)return t[a];if(a in zi)return zi[a](e)},has(t,a){return a in t||a in zi}})):e.proxy}function lC(e,t=!0){return et(e)?e.displayName||e.name:e.name||t&&e.__name}function cC(e){return et(e)&&"__vccOpts"in e}const $=(e,t)=>s5(e,t,Lo);function Za(e,t,a){try{iu(-1);const n=arguments.length;return n===2?wt(t)&&!Je(t)?al(t)?I(e,null,[t]):I(e,t):I(e,null,t):(n>3?a=Array.prototype.slice.call(arguments,2):n===3&&al(a)&&(a=[a]),I(e,t,a))}finally{iu(1)}}function F_e(e,t,a,n){const r=a[n];if(r&&uC(r,e))return r;const s=t();return s.memo=e.slice(),s.cacheIndex=n,a[n]=s}function uC(e,t){const a=e.memo;if(a.length!=t.length)return!1;for(let n=0;n<a.length;n++)if(Ea(a[n],t[n]))return!1;return Oo>0&&Oa&&Oa.push(e),!0}const dC="3.5.27";let Zf;const sh=typeof window<"u"&&window.trustedTypes;if(sh)try{Zf=sh.createPolicy("vue",{createHTML:e=>e})}catch{}const A1=Zf?e=>Zf.createHTML(e):e=>e,fC="http://www.w3.org/2000/svg",pC="http://www.w3.org/1998/Math/MathML",ar=typeof document<"u"?document:null,oh=ar&&ar.createElement("template"),mC={insert:(e,t,a)=>{t.insertBefore(e,a||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,a,n)=>{const r=t==="svg"?ar.createElementNS(fC,e):t==="mathml"?ar.createElementNS(pC,e):a?ar.createElement(e,{is:a}):ar.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>ar.createTextNode(e),createComment:e=>ar.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ar.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,a,n,r,s){const o=a?a.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),a),!(r===s||!(r=r.nextSibling)););else{oh.innerHTML=A1(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=oh.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,a)}return[o?o.nextSibling:t.firstChild,a?a.previousSibling:t.lastChild]}},Nr="transition",wi="animation",nl=Symbol("_vtc"),I1={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},gC=ea({},jb,I1),hC=e=>(e.displayName="Transition",e.props=gC,e),Sm=hC((e,{slots:t})=>Za(b5,vC(e),t)),ps=(e,t=[])=>{Je(e)?e.forEach(a=>a(...t)):e&&e(...t)},ih=e=>e?Je(e)?e.some(t=>t.length>1):e.length>1:!1;function vC(e){const t={};for(const G in e)G in I1||(t[G]=e[G]);if(e.css===!1)return t;const{name:a="v",type:n,duration:r,enterFromClass:s=`${a}-enter-from`,enterActiveClass:o=`${a}-enter-active`,enterToClass:l=`${a}-enter-to`,appearFromClass:c=s,appearActiveClass:u=o,appearToClass:d=l,leaveFromClass:f=`${a}-leave-from`,leaveActiveClass:p=`${a}-leave-active`,leaveToClass:m=`${a}-leave-to`}=e,g=yC(r),y=g&&g[0],_=g&&g[1],{onBeforeEnter:v,onEnter:h,onEnterCancelled:k,onLeave:w,onLeaveCancelled:A,onBeforeAppear:M=v,onAppear:S=h,onAppearCancelled:P=k}=t,D=(G,V,R,L)=>{G._enterCancelled=L,ms(G,V?d:l),ms(G,V?u:o),R&&R()},H=(G,V)=>{G._isLeaving=!1,ms(G,f),ms(G,m),ms(G,p),V&&V()},Q=G=>(V,R)=>{const L=G?S:h,z=()=>D(V,G,R);ps(L,[V,z]),lh(()=>{ms(V,G?c:s),Xn(V,G?d:l),ih(L)||ch(V,n,y,z)})};return ea(t,{onBeforeEnter(G){ps(v,[G]),Xn(G,s),Xn(G,o)},onBeforeAppear(G){ps(M,[G]),Xn(G,c),Xn(G,u)},onEnter:Q(!1),onAppear:Q(!0),onLeave(G,V){G._isLeaving=!0;const R=()=>H(G,V);Xn(G,f),G._enterCancelled?(Xn(G,p),fh(G)):(fh(G),Xn(G,p)),lh(()=>{G._isLeaving&&(ms(G,f),Xn(G,m),ih(w)||ch(G,n,_,R))}),ps(w,[G,R])},onEnterCancelled(G){D(G,!1,void 0,!0),ps(k,[G])},onAppearCancelled(G){D(G,!0,void 0,!0),ps(P,[G])},onLeaveCancelled(G){H(G),ps(A,[G])}})}function yC(e){if(e==null)return null;if(wt(e))return[zd(e.enter),zd(e.leave)];{const t=zd(e);return[t,t]}}function zd(e){return Mk(e)}function Xn(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.add(a)),(e[nl]||(e[nl]=new Set)).add(t)}function ms(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const a=e[nl];a&&(a.delete(t),a.size||(e[nl]=void 0))}function lh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let bC=0;function ch(e,t,a,n){const r=e._endId=++bC,s=()=>{r===e._endId&&n()};if(a!=null)return setTimeout(s,a);const{type:o,timeout:l,propCount:c}=xC(e,t);if(!o)return n();const u=o+"end";let d=0;const f=()=>{e.removeEventListener(u,p),s()},p=m=>{m.target===e&&++d>=c&&f()};setTimeout(()=>{d<c&&f()},l+1),e.addEventListener(u,p)}function xC(e,t){const a=window.getComputedStyle(e),n=g=>(a[g]||"").split(", "),r=n(`${Nr}Delay`),s=n(`${Nr}Duration`),o=uh(r,s),l=n(`${wi}Delay`),c=n(`${wi}Duration`),u=uh(l,c);let d=null,f=0,p=0;t===Nr?o>0&&(d=Nr,f=o,p=s.length):t===wi?u>0&&(d=wi,f=u,p=c.length):(f=Math.max(o,u),d=f>0?o>u?Nr:wi:null,p=d?d===Nr?s.length:c.length:0);const m=d===Nr&&/\b(?:transform|all)(?:,|$)/.test(n(`${Nr}Property`).toString());return{type:d,timeout:f,propCount:p,hasTransform:m}}function uh(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((a,n)=>dh(a)+dh(e[n])))}function dh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function fh(e){return(e?e.ownerDocument:document).body.offsetHeight}function _C(e,t,a){const n=e[nl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):a?e.setAttribute("class",t):e.className=t}const cu=Symbol("_vod"),T1=Symbol("_vsh"),V_e={name:"show",beforeMount(e,{value:t},{transition:a}){e[cu]=e.style.display==="none"?"":e.style.display,a&&t?a.beforeEnter(e):ki(e,t)},mounted(e,{value:t},{transition:a}){a&&t&&a.enter(e)},updated(e,{value:t,oldValue:a},{transition:n}){!t!=!a&&(n?t?(n.beforeEnter(e),ki(e,!0),n.enter(e)):n.leave(e,()=>{ki(e,!1)}):ki(e,t))},beforeUnmount(e,{value:t}){ki(e,t)}};function ki(e,t){e.style.display=t?e[cu]:"none",e[T1]=!t}const wC=Symbol(""),kC=/(?:^|;)\s*display\s*:/;function CC(e,t,a){const n=e.style,r=qt(a);let s=!1;if(a&&!r){if(t)if(qt(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();a[l]==null&&Rc(n,l,"")}else for(const o in t)a[o]==null&&Rc(n,o,"");for(const o in a)o==="display"&&(s=!0),Rc(n,o,a[o])}else if(r){if(t!==a){const o=n[wC];o&&(a+=";"+o),n.cssText=a,s=kC.test(a)}}else t&&e.removeAttribute("style");cu in e&&(e[cu]=s?n.display:"",e[T1]&&(n.display="none"))}const ph=/\s*!important$/;function Rc(e,t,a){if(Je(a))a.forEach(n=>Rc(e,t,n));else if(a==null&&(a=""),t.startsWith("--"))e.setProperty(t,a);else{const n=SC(e,t);ph.test(a)?e.setProperty($r(n),a.replace(ph,""),"important"):e[n]=a}}const mh=["Webkit","Moz","ms"],Hd={};function SC(e,t){const a=Hd[t];if(a)return a;let n=qa(t);if(n!=="filter"&&n in e)return Hd[t]=n;n=Ou(n);for(let r=0;r<mh.length;r++){const s=mh[r]+n;if(s in e)return Hd[t]=s}return t}const gh="http://www.w3.org/1999/xlink";function hh(e,t,a,n,r,s=Dk(t)){n&&t.startsWith("xlink:")?a==null?e.removeAttributeNS(gh,t.slice(6,t.length)):e.setAttributeNS(gh,t,a):a==null||s&&!db(a)?e.removeAttribute(t):e.setAttribute(t,s?"":_n(a)?String(a):a)}function vh(e,t,a,n,r){if(t==="innerHTML"||t==="textContent"){a!=null&&(e[t]=t==="innerHTML"?A1(a):a);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const l=s==="OPTION"?e.getAttribute("value")||"":e.value,c=a==null?e.type==="checkbox"?"on":"":String(a);(l!==c||!("_value"in e))&&(e.value=c),a==null&&e.removeAttribute(t),e._value=a;return}let o=!1;if(a===""||a==null){const l=typeof e[t];l==="boolean"?a=db(a):a==null&&l==="string"?(a="",o=!0):l==="number"&&(a=0,o=!0)}try{e[t]=a}catch{}o&&e.removeAttribute(r||t)}function ks(e,t,a,n){e.addEventListener(t,a,n)}function MC(e,t,a,n){e.removeEventListener(t,a,n)}const yh=Symbol("_vei");function $C(e,t,a,n,r=null){const s=e[yh]||(e[yh]={}),o=s[t];if(n&&o)o.value=n;else{const[l,c]=AC(t);if(n){const u=s[t]=PC(n,r);ks(e,l,u,c)}else o&&(MC(e,l,o,c),s[t]=void 0)}}const bh=/(?:Once|Passive|Capture)$/;function AC(e){let t;if(bh.test(e)){t={};let n;for(;n=e.match(bh);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):$r(e.slice(2)),t]}let Ud=0;const IC=Promise.resolve(),TC=()=>Ud||(IC.then(()=>Ud=0),Ud=Date.now());function PC(e,t){const a=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=a.attached)return;kn(DC(n,a.value),t,5,[n])};return a.value=e,a.attached=TC(),a}function DC(e,t){if(Je(t)){const a=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{a.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const xh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,EC=(e,t,a,n,r,s)=>{const o=r==="svg";t==="class"?_C(e,n,o):t==="style"?CC(e,a,n):Pu(t)?um(t)||$C(e,t,a,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):RC(e,t,n,o))?(vh(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&hh(e,t,n,o,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!qt(n))?vh(e,qa(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),hh(e,t,n,o))};function RC(e,t,a,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&xh(t)&&et(a));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return xh(t)&&qt(a)?!1:t in e}const uu=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Je(t)?a=>Tc(t,a):t};function OC(e){e.target.composing=!0}function _h(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ko=Symbol("_assign");function wh(e,t,a){return t&&(e=e.trim()),a&&(e=fm(e)),e}const LC={created(e,{modifiers:{lazy:t,trim:a,number:n}},r){e[ko]=uu(r);const s=n||r.props&&r.props.type==="number";ks(e,t?"change":"input",o=>{o.target.composing||e[ko](wh(e.value,a,s))}),(a||s)&&ks(e,"change",()=>{e.value=wh(e.value,a,s)}),t||(ks(e,"compositionstart",OC),ks(e,"compositionend",_h),ks(e,"change",_h))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:a,modifiers:{lazy:n,trim:r,number:s}},o){if(e[ko]=uu(o),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?fm(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===a||r&&e.value.trim()===c)||(e.value=c))}},B_e={deep:!0,created(e,t,a){e[ko]=uu(a),ks(e,"change",()=>{const n=e._modelValue,r=qC(e),s=e.checked,o=e[ko];if(Je(n)){const l=fb(n,r),c=l!==-1;if(s&&!c)o(n.concat(r));else if(!s&&c){const u=[...n];u.splice(l,1),o(u)}}else if(Du(n)){const l=new Set(n);s?l.add(r):l.delete(r),o(l)}else o(P1(e,s))})},mounted:kh,beforeUpdate(e,t,a){e[ko]=uu(a),kh(e,t,a)}};function kh(e,{value:t,oldValue:a},n){e._modelValue=t;let r;if(Je(t))r=fb(t,n.props.value)>-1;else if(Du(t))r=t.has(n.props.value);else{if(t===a)return;r=qu(t,P1(e,!0))}e.checked!==r&&(e.checked=r)}function qC(e){return"_value"in e?e._value:e.value}function P1(e,t){const a=t?"_trueValue":"_falseValue";return a in e?e[a]:t}const NC=["ctrl","shift","alt","meta"],FC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>NC.some(a=>e[`${a}Key`]&&!t.includes(a))},ut=(e,t)=>{const a=e._withMods||(e._withMods={}),n=t.join(".");return a[n]||(a[n]=((r,...s)=>{for(let o=0;o<t.length;o++){const l=FC[t[o]];if(l&&l(r,t))return}return e(r,...s)}))},VC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},ta=(e,t)=>{const a=e._withKeys||(e._withKeys={}),n=t.join(".");return a[n]||(a[n]=(r=>{if(!("key"in r))return;const s=$r(r.key);if(t.some(o=>o===s||VC[o]===s))return e(r)}))},BC=ea({patchProp:EC},mC);let Ch;function zC(){return Ch||(Ch=Y5(BC))}const HC=((...e)=>{const t=zC().createApp(...e),{mount:a}=t;return t.mount=n=>{const r=jC(n);if(!r)return;const s=t._component;!et(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=a(r,!1,UC(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function UC(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function jC(e){return qt(e)?document.querySelector(e):e}const D1=/^[a-z0-9]+(-[a-z0-9]+)*$/,Yu=(e,t,a,n="")=>{const r=e.split(":");if(e.slice(0,1)==="@"){if(r.length<2||r.length>3)return null;n=r.shift().slice(1)}if(r.length>3||!r.length)return null;if(r.length>1){const l=r.pop(),c=r.pop(),u={provider:r.length>0?r[0]:n,prefix:c,name:l};return t&&!Oc(u)?null:u}const s=r[0],o=s.split("-");if(o.length>1){const l={provider:n,prefix:o.shift(),name:o.join("-")};return t&&!Oc(l)?null:l}if(a&&n===""){const l={provider:n,prefix:"",name:s};return t&&!Oc(l,a)?null:l}return null},Oc=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1;function WC(e,t){const a=e.icons,n=e.aliases||Object.create(null),r=Object.create(null);function s(o){if(a[o])return r[o]=[];if(!(o in r)){r[o]=null;const l=n[o]&&n[o].parent,c=l&&s(l);c&&(r[o]=[l].concat(c))}return r[o]}return Object.keys(a).concat(Object.keys(n)).forEach(s),r}const E1=Object.freeze({left:0,top:0,width:16,height:16}),du=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Xu=Object.freeze({...E1,...du}),ep=Object.freeze({...Xu,body:"",hidden:!1});function KC(e,t){const a={};!e.hFlip!=!t.hFlip&&(a.hFlip=!0),!e.vFlip!=!t.vFlip&&(a.vFlip=!0);const n=((e.rotate||0)+(t.rotate||0))%4;return n&&(a.rotate=n),a}function Sh(e,t){const a=KC(e,t);for(const n in ep)n in du?n in e&&!(n in a)&&(a[n]=du[n]):n in t?a[n]=t[n]:n in e&&(a[n]=e[n]);return a}function GC(e,t,a){const n=e.icons,r=e.aliases||Object.create(null);let s={};function o(l){s=Sh(n[l]||r[l],s)}return o(t),a.forEach(o),Sh(e,s)}function R1(e,t){const a=[];if(typeof e!="object"||typeof e.icons!="object")return a;e.not_found instanceof Array&&e.not_found.forEach(r=>{t(r,null),a.push(r)});const n=WC(e);for(const r in n){const s=n[r];s&&(t(r,GC(e,r,s)),a.push(r))}return a}const YC={provider:"",aliases:{},not_found:{},...E1};function jd(e,t){for(const a in t)if(a in e&&typeof e[a]!=typeof t[a])return!1;return!0}function O1(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!jd(e,YC))return null;const a=t.icons;for(const r in a){const s=a[r];if(!r||typeof s.body!="string"||!jd(s,ep))return null}const n=t.aliases||Object.create(null);for(const r in n){const s=n[r],o=s.parent;if(!r||typeof o!="string"||!a[o]&&!n[o]||!jd(s,ep))return null}return t}const Mh=Object.create(null);function XC(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function qo(e,t){const a=Mh[e]||(Mh[e]=Object.create(null));return a[t]||(a[t]=XC(e,t))}function L1(e,t){return O1(t)?R1(t,(a,n)=>{n?e.icons[a]=n:e.missing.add(a)}):[]}function JC(e,t,a){try{if(typeof a.body=="string")return e.icons[t]={...a},!0}catch{}return!1}let rl=!1;function q1(e){return typeof e=="boolean"&&(rl=e),rl}function QC(e){const t=typeof e=="string"?Yu(e,!0,rl):e;if(t){const a=qo(t.provider,t.prefix),n=t.name;return a.icons[n]||(a.missing.has(n)?null:void 0)}}function N1(e,t){const a=Yu(e,!0,rl);if(!a)return!1;const n=qo(a.provider,a.prefix);return t?JC(n,a.name,t):(n.missing.add(a.name),!0)}function ZC(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),rl&&!t&&!e.prefix){let n=!1;return O1(e)&&(e.prefix="",R1(e,(r,s)=>{N1(r,s)&&(n=!0)})),n}const a=e.prefix;return Oc({prefix:a,name:"a"})?!!L1(qo(t,a),e):!1}const F1=Object.freeze({width:null,height:null}),V1=Object.freeze({...F1,...du}),eS=/(-?[0-9.]*[0-9]+[0-9.]*)/g,tS=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function $h(e,t,a){if(t===1)return e;if(a=a||100,typeof e=="number")return Math.ceil(e*t*a)/a;if(typeof e!="string")return e;const n=e.split(eS);if(n===null||!n.length)return e;const r=[];let s=n.shift(),o=tS.test(s);for(;;){if(o){const l=parseFloat(s);isNaN(l)?r.push(s):r.push(Math.ceil(l*t*a)/a)}else r.push(s);if(s=n.shift(),s===void 0)return r.join("");o=!o}}function aS(e,t="defs"){let a="";const n=e.indexOf("<"+t);for(;n>=0;){const r=e.indexOf(">",n),s=e.indexOf("</"+t);if(r===-1||s===-1)break;const o=e.indexOf(">",s);if(o===-1)break;a+=e.slice(r+1,s).trim(),e=e.slice(0,n).trim()+e.slice(o+1)}return{defs:a,content:e}}function nS(e,t){return e?"<defs>"+e+"</defs>"+t:t}function rS(e,t,a){const n=aS(e);return nS(n.defs,t+n.content+a)}const sS=e=>e==="unset"||e==="undefined"||e==="none";function oS(e,t){const a={...Xu,...e},n={...V1,...t},r={left:a.left,top:a.top,width:a.width,height:a.height};let s=a.body;[a,n].forEach(y=>{const _=[],v=y.hFlip,h=y.vFlip;let k=y.rotate;v?h?k+=2:(_.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),_.push("scale(-1 1)"),r.top=r.left=0):h&&(_.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),_.push("scale(1 -1)"),r.top=r.left=0);let w;switch(k<0&&(k-=Math.floor(k/4)*4),k=k%4,k){case 1:w=r.height/2+r.top,_.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:_.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:w=r.width/2+r.left,_.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")");break}k%2===1&&(r.left!==r.top&&(w=r.left,r.left=r.top,r.top=w),r.width!==r.height&&(w=r.width,r.width=r.height,r.height=w)),_.length&&(s=rS(s,'<g transform="'+_.join(" ")+'">',"</g>"))});const o=n.width,l=n.height,c=r.width,u=r.height;let d,f;o===null?(f=l===null?"1em":l==="auto"?u:l,d=$h(f,c/u)):(d=o==="auto"?c:o,f=l===null?$h(d,u/c):l==="auto"?u:l);const p={},m=(y,_)=>{sS(_)||(p[y]=_.toString())};m("width",d),m("height",f);const g=[r.left,r.top,c,u];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:s}}const iS=/\sid="(\S+)"/g,Ah=new Map;function lS(e){e=e.replace(/[0-9]+$/,"")||"a";const t=Ah.get(e)||0;return Ah.set(e,t+1),t?`${e}${t}`:e}function cS(e){const t=[];let a;for(;a=iS.exec(e);)t.push(a[1]);if(!t.length)return e;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(r=>{const s=lS(r),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+o+')([")]|\\.[a-z])',"g"),"$1"+s+n+"$3")}),e=e.replace(new RegExp(n,"g"),""),e}const tp=Object.create(null);function B1(e,t){tp[e]=t}function ap(e){return tp[e]||tp[""]}function Mm(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Ju=Object.create(null),Ci=["https://api.simplesvg.com","https://api.unisvg.com"],Lc=[];for(;Ci.length>0;)Ci.length===1||Math.random()>.5?Lc.push(Ci.shift()):Lc.push(Ci.pop());Ju[""]=Mm({resources:["https://api.iconify.design"].concat(Lc)});function uS(e,t){const a=Mm(t);return a===null?!1:(Ju[e]=a,!0)}function Qu(e){return Ju[e]}function dS(){return Object.keys(Ju)}const fS=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let fu=fS();function pS(e){fu=e}function mS(){return fu}function gS(e,t){const a=Qu(e);if(!a)return 0;let n;if(!a.maxURL)n=0;else{let r=0;a.resources.forEach(o=>{r=Math.max(r,o.length)});const s=t+".json?icons=";n=a.maxURL-r-a.path.length-s.length}return n}function hS(e){return e===404}const vS=(e,t,a)=>{const n=[],r=gS(e,t),s="icons";let o={type:s,provider:e,prefix:t,icons:[]},l=0;return a.forEach((c,u)=>{l+=c.length+1,l>=r&&u>0&&(n.push(o),o={type:s,provider:e,prefix:t,icons:[]},l=c.length),o.icons.push(c)}),n.push(o),n};function yS(e){if(typeof e=="string"){const t=Qu(e);if(t)return t.path}return"/"}const bS=(e,t,a)=>{if(!fu){a("abort",424);return}let n=yS(t.provider);switch(t.type){case"icons":{const s=t.prefix,o=t.icons.join(","),l=new URLSearchParams({icons:o});n+=s+".json?"+l.toString();break}case"custom":{const s=t.uri;n+=s.slice(0,1)==="/"?s.slice(1):s;break}default:a("abort",400);return}let r=503;fu(e+n).then(s=>{const o=s.status;if(o!==200){setTimeout(()=>{a(hS(o)?"abort":"next",o)});return}return r=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?a("abort",s):a("next",r)});return}setTimeout(()=>{a("success",s)})}).catch(()=>{a("next",r)})},xS={prepare:vS,send:bS};function z1(e,t){e.forEach(a=>{const n=a.loaderCallbacks;n&&(a.loaderCallbacks=n.filter(r=>r.id!==t))})}function _S(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let a=!1;const n=e.provider,r=e.prefix;t.forEach(s=>{const o=s.icons,l=o.pending.length;o.pending=o.pending.filter(c=>{if(c.prefix!==r)return!0;const u=c.name;if(e.icons[u])o.loaded.push({provider:n,prefix:r,name:u});else if(e.missing.has(u))o.missing.push({provider:n,prefix:r,name:u});else return a=!0,!0;return!1}),o.pending.length!==l&&(a||z1([e],s.id),s.callback(o.loaded.slice(0),o.missing.slice(0),o.pending.slice(0),s.abort))})}))}let wS=0;function kS(e,t,a){const n=wS++,r=z1.bind(null,a,n);if(!t.pending.length)return r;const s={id:n,icons:t,callback:e,abort:r};return a.forEach(o=>{(o.loaderCallbacks||(o.loaderCallbacks=[])).push(s)}),r}function CS(e){const t={loaded:[],missing:[],pending:[]},a=Object.create(null);e.sort((r,s)=>r.provider!==s.provider?r.provider.localeCompare(s.provider):r.prefix!==s.prefix?r.prefix.localeCompare(s.prefix):r.name.localeCompare(s.name));let n={provider:"",prefix:"",name:""};return e.forEach(r=>{if(n.name===r.name&&n.prefix===r.prefix&&n.provider===r.provider)return;n=r;const s=r.provider,o=r.prefix,l=r.name,c=a[s]||(a[s]=Object.create(null)),u=c[o]||(c[o]=qo(s,o));let d;l in u.icons?d=t.loaded:o===""||u.missing.has(l)?d=t.missing:d=t.pending;const f={provider:s,prefix:o,name:l};d.push(f)}),t}function SS(e,t=!0,a=!1){const n=[];return e.forEach(r=>{const s=typeof r=="string"?Yu(r,t,a):r;s&&n.push(s)}),n}const MS={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function $S(e,t,a,n){const r=e.resources.length,s=e.random?Math.floor(Math.random()*r):e.index;let o;if(e.random){let M=e.resources.slice(0);for(o=[];M.length>1;){const S=Math.floor(Math.random()*M.length);o.push(M[S]),M=M.slice(0,S).concat(M.slice(S+1))}o=o.concat(M)}else o=e.resources.slice(s).concat(e.resources.slice(0,s));const l=Date.now();let c="pending",u=0,d,f=null,p=[],m=[];typeof n=="function"&&m.push(n);function g(){f&&(clearTimeout(f),f=null)}function y(){c==="pending"&&(c="aborted"),g(),p.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),p=[]}function _(M,S){S&&(m=[]),typeof M=="function"&&m.push(M)}function v(){return{startTime:l,payload:t,status:c,queriesSent:u,queriesPending:p.length,subscribe:_,abort:y}}function h(){c="failed",m.forEach(M=>{M(void 0,d)})}function k(){p.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),p=[]}function w(M,S,P){const D=S!=="success";switch(p=p.filter(H=>H!==M),c){case"pending":break;case"failed":if(D||!e.dataAfterTimeout)return;break;default:return}if(S==="abort"){d=P,h();return}if(D){d=P,p.length||(o.length?A():h());return}if(g(),k(),!e.random){const H=e.resources.indexOf(M.resource);H!==-1&&H!==e.index&&(e.index=H)}c="completed",m.forEach(H=>{H(P)})}function A(){if(c!=="pending")return;g();const M=o.shift();if(M===void 0){if(p.length){f=setTimeout(()=>{g(),c==="pending"&&(k(),h())},e.timeout);return}h();return}const S={status:"pending",resource:M,callback:(P,D)=>{w(S,P,D)}};p.push(S),u++,f=setTimeout(A,e.rotate),a(M,t,S.callback)}return setTimeout(A),v}function H1(e){const t={...MS,...e};let a=[];function n(){a=a.filter(o=>o().status==="pending")}function r(o,l,c){const u=$S(t,o,l,(d,f)=>{n(),c&&c(d,f)});return a.push(u),u}function s(o){return a.find(l=>o(l))||null}return{query:r,find:s,setIndex:o=>{t.index=o},getIndex:()=>t.index,cleanup:n}}function Ih(){}const Wd=Object.create(null);function AS(e){if(!Wd[e]){const t=Qu(e);if(!t)return;Wd[e]={config:t,redundancy:H1(t)}}return Wd[e]}function U1(e,t,a){let n,r;if(typeof e=="string"){const s=ap(e);if(!s)return a(void 0,424),Ih;r=s.send;const o=AS(e);o&&(n=o.redundancy)}else{const s=Mm(e);if(s){n=H1(s);const o=ap(e.resources?e.resources[0]:"");o&&(r=o.send)}}return!n||!r?(a(void 0,424),Ih):n.query(t,r,a)().abort}function Th(){}function IS(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,_S(e)}))}function TS(e){const t=[],a=[];return e.forEach(n=>{(n.match(D1)?t:a).push(n)}),{valid:t,invalid:a}}function Si(e,t,a){function n(){const r=e.pendingIcons;t.forEach(s=>{r&&r.delete(s),e.icons[s]||e.missing.add(s)})}if(a&&typeof a=="object")try{if(!L1(e,a).length){n();return}}catch(r){console.error(r)}n(),IS(e)}function Ph(e,t){e instanceof Promise?e.then(a=>{t(a)}).catch(()=>{t(null)}):t(e)}function PS(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:a,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;const s=e.loadIcon;if(e.loadIcons&&(r.length>1||!s)){Ph(e.loadIcons(r,n,a),u=>{Si(e,r,u)});return}if(s){r.forEach(u=>{Ph(s(u,n,a),d=>{Si(e,[u],d?{prefix:n,icons:{[u]:d}}:null)})});return}const{valid:o,invalid:l}=TS(r);if(l.length&&Si(e,l,null),!o.length)return;const c=n.match(D1)?ap(a):null;if(!c){Si(e,o,null);return}c.prepare(a,n,o).forEach(u=>{U1(a,u,d=>{Si(e,u.icons,d)})})}))}const DS=(e,t)=>{const a=CS(SS(e,!0,q1()));if(!a.pending.length){let l=!0;return t&&setTimeout(()=>{l&&t(a.loaded,a.missing,a.pending,Th)}),()=>{l=!1}}const n=Object.create(null),r=[];let s,o;return a.pending.forEach(l=>{const{provider:c,prefix:u}=l;if(u===o&&c===s)return;s=c,o=u,r.push(qo(c,u));const d=n[c]||(n[c]=Object.create(null));d[u]||(d[u]=[])}),a.pending.forEach(l=>{const{provider:c,prefix:u,name:d}=l,f=qo(c,u),p=f.pendingIcons||(f.pendingIcons=new Set);p.has(d)||(p.add(d),n[c][u].push(d))}),r.forEach(l=>{const c=n[l.provider][l.prefix];c.length&&PS(l,c)}),t?kS(t,a,r):Th};function ES(e,t){const a={...e};for(const n in t){const r=t[n],s=typeof r;n in F1?(r===null||r&&(s==="string"||s==="number"))&&(a[n]=r):s===typeof a[n]&&(a[n]=n==="rotate"?r%4:r)}return a}const RS=/[\s,]+/;function OS(e,t){t.split(RS).forEach(a=>{switch(a.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function LS(e,t=0){const a=e.replace(/^-?[0-9.]*/,"");function n(r){for(;r<0;)r+=4;return r%4}if(a===""){const r=parseInt(e);return isNaN(r)?0:n(r)}else if(a!==e){let r=0;switch(a){case"%":r=25;break;case"deg":r=90}if(r){let s=parseFloat(e.slice(0,e.length-a.length));return isNaN(s)?0:(s=s/r,s%1===0?n(s):0)}}return t}function qS(e,t){let a=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in t)a+=" "+n+'="'+t[n]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+a+">"+e+"</svg>"}function NS(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function FS(e){return"data:image/svg+xml,"+NS(e)}function VS(e){return'url("'+FS(e)+'")'}const Dh={...V1,inline:!1},BS={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},zS={display:"inline-block"},np={backgroundColor:"currentColor"},j1={backgroundColor:"transparent"},Eh={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Rh={webkitMask:np,mask:np,background:j1};for(const e in Rh){const t=Rh[e];for(const a in Eh)t[e+a]=Eh[a]}const qc={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";qc[e+"-flip"]=t,qc[e.slice(0,1)+"-flip"]=t,qc[e+"Flip"]=t});function Oh(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Lh=(e,t)=>{const a=ES(Dh,t),n={...BS},r=t.mode||"svg",s={},o=t.style,l=typeof o=="object"&&!(o instanceof Array)?o:{};for(let y in t){const _=t[y];if(_!==void 0)switch(y){case"icon":case"style":case"onLoad":case"mode":case"ssr":case"customise":break;case"inline":case"hFlip":case"vFlip":a[y]=_===!0||_==="true"||_===1;break;case"flip":typeof _=="string"&&OS(a,_);break;case"color":s.color=_;break;case"rotate":typeof _=="string"?a[y]=LS(_):typeof _=="number"&&(a[y]=_);break;case"ariaHidden":case"aria-hidden":_!==!0&&_!=="true"&&delete n["aria-hidden"];break;default:{const v=qc[y];v?(_===!0||_==="true"||_===1)&&(a[v]=!0):Dh[y]===void 0&&(n[y]=_)}}}const c=oS(e,a),u=c.attributes;if(a.inline&&(s.verticalAlign="-0.125em"),r==="svg")return n.style={...s,...l},Object.assign(n,u),n.innerHTML=cS(c.body),Za("svg",n);const{body:d,width:f,height:p}=e,m=r==="mask"||(r==="bg"?!1:d.indexOf("currentColor")!==-1),g=qS(d,{...u,width:f+"",height:p+""});return n.style={...s,"--svg":VS(g),width:Oh(u.width),height:Oh(u.height),...zS,...m?np:j1,...l},Za("span",n)};q1(!0);B1("",xS);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,a="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(n=>{try{(typeof n!="object"||n===null||n instanceof Array||typeof n.icons!="object"||typeof n.prefix!="string"||!ZC(n))&&console.error(a)}catch{console.error(a)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let a in t){const n="IconifyProviders["+a+"] is invalid.";try{const r=t[a];if(typeof r!="object"||!r||r.resources===void 0)continue;uS(a,r)||console.error(n)}catch{console.error(n)}}}}const HS={...Xu,body:""},US=ue((e,{emit:t})=>{const a=E(null);function n(){a.value&&(a.value.abort?.(),a.value=null)}const r=E(!!e.ssr),s=E(""),o=pt(null);function l(){const u=e.icon;if(typeof u=="object"&&u!==null&&typeof u.body=="string")return s.value="",{data:u};let d;if(typeof u!="string"||(d=Yu(u,!1,!0))===null)return null;let f=QC(d);if(!f){const g=a.value;return(!g||g.name!==u)&&(f===null?a.value={name:u}:a.value={name:u,abort:DS([d],c)}),null}n(),s.value!==u&&(s.value=u,je(()=>{t("load",u)}));const p=e.customise;if(p){f=Object.assign({},f);const g=p(f.body,d.name,d.prefix,d.provider);typeof g=="string"&&(f.body=g)}const m=["iconify"];return d.prefix!==""&&m.push("iconify--"+d.prefix),d.provider!==""&&m.push("iconify--"+d.provider),{data:f,classes:m}}function c(){const u=l();u?u.data!==o.value?.data&&(o.value=u):o.value=null}return r.value?c():Ke(()=>{r.value=!0,c()}),Pe(()=>e.icon,c),Ft(n),()=>{const u=o.value;if(!u)return Lh(HS,e);let d=e;return u.classes&&(d={...e,class:u.classes.join(" ")}),Lh({...Xu,...u.data},d)}},{props:["icon","mode","ssr","width","height","style","color","inline","rotate","hFlip","horizontalFlip","vFlip","verticalFlip","flip","id","ariaHidden","customise","title"],emits:["load"]}),jS={getAPIConfig:Qu,setAPIModule:B1,sendAPIQuery:U1,setFetch:pS,getFetch:mS,listAPIProviders:dS};jS.setFetch(void 0);let qh=!1;function WS(e){if(qh)return;const t=JSON.parse('[{"prefix":"lucide","icons":{"alert-circle":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 8v4m0 4h.01\\"/></g>"},"alert-triangle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\"/>"},"arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 5v14m7-7l-7 7l-7-7\\"/>"},"arrow-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m12 19l-7-7l7-7m7 7H5\\"/>"},"arrow-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7l7 7l-7 7\\"/>"},"arrow-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m5 12l7-7l7 7m-7 7V5\\"/>"},"arrow-up-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M7 7h10v10M7 17L17 7\\"/>"},"calendar-range":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"4\\" rx=\\"2\\"/><path d=\\"M16 2v4M3 10h18M8 2v4m9 8h-6m2 4H7m0-4h.01M17 18h.01\\"/></g>"},"check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 6L9 17l-5-5\\"/>"},"chevron-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 9l6 6l6-6\\"/>"},"chevron-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m15 18l-6-6l6-6\\"/>"},"chevron-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m9 18l6-6l-6-6\\"/>"},"chevron-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m18 15l-6-6l-6 6\\"/>"},"chevrons-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\"/>"},"chevrons-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\"/>"},"circle-alert":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 8v4m0 4h.01\\"/></g>"},"circle-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m9 12l2 2l4-4\\"/></g>"},"circle-help":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01\\"/></g>"},"circle-x":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m15 9l-6 6m0-6l6 6\\"/></g>"},"clock-3":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 6v6h4\\"/></g>"},"copy":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"copy-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m12 15l2 2l4-4\\"/><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"ellipsis":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"19\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"5\\" cy=\\"12\\" r=\\"1\\"/></g>"},"eye":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\"/><circle cx=\\"12\\" cy=\\"12\\" r=\\"3\\"/></g>"},"eye-off":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\"/><path d=\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\"/></g>"},"file":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5\\"/></g>"},"folder":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\"/>"},"folder-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\"/>"},"git-compare-arrows":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"5\\" cy=\\"6\\" r=\\"3\\"/><path d=\\"M12 6h5a2 2 0 0 1 2 2v7\\"/><path d=\\"m15 9l-3-3l3-3\\"/><circle cx=\\"19\\" cy=\\"18\\" r=\\"3\\"/><path d=\\"M12 18H7a2 2 0 0 1-2-2V9\\"/><path d=\\"m9 15l3 3l-3 3\\"/></g>"},"git-fork":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"18\\" r=\\"3\\"/><circle cx=\\"6\\" cy=\\"6\\" r=\\"3\\"/><circle cx=\\"18\\" cy=\\"6\\" r=\\"3\\"/><path d=\\"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9m6 3v3\\"/></g>"},"grip-vertical":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"9\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"19\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"19\\" r=\\"1\\"/></g>"},"hash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\"/>"},"history":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\"/><path d=\\"M3 3v5h5m4-1v5l4 2\\"/></g>"},"info":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 16v-4m0-4h.01\\"/></g>"},"lightbulb":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\"/>"},"loader-2":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21 12a9 9 0 1 1-6.219-8.56\\"/>"},"loader-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21 12a9 9 0 1 1-6.219-8.56\\"/>"},"menu":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 5h16M4 12h16M4 19h16\\"/>"},"messages-square":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2zm4-1a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1\\"/>"},"minus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14\\"/>"},"monitor":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"20\\" height=\\"14\\" x=\\"2\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M8 21h8m-4-4v4\\"/></g>"},"moon":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\"/>"},"network":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"6\\" height=\\"6\\" x=\\"16\\" y=\\"16\\" rx=\\"1\\"/><rect width=\\"6\\" height=\\"6\\" x=\\"2\\" y=\\"16\\" rx=\\"1\\"/><rect width=\\"6\\" height=\\"6\\" x=\\"9\\" y=\\"2\\" rx=\\"1\\"/><path d=\\"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3m-7-4V8\\"/></g>"},"panel-left-close":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m7-6l-3-3l3-3\\"/></g>"},"panel-left-open":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m5-12l3 3l-3 3\\"/></g>"},"panel-right":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M15 3v18\\"/></g>"},"panel-right-close":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M15 3v18M8 9l3 3l-3 3\\"/></g>"},"panel-right-open":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M15 3v18m-5-6l-3-3l3-3\\"/></g>"},"pencil":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\\"/>"},"pin":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 17v5M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4a1 1 0 0 1 1 1z\\"/>"},"plus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7v14\\"/>"},"refresh-cw":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8\\"/><path d=\\"M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16\\"/><path d=\\"M8 16H3v5\\"/></g>"},"rotate-ccw":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\"/><path d=\\"M3 3v5h5\\"/></g>"},"scan-line":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M3 7V5a2 2 0 0 1 2-2h2m10 0h2a2 2 0 0 1 2 2v2m0 10v2a2 2 0 0 1-2 2h-2M7 21H5a2 2 0 0 1-2-2v-2m4-5h10\\"/>"},"search":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m21 21l-4.34-4.34\\"/><circle cx=\\"11\\" cy=\\"11\\" r=\\"8\\"/></g>"},"sparkles":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\\"/><circle cx=\\"4\\" cy=\\"20\\" r=\\"2\\"/></g>"},"square":{"width":24,"height":24,"body":"<rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" rx=\\"2\\"/>"},"sun":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"4\\"/><path d=\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\"/></g>"},"terminal":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 19h8M4 17l6-6l-6-6\\"/>"},"trash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\"/>"},"triangle-alert":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\"/>"},"undo-2":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M9 14L4 9l5-5\\"/><path d=\\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11\\"/></g>"},"upload":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\"/>"},"user-minus":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\\"/><circle cx=\\"9\\" cy=\\"7\\" r=\\"4\\"/><path d=\\"M22 11h-6\\"/></g>"},"user-plus":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\\"/><circle cx=\\"9\\" cy=\\"7\\" r=\\"4\\"/><path d=\\"M19 8v6m3-3h-6\\"/></g>"},"users":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87\\"/><circle cx=\\"9\\" cy=\\"7\\" r=\\"4\\"/></g>"},"users-2":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M18 21a8 8 0 0 0-16 0\\"/><circle cx=\\"10\\" cy=\\"8\\" r=\\"5\\"/><path d=\\"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3\\"/></g>"},"x":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M18 6L6 18M6 6l12 12\\"/>"}}},{"prefix":"heroicons","icons":{"academic-cap-solid":{"width":24,"height":24,"body":"<g fill=\\"currentColor\\"><path d=\\"M11.7 2.805a.75.75 0 0 1 .6 0A60.7 60.7 0 0 1 22.83 8.72a.75.75 0 0 1-.231 1.337a50 50 0 0 0-9.902 3.912l-.003.002l-.34.18a.75.75 0 0 1-.707 0A51 51 0 0 0 7.5 12.173v-.224a.36.36 0 0 1 .172-.311a55 55 0 0 1 4.653-2.52a.75.75 0 0 0-.65-1.352a56 56 0 0 0-4.78 2.589a1.86 1.86 0 0 0-.859 1.228a50 50 0 0 0-4.634-1.527a.75.75 0 0 1-.231-1.337A60.7 60.7 0 0 1 11.7 2.805\\"/><path d=\\"M13.06 15.473a48.5 48.5 0 0 1 7.666-3.282q.202 2.122.255 4.284a.75.75 0 0 1-.46.711a48 48 0 0 0-8.105 4.342a.75.75 0 0 1-.832 0a48 48 0 0 0-8.104-4.342a.75.75 0 0 1-.461-.71q.053-2.163.255-4.286q1.382.456 2.726.99v1.27a1.5 1.5 0 0 0-.14 2.508c-.09.38-.222.753-.397 1.11q.678.32 1.346.66a6.7 6.7 0 0 0 .551-1.607a1.5 1.5 0 0 0 .14-2.67v-.645a49 49 0 0 1 3.44 1.667a2.25 2.25 0 0 0 2.12 0\\"/><path d=\\"M4.462 19.462c.42-.419.753-.89 1-1.395q.68.321 1.347.662a6.7 6.7 0 0 1-1.286 1.794a.75.75 0 0 1-1.06-1.06\\"/></g>"},"adjustments-horizontal":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75\\"/>"},"archive-box":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m20.25 7.5l-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125\\"/>"},"archive-box-arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m20.25 7.5l-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125\\"/>"},"arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M19.5 13.5L12 21m0 0l-7.5-7.5M12 21V3\\"/>"},"arrow-down-tray":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3\\"/>"},"arrow-path":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99\\"/>"},"arrow-path-rounded-square":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M19.5 12q0-1.848-.138-3.662a4.006 4.006 0 0 0-3.7-3.7a49 49 0 0 0-7.324 0a4.006 4.006 0 0 0-3.7 3.7q-.025.33-.046.662M19.5 12l3-3m-3 3l-3-3m-12 3q0 1.848.138 3.662a4.006 4.006 0 0 0 3.7 3.7a49 49 0 0 0 7.324 0a4.006 4.006 0 0 0 3.7-3.7q.025-.33.046-.662M4.5 12l3 3m-3-3l-3 3\\"/>"},"arrow-path-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388m15.408 3.352a.75.75 0 0 0-.919.53a7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035a.75.75 0 0 0-.53-.918\\" clip-rule=\\"evenodd\\"/>"},"arrow-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\\"/>"},"arrow-right-on-rectangle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9\\"/>"},"arrow-top-right-on-square":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25\\"/>"},"arrow-up-20-solid":{"width":20,"height":20,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M10 17a.75.75 0 0 1-.75-.75V5.612L5.29 9.77a.75.75 0 0 1-1.08-1.04l5.25-5.5a.75.75 0 0 1 1.08 0l5.25 5.5a.75.75 0 1 1-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0 1 10 17\\" clip-rule=\\"evenodd\\"/>"},"arrow-up-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m15 11.25l-3-3m0 0l-3 3m3-3v7.5M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"arrow-up-right-20-solid":{"width":20,"height":20,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M5.22 14.78a.75.75 0 0 0 1.06 0l7.22-7.22v5.69a.75.75 0 0 0 1.5 0v-7.5a.75.75 0 0 0-.75-.75h-7.5a.75.75 0 0 0 0 1.5h5.69l-7.22 7.22a.75.75 0 0 0 0 1.06\\" clip-rule=\\"evenodd\\"/>"},"arrow-up-tray":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5\\"/>"},"arrows-pointing-in":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25\\"/>"},"arrows-pointing-out":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15\\"/>"},"arrows-right-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5\\"/>"},"bars-arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25\\"/>"},"bars-arrow-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12\\"/>"},"beaker":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104q-.376.034-.75.082m.75-.082a24.3 24.3 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104q.377.034.75.082M19.8 15.3l-1.57.393A9.07 9.07 0 0 1 12 15a9.07 9.07 0 0 0-6.23-.693L5 14.5m14.8.8l1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.3 48.3 0 0 1 12 21a48 48 0 0 1-8.135-.687c-1.718-.293-2.3-2.379-1.067-3.61L5 14.5\\"/>"},"bolt":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75L12 13.5z\\"/>"},"book-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 6.042A8.97 8.97 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A9 9 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.97 8.97 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A9 9 0 0 0 18 18a8.97 8.97 0 0 0-6 2.292m0-14.25v14.25\\"/>"},"book-open-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M11.25 4.533A9.7 9.7 0 0 0 6 3a9.7 9.7 0 0 0-3.25.555a.75.75 0 0 0-.5.707v14.25a.75.75 0 0 0 1 .707A8.2 8.2 0 0 1 6 18.75c1.995 0 3.823.707 5.25 1.886zm1.5 16.103A8.2 8.2 0 0 1 18 18.75c.966 0 1.89.166 2.75.47a.75.75 0 0 0 1-.708V4.262a.75.75 0 0 0-.5-.707A9.7 9.7 0 0 0 18 3a9.7 9.7 0 0 0-5.25 1.533z\\"/>"},"briefcase":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M20.25 14.15v4.25c0 1.094-.787 2.036-1.872 2.18c-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5 0a2.18 2.18 0 0 0 .75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48 48 0 0 0-3.413-.387m4.5 8.006c-.194.165-.42.295-.673.38A24 24 0 0 1 12 15.75a24 24 0 0 1-7.577-1.22a2 2 0 0 1-.673-.38m0 0A2.18 2.18 0 0 1 3 12.489V8.706c0-1.081.768-2.015 1.837-2.175a48 48 0 0 1 3.413-.387m7.5 0V5.25A2.25 2.25 0 0 0 13.5 3h-3a2.25 2.25 0 0 0-2.25 2.25v.894m7.5 0a49 49 0 0 0-7.5 0M12 12.75h.008v.008H12z\\"/>"},"bug-ant":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 12.75q1.724 0 3.383.237c1.037.146 1.866.966 1.866 2.013c0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24 24 0 0 1 12 12.75m0 0c2.883 0 5.647.508 8.208 1.44a24 24 0 0 1-1.153 6.06M12 12.75c-2.883 0-5.647.508-8.208 1.44c.125 2.105.52 4.136 1.153 6.06M12 12.75a2.25 2.25 0 0 0 2.248-2.354M12 12.75a2.25 2.25 0 0 1-2.248-2.354M12 8.25q1.494-.001 2.922-.236c.403-.066.74-.358.795-.762a3.8 3.8 0 0 0-.399-2.25M12 8.25q-1.493-.001-2.922-.236c-.402-.066-.74-.358-.795-.762a3.73 3.73 0 0 1 .4-2.253M12 8.25a2.25 2.25 0 0 0-2.248 2.146M12 8.25a2.25 2.25 0 0 1 2.248 2.146M8.683 5a6 6 0 0 1-1.155-1.002c.07-.63.27-1.222.574-1.747M8.683 5a3.75 3.75 0 0 1 6.635 0m0 0c.427-.283.815-.62 1.155-.999a4.5 4.5 0 0 0-.575-1.752M4.921 6a24 24 0 0 0-.392 3.314a24 24 0 0 0 5.223 1.082M19.08 6q.308 1.622.392 3.314a24 24 0 0 1-5.223 1.082\\"/>"},"building-office":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21\\"/>"},"calendar":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5\\"/>"},"calendar-days":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5m-9-6h.008v.008H12zM12 15h.008v.008H12zm0 2.25h.008v.008H12zM9.75 15h.008v.008H9.75zm0 2.25h.008v.008H9.75zM7.5 15h.008v.008H7.5zm0 2.25h.008v.008H7.5zm6.75-4.5h.008v.008h-.008zm0 2.25h.008v.008h-.008zm0 2.25h.008v.008h-.008zm2.25-4.5h.008v.008H16.5zm0 2.25h.008v.008H16.5z\\"/>"},"camera":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M6.827 6.175A2.31 2.31 0 0 1 5.186 7.23q-.57.08-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a48 48 0 0 0-1.134-.175a2.31 2.31 0 0 1-1.64-1.055l-.822-1.316a2.19 2.19 0 0 0-1.736-1.039a49 49 0 0 0-5.232 0a2.19 2.19 0 0 0-1.736 1.039z\\"/><path d=\\"M16.5 12.75a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m2.25-2.25h.008v.008h-.008z\\"/></g>"},"chart-bar":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875zm6.75-4.5c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125zm6.75-4.5c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125z\\"/>"},"chart-pie":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5z\\"/><path d=\\"M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3z\\"/></g>"},"chat-bubble-bottom-center-text":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227q1.694.25 3.423.379c.35.026.67.21.865.501L12 21l2.755-4.132a1.14 1.14 0 0 1 .865-.502a48 48 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.4 48.4 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741z\\"/>"},"chat-bubble-bottom-center-text-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M4.848 2.771A49 49 0 0 1 12 2.25c2.43 0 4.817.178 7.152.52c1.978.292 3.348 2.024 3.348 3.97v6.02c0 1.946-1.37 3.678-3.348 3.97a49 49 0 0 1-3.476.383a.39.39 0 0 0-.297.17l-2.755 4.133a.75.75 0 0 1-1.248 0l-2.755-4.132a.39.39 0 0 0-.297-.17a49 49 0 0 1-3.476-.385c-1.978-.29-3.348-2.024-3.348-3.97V6.741c0-1.946 1.37-3.68 3.348-3.97M6.75 8.25a.75.75 0 0 1 .75-.75h9a.75.75 0 0 1 0 1.5h-9a.75.75 0 0 1-.75-.75m.75 2.25a.75.75 0 0 0 0 1.5H12a.75.75 0 0 0 0-1.5z\\" clip-rule=\\"evenodd\\"/>"},"chat-bubble-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M2.25 12.76c0 1.6 1.123 2.994 2.707 3.227q1.63.24 3.293.369V21l4.076-4.076a1.53 1.53 0 0 1 1.037-.443a48 48 0 0 0 5.68-.494c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.4 48.4 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741z\\"/>"},"chat-bubble-left-ellipsis":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227q1.63.24 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48 48 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.4 48.4 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741z\\"/>"},"chat-bubble-left-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M20.25 8.511c.884.284 1.5 1.128 1.5 2.097v4.286c0 1.136-.847 2.1-1.98 2.193q-.51.041-1.02.072v3.091l-3-3q-2.031 0-4.02-.163a2.1 2.1 0 0 1-.825-.242m9.345-8.334a2 2 0 0 0-.476-.095a48.6 48.6 0 0 0-8.048 0c-1.131.094-1.976 1.057-1.976 2.192v4.286c0 .837.46 1.58 1.155 1.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.5 48.5 0 0 0 11.25 3c-2.115 0-4.198.137-6.24.402c-1.608.209-2.76 1.614-2.76 3.235v6.226c0 1.621 1.152 3.026 2.76 3.235q.865.113 1.74.194V21l4.155-4.155\\"/>"},"chat-bubble-left-right-solid":{"width":24,"height":24,"body":"<g fill=\\"currentColor\\"><path d=\\"M4.913 2.658q3.115-.406 6.337-.408c2.147 0 4.262.139 6.337.408c1.922.25 3.291 1.861 3.405 3.727a4.4 4.4 0 0 0-1.032-.211a51 51 0 0 0-8.42 0c-2.358.196-4.04 2.19-4.04 4.434v4.286a4.47 4.47 0 0 0 2.433 3.984L7.28 21.53A.75.75 0 0 1 6 21v-4.03a49 49 0 0 1-1.087-.128C2.905 16.58 1.5 14.833 1.5 12.862V6.638c0-1.97 1.405-3.718 3.413-3.979\\"/><path d=\\"M15.75 7.5q-2.065 0-4.086.169C10.124 7.797 9 9.103 9 10.609v4.285c0 1.507 1.128 2.814 2.67 2.94q1.865.153 3.768.165l2.782 2.781a.75.75 0 0 0 1.28-.53v-2.39l.33-.026c1.542-.125 2.67-1.433 2.67-2.94v-4.286c0-1.505-1.125-2.811-2.664-2.94A49 49 0 0 0 15.75 7.5\\"/></g>"},"chat-bubble-oval-left-ellipsis":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M8.625 12a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0m0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.8 9.8 0 0 1-2.555-.337A5.97 5.97 0 0 1 5.41 20.97a6 6 0 0 1-.474-.065a4.5 4.5 0 0 0 .978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25\\"/>"},"check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m4.5 12.75l6 6l9-13.5\\"/>"},"check-20-solid":{"width":20,"height":20,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M16.705 4.153a.75.75 0 0 1 .142 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893l7.48-9.817a.75.75 0 0 1 1.05-.143\\" clip-rule=\\"evenodd\\"/>"},"check-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9 12.75L11.25 15L15 9.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"check-circle-20-solid":{"width":20,"height":20,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M10 18a8 8 0 1 0 0-16a8 8 0 0 0 0 16m3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79l-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089z\\" clip-rule=\\"evenodd\\"/>"},"check-circle-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75s-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12m13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094z\\" clip-rule=\\"evenodd\\"/>"},"chevron-double-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m18.75 4.5l-7.5 7.5l7.5 7.5m-6-15L5.25 12l7.5 7.5\\"/>"},"chevron-double-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m5.25 4.5l7.5 7.5l-7.5 7.5m6-15l7.5 7.5l-7.5 7.5\\"/>"},"chevron-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m19.5 8.25l-7.5 7.5l-7.5-7.5\\"/>"},"chevron-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 19.5L8.25 12l7.5-7.5\\"/>"},"chevron-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m8.25 4.5l7.5 7.5l-7.5 7.5\\"/>"},"chevron-right-20-solid":{"width":20,"height":20,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10L8.22 6.28a.75.75 0 0 1 0-1.06\\" clip-rule=\\"evenodd\\"/>"},"chevron-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m4.5 15.75l7.5-7.5l7.5 7.5\\"/>"},"circle-stack":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125\\"/>"},"clipboard":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0q.083.292.084.612v0a.75.75 0 0 1-.75.75H9a.75.75 0 0 1-.75-.75v0q.002-.32.084-.612m7.332 0q.969.073 1.927.184c1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48 48 0 0 1 1.927-.184\\"/>"},"clipboard-document":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192q.56-.045 1.124-.08M15.75 18H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48 48 0 0 0-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5A3.375 3.375 0 0 0 6.375 7.5H5.25m11.9-3.664A2.25 2.25 0 0 0 15 2.25h-1.5a2.25 2.25 0 0 0-2.15 1.586m5.8 0q.099.316.1.664v.75h-6V4.5q.001-.348.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 0 0-9-9\\"/>"},"clipboard-document-list":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48 48 0 0 0-1.123-.08m-5.801 0q-.099.316-.1.664c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75a2.3 2.3 0 0 0-.1-.664m-5.8 0A2.25 2.25 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0q-.563.035-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125zM6.75 12h.008v.008H6.75zm0 3h.008v.008H6.75zm0 3h.008v.008H6.75z\\"/>"},"clock":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"clock-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75s9.75-4.365 9.75-9.75S17.385 2.25 12 2.25M12.75 6a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5h-3.75z\\" clip-rule=\\"evenodd\\"/>"},"cloud":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257a3 3 0 0 0-3.758-3.848a5.25 5.25 0 0 0-10.233 2.33A4.5 4.5 0 0 0 2.25 15\\"/>"},"cloud-arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 9.75v6.75m0 0l-3-3m3 3l3-3m-8.25 6a4.5 4.5 0 0 1-1.41-8.775a5.25 5.25 0 0 1 10.233-2.33a3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5z\\"/>"},"cog-6-tooth":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87q.11.06.22.127c.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a8 8 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a7 7 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a7 7 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a7 7 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124q.108-.066.22-.128c.332-.183.582-.495.644-.869z\\"/><path d=\\"M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0\\"/></g>"},"command-line":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m6.75 7.5l3 2.25l-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0 0 21 18V6a2.25 2.25 0 0 0-2.25-2.25H5.25A2.25 2.25 0 0 0 3 6v12a2.25 2.25 0 0 0 2.25 2.25\\"/>"},"cpu-chip":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M8.25 3v1.5M4.5 8.25H3m18 0h-1.5M4.5 12H3m18 0h-1.5m-15 3.75H3m18 0h-1.5M8.25 19.5V21M12 3v1.5m0 15V21m3.75-18v1.5m0 15V21m-9-1.5h10.5a2.25 2.25 0 0 0 2.25-2.25V6.75a2.25 2.25 0 0 0-2.25-2.25H6.75A2.25 2.25 0 0 0 4.5 6.75v10.5a2.25 2.25 0 0 0 2.25 2.25m.75-12h9v9h-9z\\"/>"},"cube-transparent":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m21 7.5l-2.25-1.312M21 7.5v2.25m0-2.25l-2.25 1.313M3 7.5l2.25-1.312M3 7.5l2.25 1.313M3 7.5v2.25m9 3l2.25-1.312M12 12.75l-2.25-1.312M12 12.75V15m0 6.75l2.25-1.312M12 21.75V19.5m0 2.25l-2.25-1.312m0-16.875L12 2.25l2.25 1.313M21 14.25v2.25l-2.25 1.313m-13.5 0L3 16.5v-2.25\\"/>"},"cursor-arrow-rays":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917zM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59\\"/>"},"document-arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9\\"/>"},"document-duplicate":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9 9 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9 9 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75\\"/>"},"document-magnifying-glass":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m5.231 13.481L15 17.25m-4.5-15H5.625c-.621 0-1.125.504-1.125 1.125v16.5c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9m3.75 11.625a2.625 2.625 0 1 1-5.25 0a2.625 2.625 0 0 1 5.25 0\\"/>"},"document-text":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9\\"/>"},"ellipsis-horizontal":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6.75 12a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0m6 0a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0m6 0a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0\\"/>"},"exclamation-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 9v3.75m9-.75a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 3.75h.008v.008H12z\\"/>"},"exclamation-triangle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z\\"/>"},"eye":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M2.036 12.322a1 1 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178c.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178\\"/><path d=\\"M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0\\"/></g>"},"eye-slash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.98 8.223A10.5 10.5 0 0 0 1.934 12c1.292 4.339 5.31 7.5 10.066 7.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.499a10.52 10.52 0 0 1-4.293 5.773M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88\\"/>"},"face-smile-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75s9.75-4.365 9.75-9.75S17.385 2.25 12 2.25m-2.625 6c-.54 0-.828.419-.936.634a1.96 1.96 0 0 0-.189.866c0 .298.059.605.189.866c.108.215.395.634.936.634c.54 0 .828-.419.936-.634c.13-.26.189-.568.189-.866s-.059-.605-.189-.866c-.108-.215-.395-.634-.936-.634m4.314.634c.108-.215.395-.634.936-.634c.54 0 .828.419.936.634c.13.26.189.568.189.866s-.059.605-.189.866c-.108.215-.395.634-.936.634c-.54 0-.828-.419-.936-.634a1.96 1.96 0 0 1-.189-.866c0-.298.059-.605.189-.866m2.023 6.828a.75.75 0 1 0-1.06-1.06a3.75 3.75 0 0 1-5.304 0a.75.75 0 0 0-1.06 1.06a5.25 5.25 0 0 0 7.424 0\\" clip-rule=\\"evenodd\\"/>"},"finger-print":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M7.864 4.243A7.5 7.5 0 0 1 19.5 10.5c0 2.92-.556 5.709-1.568 8.269M5.742 6.364A7.47 7.47 0 0 0 4.5 10.5a7.46 7.46 0 0 1-1.15 3.993m1.989 3.559A11.2 11.2 0 0 0 8.25 10.5a3.75 3.75 0 1 1 7.5 0q0 .79-.064 1.565M12 10.5a14.94 14.94 0 0 1-3.6 9.75m6.633-4.596a18.7 18.7 0 0 1-2.485 5.33\\"/>"},"fire":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M15.362 5.214A8.252 8.252 0 0 1 12 21A8.25 8.25 0 0 1 6.038 7.047A8.3 8.3 0 0 0 9 9.601a8.98 8.98 0 0 1 3.361-6.867a8.2 8.2 0 0 0 3 2.48\\"/><path d=\\"M12 18a3.75 3.75 0 0 0 .495-7.468a6 6 0 0 0-1.925 3.547a6 6 0 0 1-2.133-1.001A3.75 3.75 0 0 0 12 18\\"/></g>"},"fire-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M12.963 2.286a.75.75 0 0 0-1.071-.136a9.74 9.74 0 0 0-3.539 6.176a7.6 7.6 0 0 1-1.705-1.715a.75.75 0 0 0-1.152-.082A9 9 0 1 0 15.68 4.534a7.46 7.46 0 0 1-2.717-2.248M15.75 14.25a3.75 3.75 0 1 1-7.313-1.172c.628.465 1.35.81 2.133 1a6 6 0 0 1 1.925-3.546a3.75 3.75 0 0 1 3.255 3.718\\" clip-rule=\\"evenodd\\"/>"},"folder-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.75 9.776q.168-.026.344-.026h15.812q.176 0 .344.026m-16.5 0a2.25 2.25 0 0 0-1.883 2.542l.857 6a2.25 2.25 0 0 0 2.227 1.932H19.05a2.25 2.25 0 0 0 2.227-1.932l.857-6a2.25 2.25 0 0 0-1.883-2.542m-16.5 0V6A2.25 2.25 0 0 1 6 3.75h3.879a1.5 1.5 0 0 1 1.06.44l2.122 2.12a1.5 1.5 0 0 0 1.06.44H18A2.25 2.25 0 0 1 20.25 9v.776\\"/>"},"funnel":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 3c2.755 0 5.455.232 8.083.678c.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.3 48.3 0 0 1 12 3\\"/>"},"globe-alt":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a9 9 0 0 1 7.843 4.582M12 3a9 9 0 0 0-7.843 4.582m15.686 0A11.95 11.95 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.96 8.96 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.9 17.9 0 0 1 12 16.5a17.9 17.9 0 0 1-8.716-2.247m0 0A9 9 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418\\"/>"},"hand-raised-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M10.5 1.875a1.125 1.125 0 0 1 2.25 0v8.219c.517.162 1.02.382 1.5.659V3.375a1.125 1.125 0 0 1 2.25 0v10.937a4.5 4.5 0 0 0-3.25 2.373a8.96 8.96 0 0 1 4-.935A.75.75 0 0 0 18 15v-2.266a3.37 3.37 0 0 1 .988-2.37a1.125 1.125 0 0 1 1.592 1.59a1.12 1.12 0 0 0-.33.79v3.006h-.005a6 6 0 0 1-1.752 4.007l-1.736 1.736a6 6 0 0 1-4.242 1.757H10.5a7.5 7.5 0 0 1-7.5-7.5V6.375a1.125 1.125 0 0 1 2.25 0v5.519c.46-.452.965-.832 1.5-1.141V3.375a1.125 1.125 0 0 1 2.25 0v6.526q.744-.15 1.5-.151z\\"/>"},"heart":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M21 8.25c0-2.485-2.099-4.5-4.687-4.5c-1.936 0-3.598 1.126-4.313 2.733c-.715-1.607-2.377-2.733-4.312-2.733C5.098 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12\\"/>"},"inbox":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h3.218a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162q0-.338-.1-.661l-2.41-7.839a2.25 2.25 0 0 0-2.15-1.588H6.911a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.3 2.3 0 0 0-.1.661\\"/>"},"information-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z\\"/>"},"key":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25\\"/>"},"language":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m10.5 21l5.25-11.25L21 21m-9-3h7.5M3 5.621a49 49 0 0 1 6-.371m0 0q1.681 0 3.334.114M9 5.25V3m3.334 2.364C11.176 10.658 7.69 15.08 3 17.502m9.334-12.138q1.344.092 2.666.257m-4.589 8.495a18 18 0 0 1-3.827-5.802\\"/>"},"light-bulb":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 18v-5.25m0 0a6 6 0 0 0 1.5-.189m-1.5.189a6 6 0 0 1-1.5-.189m3.75 7.478a12.1 12.1 0 0 1-4.5 0m3.75 2.383a14.4 14.4 0 0 1-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 1 0-7.517 0c.85.493 1.509 1.333 1.509 2.316V18\\"/>"},"link":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\\"/>"},"lock-closed":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25\\"/>"},"lock-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M13.5 10.5V6.75a4.5 4.5 0 1 1 9 0v3.75M3.75 21.75h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H3.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25\\"/>"},"magnifying-glass":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\\"/>"},"minus-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15 12H9m12 0a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"moon":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M21.752 15.002A9.7 9.7 0 0 1 18 15.75A9.75 9.75 0 0 1 8.25 6c0-1.33.266-2.597.748-3.752A9.75 9.75 0 0 0 3 11.25A9.75 9.75 0 0 0 12.75 21a9.75 9.75 0 0 0 9.002-5.998\\"/>"},"moon-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M9.528 1.718a.75.75 0 0 1 .162.819A9 9 0 0 0 9 6a9 9 0 0 0 9 9a9 9 0 0 0 3.463-.69a.75.75 0 0 1 .981.98a10.5 10.5 0 0 1-9.694 6.46c-5.799 0-10.5-4.7-10.5-10.5c0-4.368 2.667-8.112 6.46-9.694a.75.75 0 0 1 .818.162\\" clip-rule=\\"evenodd\\"/>"},"paint-brush":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9.53 16.122a3 3 0 0 0-5.78 1.128a2.25 2.25 0 0 1-2.4 2.245a4.5 4.5 0 0 0 8.4-2.245c0-.399-.078-.78-.22-1.128m0 0a16 16 0 0 0 3.388-1.62m-5.043-.025a16 16 0 0 1 1.622-3.395m3.42 3.42a16 16 0 0 0 4.764-4.648l3.876-5.814a1.151 1.151 0 0 0-1.597-1.597L14.146 6.32a16 16 0 0 0-4.649 4.764m3.42 3.42a6.78 6.78 0 0 0-3.42-3.42\\"/>"},"paint-brush-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M20.599 1.5c-.376 0-.743.111-1.055.32l-5.08 3.385a18.8 18.8 0 0 0-3.471 2.987a10.04 10.04 0 0 1 4.815 4.815a18.8 18.8 0 0 0 2.987-3.472l3.386-5.079A1.902 1.902 0 0 0 20.599 1.5m-8.3 14.025a19 19 0 0 0 1.896-1.207a8.03 8.03 0 0 0-4.513-4.513A19 19 0 0 0 8.475 11.7l-.278.5a5.26 5.26 0 0 1 3.601 3.602zM6.75 13.5A3.75 3.75 0 0 0 3 17.25a1.5 1.5 0 0 1-1.601 1.497a.75.75 0 0 0-.7 1.123a5.25 5.25 0 0 0 9.8-2.62a3.75 3.75 0 0 0-3.75-3.75\\" clip-rule=\\"evenodd\\"/>"},"paper-airplane":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6 12L3.269 3.125A59.8 59.8 0 0 1 21.486 12a59.8 59.8 0 0 1-18.217 8.875zm0 0h7.5\\"/>"},"pause":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 5.25v13.5m-7.5-13.5v13.5\\"/>"},"pencil":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125\\"/>"},"pencil-square":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10\\"/>"},"photo":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m2.25 15.75l5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5m10.5-11.25h.008v.008h-.008zm.375 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0\\"/>"},"play":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986z\\"/>"},"plus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 4.5v15m7.5-7.5h-15\\"/>"},"plus-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"presentation-chart-bar":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.75 3v11.25A2.25 2.25 0 0 0 6 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0 1 18 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5M9 11.25v1.5M12 9v3.75m3-6v6\\"/>"},"question-mark-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9.879 7.519c1.172-1.025 3.071-1.025 4.243 0c1.171 1.025 1.171 2.687 0 3.712q-.308.268-.67.442c-.746.361-1.452.999-1.452 1.827v.75M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9 5.25h.008v.008H12z\\"/>"},"queue-list":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 0 1 0 3.75H5.625a1.875 1.875 0 0 1 0-3.75\\"/>"},"rectangle-stack":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6 6.878V6a2.25 2.25 0 0 1 2.25-2.25h7.5A2.25 2.25 0 0 1 18 6v.878m-12 0q.354-.126.75-.128h10.5q.396.002.75.128m-12 0A2.25 2.25 0 0 0 4.5 9v.878m13.5-3A2.25 2.25 0 0 1 19.5 9v.878m0 0a2.3 2.3 0 0 0-.75-.128H5.25q-.396.002-.75.128m15 0A2.25 2.25 0 0 1 21 12v6a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 18v-6c0-.98.626-1.813 1.5-2.122\\"/>"},"rocket-launch-solid":{"width":24,"height":24,"body":"<g fill=\\"currentColor\\"><path fill-rule=\\"evenodd\\" d=\\"M9.315 7.584A15.72 15.72 0 0 1 21.75 1.5a.75.75 0 0 1 .75.75c0 5.056-2.383 9.555-6.084 12.436q.083.52.084 1.064a6.75 6.75 0 0 1-6.75 6.75a.75.75 0 0 1-.75-.75v-4.131l-.027-.021A15.8 15.8 0 0 1 6.382 15H2.25a.75.75 0 0 1-.75-.75a6.75 6.75 0 0 1 7.815-6.666M15 6.75a2.25 2.25 0 1 0 0 4.5a2.25 2.25 0 0 0 0-4.5\\" clip-rule=\\"evenodd\\"/><path d=\\"M5.26 17.242a.75.75 0 1 0-.897-1.203a5.24 5.24 0 0 0-2.05 5.022a.75.75 0 0 0 .625.627q.398.061.812.062a5.24 5.24 0 0 0 4.21-2.113a.75.75 0 1 0-1.202-.897a3.74 3.74 0 0 1-3.008 1.51c0-1.23.592-2.323 1.51-3.008\\"/></g>"},"scale-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M12 2.25a.75.75 0 0 1 .75.75v.756a49 49 0 0 1 9.152 1a.75.75 0 0 1-.152 1.485h-1.918l2.474 10.124a.75.75 0 0 1-.375.84A6.7 6.7 0 0 1 18.75 18a6.7 6.7 0 0 1-3.181-.795a.75.75 0 0 1-.375-.84l2.474-10.124H12.75v13.28c1.293.076 2.534.343 3.697.776a.75.75 0 0 1-.262 1.453h-8.37a.75.75 0 0 1-.262-1.453c1.162-.433 2.404-.7 3.697-.775V6.24H6.332l2.474 10.124a.75.75 0 0 1-.375.84A6.7 6.7 0 0 1 5.25 18a6.7 6.7 0 0 1-3.181-.795a.75.75 0 0 1-.375-.84L4.168 6.241H2.25a.75.75 0 0 1-.152-1.485a49 49 0 0 1 9.152-1V3a.75.75 0 0 1 .75-.75m4.878 13.543l1.872-7.662l1.872 7.662zm-9.756 0L5.25 8.131l-1.872 7.662z\\" clip-rule=\\"evenodd\\"/>"},"server-stack":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.738 5.1a3.38 3.38 0 0 1 2.7-1.35h7.124c1.063 0 2.063.5 2.7 1.35l2.588 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008zm0-6h.008v.008h-.008zm-3 6h.008v.008h-.008zm0-6h.008v.008h-.008z\\"/>"},"shield-check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9 12.75L11.25 15L15 9.75m-3-7.036A11.96 11.96 0 0 1 3.598 6A12 12 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623c5.176-1.332 9-6.03 9-11.622c0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285\\"/>"},"signal":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9.348 14.652a3.75 3.75 0 0 1 0-5.304m5.304 0a3.75 3.75 0 0 1 0 5.304m-7.425 2.121a6.75 6.75 0 0 1 0-9.546m9.546 0a6.75 6.75 0 0 1 0 9.546M5.106 18.894c-3.808-3.807-3.808-9.98 0-13.788m13.788 0c3.808 3.807 3.808 9.98 0 13.788M12 12h.008v.008H12zm.375 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0\\"/>"},"sparkles":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09m8.445-7.188L18 9.75l-.259-1.035a3.38 3.38 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.38 3.38 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.38 3.38 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.38 3.38 0 0 0-2.456 2.456m-1.365 11.852L16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183l.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394l-1.183.394a2.25 2.25 0 0 0-1.423 1.423\\"/>"},"sparkles-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5m9-3a.75.75 0 0 1 .728.568l.258 1.036a2.63 2.63 0 0 0 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258a2.63 2.63 0 0 0-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.63 2.63 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.63 2.63 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5M16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395a1.5 1.5 0 0 0-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395a1.5 1.5 0 0 0 .948-.948l.395-1.183A.75.75 0 0 1 16.5 15\\" clip-rule=\\"evenodd\\"/>"},"star":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.56.56 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.56.56 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.56.56 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.56.56 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.56.56 0 0 0 .475-.345z\\"/>"},"star-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" fill-rule=\\"evenodd\\" d=\\"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006l5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527l1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354L7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273l-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434z\\" clip-rule=\\"evenodd\\"/>"},"stop":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25z\\"/>"},"stop-16-solid":{"width":16,"height":16,"body":"<rect width=\\"10\\" height=\\"10\\" x=\\"3\\" y=\\"3\\" fill=\\"currentColor\\" rx=\\"1.5\\"/>"},"stop-circle":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/><path d=\\"M9 9.563C9 9.252 9.252 9 9.563 9h4.874c.311 0 .563.252.563.563v4.874a.563.563 0 0 1-.562.563H9.561A.56.56 0 0 1 9 14.438z\\"/></g>"},"sun":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0a3.75 3.75 0 0 1 7.5 0\\"/>"},"sun-solid":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M12 2.25a.75.75 0 0 1 .75.75v2.25a.75.75 0 0 1-1.5 0V3a.75.75 0 0 1 .75-.75M7.5 12a4.5 4.5 0 1 1 9 0a4.5 4.5 0 0 1-9 0m11.394-5.834a.75.75 0 0 0-1.06-1.06l-1.591 1.59a.75.75 0 1 0 1.06 1.061zM21.75 12a.75.75 0 0 1-.75.75h-2.25a.75.75 0 0 1 0-1.5H21a.75.75 0 0 1 .75.75m-3.916 6.894a.75.75 0 0 0 1.06-1.06l-1.59-1.591a.75.75 0 1 0-1.061 1.06zM12 18a.75.75 0 0 1 .75.75V21a.75.75 0 0 1-1.5 0v-2.25A.75.75 0 0 1 12 18m-4.242-.697a.75.75 0 0 0-1.061-1.06l-1.591 1.59a.75.75 0 0 0 1.06 1.061zM6 12a.75.75 0 0 1-.75.75H3a.75.75 0 0 1 0-1.5h2.25A.75.75 0 0 1 6 12m.697-4.243a.75.75 0 0 0 1.06-1.06l-1.59-1.591a.75.75 0 0 0-1.061 1.06z\\"/>"},"table-cells":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 12.75v-1.5c0-.621.504-1.125 1.125-1.125m18.375 2.625V5.625m0 12.75c0 .621-.504 1.125-1.125 1.125m1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125m0 3.75h-7.5A1.125 1.125 0 0 1 12 18.375m9.75-12.75c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125m19.5 0v1.5c0 .621-.504 1.125-1.125 1.125M2.25 5.625v1.5c0 .621.504 1.125 1.125 1.125m0 0h17.25m-17.25 0h7.5c.621 0 1.125.504 1.125 1.125M3.375 8.25c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m17.25-3.75h-7.5c-.621 0-1.125.504-1.125 1.125m8.625-1.125c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125M12 10.875v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 10.875c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125M13.125 12h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125M20.625 12c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5M12 14.625v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 14.625c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125m0 1.5v-1.5m0 0c0-.621.504-1.125 1.125-1.125m0 0h7.5\\"/>"},"tag":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\"><path d=\\"M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.1 18.1 0 0 0 5.224-5.223c.54-.827.368-1.908-.33-2.607l-9.583-9.58A2.25 2.25 0 0 0 9.568 3\\"/><path d=\\"M6 6h.008v.008H6z\\"/></g>"},"trash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21q.512.078 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48 48 0 0 0-3.478-.397m-12 .562q.51-.088 1.022-.165m0 0a48 48 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a52 52 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a49 49 0 0 0-7.5 0\\"/>"},"trophy":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M16.5 18.75h-9m9 0a3 3 0 0 1 3 3h-15a3 3 0 0 1 3-3m9 0v-3.375c0-.621-.503-1.125-1.125-1.125h-.871M7.5 18.75v-3.375c0-.621.504-1.125 1.125-1.125h.872m5.007 0H9.497m5.007 0a7.45 7.45 0 0 1-.982-3.172M9.497 14.25a7.45 7.45 0 0 0 .981-3.172M5.25 4.236q-1.473.215-2.916.52A6 6 0 0 0 7.73 9.728M5.25 4.236V4.5c0 2.108.966 3.99 2.48 5.228M5.25 4.236V2.721C7.456 2.41 9.71 2.25 12 2.25s4.545.16 6.75.47v1.516M7.73 9.728a6.7 6.7 0 0 0 2.748 1.35m8.272-6.842V4.5c0 2.108-.966 3.99-2.48 5.228m2.48-5.492a46 46 0 0 1 2.916.52a6 6 0 0 1-5.395 4.972m0 0a6.7 6.7 0 0 1-2.749 1.35m0 0a6.8 6.8 0 0 1-3.044 0\\"/>"},"user":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15.75 6a3.75 3.75 0 1 1-7.5 0a3.75 3.75 0 0 1 7.5 0M4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.9 17.9 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632\\"/>"},"user-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M17.982 18.725A7.49 7.49 0 0 0 12 15.75a7.49 7.49 0 0 0-5.982 2.975m11.964 0a9 9 0 1 0-11.963 0m11.962 0A8.97 8.97 0 0 1 12 21a8.97 8.97 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0a3 3 0 0 1 6 0\\"/>"},"user-group":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M18 18.72a9.1 9.1 0 0 0 3.741-.479q.01-.12.01-.241a3 3 0 0 0-4.692-2.478m.94 3.197l.001.031q0 .337-.037.666A11.94 11.94 0 0 1 12 21c-2.17 0-4.207-.576-5.963-1.584A6 6 0 0 1 6 18.719m12 0a5.97 5.97 0 0 0-.941-3.197m0 0A6 6 0 0 0 12 12.75a6 6 0 0 0-5.058 2.772m0 0a3 3 0 0 0-4.681 2.72a9 9 0 0 0 3.74.477m.94-3.197a5.97 5.97 0 0 0-.94 3.197M15 6.75a3 3 0 1 1-6 0a3 3 0 0 1 6 0m6 3a2.25 2.25 0 1 1-4.5 0a2.25 2.25 0 0 1 4.5 0m-13.5 0a2.25 2.25 0 1 1-4.5 0a2.25 2.25 0 0 1 4.5 0\\"/>"},"users":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M15 19.128a9.4 9.4 0 0 0 2.625.372a9.3 9.3 0 0 0 4.121-.952q.004-.086.004-.173a4.125 4.125 0 0 0-7.536-2.32M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.3 12.3 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0a3.375 3.375 0 0 1 6.75 0m8.25 2.25a2.625 2.625 0 1 1-5.25 0a2.625 2.625 0 0 1 5.25 0\\"/>"},"wrench-screwdriver":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M11.42 15.17L17.25 21A2.652 2.652 0 0 0 21 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 1 1-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14q.19.017.384.017a4.5 4.5 0 0 0 4.102-6.352l-3.276 3.276a3 3 0 0 1-2.25-2.25l3.276-3.276a4.5 4.5 0 0 0-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008z\\"/>"},"x-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"m9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0\\"/>"},"x-mark":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"1.5\\" d=\\"M6 18L18 6M6 6l12 12\\"/>"}}},{"prefix":"simple-icons","icons":{"cursor":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M11.503.131L1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23\\"/>"},"discord":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418\\"/>"},"github":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\\"/>"},"instagram":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M7.03.084c-1.277.06-2.149.264-2.91.563a5.9 5.9 0 0 0-2.124 1.388a5.9 5.9 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076s-.069 1.688-.063 4.947s.021 3.667.083 4.947c.061 1.277.264 2.149.563 2.911c.308.789.72 1.457 1.388 2.123a5.9 5.9 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552c1.278.056 1.689.069 4.947.063s3.668-.021 4.947-.082c1.28-.06 2.147-.265 2.91-.563a5.9 5.9 0 0 0 2.123-1.388a5.9 5.9 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912c.056-1.28.07-1.69.063-4.948c-.006-3.258-.02-3.667-.081-4.947c-.06-1.28-.264-2.148-.564-2.911a5.9 5.9 0 0 0-1.387-2.123a5.9 5.9 0 0 0-2.128-1.38c-.764-.294-1.636-.496-2.914-.55C15.647.009 15.236-.006 11.977 0S8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.7 3.7 0 0 1-1.382-.895a3.7 3.7 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228c-.06-1.264-.072-1.644-.08-4.848c-.006-3.204.006-3.583.061-4.848c.05-1.169.246-1.805.408-2.228c.216-.561.477-.96.895-1.382a3.7 3.7 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417c1.265-.06 1.644-.072 4.848-.08c3.203-.006 3.583.006 4.85.062c1.168.05 1.804.244 2.227.408c.56.216.96.475 1.382.895s.681.817.9 1.378c.165.422.362 1.056.417 2.227c.06 1.265.074 1.645.08 4.848c.005 3.203-.006 3.583-.061 4.848c-.051 1.17-.245 1.805-.408 2.23c-.216.56-.477.96-.896 1.38a3.7 3.7 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418c-1.266.06-1.645.072-4.85.079s-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442a1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024a6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16A4 4 0 0 1 8 12.008\\"/>"},"line":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M19.365 9.863a.631.631 0 0 1 0 1.261H17.61v1.125h1.755a.63.63 0 1 1 0 1.259h-2.386a.63.63 0 0 1-.627-.629V8.108c0-.345.282-.63.63-.63h2.386a.63.63 0 0 1-.003 1.26H17.61v1.125zm-3.855 3.016a.63.63 0 0 1-.631.627a.62.62 0 0 1-.51-.25l-2.443-3.317v2.94a.63.63 0 0 1-1.257 0V8.108a.627.627 0 0 1 .624-.628c.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63c.345 0 .63.285.63.63zm-5.741 0a.63.63 0 0 1-.631.629a.63.63 0 0 1-.627-.629V8.108c0-.345.282-.63.63-.63c.346 0 .628.285.628.63zm-2.466.629H4.917a.634.634 0 0 1-.63-.629V8.108c0-.345.285-.63.63-.63c.348 0 .63.285.63.63v4.141h1.756a.63.63 0 0 1 0 1.259M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608c.391.082.923.258 1.058.59c.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645c1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314\\"/>"},"telegram":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm4.962 7.224c.1-.002.321.023.465.14a.5.5 0 0 1 .171.325c.016.093.036.306.02.472c-.18 1.898-.962 6.502-1.36 8.627c-.168.9-.499 1.201-.82 1.23c-.696.065-1.225-.46-1.9-.902c-1.056-.693-1.653-1.124-2.678-1.8c-1.185-.78-.417-1.21.258-1.91c.177-.184 3.247-2.977 3.307-3.23c.007-.032.014-.15-.056-.212s-.174-.041-.249-.024q-.159.037-5.061 3.345q-.72.495-1.302.48c-.428-.008-1.252-.241-1.865-.44c-.752-.245-1.349-.374-1.297-.789q.04-.324.893-.663q5.247-2.286 6.998-3.014c3.332-1.386 4.025-1.627 4.476-1.635\\"/>"},"tencentqq":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M21.395 15.035a40 40 0 0 0-.803-2.264l-1.079-2.695c.001-.032.014-.562.014-.836C19.526 4.632 17.351 0 12 0S4.474 4.632 4.474 9.241c0 .274.013.804.014.836l-1.08 2.695a39 39 0 0 0-.802 2.264c-1.021 3.283-.69 4.643-.438 4.673c.54.065 2.103-2.472 2.103-2.472c0 1.469.756 3.387 2.394 4.771c-.612.188-1.363.479-1.845.835c-.434.32-.379.646-.301.778c.343.578 5.883.369 7.482.189c1.6.18 7.14.389 7.483-.189c.078-.132.132-.458-.301-.778c-.483-.356-1.233-.646-1.846-.836c1.637-1.384 2.393-3.302 2.393-4.771c0 0 1.563 2.537 2.103 2.472c.251-.03.581-1.39-.438-4.673\\"/>"},"wechat":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213c0 .163.13.295.29.295a.33.33 0 0 0 .167-.054l1.903-1.114a.86.86 0 0 1 .717-.098a10.2 10.2 0 0 0 2.837.403c.276 0 .543-.027.811-.05c-.857-2.578.157-4.972 1.932-6.446c1.703-1.415 3.882-1.98 5.853-1.838c-.576-3.583-4.196-6.348-8.596-6.348M5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178a1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18m5.34 2.867c-1.797-.052-3.746.512-5.28 1.786c-1.72 1.428-2.687 3.72-1.78 6.22c.942 2.453 3.666 4.229 6.884 4.229c.826 0 1.622-.12 2.361-.336a.72.72 0 0 1 .598.082l1.584.926a.3.3 0 0 0 .14.047c.134 0 .24-.111.24-.247c0-.06-.023-.12-.038-.177l-.327-1.233a.6.6 0 0 1-.023-.156a.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983a.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983a.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982\\"/>"},"whatsapp":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967c-.273-.099-.471-.148-.67.15c-.197.297-.767.966-.94 1.164c-.173.199-.347.223-.644.075c-.297-.15-1.255-.463-2.39-1.475c-.883-.788-1.48-1.761-1.653-2.059c-.173-.297-.018-.458.13-.606c.134-.133.298-.347.446-.52s.198-.298.298-.497c.099-.198.05-.371-.025-.52s-.669-1.612-.916-2.207c-.242-.579-.487-.5-.669-.51a13 13 0 0 0-.57-.01c-.198 0-.52.074-.792.372c-.272.297-1.04 1.016-1.04 2.479c0 1.462 1.065 2.875 1.213 3.074s2.096 3.2 5.077 4.487c.709.306 1.262.489 1.694.625c.712.227 1.36.195 1.871.118c.571-.085 1.758-.719 2.006-1.413s.248-1.289.173-1.413c-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214l-3.741.982l.998-3.648l-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884c2.64 0 5.122 1.03 6.988 2.898a9.82 9.82 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.82 11.82 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.9 11.9 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.82 11.82 0 0 0-3.48-8.413\\"/>"},"windsurf":{"width":24,"height":24,"body":"<path fill=\\"currentColor\\" d=\\"M23.55 5.067a2.177 2.177 0 0 0-2.18 2.177v4.867a1.77 1.77 0 0 1-1.76 1.76a1.82 1.82 0 0 1-1.472-.766l-4.971-7.1a2.2 2.2 0 0 0-1.81-.942c-1.134 0-2.154.964-2.154 2.153v4.896c0 .972-.797 1.76-1.76 1.76c-.57 0-1.136-.287-1.472-.766L.408 5.16A.224.224 0 0 0 0 5.288v4.245c0 .215.066.423.188.6l5.475 7.818c.324.462.8.805 1.351.93a2.164 2.164 0 0 0 2.645-2.098V11.89c0-.972.787-1.76 1.76-1.76h.002a1.8 1.8 0 0 1 1.472.766l4.972 7.1a2.172 2.172 0 0 0 3.96-1.212v-4.895a1.76 1.76 0 0 1 1.76-1.76h.195a.22.22 0 0 0 .22-.22V5.287a.22.22 0 0 0-.22-.22Z\\"/>"}}}]');for(const a of t)for(const[n,r]of Object.entries(a.icons))e(a.prefix?a.prefix+":"+n:n,r);qh=!0}WS(N1);let W1;const Zu=e=>W1=e,K1=Symbol();function rp(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ui;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ui||(Ui={}));function KS(){const e=wl(!0),t=e.run(()=>E({}));let a=[],n=[];const r=kl({install(s){Zu(r),r._a=s,s.provide(K1,r),s.config.globalProperties.$pinia=r,n.forEach(o=>a.push(o)),n=[]},use(s){return this._a?a.push(s):n.push(s),this},_p:a,_a:null,_e:e,_s:new Map,state:t});return r}const G1=()=>{};function Nh(e,t,a,n=G1){e.add(t);const r=()=>{e.delete(t)&&n()};return!a&&Jo()&&Qo(r),r}function no(e,...t){e.forEach(a=>{a(...t)})}const GS=e=>e(),Fh=Symbol(),Kd=Symbol();function sp(e,t){e instanceof Map&&t instanceof Map?t.forEach((a,n)=>e.set(n,a)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const a in t){if(!t.hasOwnProperty(a))continue;const n=t[a],r=e[a];rp(r)&&rp(n)&&e.hasOwnProperty(a)&&!at(n)&&!Vn(n)?e[a]=sp(r,n):e[a]=n}return e}const YS=Symbol();function XS(e){return!rp(e)||!Object.prototype.hasOwnProperty.call(e,YS)}const{assign:zr}=Object;function JS(e){return!!(at(e)&&e.effect)}function QS(e,t,a,n){const{state:r,actions:s,getters:o}=t,l=a.state.value[e];let c;function u(){l||(a.state.value[e]=r?r():{});const d=dt(a.state.value[e]);return zr(d,s,Object.keys(o||{}).reduce((f,p)=>(f[p]=kl($(()=>{Zu(a);const m=a._s.get(e);return o[p].call(m,m)})),f),{}))}return c=Y1(e,u,t,a,n,!0),c}function Y1(e,t,a={},n,r,s){let o;const l=zr({actions:{}},a),c={deep:!0};let u,d,f=new Set,p=new Set,m;const g=n.state.value[e];!s&&!g&&(n.state.value[e]={});let y;function _(P){let D;u=d=!1,typeof P=="function"?(P(n.state.value[e]),D={type:Ui.patchFunction,storeId:e,events:m}):(sp(n.state.value[e],P),D={type:Ui.patchObject,payload:P,storeId:e,events:m});const H=y=Symbol();je().then(()=>{y===H&&(u=!0)}),d=!0,no(f,D,n.state.value[e])}const v=s?function(){const{state:D}=a,H=D?D():{};this.$patch(Q=>{zr(Q,H)})}:G1;function h(){o.stop(),f.clear(),p.clear(),n._s.delete(e)}const k=(P,D="")=>{if(Fh in P)return P[Kd]=D,P;const H=function(){Zu(n);const Q=Array.from(arguments),G=new Set,V=new Set;function R(le){G.add(le)}function L(le){V.add(le)}no(p,{args:Q,name:H[Kd],store:A,after:R,onError:L});let z;try{z=P.apply(this&&this.$id===e?this:A,Q)}catch(le){throw no(V,le),le}return z instanceof Promise?z.then(le=>(no(G,le),le)).catch(le=>(no(V,le),Promise.reject(le))):(no(G,z),z)};return H[Fh]=!0,H[Kd]=D,H},w={_p:n,$id:e,$onAction:Nh.bind(null,p),$patch:_,$reset:v,$subscribe(P,D={}){const H=Nh(f,P,D.detached,()=>Q()),Q=o.run(()=>Pe(()=>n.state.value[e],G=>{(D.flush==="sync"?d:u)&&P({storeId:e,type:Ui.direct,events:m},G)},zr({},c,D)));return H},$dispose:h},A=ln(w);n._s.set(e,A);const S=(n._a&&n._a.runWithContext||GS)(()=>n._e.run(()=>(o=wl()).run(()=>t({action:k}))));for(const P in S){const D=S[P];if(at(D)&&!JS(D)||Vn(D))s||(g&&XS(D)&&(at(D)?D.value=g[P]:sp(D,g[P])),n.state.value[e][P]=D);else if(typeof D=="function"){const H=k(D,P);S[P]=H,l.actions[P]=D}}return zr(A,S),zr(rt(A),S),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:P=>{_(D=>{zr(D,P)})}}),n._p.forEach(P=>{zr(A,o.run(()=>P({store:A,app:n._a,pinia:n,options:l})))}),g&&s&&a.hydrate&&a.hydrate(A.$state,g),u=!0,d=!0,A}function Wn(e,t,a){let n;const r=typeof t=="function";n=r?a:t;function s(o,l){const c=Zo();return o=o||(c?Ct(K1,null):null),o&&Zu(o),o=W1,o._s.has(e)||(r?Y1(e,t,n,o):QS(e,n,o)),o._s.get(e)}return s.$id=e,s}function aa(e){const t=rt(e),a={};for(const n in t){const r=t[n];r.effect?a[n]=$({get:()=>e[n],set(s){e[n]=s}}):(at(r)||Vn(r))&&(a[n]=_t(e,n))}return a}function ZS(e,t){if(e==null)return;let a=e;for(let n=0;n<t.length;n++){if(a===void 0||a[t[n]]===void 0)return;if(a===null||a[t[n]]===null)return null;a=a[t[n]]}return a}function $m(e,t,a){if(a.length===0)return t;const n=a[0];return a.length>1&&(t=$m(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,n)?Number.isInteger(Number(a[1]))?[]:{}:e[n],t,Array.prototype.slice.call(a,1))),Number.isInteger(Number(n))&&Array.isArray(e)?e.slice()[n]:Object.assign({},e,{[n]:t})}function X1(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const a={};for(const n in e)a[n]=e[n];return delete a[t[0]],a}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const a={};for(const n in e)a[n]=e[n];return a}return $m(e,X1(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function J1(e,t){return t.map(a=>a.split(".")).map(a=>[a,ZS(e,a)]).filter(a=>a[1]!==void 0).reduce((a,n)=>$m(a,n[1],n[0]),{})}function Q1(e,t){return t.map(a=>a.split(".")).reduce((a,n)=>X1(a,n),e)}function Vh(e,{storage:t,serializer:a,key:n,debug:r,pick:s,omit:o,beforeHydrate:l,afterHydrate:c},u,d=!0){try{d&&l?.(u);const f=t.getItem(n);if(f){const p=a.deserialize(f),m=s?J1(p,s):p,g=o?Q1(m,o):m;e.$patch(g)}d&&c?.(u)}catch(f){r&&console.error("[pinia-plugin-persistedstate]",f)}}function Bh(e,{storage:t,serializer:a,key:n,debug:r,pick:s,omit:o}){try{const l=s?J1(e,s):e,c=o?Q1(l,o):l,u=a.serialize(c);t.setItem(n,u)}catch(l){r&&console.error("[pinia-plugin-persistedstate]",l)}}function e3(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function t3(e,t,a){const{pinia:n,store:r,options:{persist:s=a}}=e;if(!s)return;if(!(r.$id in n.state.value)){const l=n._s.get(r.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const o=(Array.isArray(s)?s:s===!0?[{}]:[s]).map(t);r.$hydrate=({runHooks:l=!0}={})=>{o.forEach(c=>{Vh(r,c,e,l)})},r.$persist=()=>{o.forEach(l=>{Bh(r.$state,l)})},o.forEach(l=>{Vh(r,l,e),r.$subscribe((c,u)=>Bh(u,l),{detached:!0})})}function a3(e={}){return function(t){t3(t,a=>{const n=e3(a.key,t.store.$id);return{key:(e.key?e.key:r=>r)(n),debug:a.debug??e.debug??!1,serializer:a.serializer??e.serializer??{serialize:r=>JSON.stringify(r),deserialize:r=>JSON.parse(r)},storage:a.storage??e.storage??window.localStorage,beforeHydrate:a.beforeHydrate??e.beforeHydrate,afterHydrate:a.afterHydrate??e.afterHydrate,pick:a.pick,omit:a.omit}},e.auto??!1)}}var n3=a3();function op(e,t={},a){for(const n in e){const r=e[n],s=a?`${a}:${n}`:n;typeof r=="object"&&r!==null?op(r,t,s):typeof r=="function"&&(t[s]=r)}return t}const Z1=(()=>{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function e2(e,t,a,n){for(let r=a;r<e.length;r+=1)try{const s=n?n.run(()=>e[r](...t)):e[r](...t);if(s&&typeof s.then=="function")return Promise.resolve(s).then(()=>e2(e,t,r+1,n))}catch(s){return Promise.reject(s)}}function r3(e,t,a){if(e.length>0)return e2(e,t,0,Z1(a))}function s3(e,t,a){if(e.length>0){const n=Z1(a);return Promise.all(e.map(r=>n.run(()=>r(...t))))}}function Gd(e,t){for(const a of[...e])a(t)}var o3=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,a={}){if(!e||typeof t!="function")return()=>{};const n=e;let r;for(;this._deprecatedHooks[e];)r=this._deprecatedHooks[e],e=r.to;if(r&&!a.allowDeprecated){let s=r.message;s||(s=`${n} hook has been deprecated`+(r.to?`, please use ${r.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(s)||(console.warn(s),this._deprecatedMessages.add(s))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let a,n=(...r)=>(typeof a=="function"&&a(),a=void 0,n=void 0,t(...r));return a=this.hook(e,n),a}removeHook(e,t){const a=this._hooks[e];if(a){const n=a.indexOf(t);n!==-1&&a.splice(n,1),a.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const a=this._hooks[e]||[];this._hooks[e]=void 0;for(const n of a)this.hook(e,n)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=op(e),a=Object.keys(t).map(n=>this.hook(n,t[n]));return()=>{for(const n of a)n();a.length=0}}removeHooks(e){const t=op(e);for(const a in t)this.removeHook(a,t[a])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(r3,e,t)}callHookParallel(e,...t){return this.callHookWith(s3,e,t)}callHookWith(e,t,a){const n=this._before||this._after?{name:t,args:a,context:{}}:void 0;this._before&&Gd(this._before,n);const r=e(this._hooks[t]?[...this._hooks[t]]:[],a,t);return r instanceof Promise?r.finally(()=>{this._after&&n&&Gd(this._after,n)}):(this._after&&n&&Gd(this._after,n),r)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function t2(){return new o3}const i3=new Set(["link","style","script","noscript"]),l3=new Set(["title","titleTemplate","script","style","noscript"]),ip=new Set(["base","meta","link","style","script","noscript"]),c3=new Set(["title","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"]),u3=new Set(["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"]),d3=new Set(["key","tagPosition","tagPriority","tagDuplicateStrategy","innerHTML","textContent","processTemplateParams"]),f3=new Set(["templateParams","htmlAttrs","bodyAttrs"]),p3=new Set(["theme-color","google-site-verification","og","article","book","profile","twitter","author"]),m3=["name","property","http-equiv"],g3=new Set(["viewport","description","keywords","robots"]);function a2(e){const t=e.split(":");return t.length?p3.has(t[1]):!1}function lp(e){const{props:t,tag:a}=e;if(u3.has(a))return a;if(a==="link"&&t.rel==="canonical")return"canonical";if(a==="link"&&t.rel==="alternate"){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||""}`}if(t.charset)return"charset";if(e.tag==="meta"){for(const n of m3)if(t[n]!==void 0){const r=t[n],s=r&&typeof r=="string"&&r.includes(":"),o=r&&g3.has(r),c=!(s||o)&&e.key?`:key:${e.key}`:"";return`${a}:${r}${c}`}}if(e.key)return`${a}:key:${e.key}`;if(t.id)return`${a}:id:${t.id}`;if(a==="link"&&t.rel==="alternate")return`alternate:${t.href||""}`;if(l3.has(a)){const n=e.textContent||e.innerHTML;if(n)return`${a}:content:${n}`}}function n2(e){const t=e._h||e._d;if(t)return t;const a=e.textContent||e.innerHTML;return a||`${e.tag}:${Object.entries(e.props).map(([n,r])=>`${n}:${String(r)}`).join(",")}`}function pu(e,t,a){typeof e==="function"&&(!a||a!=="titleTemplate"&&!(a[0]==="o"&&a[1]==="n"))&&(e=e());const r=t?t(a,e):e;if(Array.isArray(r))return r.map(s=>pu(s,t));if(r?.constructor===Object){const s={};for(const o of Object.keys(r))s[o]=pu(r[o],t,o);return s}return r}function h3(e,t){const a=e==="style"?new Map:new Set;function n(r){if(r==null||r===void 0)return;const s=String(r).trim();if(s)if(e==="style"){const[o,...l]=s.split(":").map(c=>c?c.trim():"");o&&l.length&&a.set(o,l.join(":"))}else s.split(" ").filter(Boolean).forEach(o=>a.add(o))}return typeof t=="string"?e==="style"?t.split(";").forEach(n):n(t):Array.isArray(t)?t.forEach(r=>n(r)):t&&typeof t=="object"&&Object.entries(t).forEach(([r,s])=>{s&&s!=="false"&&(e==="style"?a.set(String(r).trim(),String(s)):n(r))}),a}function r2(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const a=ip.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([n,r])=>{if(n==="__proto__"||n==="constructor"||n==="prototype")return;if(r===null){e.props[n]=null;return}if(n==="class"||n==="style"){e.props[n]=h3(n,r);return}if(d3.has(n)){if((n==="textContent"||n==="innerHTML")&&typeof r=="object"){let u=t.type;if(t.type||(u="application/json"),!u?.endsWith("json")&&u!=="speculationrules")return;t.type=u,e.props.type=u,e[n]=JSON.stringify(r)}else e[n]=r;return}const s=n.startsWith("data-"),o=a&&!s?n.toLowerCase():n,l=String(r),c=e.tag==="meta"&&o==="content";l==="true"||l===""?e.props[o]=s||c?l:!0:!r&&s&&l==="false"?e.props[o]="false":r!==void 0&&(e.props[o]=r)}),e}function v3(e,t){const a=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},n=r2({tag:e,props:{}},a);return n.key&&i3.has(n.tag)&&(n.props["data-hid"]=n._h=n.key),n.tag==="script"&&typeof n.innerHTML=="object"&&(n.innerHTML=JSON.stringify(n.innerHTML),n.props.type=n.props.type||"application/json"),Array.isArray(n.props.content)?n.props.content.map(r=>({...n,props:{...n.props,content:r}})):n}function y3(e,t){if(!e)return[];typeof e=="function"&&(e=e());const a=(r,s)=>{for(let o=0;o<t.length;o++)s=t[o](r,s);return s};e=a(void 0,e);const n=[];return e=pu(e,a),Object.entries(e||{}).forEach(([r,s])=>{if(s!==void 0)for(const o of Array.isArray(s)?s:[s])n.push(v3(r,o))}),n.flat()}const zh=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Hh={base:-10,title:10},b3={critical:-8,high:-1,low:2},Uh={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},x3=/@import/,Mi=e=>e===""||e===!0;function _3(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let a=100;const n=b3[t.tagPriority]||0,r=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Uh;if(t.tag in Hh)a=Hh[t.tag];else if(t.tag==="meta"){const s=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;s&&(a=Uh.meta[s])}else if(t.tag==="link"&&t.props.rel)a=r.link[t.props.rel];else if(t.tag==="script"){const s=String(t.props.type);Mi(t.props.async)?a=r.script.async:t.props.src&&!Mi(t.props.defer)&&!Mi(t.props.async)&&s!=="module"&&!s.endsWith("json")||t.innerHTML&&!s.endsWith("json")?a=r.script.sync:(Mi(t.props.defer)&&t.props.src&&!Mi(t.props.async)||s==="module")&&(a=r.script.defer)}else t.tag==="style"&&(a=t.innerHTML&&x3.test(t.innerHTML)?r.style.imported:r.style.sync);return(a||100)+n}function jh(e,t){const a=typeof t=="function"?t(e):t,n=a.key||String(e.plugins.size+1);e.plugins.get(n)||(e.plugins.set(n,a),e.hooks.addHooks(a.hooks||{}))}function w3(e={}){const t=t2();t.addHooks(e.hooks||{});const a=!e.document,n=new Map,r=new Map,s=new Set,o={_entryCount:1,plugins:r,dirty:!1,resolvedOptions:e,hooks:t,ssr:a,entries:n,headEntries(){return[...n.values()]},use:l=>jh(o,l),push(l,c){const u={...c||{}};delete u.head;const d=u._index??o._entryCount++,f={_i:d,input:l,options:u},p={_poll(m=!1){o.dirty=!0,!m&&s.add(d),t.callHook("entries:updated",o)},dispose(){n.delete(d)&&o.invalidate()},patch(m){(!u.mode||u.mode==="server"&&a||u.mode==="client"&&!a)&&(f.input=m,n.set(d,f),p._poll())}};return p.patch(l),p},async resolveTags(){const l={tagMap:new Map,tags:[],entries:[...o.entries.values()]};for(await t.callHook("entries:resolve",l);s.size;){const p=s.values().next().value;s.delete(p);const m=n.get(p);if(m){const g={tags:y3(m.input,e.propResolvers||[]).map(y=>Object.assign(y,m.options)),entry:m};await t.callHook("entries:normalize",g),m._tags=g.tags.map((y,_)=>(y._w=_3(o,y),y._p=(m._i<<10)+_,y._d=lp(y),y._d||(y._h=n2(y)),y))}}let c=!1;l.entries.flatMap(p=>(p._tags||[]).map(m=>({...m,props:{...m.props}}))).sort(zh).reduce((p,m)=>{const g=m._d||m._h;if(!p.has(g))return p.set(g,m);const y=p.get(g);if((m?.tagDuplicateStrategy||(f3.has(m.tag)?"merge":null)||(m.key&&m.key===y.key?"merge":null))==="merge"){const v={...y.props};Object.entries(m.props).forEach(([h,k])=>v[h]=h==="style"?new Map([...y.props.style||new Map,...k]):h==="class"?new Set([...y.props.class||new Set,...k]):k),p.set(g,{...m,props:v})}else m._p>>10===y._p>>10&&m.tag==="meta"&&a2(g)?(p.set(g,Object.assign([...Array.isArray(y)?y:[y],m],m)),c=!0):(m._w===y._w?m._p>y._p:m?._w<y?._w)&&p.set(g,m);return p},l.tagMap);const u=l.tagMap.get("title"),d=l.tagMap.get("titleTemplate");if(o._title=u?.textContent,d){const p=d?.textContent;if(o._titleTemplate=p,p){let m=typeof p=="function"?p(u?.textContent):p;typeof m=="string"&&!o.plugins.has("template-params")&&(m=m.replace("%s",u?.textContent||"")),u?m===null?l.tagMap.delete("title"):l.tagMap.set("title",{...u,textContent:m}):(d.tag="title",d.textContent=m)}}l.tags=Array.from(l.tagMap.values()),c&&(l.tags=l.tags.flat().sort(zh)),await t.callHook("tags:beforeResolve",l),await t.callHook("tags:resolve",l),await t.callHook("tags:afterResolve",l);const f=[];for(const p of l.tags){const{innerHTML:m,tag:g,props:y}=p;if(c3.has(g)&&!(Object.keys(y).length===0&&!p.innerHTML&&!p.textContent)&&!(g==="meta"&&!y.content&&!y["http-equiv"]&&!y.charset)){if(g==="script"&&m){if(String(y.type).endsWith("json")){const _=typeof m=="string"?m:JSON.stringify(m);p.innerHTML=_.replace(/</g,"\\u003C")}else typeof m=="string"&&(p.innerHTML=m.replace(new RegExp(`</${g}`,"g"),`<\\/${g}`));p._d=lp(p)}f.push(p)}}return f},invalidate(){for(const l of n.values())s.add(l._i);o.dirty=!0,t.callHook("entries:updated",o)}};return(e?.plugins||[]).forEach(l=>jh(o,l)),o.hooks.callHook("init",o),e.init?.forEach(l=>l&&o.push(l)),o}async function s2(e,t={}){const a=t.document||e.resolvedOptions.document;if(!a||!e.dirty)return;const n={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",n),!!n.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async r=>{const s=new Map,o=new Promise(m=>{e.resolveTags().then(g=>{m(g.map(y=>{const _=s.get(y._d)||0,v={tag:y,id:(_?`${y._d}:${_}`:y._d)||y._h,shouldRender:!0};return y._d&&a2(y._d)&&s.set(y._d,_+1),v}))})});let l=e._dom;if(!l){l={title:a.title,elMap:new Map().set("htmlAttrs",a.documentElement).set("bodyAttrs",a.body)};for(const m of["body","head"]){const g=a[m]?.children;for(const y of g){const _=y.tagName.toLowerCase();if(!ip.has(_))continue;const v=r2({tag:_,props:{}},{innerHTML:y.innerHTML,...y.getAttributeNames().reduce((h,k)=>(h[k]=y.getAttribute(k),h),{})||{}});if(v.key=y.getAttribute("data-hid")||void 0,v._d=lp(v)||n2(v),l.elMap.has(v._d)){let h=1,k=v._d;for(;l.elMap.has(k);)k=`${v._d}:${h++}`;l.elMap.set(k,y)}else l.elMap.set(v._d,y)}}}l.pendingSideEffects={...l.sideEffects},l.sideEffects={};function c(m,g,y){const _=`${m}:${g}`;l.sideEffects[_]=y,delete l.pendingSideEffects[_]}function u({id:m,$el:g,tag:y}){const _=y.tag.endsWith("Attrs");l.elMap.set(m,g),_||(y.textContent&&y.textContent!==g.textContent&&(g.textContent=y.textContent),y.innerHTML&&y.innerHTML!==g.innerHTML&&(g.innerHTML=y.innerHTML),c(m,"el",()=>{g?.remove(),l.elMap.delete(m)}));for(const v in y.props){if(!Object.prototype.hasOwnProperty.call(y.props,v))continue;const h=y.props[v];if(v.startsWith("on")&&typeof h=="function"){const w=g?.dataset;if(w&&w[`${v}fired`]){const A=v.slice(0,-5);h.call(g,new Event(A.substring(2)))}g.getAttribute(`data-${v}`)!==""&&((y.tag==="bodyAttrs"?a.defaultView:g).addEventListener(v.substring(2),h.bind(g)),g.setAttribute(`data-${v}`,""));continue}const k=`attr:${v}`;if(v==="class"){if(!h)continue;for(const w of h)_&&c(m,`${k}:${w}`,()=>g.classList.remove(w)),!g.classList.contains(w)&&g.classList.add(w)}else if(v==="style"){if(!h)continue;for(const[w,A]of h)c(m,`${k}:${w}`,()=>{g.style.removeProperty(w)}),g.style.setProperty(w,A)}else h!==!1&&h!==null&&(g.getAttribute(v)!==h&&g.setAttribute(v,h===!0?"":String(h)),_&&c(m,k,()=>g.removeAttribute(v)))}}const d=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},p=await o;for(const m of p){const{tag:g,shouldRender:y,id:_}=m;if(y){if(g.tag==="title"){a.title=g.textContent,c("title","",()=>a.title=l.title);continue}m.$el=m.$el||l.elMap.get(_),m.$el?u(m):ip.has(g.tag)&&d.push(m)}}for(const m of d){const g=m.tag.tagPosition||"head";m.$el=a.createElement(m.tag.tag),u(m),f[g]=f[g]||a.createDocumentFragment(),f[g].appendChild(m.$el)}for(const m of p)await e.hooks.callHook("dom:renderTag",m,a,c);f.head&&a.head.appendChild(f.head),f.bodyOpen&&a.body.insertBefore(f.bodyOpen,a.body.firstChild),f.bodyClose&&a.body.appendChild(f.bodyClose);for(const m in l.pendingSideEffects)l.pendingSideEffects[m]();e._dom=l,await e.hooks.callHook("dom:rendered",{renders:p}),r()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function k3(e={}){const t=e.domOptions?.render||s2;e.document=e.document||(typeof window<"u"?document:void 0);const a=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return w3({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[a?JSON.parse(a):!1,...e.init||[]]})}function C3(e,t){let a=0;return()=>{const n=++a;t(()=>{a===n&&e()})}}const S3=(e,t)=>at(t)?Ze(t):t,o2="usehead";function M3(e){return{install(a){a.config.globalProperties.$unhead=e,a.config.globalProperties.$head=e,a.provide(o2,e)}}.install}function i2(){if(Zo()){const e=Ct(o2);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function $3(e,t={}){const a=t.head||i2();return a.ssr?a.push(e||{},t):A3(a,e,t)}function A3(e,t,a={}){const n=E(!1);let r;return Bt(()=>{const o=n.value?{}:pu(t,S3);r?r.patch(o):r=e.push(o,a)}),Rt()&&(Hs(()=>{r.dispose()}),Jb(()=>{n.value=!0}),Xb(()=>{n.value=!1})),r}function I3(e={}){const t=k3({domOptions:{render:C3(()=>s2(t),a=>setTimeout(a,0))},...e});return t.install=M3(t),t}const T3={install(e){if(e._context.provides.usehead)return;const t=I3();e.use(t)}},P3={install(e,t){t?.router&&typeof t.router=="function"&&e.provide("nuxtui:router",t.router)}};var ac={inherit:"inherit",current:"currentcolor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"oklch(98.4% 0.003 247.858)",100:"oklch(96.8% 0.007 247.896)",200:"oklch(92.9% 0.013 255.508)",300:"oklch(86.9% 0.022 252.894)",400:"oklch(70.4% 0.04 256.788)",500:"oklch(55.4% 0.046 257.417)",600:"oklch(44.6% 0.043 257.281)",700:"oklch(37.2% 0.044 257.287)",800:"oklch(27.9% 0.041 260.031)",900:"oklch(20.8% 0.042 265.755)",950:"oklch(12.9% 0.042 264.695)"},gray:{50:"oklch(98.5% 0.002 247.839)",100:"oklch(96.7% 0.003 264.542)",200:"oklch(92.8% 0.006 264.531)",300:"oklch(87.2% 0.01 258.338)",400:"oklch(70.7% 0.022 261.325)",500:"oklch(55.1% 0.027 264.364)",600:"oklch(44.6% 0.03 256.802)",700:"oklch(37.3% 0.034 259.733)",800:"oklch(27.8% 0.033 256.848)",900:"oklch(21% 0.034 264.665)",950:"oklch(13% 0.028 261.692)"},zinc:{50:"oklch(98.5% 0 0)",100:"oklch(96.7% 0.001 286.375)",200:"oklch(92% 0.004 286.32)",300:"oklch(87.1% 0.006 286.286)",400:"oklch(70.5% 0.015 286.067)",500:"oklch(55.2% 0.016 285.938)",600:"oklch(44.2% 0.017 285.786)",700:"oklch(37% 0.013 285.805)",800:"oklch(27.4% 0.006 286.033)",900:"oklch(21% 0.006 285.885)",950:"oklch(14.1% 0.005 285.823)"},neutral:{50:"oklch(98.5% 0 0)",100:"oklch(97% 0 0)",200:"oklch(92.2% 0 0)",300:"oklch(87% 0 0)",400:"oklch(70.8% 0 0)",500:"oklch(55.6% 0 0)",600:"oklch(43.9% 0 0)",700:"oklch(37.1% 0 0)",800:"oklch(26.9% 0 0)",900:"oklch(20.5% 0 0)",950:"oklch(14.5% 0 0)"},stone:{50:"oklch(98.5% 0.001 106.423)",100:"oklch(97% 0.001 106.424)",200:"oklch(92.3% 0.003 48.717)",300:"oklch(86.9% 0.005 56.366)",400:"oklch(70.9% 0.01 56.259)",500:"oklch(55.3% 0.013 58.071)",600:"oklch(44.4% 0.011 73.639)",700:"oklch(37.4% 0.01 67.558)",800:"oklch(26.8% 0.007 34.298)",900:"oklch(21.6% 0.006 56.043)",950:"oklch(14.7% 0.004 49.25)"},red:{50:"oklch(97.1% 0.013 17.38)",100:"oklch(93.6% 0.032 17.717)",200:"oklch(88.5% 0.062 18.334)",300:"oklch(80.8% 0.114 19.571)",400:"oklch(70.4% 0.191 22.216)",500:"oklch(63.7% 0.237 25.331)",600:"oklch(57.7% 0.245 27.325)",700:"oklch(50.5% 0.213 27.518)",800:"oklch(44.4% 0.177 26.899)",900:"oklch(39.6% 0.141 25.723)",950:"oklch(25.8% 0.092 26.042)"},orange:{50:"oklch(98% 0.016 73.684)",100:"oklch(95.4% 0.038 75.164)",200:"oklch(90.1% 0.076 70.697)",300:"oklch(83.7% 0.128 66.29)",400:"oklch(75% 0.183 55.934)",500:"oklch(70.5% 0.213 47.604)",600:"oklch(64.6% 0.222 41.116)",700:"oklch(55.3% 0.195 38.402)",800:"oklch(47% 0.157 37.304)",900:"oklch(40.8% 0.123 38.172)",950:"oklch(26.6% 0.079 36.259)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},yellow:{50:"oklch(98.7% 0.026 102.212)",100:"oklch(97.3% 0.071 103.193)",200:"oklch(94.5% 0.129 101.54)",300:"oklch(90.5% 0.182 98.111)",400:"oklch(85.2% 0.199 91.936)",500:"oklch(79.5% 0.184 86.047)",600:"oklch(68.1% 0.162 75.834)",700:"oklch(55.4% 0.135 66.442)",800:"oklch(47.6% 0.114 61.907)",900:"oklch(42.1% 0.095 57.708)",950:"oklch(28.6% 0.066 53.813)"},lime:{50:"oklch(98.6% 0.031 120.757)",100:"oklch(96.7% 0.067 122.328)",200:"oklch(93.8% 0.127 124.321)",300:"oklch(89.7% 0.196 126.665)",400:"oklch(84.1% 0.238 128.85)",500:"oklch(76.8% 0.233 130.85)",600:"oklch(64.8% 0.2 131.684)",700:"oklch(53.2% 0.157 131.589)",800:"oklch(45.3% 0.124 130.933)",900:"oklch(40.5% 0.101 131.063)",950:"oklch(27.4% 0.072 132.109)"},green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},emerald:{50:"oklch(97.9% 0.021 166.113)",100:"oklch(95% 0.052 163.051)",200:"oklch(90.5% 0.093 164.15)",300:"oklch(84.5% 0.143 164.978)",400:"oklch(76.5% 0.177 163.223)",500:"oklch(69.6% 0.17 162.48)",600:"oklch(59.6% 0.145 163.225)",700:"oklch(50.8% 0.118 165.612)",800:"oklch(43.2% 0.095 166.913)",900:"oklch(37.8% 0.077 168.94)",950:"oklch(26.2% 0.051 172.552)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},violet:{50:"oklch(96.9% 0.016 293.756)",100:"oklch(94.3% 0.029 294.588)",200:"oklch(89.4% 0.057 293.283)",300:"oklch(81.1% 0.111 293.571)",400:"oklch(70.2% 0.183 293.541)",500:"oklch(60.6% 0.25 292.717)",600:"oklch(54.1% 0.281 293.009)",700:"oklch(49.1% 0.27 292.581)",800:"oklch(43.2% 0.232 292.759)",900:"oklch(38% 0.189 293.745)",950:"oklch(28.3% 0.141 291.089)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},fuchsia:{50:"oklch(97.7% 0.017 320.058)",100:"oklch(95.2% 0.037 318.852)",200:"oklch(90.3% 0.076 319.62)",300:"oklch(83.3% 0.145 321.434)",400:"oklch(74% 0.238 322.16)",500:"oklch(66.7% 0.295 322.15)",600:"oklch(59.1% 0.293 322.896)",700:"oklch(51.8% 0.253 323.949)",800:"oklch(45.2% 0.211 324.591)",900:"oklch(40.1% 0.17 325.612)",950:"oklch(29.3% 0.136 325.661)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"}};function D3(e,t){var a;const n=pt();return Bt(()=>{n.value=e()},{...t,flush:(a=t?.flush)!==null&&a!==void 0?a:"sync"}),Ns(n)}function E3(e,t,a={}){let n,r,s,o=!0;const l=()=>{o=!0,s()};Pe(e,l,{flush:"sync",...a});const c=typeof t=="function"?t:t.get,u=typeof t=="function"?void 0:t.set,d=Cl((f,p)=>(r=f,s=p,{get(){return o&&(n=c(n),o=!1),r(),n},set(m){u?.(m)}}));return d.trigger=l,d}function Ir(e,t){return Jo()?(Qo(e,t),!0):!1}function l2(){const e=new Set,t=s=>{e.delete(s)};return{on:s=>{e.add(s);const o=()=>t(s);return Ir(o),{off:o}},off:t,trigger:(...s)=>Promise.all(Array.from(e).map(o=>o(...s))),clear:()=>{e.clear()}}}function R3(e){let t=!1,a;const n=wl(!0);return((...r)=>(t||(a=n.run(()=>e(...r)),t=!0),a))}const Yd=new WeakMap,O3=(...e)=>{var t;const a=e[0],n=(t=Rt())===null||t===void 0?void 0:t.proxy,r=n??Jo();if(r==null&&!Zo())throw new Error("injectLocal must be called in setup");return r&&Yd.has(r)&&a in Yd.get(r)?Yd.get(r)[a]:Ct(...e)},Wa=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const c2=e=>typeof e<"u",L3=e=>e!=null,q3=Object.prototype.toString,u2=e=>q3.call(e)==="[object Object]",sl=()=>{},Wh=N3();function N3(){var e,t,a;return Wa&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((a=window)===null||a===void 0?void 0:a.navigator.userAgent))}function Am(...e){if(e.length!==1)return _t(...e);const t=e[0];return typeof t=="function"?Ns(Cl(()=>({get:t,set:sl}))):E(t)}function d2(e,t){function a(...n){return new Promise((r,s)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(s)})}return a}const f2=e=>e();function F3(e,t={}){let a,n,r=sl;const s=c=>{clearTimeout(c),r(),r=sl};let o;return c=>{const u=Ze(e),d=Ze(t.maxWait);return a&&s(a),u<=0||d!==void 0&&d<=0?(n&&(s(n),n=void 0),Promise.resolve(c())):new Promise((f,p)=>{r=t.rejectOnCancel?p:f,o=c,d&&!n&&(n=setTimeout(()=>{a&&s(a),n=void 0,f(o())},d)),a=setTimeout(()=>{n&&s(n),n=void 0,f(c())},u)})}}function V3(e=f2,t={}){const{initialState:a="active"}=t,n=Am(a==="active");function r(){n.value=!1}function s(){n.value=!0}return{isActive:Rn(n),pause:r,resume:s,eventFilter:(...l)=>{n.value&&e(...l)}}}function Kh(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function Os(e){return Array.isArray(e)?e:[e]}function B3(e){const t=Object.create(null);return(a=>t[a]||(t[a]=e(a)))}const z3=/-(\w)/g,H3=B3(e=>e.replace(z3,(t,a)=>a?a.toUpperCase():""));function p2(e){return Rt()}function El(e){if(!Wa)return e;let t=0,a,n;const r=()=>{t-=1,n&&t<=0&&(n.stop(),a=void 0,n=void 0)};return((...s)=>(t+=1,n||(n=wl(!0),a=n.run(()=>e(...s))),Ir(r),a))}function U3(e,t){if(typeof Symbol<"u"){const a={...e};return Object.defineProperty(a,Symbol.iterator,{enumerable:!1,value(){let n=0;return{next:()=>({value:t[n++],done:n>t.length})}}}),a}else return Object.assign([...t],e)}function j3(e){return ln(at(e)?new Proxy({},{get(t,a,n){return i(Reflect.get(e.value,a,n))},set(t,a,n){return at(e.value[a])&&!at(n)?e.value[a].value=n:e.value[a]=n,!0},deleteProperty(t,a){return Reflect.deleteProperty(e.value,a)},has(t,a){return Reflect.has(e.value,a)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function ed(e){return j3($(e))}function Us(e,...t){const a=t.flat(),n=a[0];return ed(()=>Object.fromEntries(typeof n=="function"?Object.entries(dt(e)).filter(([r,s])=>!n(Ze(s),r)):Object.entries(dt(e)).filter(r=>!a.includes(r[0]))))}function xa(e,...t){const a=t.flat(),n=a[0];return ed(()=>Object.fromEntries(typeof n=="function"?Object.entries(dt(e)).filter(([r,s])=>n(Ze(s),r)):a.map(r=>[r,Am(e,r)])))}function m2(e,t=1e4){return Cl((a,n)=>{let r=Ze(e),s;const o=()=>setTimeout(()=>{r=Ze(e),n()},Ze(t));return Ir(()=>{clearTimeout(s)}),{get(){return a(),r},set(l){r=l,n(),clearTimeout(s),s=o()}}})}function W3(e,t=200,a={}){return d2(F3(t,a),e)}function K3(e,t,a={}){const{eventFilter:n=f2,...r}=a;return Pe(e,d2(n,t),r)}function cp(e,t,a={}){const{eventFilter:n,initialState:r="active",...s}=a,{eventFilter:o,pause:l,resume:c,isActive:u}=V3(n,{initialState:r});return{stop:K3(e,t,{...s,eventFilter:o}),pause:l,resume:c,isActive:u}}function G3(e,t,...[a]){const{flush:n="sync",deep:r=!1,immediate:s=!0,direction:o="both",transform:l={}}=a||{},c=[],u="ltr"in l&&l.ltr||(p=>p),d="rtl"in l&&l.rtl||(p=>p);return(o==="both"||o==="ltr")&&c.push(cp(e,p=>{c.forEach(m=>m.pause()),t.value=u(p),c.forEach(m=>m.resume())},{flush:n,deep:r,immediate:s})),(o==="both"||o==="rtl")&&c.push(cp(t,p=>{c.forEach(m=>m.pause()),e.value=d(p),c.forEach(m=>m.resume())},{flush:n,deep:r,immediate:s})),()=>{c.forEach(p=>p.stop())}}function Y3(e,t){p2()&&Hs(e,t)}function Im(e,t=!0,a){p2()?Ke(e,a):t?e():je(e)}function Tm(e,t,a={}){const{immediate:n=!0,immediateCallback:r=!1}=a,s=pt(!1);let o;function l(){o&&(clearTimeout(o),o=void 0)}function c(){s.value=!1,l()}function u(...d){r&&e(),l(),s.value=!0,o=setTimeout(()=>{s.value=!1,o=void 0,e(...d)},Ze(t))}return n&&(s.value=!0,Wa&&u()),Ir(c),{isPending:Rn(s),start:u,stop:c}}function X3(e=1e3,t={}){const{controls:a=!1,callback:n}=t,r=Tm(n??sl,e,t),s=$(()=>!r.isPending.value);return a?{ready:s,...r}:s}function g2(e,t,a){return Pe(e,t,{...a,immediate:!0})}function h2(e={}){const{inheritAttrs:t=!0,name:a="ReusableTemplate"}=e,n=pt(),r=ue({name:`${a}.define`,setup(o,{slots:l}){return()=>{n.value=l.default}}}),s=ue({inheritAttrs:t,name:`${a}.reuse`,props:e.props,setup(o,{attrs:l,slots:c}){return()=>{var u;if(!n.value)throw new Error("[VueUse] Failed to find the definition of reusable template");const d=(u=n.value)===null||u===void 0?void 0:u.call(n,{...e.props==null?J3(l):o,$slots:c});return t&&d?.length===1?d[0]:d}}});return U3({define:r,reuse:s},[r,s])}function J3(e){const t={};for(const a in e)t[H3(a)]=e[a];return t}const Ss=Wa?window:void 0;function v2(e){var t;const a=Ze(e);return(t=a?.$el)!==null&&t!==void 0?t:a}function up(...e){const t=(n,r,s,o)=>(n.addEventListener(r,s,o),()=>n.removeEventListener(r,s,o)),a=$(()=>{const n=Os(Ze(e[0])).filter(r=>r!=null);return n.every(r=>typeof r!="string")?n:void 0});return g2(()=>{var n,r;return[(n=(r=a.value)===null||r===void 0?void 0:r.map(s=>v2(s)))!==null&&n!==void 0?n:[Ss].filter(s=>s!=null),Os(Ze(a.value?e[1]:e[0])),Os(i(a.value?e[2]:e[1])),Ze(a.value?e[3]:e[2])]},([n,r,s,o],l,c)=>{if(!n?.length||!r?.length||!s?.length)return;const u=u2(o)?{...o}:o,d=n.flatMap(f=>r.flatMap(p=>s.map(m=>t(f,p,m,u))));c(()=>{d.forEach(f=>f())})},{flush:"post"})}function Q3(){const e=pt(!1),t=Rt();return t&&Ke(()=>{e.value=!0},t),e}function Z3(e){const t=Q3();return $(()=>(t.value,!!e()))}const e4=Symbol("vueuse-ssr-width");function t4(){const e=Zo()?O3(e4,null):null;return typeof e=="number"?e:void 0}function a4(e,t={}){const{window:a=Ss,ssrWidth:n=t4()}=t,r=Z3(()=>a&&"matchMedia"in a&&typeof a.matchMedia=="function"),s=pt(typeof n=="number"),o=pt(),l=pt(!1),c=u=>{l.value=u.matches};return Bt(()=>{if(s.value){s.value=!r.value,l.value=Ze(e).split(",").some(u=>{const d=u.includes("not all"),f=u.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),p=u.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let m=!!(f||p);return f&&m&&(m=n>=Kh(f[1])),p&&m&&(m=n<=Kh(p[1])),d?!m:m});return}r.value&&(o.value=a.matchMedia(Ze(e)),l.value=o.value.matches)}),up(o,"change",c,{passive:!0}),$(()=>l.value)}function n4(e){return JSON.parse(JSON.stringify(e))}const nc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},rc="__vueuse_ssr_handlers__",r4=s4();function s4(){return rc in nc||(nc[rc]=nc[rc]||{}),nc[rc]}function y2(e,t){return r4[e]||t}function o4(e){return a4("(prefers-color-scheme: dark)",e)}function i4(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const l4={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Gh="vueuse-storage";function c4(e,t,a,n={}){var r;const{flush:s="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:f=Ss,eventFilter:p,onError:m=R=>{console.error(R)},initOnMounted:g}=n,y=(d?pt:E)(typeof t=="function"?t():t),_=$(()=>Ze(e));if(!a)try{a=y2("getDefaultStorage",()=>Ss?.localStorage)()}catch(R){m(R)}if(!a)return y;const v=Ze(t),h=i4(v),k=(r=n.serializer)!==null&&r!==void 0?r:l4[h],{pause:w,resume:A}=cp(y,R=>H(R),{flush:s,deep:o,eventFilter:p});Pe(_,()=>G(),{flush:s});let M=!1;const S=R=>{g&&!M||G(R)},P=R=>{g&&!M||V(R)};f&&l&&(a instanceof Storage?up(f,"storage",S,{passive:!0}):up(f,Gh,P)),g?Im(()=>{M=!0,G()}):G();function D(R,L){if(f){const z={key:_.value,oldValue:R,newValue:L,storageArea:a};f.dispatchEvent(a instanceof Storage?new StorageEvent("storage",z):new CustomEvent(Gh,{detail:z}))}}function H(R){try{const L=a.getItem(_.value);if(R==null)D(L,null),a.removeItem(_.value);else{const z=k.write(R);L!==z&&(a.setItem(_.value,z),D(L,z))}}catch(L){m(L)}}function Q(R){const L=R?R.newValue:a.getItem(_.value);if(L==null)return c&&v!=null&&a.setItem(_.value,k.write(v)),v;if(!R&&u){const z=k.read(L);return typeof u=="function"?u(z,v):h==="object"&&!Array.isArray(z)?{...v,...z}:z}else return typeof L!="string"?L:k.read(L)}function G(R){if(!(R&&R.storageArea!==a)){if(R&&R.key==null){y.value=v;return}if(!(R&&R.key!==_.value)){w();try{const L=k.write(y.value);(R===void 0||R?.newValue!==L)&&(y.value=Q(R))}catch(L){m(L)}finally{R?je(A):A()}}}}function V(R){G(R.detail)}return y}const u4="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function d4(e={}){const{selector:t="html",attribute:a="class",initialValue:n="auto",window:r=Ss,storage:s,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},p=o4({window:r}),m=$(()=>p.value?"dark":"light"),g=c||(o==null?Am(n):c4(o,n,s,{window:r,listenToStorageChanges:l})),y=$(()=>g.value==="auto"?m.value:g.value),_=y2("updateHTMLAttrs",(w,A,M)=>{const S=typeof w=="string"?r?.document.querySelector(w):v2(w);if(!S)return;const P=new Set,D=new Set;let H=null;if(A==="class"){const G=M.split(/\s/g);Object.values(f).flatMap(V=>(V||"").split(/\s/g)).filter(Boolean).forEach(V=>{G.includes(V)?P.add(V):D.add(V)})}else H={key:A,value:M};if(P.size===0&&D.size===0&&H===null)return;let Q;d&&(Q=r.document.createElement("style"),Q.appendChild(document.createTextNode(u4)),r.document.head.appendChild(Q));for(const G of P)S.classList.add(G);for(const G of D)S.classList.remove(G);H&&S.setAttribute(H.key,H.value),d&&(r.getComputedStyle(Q).opacity,document.head.removeChild(Q))});function v(w){var A;_(t,a,(A=f[w])!==null&&A!==void 0?A:w)}function h(w){e.onChanged?e.onChanged(w,v):v(w)}Pe(y,h,{flush:"post",immediate:!0}),Im(()=>h(y.value));const k=$({get(){return u?g.value:y.value},set(w){g.value=w}});return Object.assign(k,{store:g,system:m,state:y})}function f4(e={}){const{valueDark:t="dark",valueLight:a=""}=e,n=d4({...e,onChanged:(s,o)=>{var l;e.onChanged?(l=e.onChanged)===null||l===void 0||l.call(e,s==="dark",o,s):o(s)},modes:{dark:t,light:a}}),r=$(()=>n.system.value);return $({get(){return n.value==="dark"},set(s){const o=s?"dark":"light";r.value===o?n.value="auto":n.value=o}})}function b2(e,t,a,n={}){var r,s;const{clone:o=!1,passive:l=!1,eventName:c,deep:u=!1,defaultValue:d,shouldEmit:f}=n,p=Rt(),m=a||p?.emit||(p==null||(r=p.$emit)===null||r===void 0?void 0:r.bind(p))||(p==null||(s=p.proxy)===null||s===void 0||(s=s.$emit)===null||s===void 0?void 0:s.bind(p?.proxy));let g=c;g=g||`update:${t.toString()}`;const y=h=>o?typeof o=="function"?o(h):n4(h):h,_=()=>c2(e[t])?y(e[t]):d,v=h=>{f?f(h)&&m(g,h):m(g,h)};if(l){const h=E(_());let k=!1;return Pe(()=>e[t],w=>{k||(k=!0,h.value=y(w),je(()=>k=!1))}),Pe(h,w=>{!k&&(w!==e[t]||u)&&v(w)},{deep:u}),h}else return $({get(){return _()},set(h){v(h)}})}const x2={ui:{colors:{primary:"pink",secondary:"blue",success:"green",info:"blue",warning:"yellow",error:"red",neutral:"zinc"},icons:{arrowDown:"i-lucide-arrow-down",arrowLeft:"i-lucide-arrow-left",arrowRight:"i-lucide-arrow-right",arrowUp:"i-lucide-arrow-up",caution:"i-lucide-circle-alert",check:"i-lucide-check",chevronDoubleLeft:"i-lucide-chevrons-left",chevronDoubleRight:"i-lucide-chevrons-right",chevronDown:"i-lucide-chevron-down",chevronLeft:"i-lucide-chevron-left",chevronRight:"i-lucide-chevron-right",chevronUp:"i-lucide-chevron-up",close:"i-lucide-x",copy:"i-lucide-copy",copyCheck:"i-lucide-copy-check",dark:"i-lucide-moon",drag:"i-lucide-grip-vertical",ellipsis:"i-lucide-ellipsis",error:"i-lucide-circle-x",external:"i-lucide-arrow-up-right",eye:"i-lucide-eye",eyeOff:"i-lucide-eye-off",file:"i-lucide-file",folder:"i-lucide-folder",folderOpen:"i-lucide-folder-open",hash:"i-lucide-hash",info:"i-lucide-info",light:"i-lucide-sun",loading:"i-lucide-loader-circle",menu:"i-lucide-menu",minus:"i-lucide-minus",panelClose:"i-lucide-panel-left-close",panelOpen:"i-lucide-panel-left-open",plus:"i-lucide-plus",reload:"i-lucide-rotate-ccw",search:"i-lucide-search",stop:"i-lucide-square",success:"i-lucide-circle-check",system:"i-lucide-monitor",tip:"i-lucide-lightbulb",upload:"i-lucide-upload",warning:"i-lucide-triangle-alert"},tv:{twMergeConfig:{}}},colorMode:!0},p4=ln(x2),kt=()=>p4,sc={meta:"",ctrl:"",alt:"",win:"⊞",command:"⌘",shift:"⇧",control:"⌃",option:"⌥",enter:"↵",delete:"⌦",backspace:"⌫",escape:"Esc",tab:"⇥",capslock:"⇪",arrowup:"↑",arrowright:"→",arrowdown:"↓",arrowleft:"←",pageup:"⇞",pagedown:"⇟",home:"↖",end:"↘"},m4=()=>{const e=$(()=>navigator&&navigator.userAgent&&navigator.userAgent.match(/Macintosh;/)),t=ln({meta:" ",alt:" ",ctrl:" "});Ke(()=>{t.meta=e.value?sc.command:"Ctrl",t.ctrl=e.value?sc.control:"Ctrl",t.alt=e.value?sc.option:"Alt"});function a(n){if(n)return["meta","alt","ctrl"].includes(n)?t[n]:sc[n]||n}return{macOS:e,getKbdKey:a}},g4=El(m4);function Xd(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function dp(e,t,a=".",n){if(!Xd(t))return dp(e,{},a,n);const r={...t};for(const s of Object.keys(e)){if(s==="__proto__"||s==="constructor")continue;const o=e[s];o!=null&&(n&&n(r,s,o,a)||(Array.isArray(o)&&Array.isArray(r[s])?r[s]=[...o,...r[s]]:Xd(o)&&Xd(r[s])?r[s]=dp(o,r[s],(a?`${a}.`:"")+s.toString(),n):r[s]=o))}return r}function h4(e){return(...t)=>t.reduce((a,n)=>dp(a,n,"",e),{})}const za=h4();function v4(e){return za(e,{dir:"ltr"})}function fp(e){return typeof e=="string"?`'${e}'`:new y4().serialize(e)}const y4=(function(){class e{#e=new Map;compare(a,n){const r=typeof a,s=typeof n;return r==="string"&&s==="string"?a.localeCompare(n):r==="number"&&s==="number"?a-n:String.prototype.localeCompare.call(this.serialize(a,!0),this.serialize(n,!0))}serialize(a,n){if(a===null)return"null";switch(typeof a){case"string":return n?a:`'${a}'`;case"bigint":return`${a}n`;case"object":return this.$object(a);case"function":return this.$function(a)}return String(a)}serializeObject(a){const n=Object.prototype.toString.call(a);if(n!=="[object Object]")return this.serializeBuiltInType(n.length<10?`unknown:${n}`:n.slice(8,-1),a);const r=a.constructor,s=r===Object||r===void 0?"":r.name;if(s!==""&&globalThis[s]===r)return this.serializeBuiltInType(s,a);if(typeof a.toJSON=="function"){const o=a.toJSON();return s+(o!==null&&typeof o=="object"?this.$object(o):`(${this.serialize(o)})`)}return this.serializeObjectEntries(s,Object.entries(a))}serializeBuiltInType(a,n){const r=this["$"+a];if(r)return r.call(this,n);if(typeof n?.entries=="function")return this.serializeObjectEntries(a,n.entries());throw new Error(`Cannot serialize ${a}`)}serializeObjectEntries(a,n){const r=Array.from(n).sort((o,l)=>this.compare(o[0],l[0]));let s=`${a}{`;for(let o=0;o<r.length;o++){const[l,c]=r[o];s+=`${this.serialize(l,!0)}:${this.serialize(c)}`,o<r.length-1&&(s+=",")}return s+"}"}$object(a){let n=this.#e.get(a);return n===void 0&&(this.#e.set(a,`#${this.#e.size}`),n=this.serializeObject(a),this.#e.set(a,n)),n}$function(a){const n=Function.prototype.toString.call(a);return n.slice(-15)==="[native code] }"?`${a.name||""}()[native]`:`${a.name}(${a.length})${n.replace(/\s*\n\s*/g,"")}`}$Array(a){let n="[";for(let r=0;r<a.length;r++)n+=this.serialize(a[r]),r<a.length-1&&(n+=",");return n+"]"}$Date(a){try{return`Date(${a.toISOString()})`}catch{return"Date(null)"}}$ArrayBuffer(a){return`ArrayBuffer[${new Uint8Array(a).join(",")}]`}$Set(a){return`Set${this.$Array(Array.from(a).sort((n,r)=>this.compare(n,r)))}`}$Map(a){return this.serializeObjectEntries("Map",a.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(a){return`${t}(${a})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(a){return`${t}[${a.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(a){return`${t}[${a.join("n,")}${a.length>0?"n":""}]`};return e})();function es(e,t){return e===t||fp(e)===fp(t)}function b4(e,t){const a=pp(e),n=pp(t);return _2(a,n)}function _2(e,t){const a=[],n=new Set([...Object.keys(e.props||{}),...Object.keys(t.props||{})]);if(e.props&&t.props)for(const r of n){const s=e.props[r],o=t.props[r];s&&o?a.push(..._2(e.props?.[r],t.props?.[r])):(s||o)&&a.push(new Yh((o||s).key,s?"removed":"added",o,s))}return n.size===0&&e.hash!==t.hash&&a.push(new Yh((t||e).key,"changed",t,e)),a}function pp(e,t=""){if(e&&typeof e!="object")return new Xh(t,e,fp(e));const a={},n=[];for(const r in e)a[r]=pp(e[r],t?`${t}.${r}`:r),n.push(a[r].hash);return new Xh(t,e,`{${n.join(":")}}`,a)}class Yh{constructor(t,a,n,r){this.key=t,this.type=a,this.newValue=n,this.oldValue=r}toString(){return this.toJSON()}toJSON(){switch(this.type){case"added":return`Added \`${this.key}\``;case"removed":return`Removed \`${this.key}\``;case"changed":return`Changed \`${this.key}\` from \`${this.oldValue?.toString()||"-"}\` to \`${this.newValue.toString()}\``}}}class Xh{constructor(t,a,n,r){this.key=t,this.value=a,this.hash=n,this.props=r}toString(){return this.props?`{${Object.keys(this.props).join(",")}}`:JSON.stringify(this.value)}toJSON(){const t=this.key||".";return this.props?`${t}({${Object.keys(this.props).join(",")}})`:`${t}(${this.value})`}}const x4=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,_4=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,w4=/^([/\\]\s*){2,}[^/\\]/;function k4(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?x4.test(e):_4.test(e)||(t.acceptRelative?w4.test(e):!1)}function td(e,t){const a={...e};for(const n of t)delete a[n];return a}function $t(e,t,a){typeof t=="string"&&(t=t.split(".").map(r=>{const s=Number(r);return Number.isNaN(s)?r:s}));let n=e;for(const r of t){if(n==null)return a;n=n[r]}return n!==void 0?n:a}function w2(e){const t=Number.parseFloat(e);return Number.isNaN(t)?e:t}function C4(e,t,a){return e===void 0||t===void 0?!1:typeof e=="string"?e===t:typeof a=="function"?a(e,t):typeof a=="string"?$t(e,a)===$t(t,a):es(e,t)}function Jh(e){if(e==null)return!0;if(typeof e=="boolean"||typeof e=="number")return!1;if(typeof e=="string")return e.trim().length===0;if(Array.isArray(e))return e.length===0;if(e instanceof Map||e instanceof Set)return e.size===0;if(e instanceof Date||e instanceof RegExp||typeof e=="function")return!1;if(typeof e=="object"){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}return!1}function Qh(e,t,a={}){const{valueKey:n,labelKey:r,by:s}=a,o=e.find(c=>{const u=typeof c=="object"&&c!==null&&n?$t(c,n):c;return C4(u,t,s)});if(Jh(t)&&o)return r?$t(o,r):void 0;if(Jh(t))return;const l=o??t;if(l!=null)return typeof l=="object"?r?$t(l,r):void 0:String(l)}function k2(e){return Array.isArray(e[0])}function mu(e,t){return!e&&!t?"":[...Array.isArray(e)?e:[e],t].filter(Boolean)}function S4(e){return(t,a)=>M4(t,a,i(e))}function M4(e,t,a){return $t(a,`messages.${e}`,e).replace(/\{(\w+)\}/g,(r,s)=>`${t?.[s]??`{${s}}`}`)}function $4(e){const t=$(()=>i(e).name),a=$(()=>i(e).code),n=$(()=>i(e).dir);return{lang:t,code:a,dir:n,locale:at(e)?e:E(e),t:S4(e)}}const Zh=v4({name:"English",code:"en",messages:{alert:{close:"Close"},authForm:{hidePassword:"Hide password",showPassword:"Show password",submit:"Continue"},banner:{close:"Close"},calendar:{nextMonth:"Next month",nextYear:"Next year",prevMonth:"Previous month",prevYear:"Previous year"},carousel:{dots:"Choose slide to display",goto:"Go to slide {slide}",next:"Next",prev:"Prev"},chatPrompt:{placeholder:"Type your message here…"},chatPromptSubmit:{label:"Send prompt"},colorMode:{dark:"Dark",light:"Light",switchToDark:"Switch to dark mode",switchToLight:"Switch to light mode",system:"System"},commandPalette:{back:"Back",close:"Close",noData:"No data",noMatch:"No matching data",placeholder:"Type a command or search…"},contentSearch:{links:"Links",search:"Results",theme:"Theme"},contentSearchButton:{label:"Search…"},contentToc:{title:"On this page"},dropdownMenu:{noMatch:"No matching data",search:"Search…"},dashboardSearch:{theme:"Theme"},dashboardSearchButton:{label:"Search…"},dashboardSidebarCollapse:{collapse:"Collapse sidebar",expand:"Expand sidebar"},dashboardSidebarToggle:{close:"Close sidebar",open:"Open sidebar"},error:{clear:"Back to home"},fileUpload:{removeFile:"Remove {filename}"},header:{close:"Close menu",open:"Open menu"},inputMenu:{create:'Create "{label}"',noData:"No data",noMatch:"No matching data"},inputNumber:{decrement:"Decrement",increment:"Increment"},listbox:{noData:"No data",noMatch:"No matching data",search:"Search…"},modal:{close:"Close"},pricingTable:{caption:"Pricing plan comparison"},prose:{codeCollapse:{closeText:"Collapse",name:"code",openText:"Expand"},collapsible:{closeText:"Hide",name:"properties",openText:"Show"},pre:{copy:"Copy code to clipboard"},prompt:{copy:"Copy prompt",openIn:"Open in {name}"}},chatReasoning:{thinking:"Thinking…",thought:"Thought",thoughtFor:"Thought for {duration}"},sidebar:{close:"Close",toggle:"Toggle"},selectMenu:{create:'Create "{label}"',noData:"No data",noMatch:"No matching data",search:"Search…"},slideover:{close:"Close"},table:{noData:"No data"},toast:{close:"Close"}}}),C2=Symbol.for("nuxt-ui.locale-context"),A4=e=>{const t=e||_t(Ct(C2,Zh));return $4($(()=>t.value||Zh))},js=El(A4),Jd={},I4=(e,t)=>{if(Jd[e])return Jd[e];const a=E(t());return Jd[e]=a,a},ev=t2();function T4(){return{isHydrating:!0,payload:{serverRendered:!1},hooks:ev,hook:ev.hook}}function P4(e){return{install(t){t.runWithContext(()=>e({vueApp:t}))}}}const po=typeof document<"u";function S2(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function D4(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&S2(e.default)}const yt=Object.assign;function Qd(e,t){const a={};for(const n in t){const r=t[n];a[n]=Cn(r)?r.map(e):e(r)}return a}const ji=()=>{},Cn=Array.isArray;function tv(e,t){const a={};for(const n in e)a[n]=n in t?t[n]:e[n];return a}const M2=/#/g,E4=/&/g,R4=/\//g,O4=/=/g,L4=/\?/g,$2=/\+/g,q4=/%5B/g,N4=/%5D/g,A2=/%5E/g,F4=/%60/g,I2=/%7B/g,V4=/%7C/g,T2=/%7D/g,B4=/%20/g;function Pm(e){return e==null?"":encodeURI(""+e).replace(V4,"|").replace(q4,"[").replace(N4,"]")}function z4(e){return Pm(e).replace(I2,"{").replace(T2,"}").replace(A2,"^")}function mp(e){return Pm(e).replace($2,"%2B").replace(B4,"+").replace(M2,"%23").replace(E4,"%26").replace(F4,"`").replace(I2,"{").replace(T2,"}").replace(A2,"^")}function H4(e){return mp(e).replace(O4,"%3D")}function U4(e){return Pm(e).replace(M2,"%23").replace(L4,"%3F")}function j4(e){return U4(e).replace(R4,"%2F")}function ol(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const W4=/\/$/,K4=e=>e.replace(W4,"");function Zd(e,t,a="/"){let n,r={},s="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(n=t.slice(0,c),s=t.slice(c,l>0?l:t.length),r=e(s.slice(1))),l>=0&&(n=n||t.slice(0,l),o=t.slice(l,t.length)),n=J4(n??t,a),{fullPath:n+s+o,path:n,query:r,hash:ol(o)}}function G4(e,t){const a=t.query?e(t.query):"";return t.path+(a&&"?")+a+(t.hash||"")}function av(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Y4(e,t,a){const n=t.matched.length-1,r=a.matched.length-1;return n>-1&&n===r&&No(t.matched[n],a.matched[r])&&P2(t.params,a.params)&&e(t.query)===e(a.query)&&t.hash===a.hash}function No(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function P2(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var a in e)if(!X4(e[a],t[a]))return!1;return!0}function X4(e,t){return Cn(e)?nv(e,t):Cn(t)?nv(t,e):e?.valueOf()===t?.valueOf()}function nv(e,t){return Cn(t)?e.length===t.length&&e.every((a,n)=>a===t[n]):e.length===1&&e[0]===t}function J4(e,t){if(e.startsWith("/"))return e;if(!e)return t;const a=t.split("/"),n=e.split("/"),r=n[n.length-1];(r===".."||r===".")&&n.push("");let s=a.length-1,o,l;for(o=0;o<n.length;o++)if(l=n[o],l!==".")if(l==="..")s>1&&s--;else break;return a.slice(0,s).join("/")+"/"+n.slice(o).join("/")}const Fr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let gp=(function(e){return e.pop="pop",e.push="push",e})({}),ef=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Q4(e){if(!e)if(po){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),K4(e)}const Z4=/^[^#]+#/;function eM(e,t){return e.replace(Z4,"#")+t}function tM(e,t){const a=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-a.left-(t.left||0),top:n.top-a.top-(t.top||0)}}const ad=()=>({left:window.scrollX,top:window.scrollY});function aM(e){let t;if("el"in e){const a=e.el,n=typeof a=="string"&&a.startsWith("#"),r=typeof a=="string"?n?document.getElementById(a.slice(1)):document.querySelector(a):a;if(!r)return;t=tM(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function rv(e,t){return(history.state?history.state.position-t:-1)+e}const hp=new Map;function nM(e,t){hp.set(e,t)}function rM(e){const t=hp.get(e);return hp.delete(e),t}function sM(e){return typeof e=="string"||e&&typeof e=="object"}function D2(e){return typeof e=="string"||typeof e=="symbol"}let Ut=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const E2=Symbol("");Ut.MATCHER_NOT_FOUND+"",Ut.NAVIGATION_GUARD_REDIRECT+"",Ut.NAVIGATION_ABORTED+"",Ut.NAVIGATION_CANCELLED+"",Ut.NAVIGATION_DUPLICATED+"";function Fo(e,t){return yt(new Error,{type:e,[E2]:!0},t)}function Jn(e,t){return e instanceof Error&&E2 in e&&(t==null||!!(e.type&t))}const oM=["params","query","hash"];function iM(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const a of oM)a in e&&(t[a]=e[a]);return JSON.stringify(t,null,2)}function lM(e){const t={};if(e===""||e==="?")return t;const a=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;n<a.length;++n){const r=a[n].replace($2," "),s=r.indexOf("="),o=ol(s<0?r:r.slice(0,s)),l=s<0?null:ol(r.slice(s+1));if(o in t){let c=t[o];Cn(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function sv(e){let t="";for(let a in e){const n=e[a];if(a=H4(a),n==null){n!==void 0&&(t+=(t.length?"&":"")+a);continue}(Cn(n)?n.map(r=>r&&mp(r)):[n&&mp(n)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+a,r!=null&&(t+="="+r))})}return t}function cM(e){const t={};for(const a in e){const n=e[a];n!==void 0&&(t[a]=Cn(n)?n.map(r=>r==null?null:""+r):n==null?n:""+n)}return t}const uM=Symbol(""),ov=Symbol(""),nd=Symbol(""),Dm=Symbol(""),vp=Symbol("");function $i(){let e=[];function t(n){return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)}}function a(){e=[]}return{add:t,list:()=>e.slice(),reset:a}}function Yr(e,t,a,n,r,s=o=>o()){const o=n&&(n.enterCallbacks[r]=n.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const u=p=>{p===!1?c(Fo(Ut.NAVIGATION_ABORTED,{from:a,to:t})):p instanceof Error?c(p):sM(p)?c(Fo(Ut.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&n.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),l())},d=s(()=>e.call(n&&n.instances[r],t,a,u));let f=Promise.resolve(d);e.length<3&&(f=f.then(u)),f.catch(p=>c(p))})}function tf(e,t,a,n,r=s=>s()){const s=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(S2(c)){const u=(c.__vccOpts||c)[t];u&&s.push(Yr(u,a,n,o,l,r))}else{let u=c();s.push(()=>u.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const f=D4(d)?d.default:d;o.mods[l]=d,o.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Yr(p,a,n,o,l,r)()}))}}return s}function dM(e,t){const a=[],n=[],r=[],s=Math.max(t.matched.length,e.matched.length);for(let o=0;o<s;o++){const l=t.matched[o];l&&(e.matched.find(u=>No(u,l))?n.push(l):a.push(l));const c=e.matched[o];c&&(t.matched.find(u=>No(u,c))||r.push(c))}return[a,n,r]}let fM=()=>location.protocol+"//"+location.host;function R2(e,t){const{pathname:a,search:n,hash:r}=t,s=e.indexOf("#");if(s>-1){let o=r.includes(e.slice(s))?e.slice(s).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),av(l,"")}return av(a,e)+n+r}function pM(e,t,a,n){let r=[],s=[],o=null;const l=({state:p})=>{const m=R2(e,location),g=a.value,y=t.value;let _=0;if(p){if(a.value=m,t.value=p,o&&o===g){o=null;return}_=y?p.position-y.position:0}else n(m);r.forEach(v=>{v(a.value,g,{delta:_,type:gp.pop,direction:_?_>0?ef.forward:ef.back:ef.unknown})})};function c(){o=a.value}function u(p){r.push(p);const m=()=>{const g=r.indexOf(p);g>-1&&r.splice(g,1)};return s.push(m),m}function d(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(yt({},p.state,{scroll:ad()}),"")}}function f(){for(const p of s)p();s=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:c,listen:u,destroy:f}}function iv(e,t,a,n=!1,r=!1){return{back:e,current:t,forward:a,replaced:n,position:window.history.length,scroll:r?ad():null}}function mM(e){const{history:t,location:a}=window,n={value:R2(e,a)},r={value:t.state};r.value||s(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,u,d){const f=e.indexOf("#"),p=f>-1?(a.host&&document.querySelector("base")?e:e.slice(f))+c:fM()+e+c;try{t[d?"replaceState":"pushState"](u,"",p),r.value=u}catch(m){console.error(m),a[d?"replace":"assign"](p)}}function o(c,u){s(c,yt({},t.state,iv(r.value.back,c,r.value.forward,!0),u,{position:r.value.position}),!0),n.value=c}function l(c,u){const d=yt({},r.value,t.state,{forward:c,scroll:ad()});s(d.current,d,!0),s(c,yt({},iv(n.value,c,null),{position:d.position+1},u),!1),n.value=c}return{location:n,state:r,push:l,replace:o}}function gM(e){e=Q4(e);const t=mM(e),a=pM(e,t.state,t.location,t.replace);function n(s,o=!0){o||a.pauseListeners(),history.go(s)}const r=yt({location:"",base:e,go:n,createHref:eM.bind(null,e)},t,a);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function hM(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),gM(e)}let Ms=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ra=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ra||{});const vM={type:Ms.Static,value:""},yM=/[a-zA-Z0-9_]/;function bM(e){if(!e)return[[]];if(e==="/")return[[vM]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${a})/"${u}": ${m}`)}let a=ra.Static,n=a;const r=[];let s;function o(){s&&r.push(s),s=[]}let l=0,c,u="",d="";function f(){u&&(a===ra.Static?s.push({type:Ms.Static,value:u}):a===ra.Param||a===ra.ParamRegExp||a===ra.ParamRegExpEnd?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:Ms.Param,value:u,regexp:d,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&a!==ra.ParamRegExp){n=a,a=ra.EscapeNext;continue}switch(a){case ra.Static:c==="/"?(u&&f(),o()):c===":"?(f(),a=ra.Param):p();break;case ra.EscapeNext:p(),a=n;break;case ra.Param:c==="("?a=ra.ParamRegExp:yM.test(c)?p():(f(),a=ra.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case ra.ParamRegExp:c===")"?d[d.length-1]=="\\"?d=d.slice(0,-1)+c:a=ra.ParamRegExpEnd:d+=c;break;case ra.ParamRegExpEnd:f(),a=ra.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,d="";break;default:t("Unknown state");break}}return a===ra.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),f(),o(),r}const lv="[^/]+?",xM={sensitive:!1,strict:!1,start:!0,end:!0};var Da=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Da||{});const _M=/[.+*?^${}()[\]/\\]/g;function wM(e,t){const a=yt({},xM,t),n=[];let r=a.start?"^":"";const s=[];for(const u of e){const d=u.length?[]:[Da.Root];a.strict&&!u.length&&(r+="/");for(let f=0;f<u.length;f++){const p=u[f];let m=Da.Segment+(a.sensitive?Da.BonusCaseSensitive:0);if(p.type===Ms.Static)f||(r+="/"),r+=p.value.replace(_M,"\\$&"),m+=Da.Static;else if(p.type===Ms.Param){const{value:g,repeatable:y,optional:_,regexp:v}=p;s.push({name:g,repeatable:y,optional:_});const h=v||lv;if(h!==lv){m+=Da.BonusCustomRegExp;try{`${h}`}catch(w){throw new Error(`Invalid custom RegExp for param "${g}" (${h}): `+w.message)}}let k=y?`((?:${h})(?:/(?:${h}))*)`:`(${h})`;f||(k=_&&u.length<2?`(?:/${k})`:"/"+k),_&&(k+="?"),r+=k,m+=Da.Dynamic,_&&(m+=Da.BonusOptional),y&&(m+=Da.BonusRepeatable),h===".*"&&(m+=Da.BonusWildcard)}d.push(m)}n.push(d)}if(a.strict&&a.end){const u=n.length-1;n[u][n[u].length-1]+=Da.BonusStrict}a.strict||(r+="/?"),a.end?r+="$":a.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,a.sensitive?"":"i");function l(u){const d=u.match(o),f={};if(!d)return null;for(let p=1;p<d.length;p++){const m=d[p]||"",g=s[p-1];f[g.name]=m&&g.repeatable?m.split("/"):m}return f}function c(u){let d="",f=!1;for(const p of e){(!f||!d.endsWith("/"))&&(d+="/"),f=!1;for(const m of p)if(m.type===Ms.Static)d+=m.value;else if(m.type===Ms.Param){const{value:g,repeatable:y,optional:_}=m,v=g in u?u[g]:"";if(Cn(v)&&!y)throw new Error(`Provided param "${g}" is an array but it is not repeatable (* or + modifiers)`);const h=Cn(v)?v.join("/"):v;if(!h)if(_)p.length<2&&(d.endsWith("/")?d=d.slice(0,-1):f=!0);else throw new Error(`Missing required param "${g}"`);d+=h}}return d||"/"}return{re:o,score:n,keys:s,parse:l,stringify:c}}function kM(e,t){let a=0;for(;a<e.length&&a<t.length;){const n=t[a]-e[a];if(n)return n;a++}return e.length<t.length?e.length===1&&e[0]===Da.Static+Da.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Da.Static+Da.Segment?1:-1:0}function O2(e,t){let a=0;const n=e.score,r=t.score;for(;a<n.length&&a<r.length;){const s=kM(n[a],r[a]);if(s)return s;a++}if(Math.abs(r.length-n.length)===1){if(cv(n))return 1;if(cv(r))return-1}return r.length-n.length}function cv(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const CM={strict:!1,end:!0,sensitive:!1};function SM(e,t,a){const n=wM(bM(e.path),a),r=yt(n,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function MM(e,t){const a=[],n=new Map;t=tv(CM,t);function r(f){return n.get(f)}function s(f,p,m){const g=!m,y=dv(f);y.aliasOf=m&&m.record;const _=tv(t,f),v=[y];if("alias"in f){const w=typeof f.alias=="string"?[f.alias]:f.alias;for(const A of w)v.push(dv(yt({},y,{components:m?m.record.components:y.components,path:A,aliasOf:m?m.record:y})))}let h,k;for(const w of v){const{path:A}=w;if(p&&A[0]!=="/"){const M=p.record.path,S=M[M.length-1]==="/"?"":"/";w.path=p.record.path+(A&&S+A)}if(h=SM(w,p,_),m?m.alias.push(h):(k=k||h,k!==h&&k.alias.push(h),g&&f.name&&!fv(h)&&o(f.name)),L2(h)&&c(h),y.children){const M=y.children;for(let S=0;S<M.length;S++)s(M[S],h,m&&m.children[S])}m=m||h}return k?()=>{o(k)}:ji}function o(f){if(D2(f)){const p=n.get(f);p&&(n.delete(f),a.splice(a.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=a.indexOf(f);p>-1&&(a.splice(p,1),f.record.name&&n.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function l(){return a}function c(f){const p=IM(f,a);a.splice(p,0,f),f.record.name&&!fv(f)&&n.set(f.record.name,f)}function u(f,p){let m,g={},y,_;if("name"in f&&f.name){if(m=n.get(f.name),!m)throw Fo(Ut.MATCHER_NOT_FOUND,{location:f});_=m.record.name,g=yt(uv(p.params,m.keys.filter(k=>!k.optional).concat(m.parent?m.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),f.params&&uv(f.params,m.keys.map(k=>k.name))),y=m.stringify(g)}else if(f.path!=null)y=f.path,m=a.find(k=>k.re.test(y)),m&&(g=m.parse(y),_=m.record.name);else{if(m=p.name?n.get(p.name):a.find(k=>k.re.test(p.path)),!m)throw Fo(Ut.MATCHER_NOT_FOUND,{location:f,currentLocation:p});_=m.record.name,g=yt({},p.params,f.params),y=m.stringify(g)}const v=[];let h=m;for(;h;)v.unshift(h.record),h=h.parent;return{name:_,path:y,params:g,matched:v,meta:AM(v)}}e.forEach(f=>s(f));function d(){a.length=0,n.clear()}return{addRoute:s,resolve:u,removeRoute:o,clearRoutes:d,getRoutes:l,getRecordMatcher:r}}function uv(e,t){const a={};for(const n of t)n in e&&(a[n]=e[n]);return a}function dv(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:$M(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function $M(e){const t={},a=e.props||!1;if("component"in e)t.default=a;else for(const n in e.components)t[n]=typeof a=="object"?a[n]:a;return t}function fv(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function AM(e){return e.reduce((t,a)=>yt(t,a.meta),{})}function IM(e,t){let a=0,n=t.length;for(;a!==n;){const s=a+n>>1;O2(e,t[s])<0?n=s:a=s+1}const r=TM(e);return r&&(n=t.lastIndexOf(r,n-1)),n}function TM(e){let t=e;for(;t=t.parent;)if(L2(t)&&O2(e,t)===0)return t}function L2({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function pv(e){const t=Ct(nd),a=Ct(Dm),n=$(()=>{const c=i(e.to);return t.resolve(c)}),r=$(()=>{const{matched:c}=n.value,{length:u}=c,d=c[u-1],f=a.matched;if(!d||!f.length)return-1;const p=f.findIndex(No.bind(null,d));if(p>-1)return p;const m=mv(c[u-2]);return u>1&&mv(d)===m&&f[f.length-1].path!==m?f.findIndex(No.bind(null,c[u-2])):p}),s=$(()=>r.value>-1&&RM(a.params,n.value.params)),o=$(()=>r.value>-1&&r.value===a.matched.length-1&&P2(a.params,n.value.params));function l(c={}){if(EM(c)){const u=t[i(e.replace)?"replace":"push"](i(e.to)).catch(ji);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:$(()=>n.value.href),isActive:s,isExactActive:o,navigate:l}}function PM(e){return e.length===1?e[0]:e}const DM=ue({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:pv,setup(e,{slots:t}){const a=ln(pv(e)),{options:n}=Ct(nd),r=$(()=>({[gv(e.activeClass,n.linkActiveClass,"router-link-active")]:a.isActive,[gv(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:a.isExactActive}));return()=>{const s=t.default&&PM(t.default(a));return e.custom?s:Za("a",{"aria-current":a.isExactActive?e.ariaCurrentValue:null,href:a.href,onClick:a.navigate,class:r.value},s)}}}),Em=DM;function EM(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function RM(e,t){for(const a in t){const n=t[a],r=e[a];if(typeof n=="string"){if(n!==r)return!1}else if(!Cn(r)||r.length!==n.length||n.some((s,o)=>s.valueOf()!==r[o].valueOf()))return!1}return!0}function mv(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const gv=(e,t,a)=>e??t??a,OM=ue({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:a}){const n=Ct(vp),r=$(()=>e.route||n.value),s=Ct(ov,0),o=$(()=>{let u=i(s);const{matched:d}=r.value;let f;for(;(f=d[u])&&!f.components;)u++;return u}),l=$(()=>r.value.matched[o.value]);on(ov,$(()=>o.value+1)),on(uM,l),on(vp,r);const c=E();return Pe(()=>[c.value,l.value,e.name],([u,d,f],[p,m,g])=>{d&&(d.instances[f]=u,m&&m!==d&&u&&u===p&&(d.leaveGuards.size||(d.leaveGuards=m.leaveGuards),d.updateGuards.size||(d.updateGuards=m.updateGuards))),u&&d&&(!m||!No(d,m)||!p)&&(d.enterCallbacks[f]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=r.value,d=e.name,f=l.value,p=f&&f.components[d];if(!p)return hv(a.default,{Component:p,route:u});const m=f.props[d],g=m?m===!0?u.params:typeof m=="function"?m(u):m:null,_=Za(p,yt({},g,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[d]=null)},ref:c}));return hv(a.default,{Component:_,route:u})||_}}});function hv(e,t){if(!e)return null;const a=e(t);return a.length===1?a[0]:a}const LM=OM;function qM(e){const t=MM(e.routes,e),a=e.parseQuery||lM,n=e.stringifyQuery||sv,r=e.history,s=$i(),o=$i(),l=$i(),c=pt(Fr);let u=Fr;po&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Qd.bind(null,O=>""+O),f=Qd.bind(null,j4),p=Qd.bind(null,ol);function m(O,W){let j,J;return D2(O)?(j=t.getRecordMatcher(O),J=W):J=O,t.addRoute(J,j)}function g(O){const W=t.getRecordMatcher(O);W&&t.removeRoute(W)}function y(){return t.getRoutes().map(O=>O.record)}function _(O){return!!t.getRecordMatcher(O)}function v(O,W){if(W=yt({},W||c.value),typeof O=="string"){const oe=Zd(a,O,W.path),_e=t.resolve({path:oe.path},W),me=r.createHref(oe.fullPath);return yt(oe,_e,{params:p(_e.params),hash:ol(oe.hash),redirectedFrom:void 0,href:me})}let j;if(O.path!=null)j=yt({},O,{path:Zd(a,O.path,W.path).path});else{const oe=yt({},O.params);for(const _e in oe)oe[_e]==null&&delete oe[_e];j=yt({},O,{params:f(oe)}),W.params=f(W.params)}const J=t.resolve(j,W),ne=O.hash||"";J.params=d(p(J.params));const U=G4(n,yt({},O,{hash:z4(ne),path:J.path})),q=r.createHref(U);return yt({fullPath:U,hash:ne,query:n===sv?cM(O.query):O.query||{}},J,{redirectedFrom:void 0,href:q})}function h(O){return typeof O=="string"?Zd(a,O,c.value.path):yt({},O)}function k(O,W){if(u!==O)return Fo(Ut.NAVIGATION_CANCELLED,{from:W,to:O})}function w(O){return S(O)}function A(O){return w(yt(h(O),{replace:!0}))}function M(O,W){const j=O.matched[O.matched.length-1];if(j&&j.redirect){const{redirect:J}=j;let ne=typeof J=="function"?J(O,W):J;return typeof ne=="string"&&(ne=ne.includes("?")||ne.includes("#")?ne=h(ne):{path:ne},ne.params={}),yt({query:O.query,hash:O.hash,params:ne.path!=null?{}:O.params},ne)}}function S(O,W){const j=u=v(O),J=c.value,ne=O.state,U=O.force,q=O.replace===!0,oe=M(j,J);if(oe)return S(yt(h(oe),{state:typeof oe=="object"?yt({},ne,oe.state):ne,force:U,replace:q}),W||j);const _e=j;_e.redirectedFrom=W;let me;return!U&&Y4(n,J,j)&&(me=Fo(Ut.NAVIGATION_DUPLICATED,{to:_e,from:J}),ve(J,J,!0,!1)),(me?Promise.resolve(me):H(_e,J)).catch(be=>Jn(be)?Jn(be,Ut.NAVIGATION_GUARD_REDIRECT)?be:Y(be):K(be,_e,J)).then(be=>{if(be){if(Jn(be,Ut.NAVIGATION_GUARD_REDIRECT))return S(yt({replace:q},h(be.to),{state:typeof be.to=="object"?yt({},ne,be.to.state):ne,force:U}),W||_e)}else be=G(_e,J,!0,q,ne);return Q(_e,J,be),be})}function P(O,W){const j=k(O,W);return j?Promise.reject(j):Promise.resolve()}function D(O){const W=de.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(O):O()}function H(O,W){let j;const[J,ne,U]=dM(O,W);j=tf(J.reverse(),"beforeRouteLeave",O,W);for(const oe of J)oe.leaveGuards.forEach(_e=>{j.push(Yr(_e,O,W))});const q=P.bind(null,O,W);return j.push(q),ge(j).then(()=>{j=[];for(const oe of s.list())j.push(Yr(oe,O,W));return j.push(q),ge(j)}).then(()=>{j=tf(ne,"beforeRouteUpdate",O,W);for(const oe of ne)oe.updateGuards.forEach(_e=>{j.push(Yr(_e,O,W))});return j.push(q),ge(j)}).then(()=>{j=[];for(const oe of U)if(oe.beforeEnter)if(Cn(oe.beforeEnter))for(const _e of oe.beforeEnter)j.push(Yr(_e,O,W));else j.push(Yr(oe.beforeEnter,O,W));return j.push(q),ge(j)}).then(()=>(O.matched.forEach(oe=>oe.enterCallbacks={}),j=tf(U,"beforeRouteEnter",O,W,D),j.push(q),ge(j))).then(()=>{j=[];for(const oe of o.list())j.push(Yr(oe,O,W));return j.push(q),ge(j)}).catch(oe=>Jn(oe,Ut.NAVIGATION_CANCELLED)?oe:Promise.reject(oe))}function Q(O,W,j){l.list().forEach(J=>D(()=>J(O,W,j)))}function G(O,W,j,J,ne){const U=k(O,W);if(U)return U;const q=W===Fr,oe=po?history.state:{};j&&(J||q?r.replace(O.fullPath,yt({scroll:q&&oe&&oe.scroll},ne)):r.push(O.fullPath,ne)),c.value=O,ve(O,W,j,q),Y()}let V;function R(){V||(V=r.listen((O,W,j)=>{if(!he.listening)return;const J=v(O),ne=M(J,he.currentRoute.value);if(ne){S(yt(ne,{replace:!0,force:!0}),J).catch(ji);return}u=J;const U=c.value;po&&nM(rv(U.fullPath,j.delta),ad()),H(J,U).catch(q=>Jn(q,Ut.NAVIGATION_ABORTED|Ut.NAVIGATION_CANCELLED)?q:Jn(q,Ut.NAVIGATION_GUARD_REDIRECT)?(S(yt(h(q.to),{force:!0}),J).then(oe=>{Jn(oe,Ut.NAVIGATION_ABORTED|Ut.NAVIGATION_DUPLICATED)&&!j.delta&&j.type===gp.pop&&r.go(-1,!1)}).catch(ji),Promise.reject()):(j.delta&&r.go(-j.delta,!1),K(q,J,U))).then(q=>{q=q||G(J,U,!1),q&&(j.delta&&!Jn(q,Ut.NAVIGATION_CANCELLED)?r.go(-j.delta,!1):j.type===gp.pop&&Jn(q,Ut.NAVIGATION_ABORTED|Ut.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),Q(J,U,q)}).catch(ji)}))}let L=$i(),z=$i(),le;function K(O,W,j){Y(O);const J=z.list();return J.length?J.forEach(ne=>ne(O,W,j)):console.error(O),Promise.reject(O)}function ce(){return le&&c.value!==Fr?Promise.resolve():new Promise((O,W)=>{L.add([O,W])})}function Y(O){return le||(le=!O,R(),L.list().forEach(([W,j])=>O?j(O):W()),L.reset()),O}function ve(O,W,j,J){const{scrollBehavior:ne}=e;if(!po||!ne)return Promise.resolve();const U=!j&&rM(rv(O.fullPath,0))||(J||!j)&&history.state&&history.state.scroll||null;return je().then(()=>ne(O,W,U)).then(q=>q&&aM(q)).catch(q=>K(q,O,W))}const ie=O=>r.go(O);let ye;const de=new Set,he={currentRoute:c,listening:!0,addRoute:m,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:y,resolve:v,options:e,push:w,replace:A,go:ie,back:()=>ie(-1),forward:()=>ie(1),beforeEach:s.add,beforeResolve:o.add,afterEach:l.add,onError:z.add,isReady:ce,install(O){O.component("RouterLink",Em),O.component("RouterView",LM),O.config.globalProperties.$router=he,Object.defineProperty(O.config.globalProperties,"$route",{enumerable:!0,get:()=>i(c)}),po&&!ye&&c.value===Fr&&(ye=!0,w(r.location).catch(J=>{}));const W={};for(const J in Fr)Object.defineProperty(W,J,{get:()=>c.value[J],enumerable:!0});O.provide(nd,he),O.provide(Dm,hm(W)),O.provide(vp,c);const j=O.unmount;de.add(O),O.unmount=function(){de.delete(O),de.size<1&&(u=Fr,V&&V(),V=null,c.value=Fr,ye=!1,le=!1),j()}}};function ge(O){return O.reduce((W,j)=>W.then(()=>D(j)),Promise.resolve())}return he}function Rl(){return Ct(nd)}function Ol(e){return Ct(Dm)}const NM=[50,100,200,300,400,500,600,700,800,900,950];function FM(e,t){return e in ac&&typeof ac[e]=="object"&&t in ac[e]?ac[e][t]:""}function VM(e,t,a){const n=a?`${a}-`:"";return`${NM.map(r=>`--ui-color-${e}-${r}: var(--${n}color-${t==="neutral"?"old-neutral":t}-${r}, ${FM(t,r)});`).join(`
3
+ `)}`}function vv(e,t){return`--ui-${e}: var(--ui-color-${e}-${t});`}function BM(){document.querySelector("[data-nuxt-ui-colors]")?.remove()}const zM=P4(()=>{const e=kt();T4();const t=$(()=>{const{neutral:n,...r}=e.ui.colors,s=e.ui.prefix;return`@layer theme {
4
+ :root, :host {
5
+ ${Object.entries(e.ui.colors).map(([o,l])=>VM(o,l,s)).join(`
6
+ `)}
7
+ }
8
+ :root, :host, .light {
9
+ ${Object.keys(r).map(o=>vv(o,500)).join(`
10
+ `)}
11
+ }
12
+ .dark {
13
+ ${Object.keys(r).map(o=>vv(o,400)).join(`
14
+ `)}
15
+ }
16
+ }`}),a={style:[{innerHTML:t,tagPriority:"critical",id:"nuxt-ui-colors"}]};{const n=document.createElement("style");n.innerHTML=t.value,n.setAttribute("data-nuxt-ui-colors",""),document.head.appendChild(n),i2().hooks.hookOnce("dom:rendered",BM)}$3(a)}),HM={install(){f4()}},UM={install(e,t={}){e.use(T3,t),e.use(P3,t),e.use(zM,t),e.use(HM,t)}},jM="modulepreload",WM=function(e){return"/"+e},yv={},Mt=function(t,a,n){let r=Promise.resolve();if(a&&a.length>0){let c=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");r=c(a.map(u=>{if(u=WM(u),u in yv)return;yv[u]=!0;const d=u.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":jM,d||(p.as="script"),p.crossOrigin="",p.href=u,l&&p.setAttribute("nonce",l),document.head.appendChild(p),d)return new Promise((m,g)=>{p.addEventListener("load",m),p.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})};function il(e,t=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){return Math.min(a,Math.max(t,e))}function oc(e,t){let a=e;const n=t.toString(),r=n.indexOf("."),s=r>=0?n.length-r:0;if(s>0){const o=10**s;a=Math.round(a*o)/o}return a}function KM(e,t,a,n){t=Number(t),a=Number(a);const r=(e-(Number.isNaN(t)?0:t))%n;let s=oc(Math.abs(r)*2>=n?e+Math.sign(r)*(n-Math.abs(r)):e-r,n);return Number.isNaN(t)?!Number.isNaN(a)&&s>a&&(s=Math.floor(oc(a/n,n))*n):s<t?s=t:!Number.isNaN(a)&&s>a&&(s=t+Math.floor(oc((a-t)/n,n))*n),s=oc(s,n),s}function st(e,t){const a=typeof e=="string"&&!t?`${e}Context`:t,n=Symbol(a);return[o=>{const l=Ct(n,o);if(l||l===null)return l;throw new Error(`Injection \`${n.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},o=>(on(n,o),o)]}function Yt(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Rm(e,t,a){const n=a.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:a});t&&n.addEventListener(e,t,{once:!0}),n.dispatchEvent(r)}function xn(e){return e==null}function bv(e,t){return xn(e)?!1:Array.isArray(e)?e.some(a=>es(a,t)):es(e,t)}const Tr=Wa?window:void 0;function _a(e){var t;const a=Ze(e);return(t=a?.$el)!==null&&t!==void 0?t:a}function ba(...e){const t=(n,r,s,o)=>(n.addEventListener(r,s,o),()=>n.removeEventListener(r,s,o)),a=$(()=>{const n=Os(Ze(e[0])).filter(r=>r!=null);return n.every(r=>typeof r!="string")?n:void 0});return g2(()=>{var n,r;return[(n=(r=a.value)===null||r===void 0?void 0:r.map(s=>_a(s)))!==null&&n!==void 0?n:[Tr].filter(s=>s!=null),Os(Ze(a.value?e[1]:e[0])),Os(i(a.value?e[2]:e[1])),Ze(a.value?e[3]:e[2])]},([n,r,s,o],l,c)=>{if(!n?.length||!r?.length||!s?.length)return;const u=u2(o)?{...o}:o,d=n.flatMap(f=>r.flatMap(p=>s.map(m=>t(f,p,m,u))));c(()=>{d.forEach(f=>f())})},{flush:"post"})}function rd(){const e=pt(!1),t=Rt();return t&&Ke(()=>{e.value=!0},t),e}function q2(e){const t=rd();return $(()=>(t.value,!!e()))}function GM(e,t,a={}){const{window:n=Tr,...r}=a;let s;const o=q2(()=>n&&"MutationObserver"in n),l=()=>{s&&(s.disconnect(),s=void 0)},c=Pe($(()=>{const f=Os(Ze(e)).map(_a).filter(L3);return new Set(f)}),f=>{l(),o.value&&f.size&&(s=new MutationObserver(t),f.forEach(p=>s.observe(p,r)))},{immediate:!0,flush:"post"}),u=()=>s?.takeRecords(),d=()=>{c(),l()};return Ir(d),{isSupported:o,stop:d,takeRecords:u}}function YM(e,t,a={}){const{window:n=Tr,document:r=n?.document,flush:s="sync"}=a;if(!n||!r)return sl;let o;const l=d=>{o?.(),o=d},c=Bt(()=>{const d=_a(e);if(d){const{stop:f}=GM(r,p=>{p.map(m=>[...m.removedNodes]).flat().some(m=>m===d||m.contains(d))&&t(p)},{window:n,childList:!0,subtree:!0});l(f)}},{flush:s}),u=()=>{c(),l()};return Ir(u),u}function XM(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Om(...e){let t,a,n={};e.length===3?(t=e[0],a=e[1],n=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,a=e[0],n=e[1]):(t=e[0],a=e[1]):(t=!0,a=e[0]);const{target:r=Tr,eventName:s="keydown",passive:o=!1,dedupe:l=!1}=n,c=XM(t);return ba(r,s,d=>{d.repeat&&Ze(l)||c(d)&&a(d)},o)}function JM(e={}){var t;const{window:a=Tr,deep:n=!0,triggerOnRemoval:r=!1}=e,s=(t=e.document)!==null&&t!==void 0?t:a?.document,o=()=>{let u=s?.activeElement;if(n)for(var d;u?.shadowRoot;)u=u==null||(d=u.shadowRoot)===null||d===void 0?void 0:d.activeElement;return u},l=pt(),c=()=>{l.value=o()};if(a){const u={capture:!0,passive:!0};ba(a,"blur",d=>{d.relatedTarget===null&&c()},u),ba(a,"focus",c,u)}return r&&YM(l,c,{document:s}),c(),l}function QM(e,t={}){const{immediate:a=!0,fpsLimit:n=null,window:r=Tr,once:s=!1}=t,o=pt(!1),l=$(()=>{const m=Ze(n);return m?1e3/m:null});let c=0,u=null;function d(m){if(!o.value||!r)return;c||(c=m);const g=m-c;if(l.value&&g<l.value){u=r.requestAnimationFrame(d);return}if(c=m,e({delta:g,timestamp:m}),s){o.value=!1,u=null;return}u=r.requestAnimationFrame(d)}function f(){!o.value&&r&&(o.value=!0,c=0,u=r.requestAnimationFrame(d))}function p(){o.value=!1,u!=null&&r&&(r.cancelAnimationFrame(u),u=null)}return a&&f(),Ir(p),{isActive:Rn(o),pause:p,resume:f}}function ZM(e){return JSON.parse(JSON.stringify(e))}function e$(e){const t=Rt(),a=E3(()=>null,()=>t.proxy.$el);return xm(a.trigger),Ke(a.trigger),a}function N2(e,t,a={}){const{window:n=Tr,...r}=a;let s;const o=q2(()=>n&&"ResizeObserver"in n),l=()=>{s&&(s.disconnect(),s=void 0)},c=Pe($(()=>{const d=Ze(e);return Array.isArray(d)?d.map(f=>_a(f)):[_a(d)]}),d=>{if(l(),o.value&&n){s=new ResizeObserver(t);for(const f of d)f&&s.observe(f,r)}},{immediate:!0,flush:"post"}),u=()=>{l(),c()};return Ir(u),{isSupported:o,stop:u}}const t$="focusin",a$="focusout",n$=":focus-within";function z_e(e,t={}){const{window:a=Tr}=t,n=$(()=>_a(e)),r=pt(!1),s=$(()=>r.value);if(!a||!JM(t).value)return{focused:s};const l={passive:!0};return ba(n,t$,()=>r.value=!0,l),ba(n,a$,()=>{var c,u,d;return r.value=(c=(u=n.value)===null||u===void 0||(d=u.matches)===null||d===void 0?void 0:d.call(u,n$))!==null&&c!==void 0?c:!1},l),{focused:s}}function H_e(e=e$()){const t=pt(),a=()=>{const n=_a(e);n&&(t.value=n.parentElement)};return Im(a),Pe(()=>Ze(e),a),t}function ht(e,t,a,n={}){var r,s;const{clone:o=!1,passive:l=!1,eventName:c,deep:u=!1,defaultValue:d,shouldEmit:f}=n,p=Rt(),m=a||p?.emit||(p==null||(r=p.$emit)===null||r===void 0?void 0:r.bind(p))||(p==null||(s=p.proxy)===null||s===void 0||(s=s.$emit)===null||s===void 0?void 0:s.bind(p?.proxy));let g=c;t||(t="modelValue"),g=g||`update:${t.toString()}`;const y=h=>o?typeof o=="function"?o(h):ZM(h):h,_=()=>c2(e[t])?y(e[t]):d,v=h=>{f?f(h)&&m(g,h):m(g,h)};if(l){const h=E(_());let k=!1;return Pe(()=>e[t],w=>{k||(k=!0,h.value=y(w),je(()=>k=!1))}),Pe(h,w=>{!k&&(w!==e[t]||u)&&v(w)},{deep:u}),h}else return $({get(){return _()},set(h){v(h)}})}function Lm(e){return e?e.flatMap(t=>t.type===De?Lm(t.children):[t]):[]}const r$=["INPUT","TEXTAREA"];function xv(e,t,a,n={}){if(!t||n.enableIgnoredElement&&r$.includes(t.nodeName))return null;const{arrowKeyOptions:r="both",attributeName:s="[data-reka-collection-item]",itemsArray:o=[],loop:l=!0,dir:c="ltr",preventScroll:u=!0,focus:d=!1}=n,[f,p,m,g,y,_]=[e.key==="ArrowRight",e.key==="ArrowLeft",e.key==="ArrowUp",e.key==="ArrowDown",e.key==="Home",e.key==="End"],v=m||g,h=f||p;if(!y&&!_&&(!v&&!h||r==="vertical"&&h||r==="horizontal"&&v))return null;const k=a?Array.from(a.querySelectorAll(s)):o;if(!k.length)return null;u&&e.preventDefault();let w=null;return h||v?w=F2(k,t,{goForward:v?g:c==="ltr"?f:p,loop:l}):y?w=k.at(0)||null:_&&(w=k.at(-1)||null),d&&w?.focus(),w}function F2(e,t,a,n=e.includes(t)?e.length:e.length+1){if(--n===0)return null;const r=e.indexOf(t);let s;if(r===-1?s=a.goForward?0:e.length-1:s=a.goForward?r+1:r-1,!a.loop&&(s<0||s>=e.length))return null;const o=(s+e.length)%e.length,l=e[o];return l?l.hasAttribute("disabled")&&l.getAttribute("disabled")!=="false"?F2(e,l,a,n):l:null}const[Ll,s$]=st("ConfigProvider");var o$=ue({inheritAttrs:!1,__name:"ConfigProvider",props:{dir:{type:String,required:!1,default:"ltr"},locale:{type:String,required:!1,default:"en"},scrollBody:{type:[Boolean,Object],required:!1,default:!0},nonce:{type:String,required:!1,default:void 0},useId:{type:Function,required:!1,default:void 0}},setup(e){const t=e,{dir:a,locale:n,scrollBody:r,nonce:s}=dt(t);return s$({dir:a,locale:n,scrollBody:r,nonce:s,useId:t.useId}),(o,l)=>Z(o.$slots,"default")}}),i$=o$;const l$=El(()=>{const e=E(new Map),t=E(),a=$(()=>{for(const o of e.value.values())if(o)return!0;return!1}),n=Ll({scrollBody:E(!0)});let r=null;const s=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",Wh&&r?.(),t.value=void 0};return Pe(a,(o,l)=>{if(!Wa)return;if(!o){l&&s();return}t.value===void 0&&(t.value=document.body.style.overflow);const c=window.innerWidth-document.documentElement.clientWidth,u={padding:c,margin:0},d=n.scrollBody?.value?typeof n.scrollBody.value=="object"?za({padding:n.scrollBody.value.padding===!0?c:n.scrollBody.value.padding,margin:n.scrollBody.value.margin===!0?c:n.scrollBody.value.margin},u):u:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty("--scrollbar-width",`${c}px`),document.body.style.overflow="hidden"),Wh&&(r=ba(document,"touchmove",f=>c$(f),{passive:!1})),je(()=>{a.value&&(document.body.style.pointerEvents="none",document.body.style.overflow="hidden")})},{immediate:!0,flush:"sync"}),e});function sd(e){const t=Math.random().toString(36).substring(2,7),a=l$();a.value.set(t,e??!1);const n=$({get:()=>a.value.get(t)??!1,set:r=>a.value.set(t,r)});return Y3(()=>{a.value.delete(t)}),n}function V2(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const a=e.parentNode;return!(a instanceof Element)||a.tagName==="BODY"?!1:V2(a)}}function c$(e){const t=e||window.event,a=t.target;return a instanceof Element&&V2(a)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function u$(e){const t=E(!1);function a(){t.value=!0}function n(r){je(()=>{t.value=!1,e?.(r)})}return{isComposing:t,handleCompositionStart:a,handleCompositionEnd:n}}function Co(e,t){return e-t*Math.floor(e/t)}const B2=1721426;function $s(e,t,a,n){t=ql(e,t);let r=t-1,s=-2;return a<=2?s=0:Qr(t)&&(s=-1),B2-1+365*r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400)+Math.floor((367*a-362)/12+s+n)}function Qr(e){return e%4===0&&(e%100!==0||e%400===0)}function ql(e,t){return e==="BC"?1-t:t}function od(e){let t="AD";return e<=0&&(t="BC",e=1-e),[t,e]}const d$={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class Sn{fromJulianDay(t){let a=t,n=a-B2,r=Math.floor(n/146097),s=Co(n,146097),o=Math.floor(s/36524),l=Co(s,36524),c=Math.floor(l/1461),u=Co(l,1461),d=Math.floor(u/365),f=r*400+o*100+c*4+d+(o!==4&&d!==4?1:0),[p,m]=od(f),g=a-$s(p,m,1,1),y=2;a<$s(p,m,3,1)?y=0:Qr(m)&&(y=1);let _=Math.floor(((g+y)*12+373)/367),v=a-$s(p,m,_,1)+1;return new Nt(p,m,_,v)}toJulianDay(t){return $s(t.era,t.year,t.month,t.day)}getDaysInMonth(t){return d$[Qr(t.year)?"leapyear":"standard"][t.month-1]}getMonthsInYear(t){return 12}getDaysInYear(t){return Qr(t.year)?366:365}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getYearsInEra(t){return 9999}getEras(){return["BC","AD"]}isInverseEra(t){return t.era==="BC"}balanceDate(t){t.year<=0&&(t.era=t.era==="BC"?"AD":"BC",t.year=1-t.year)}constructor(){this.identifier="gregory"}}const f$={"001":1,AD:1,AE:6,AF:6,AI:1,AL:1,AM:1,AN:1,AR:1,AT:1,AU:1,AX:1,AZ:1,BA:1,BE:1,BG:1,BH:6,BM:1,BN:1,BY:1,CH:1,CL:1,CM:1,CN:1,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DZ:6,EC:1,EE:1,EG:6,ES:1,FI:1,FJ:1,FO:1,FR:1,GB:1,GE:1,GF:1,GP:1,GR:1,HR:1,HU:1,IE:1,IQ:6,IR:6,IS:1,IT:1,JO:6,KG:1,KW:6,KZ:1,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MK:1,MN:1,MQ:1,MV:5,MY:1,NL:1,NO:1,NZ:1,OM:6,PL:1,QA:6,RE:1,RO:1,RS:1,RU:1,SD:6,SE:1,SI:1,SK:1,SM:1,SY:6,TJ:1,TM:1,TR:1,UA:1,UY:1,UZ:1,VA:1,VN:1,XK:1};function Wt(e,t){return t=ua(t,e.calendar),e.era===t.era&&e.year===t.year&&e.month===t.month&&e.day===t.day}function id(e,t){return t=ua(t,e.calendar),e=Bo(e),t=Bo(t),e.era===t.era&&e.year===t.year&&e.month===t.month}function Jr(e,t){return qm(e.calendar,t.calendar)&&Wt(e,t)}function _v(e,t){return qm(e.calendar,t.calendar)&&id(e,t)}function qm(e,t){var a,n,r,s;return(s=(r=(a=e.isEqual)===null||a===void 0?void 0:a.call(e,t))!==null&&r!==void 0?r:(n=t.isEqual)===null||n===void 0?void 0:n.call(t,e))!==null&&s!==void 0?s:e.identifier===t.identifier}function z2(e,t){return Wt(e,Ws(t))}const p$={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6};function Vo(e,t,a){let n=e.calendar.toJulianDay(e),r=a?p$[a]:v$(t),s=Math.ceil(n+1-r)%7;return s<0&&(s+=7),s}function m$(e){return dr(Date.now(),e)}function Ws(e){return x$(m$(e))}function H2(e,t){return e.calendar.toJulianDay(e)-t.calendar.toJulianDay(t)}function g$(e,t){return wv(e)-wv(t)}function wv(e){return e.hour*36e5+e.minute*6e4+e.second*1e3+e.millisecond}let af=null;function Mn(){return af==null&&(af=new Intl.DateTimeFormat().resolvedOptions().timeZone),af}function Bo(e){return e.subtract({days:e.day-1})}function Cr(e){return e.add({days:e.calendar.getDaysInMonth(e)-e.day})}function gr(e){return Bo(e.subtract({months:e.month-1}))}function Ls(e){return Cr(e.add({months:e.calendar.getMonthsInYear(e)-e.month}))}function kv(e,t,a){let n=Vo(e,t,a);return e.subtract({days:n})}const Cv=new Map,nf=new Map;function h$(e){if(Intl.Locale){let a=Cv.get(e);return a||(a=new Intl.Locale(e).maximize().region,a&&Cv.set(e,a)),a}let t=e.split("-")[1];return t==="u"?void 0:t}function v$(e){let t=nf.get(e);if(!t){if(Intl.Locale){let n=new Intl.Locale(e);if("getWeekInfo"in n&&(t=n.getWeekInfo(),t))return nf.set(e,t),t.firstDay}let a=h$(e);if(e.includes("-fw-")){let n=e.split("-fw-")[1].split("-")[0];n==="mon"?t={firstDay:1}:n==="tue"?t={firstDay:2}:n==="wed"?t={firstDay:3}:n==="thu"?t={firstDay:4}:n==="fri"?t={firstDay:5}:n==="sat"?t={firstDay:6}:t={firstDay:0}}else e.includes("-ca-iso8601")?t={firstDay:1}:t={firstDay:a&&f$[a]||0};nf.set(e,t)}return t.firstDay}function zo(e){e=ua(e,new Sn);let t=ql(e.era,e.year);return U2(t,e.month,e.day,e.hour,e.minute,e.second,e.millisecond)}function U2(e,t,a,n,r,s,o){let l=new Date;return l.setUTCHours(n,r,s,o),l.setUTCFullYear(e,t-1,a),l.getTime()}function yp(e,t){if(t==="UTC")return 0;if(e>0&&t===Mn())return new Date(e).getTimezoneOffset()*-6e4;let{year:a,month:n,day:r,hour:s,minute:o,second:l}=j2(e,t);return U2(a,n,r,s,o,l,0)-Math.floor(e/1e3)*1e3}const Sv=new Map;function j2(e,t){let a=Sv.get(t);a||(a=new Intl.DateTimeFormat("en-US",{timeZone:t,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),Sv.set(t,a));let n=a.formatToParts(new Date(e)),r={};for(let s of n)s.type!=="literal"&&(r[s.type]=s.value);return{year:r.era==="BC"||r.era==="B"?-r.year+1:+r.year,month:+r.month,day:+r.day,hour:r.hour==="24"?0:+r.hour,minute:+r.minute,second:+r.second}}const Mv=864e5;function y$(e,t,a,n){return(a===n?[a]:[a,n]).filter(s=>b$(e,t,s))}function b$(e,t,a){let n=j2(a,t);return e.year===n.year&&e.month===n.month&&e.day===n.day&&e.hour===n.hour&&e.minute===n.minute&&e.second===n.second}function cr(e,t,a="compatible"){let n=Ho(e);if(t==="UTC")return zo(n);if(t===Mn()&&a==="compatible"){n=ua(n,new Sn);let c=new Date,u=ql(n.era,n.year);return c.setFullYear(u,n.month-1,n.day),c.setHours(n.hour,n.minute,n.second,n.millisecond),c.getTime()}let r=zo(n),s=yp(r-Mv,t),o=yp(r+Mv,t),l=y$(n,t,r-s,r-o);if(l.length===1)return l[0];if(l.length>1)switch(a){case"compatible":case"earlier":return l[0];case"later":return l[l.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(a){case"earlier":return Math.min(r-s,r-o);case"compatible":case"later":return Math.max(r-s,r-o);case"reject":throw new RangeError("No such absolute time found")}}function W2(e,t,a="compatible"){return new Date(cr(e,t,a))}function dr(e,t){let a=yp(e,t),n=new Date(e+a),r=n.getUTCFullYear(),s=n.getUTCMonth()+1,o=n.getUTCDate(),l=n.getUTCHours(),c=n.getUTCMinutes(),u=n.getUTCSeconds(),d=n.getUTCMilliseconds();return new jo(r<1?"BC":"AD",r<1?-r+1:r,s,o,t,a,l,c,u,d)}function x$(e){return new Nt(e.calendar,e.era,e.year,e.month,e.day)}function Ho(e,t){let a=0,n=0,r=0,s=0;if("timeZone"in e)({hour:a,minute:n,second:r,millisecond:s}=e);else if("hour"in e&&!t)return e;return t&&({hour:a,minute:n,second:r,millisecond:s}=t),new Uo(e.calendar,e.era,e.year,e.month,e.day,a,n,r,s)}function ua(e,t){if(qm(e.calendar,t))return e;let a=t.fromJulianDay(e.calendar.toJulianDay(e)),n=e.copy();return n.calendar=t,n.era=a.era,n.year=a.year,n.month=a.month,n.day=a.day,Fs(n),n}function _$(e,t,a){if(e instanceof jo)return e.timeZone===t?e:k$(e,t);let n=cr(e,t,a);return dr(n,t)}function w$(e){let t=zo(e)-e.offset;return new Date(t)}function k$(e,t){let a=zo(e)-e.offset;return ua(dr(a,t),e.calendar)}const Ai=36e5;function ld(e,t){let a=e.copy(),n="hour"in a?$$(a,t):0;bp(a,t.years||0),a.calendar.balanceYearMonth&&a.calendar.balanceYearMonth(a,e),a.month+=t.months||0,xp(a),K2(a),a.day+=(t.weeks||0)*7,a.day+=t.days||0,a.day+=n,C$(a),a.calendar.balanceDate&&a.calendar.balanceDate(a),a.year<1&&(a.year=1,a.month=1,a.day=1);let r=a.calendar.getYearsInEra(a);if(a.year>r){var s,o;let c=(s=(o=a.calendar).isInverseEra)===null||s===void 0?void 0:s.call(o,a);a.year=r,a.month=c?1:a.calendar.getMonthsInYear(a),a.day=c?1:a.calendar.getDaysInMonth(a)}a.month<1&&(a.month=1,a.day=1);let l=a.calendar.getMonthsInYear(a);return a.month>l&&(a.month=l,a.day=a.calendar.getDaysInMonth(a)),a.day=Math.max(1,Math.min(a.calendar.getDaysInMonth(a),a.day)),a}function bp(e,t){var a,n;!((a=(n=e.calendar).isInverseEra)===null||a===void 0)&&a.call(n,e)&&(t=-t),e.year+=t}function xp(e){for(;e.month<1;)bp(e,-1),e.month+=e.calendar.getMonthsInYear(e);let t=0;for(;e.month>(t=e.calendar.getMonthsInYear(e));)e.month-=t,bp(e,1)}function C$(e){for(;e.day<1;)e.month--,xp(e),e.day+=e.calendar.getDaysInMonth(e);for(;e.day>e.calendar.getDaysInMonth(e);)e.day-=e.calendar.getDaysInMonth(e),e.month++,xp(e)}function K2(e){e.month=Math.max(1,Math.min(e.calendar.getMonthsInYear(e),e.month)),e.day=Math.max(1,Math.min(e.calendar.getDaysInMonth(e),e.day))}function Fs(e){e.calendar.constrainDate&&e.calendar.constrainDate(e),e.year=Math.max(1,Math.min(e.calendar.getYearsInEra(e),e.year)),K2(e)}function G2(e){let t={};for(let a in e)typeof e[a]=="number"&&(t[a]=-e[a]);return t}function Y2(e,t){return ld(e,G2(t))}function Nm(e,t){let a=e.copy();return t.era!=null&&(a.era=t.era),t.year!=null&&(a.year=t.year),t.month!=null&&(a.month=t.month),t.day!=null&&(a.day=t.day),Fs(a),a}function gu(e,t){let a=e.copy();return t.hour!=null&&(a.hour=t.hour),t.minute!=null&&(a.minute=t.minute),t.second!=null&&(a.second=t.second),t.millisecond!=null&&(a.millisecond=t.millisecond),M$(a),a}function S$(e){e.second+=Math.floor(e.millisecond/1e3),e.millisecond=ic(e.millisecond,1e3),e.minute+=Math.floor(e.second/60),e.second=ic(e.second,60),e.hour+=Math.floor(e.minute/60),e.minute=ic(e.minute,60);let t=Math.floor(e.hour/24);return e.hour=ic(e.hour,24),t}function M$(e){e.millisecond=Math.max(0,Math.min(e.millisecond,1e3)),e.second=Math.max(0,Math.min(e.second,59)),e.minute=Math.max(0,Math.min(e.minute,59)),e.hour=Math.max(0,Math.min(e.hour,23))}function ic(e,t){let a=e%t;return a<0&&(a+=t),a}function $$(e,t){return e.hour+=t.hours||0,e.minute+=t.minutes||0,e.second+=t.seconds||0,e.millisecond+=t.milliseconds||0,S$(e)}function Fm(e,t,a,n){let r=e.copy();switch(t){case"era":{let l=e.calendar.getEras(),c=l.indexOf(e.era);if(c<0)throw new Error("Invalid era: "+e.era);c=fr(c,a,0,l.length-1,n?.round),r.era=l[c],Fs(r);break}case"year":var s,o;!((s=(o=r.calendar).isInverseEra)===null||s===void 0)&&s.call(o,r)&&(a=-a),r.year=fr(e.year,a,-1/0,9999,n?.round),r.year===-1/0&&(r.year=1),r.calendar.balanceYearMonth&&r.calendar.balanceYearMonth(r,e);break;case"month":r.month=fr(e.month,a,1,e.calendar.getMonthsInYear(e),n?.round);break;case"day":r.day=fr(e.day,a,1,e.calendar.getDaysInMonth(e),n?.round);break;default:throw new Error("Unsupported field "+t)}return e.calendar.balanceDate&&e.calendar.balanceDate(r),Fs(r),r}function X2(e,t,a,n){let r=e.copy();switch(t){case"hour":{let s=e.hour,o=0,l=23;if(n?.hourCycle===12){let c=s>=12;o=c?12:0,l=c?23:11}r.hour=fr(s,a,o,l,n?.round);break}case"minute":r.minute=fr(e.minute,a,0,59,n?.round);break;case"second":r.second=fr(e.second,a,0,59,n?.round);break;case"millisecond":r.millisecond=fr(e.millisecond,a,0,999,n?.round);break;default:throw new Error("Unsupported field "+t)}return r}function fr(e,t,a,n,r=!1){if(r){e+=Math.sign(t),e<a&&(e=n);let s=Math.abs(t);t>0?e=Math.ceil(e/s)*s:e=Math.floor(e/s)*s,e>n&&(e=a)}else e+=t,e<a?e=n-(a-e-1):e>n&&(e=a+(e-n-1));return e}function J2(e,t){let a;if(t.years!=null&&t.years!==0||t.months!=null&&t.months!==0||t.weeks!=null&&t.weeks!==0||t.days!=null&&t.days!==0){let r=ld(Ho(e),{years:t.years,months:t.months,weeks:t.weeks,days:t.days});a=cr(r,e.timeZone)}else a=zo(e)-e.offset;a+=t.milliseconds||0,a+=(t.seconds||0)*1e3,a+=(t.minutes||0)*6e4,a+=(t.hours||0)*36e5;let n=dr(a,e.timeZone);return ua(n,e.calendar)}function A$(e,t){return J2(e,G2(t))}function I$(e,t,a,n){switch(t){case"hour":{let r=0,s=23;if(n?.hourCycle===12){let g=e.hour>=12;r=g?12:0,s=g?23:11}let o=Ho(e),l=ua(gu(o,{hour:r}),new Sn),c=[cr(l,e.timeZone,"earlier"),cr(l,e.timeZone,"later")].filter(g=>dr(g,e.timeZone).day===l.day)[0],u=ua(gu(o,{hour:s}),new Sn),d=[cr(u,e.timeZone,"earlier"),cr(u,e.timeZone,"later")].filter(g=>dr(g,e.timeZone).day===u.day).pop(),f=zo(e)-e.offset,p=Math.floor(f/Ai),m=f%Ai;return f=fr(p,a,Math.floor(c/Ai),Math.floor(d/Ai),n?.round)*Ai+m,ua(dr(f,e.timeZone),e.calendar)}case"minute":case"second":case"millisecond":return X2(e,t,a,n);case"era":case"year":case"month":case"day":{let r=Fm(Ho(e),t,a,n),s=cr(r,e.timeZone);return ua(dr(s,e.timeZone),e.calendar)}default:throw new Error("Unsupported field "+t)}}function T$(e,t,a){let n=Ho(e),r=gu(Nm(n,t),t);if(r.compare(n)===0)return e;let s=cr(r,e.timeZone,a);return ua(dr(s,e.timeZone),e.calendar)}function P$(e){return`${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${e.millisecond?String(e.millisecond/1e3).slice(1):""}`}function Q2(e){let t=ua(e,new Sn),a;return t.era==="BC"?a=t.year===1?"0000":"-"+String(Math.abs(1-t.year)).padStart(6,"00"):a=String(t.year).padStart(4,"0"),`${a}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`}function Z2(e){return`${Q2(e)}T${P$(e)}`}function D$(e){let t=Math.sign(e)<0?"-":"+";e=Math.abs(e);let a=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4),r=Math.floor(e%36e5%6e4/1e3),s=`${t}${String(a).padStart(2,"0")}:${String(n).padStart(2,"0")}`;return r!==0&&(s+=`:${String(r).padStart(2,"0")}`),s}function E$(e){return`${Z2(e)}${D$(e.offset)}[${e.timeZone}]`}function R$(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Vm(e,t,a){R$(e,t),t.set(e,a)}function Bm(e){let t=typeof e[0]=="object"?e.shift():new Sn,a;if(typeof e[0]=="string")a=e.shift();else{let o=t.getEras();a=o[o.length-1]}let n=e.shift(),r=e.shift(),s=e.shift();return[t,a,n,r,s]}var O$=new WeakMap;class Nt{copy(){return this.era?new Nt(this.calendar,this.era,this.year,this.month,this.day):new Nt(this.calendar,this.year,this.month,this.day)}add(t){return ld(this,t)}subtract(t){return Y2(this,t)}set(t){return Nm(this,t)}cycle(t,a,n){return Fm(this,t,a,n)}toDate(t){return W2(this,t)}toString(){return Q2(this)}compare(t){return H2(this,t)}constructor(...t){Vm(this,O$,{writable:!0,value:void 0});let[a,n,r,s,o]=Bm(t);this.calendar=a,this.era=n,this.year=r,this.month=s,this.day=o,Fs(this)}}var L$=new WeakMap;class Uo{copy(){return this.era?new Uo(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new Uo(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(t){return ld(this,t)}subtract(t){return Y2(this,t)}set(t){return Nm(gu(this,t),t)}cycle(t,a,n){switch(t){case"era":case"year":case"month":case"day":return Fm(this,t,a,n);default:return X2(this,t,a,n)}}toDate(t,a){return W2(this,t,a)}toString(){return Z2(this)}compare(t){let a=H2(this,t);return a===0?g$(this,Ho(t)):a}constructor(...t){Vm(this,L$,{writable:!0,value:void 0});let[a,n,r,s,o]=Bm(t);this.calendar=a,this.era=n,this.year=r,this.month=s,this.day=o,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Fs(this)}}var q$=new WeakMap;class jo{copy(){return this.era?new jo(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new jo(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(t){return J2(this,t)}subtract(t){return A$(this,t)}set(t,a){return T$(this,t,a)}cycle(t,a,n){return I$(this,t,a,n)}toDate(){return w$(this)}toString(){return E$(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(t){return this.toDate().getTime()-_$(t,this.timeZone).toDate().getTime()}constructor(...t){Vm(this,q$,{writable:!0,value:void 0});let[a,n,r,s,o]=Bm(t),l=t.shift(),c=t.shift();this.calendar=a,this.era=n,this.year=r,this.month=s,this.day=o,this.timeZone=l,this.offset=c,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,Fs(this)}}const So=[[1868,9,8],[1912,7,30],[1926,12,25],[1989,1,8],[2019,5,1]],N$=[[1912,7,29],[1926,12,24],[1989,1,7],[2019,4,30]],Nc=[1867,1911,1925,1988,2018],Xr=["meiji","taisho","showa","heisei","reiwa"];function $v(e){const t=So.findIndex(([a,n,r])=>e.year<a||e.year===a&&e.month<n||e.year===a&&e.month===n&&e.day<r);return t===-1?So.length-1:t===0?0:t-1}function rf(e){let t=Nc[Xr.indexOf(e.era)];if(!t)throw new Error("Unknown era: "+e.era);return new Nt(e.year+t,e.month,e.day)}class F$ extends Sn{fromJulianDay(t){let a=super.fromJulianDay(t),n=$v(a);return new Nt(this,Xr[n],a.year-Nc[n],a.month,a.day)}toJulianDay(t){return super.toJulianDay(rf(t))}balanceDate(t){let a=rf(t),n=$v(a);Xr[n]!==t.era&&(t.era=Xr[n],t.year=a.year-Nc[n]),this.constrainDate(t)}constrainDate(t){let a=Xr.indexOf(t.era),n=N$[a];if(n!=null){let[r,s,o]=n,l=r-Nc[a];t.year=Math.max(1,Math.min(l,t.year)),t.year===l&&(t.month=Math.min(s,t.month),t.month===s&&(t.day=Math.min(o,t.day)))}if(t.year===1&&a>=0){let[,r,s]=So[a];t.month=Math.max(r,t.month),t.month===r&&(t.day=Math.max(s,t.day))}}getEras(){return Xr}getYearsInEra(t){let a=Xr.indexOf(t.era),n=So[a],r=So[a+1];if(r==null)return 9999-n[0]+1;let s=r[0]-n[0];return(t.month<r[1]||t.month===r[1]&&t.day<r[2])&&s++,s}getDaysInMonth(t){return super.getDaysInMonth(rf(t))}getMinimumMonthInYear(t){let a=Av(t);return a?a[1]:1}getMinimumDayInMonth(t){let a=Av(t);return a&&t.month===a[1]?a[2]:1}constructor(...t){super(...t),this.identifier="japanese"}}function Av(e){if(e.year===1){let t=Xr.indexOf(e.era);return So[t]}}const ex=-543;class V$ extends Sn{fromJulianDay(t){let a=super.fromJulianDay(t),n=ql(a.era,a.year);return new Nt(this,n-ex,a.month,a.day)}toJulianDay(t){return super.toJulianDay(Iv(t))}getEras(){return["BE"]}getDaysInMonth(t){return super.getDaysInMonth(Iv(t))}balanceDate(){}constructor(...t){super(...t),this.identifier="buddhist"}}function Iv(e){let[t,a]=od(e.year+ex);return new Nt(t,a,e.month,e.day)}const hu=1911;function tx(e){return e.era==="minguo"?e.year+hu:1-e.year+hu}function Tv(e){let t=e-hu;return t>0?["minguo",t]:["before_minguo",1-t]}class B$ extends Sn{fromJulianDay(t){let a=super.fromJulianDay(t),n=ql(a.era,a.year),[r,s]=Tv(n);return new Nt(this,r,s,a.month,a.day)}toJulianDay(t){return super.toJulianDay(Pv(t))}getEras(){return["before_minguo","minguo"]}balanceDate(t){let[a,n]=Tv(tx(t));t.era=a,t.year=n}isInverseEra(t){return t.era==="before_minguo"}getDaysInMonth(t){return super.getDaysInMonth(Pv(t))}getYearsInEra(t){return t.era==="before_minguo"?9999:9999-hu}constructor(...t){super(...t),this.identifier="roc"}}function Pv(e){let[t,a]=od(tx(e));return new Nt(t,a,e.month,e.day)}const Dv=1948320,Ev=[0,31,62,93,124,155,186,216,246,276,306,336];class z${fromJulianDay(t){let a=t-Dv,n=1+Math.floor((33*a+3)/12053),r=365*(n-1)+Math.floor((8*n+21)/33),s=a-r,o=s<216?Math.floor(s/31):Math.floor((s-6)/30),l=s-Ev[o]+1;return new Nt(this,n,o+1,l)}toJulianDay(t){let a=Dv-1+365*(t.year-1)+Math.floor((8*t.year+21)/33);return a+=Ev[t.month-1],a+=t.day,a}getMonthsInYear(){return 12}getDaysInMonth(t){return t.month<=6?31:t.month<=11||Co(25*t.year+11,33)<8?30:29}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getEras(){return["AP"]}getYearsInEra(){return 9377}constructor(){this.identifier="persian"}}const sf=78,Rv=80;class H$ extends Sn{fromJulianDay(t){let a=super.fromJulianDay(t),n=a.year-sf,r=t-$s(a.era,a.year,1,1),s;r<Rv?(n--,s=Qr(a.year-1)?31:30,r+=s+155+90+10):(s=Qr(a.year)?31:30,r-=Rv);let o,l;if(r<s)o=1,l=r+1;else{let c=r-s;c<155?(o=Math.floor(c/31)+2,l=c%31+1):(c-=155,o=Math.floor(c/30)+7,l=c%30+1)}return new Nt(this,n,o,l)}toJulianDay(t){let a=t.year+sf,[n,r]=od(a),s,o;return Qr(r)?(s=31,o=$s(n,r,3,21)):(s=30,o=$s(n,r,3,22)),t.month===1?o+t.day-1:(o+=s+Math.min(t.month-2,5)*31,t.month>=8&&(o+=(t.month-7)*30),o+=t.day-1,o)}getDaysInMonth(t){return t.month===1&&Qr(t.year+sf)||t.month>=2&&t.month<=6?31:30}getYearsInEra(){return 9919}getEras(){return["saka"]}balanceDate(){}constructor(...t){super(...t),this.identifier="indian"}}const vu=1948440,Ov=1948439,nn=1300,ro=1600,U$=460322;function yu(e,t,a,n){return n+Math.ceil(29.5*(a-1))+(t-1)*354+Math.floor((3+11*t)/30)+e-1}function ax(e,t,a){let n=Math.floor((30*(a-t)+10646)/10631),r=Math.min(12,Math.ceil((a-(29+yu(t,n,1,1)))/29.5)+1),s=a-yu(t,n,r,1)+1;return new Nt(e,n,r,s)}function Lv(e){return(14+11*e)%30<11}class zm{fromJulianDay(t){return ax(this,vu,t)}toJulianDay(t){return yu(vu,t.year,t.month,t.day)}getDaysInMonth(t){let a=29+t.month%2;return t.month===12&&Lv(t.year)&&a++,a}getMonthsInYear(){return 12}getDaysInYear(t){return Lv(t.year)?355:354}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 30}getYearsInEra(){return 9665}getEras(){return["AH"]}constructor(){this.identifier="islamic-civil"}}class j$ extends zm{fromJulianDay(t){return ax(this,Ov,t)}toJulianDay(t){return yu(Ov,t.year,t.month,t.day)}constructor(...t){super(...t),this.identifier="islamic-tbla"}}const W$="qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=";let _p,Mo;function Fc(e){return U$+Mo[e-nn]}function Oi(e,t){let a=e-nn,n=1<<11-(t-1);return(_p[a]&n)===0?29:30}function qv(e,t){let a=Fc(e);for(let n=1;n<t;n++)a+=Oi(e,n);return a}function Nv(e){return Mo[e+1-nn]-Mo[e-nn]}class K$ extends zm{fromJulianDay(t){let a=t-vu,n=Fc(nn),r=Fc(ro);if(a<n||a>r)return super.fromJulianDay(t);{let s=nn-1,o=1,l=1;for(;l>0;){s++,l=a-Fc(s)+1;let c=Nv(s);if(l===c){o=12;break}else if(l<c){let u=Oi(s,o);for(o=1;l>u;)l-=u,o++,u=Oi(s,o);break}}return new Nt(this,s,o,a-qv(s,o)+1)}}toJulianDay(t){return t.year<nn||t.year>ro?super.toJulianDay(t):vu+qv(t.year,t.month)+(t.day-1)}getDaysInMonth(t){return t.year<nn||t.year>ro?super.getDaysInMonth(t):Oi(t.year,t.month)}getDaysInYear(t){return t.year<nn||t.year>ro?super.getDaysInYear(t):Nv(t.year)}constructor(){if(super(),this.identifier="islamic-umalqura",_p||(_p=new Uint16Array(Uint8Array.from(atob(W$),t=>t.charCodeAt(0)).buffer)),!Mo){Mo=new Uint32Array(ro-nn+1);let t=0;for(let a=nn;a<=ro;a++){Mo[a-nn]=t;for(let n=1;n<=12;n++)t+=Oi(a,n)}}}}const Fv=347997,nx=1080,rx=24*nx,G$=29,Y$=12*nx+793,X$=G$*rx+Y$;function Cs(e){return Co(e*7+1,19)<7}function Vc(e){let t=Math.floor((235*e-234)/19),a=12084+13753*t,n=t*29+Math.floor(a/25920);return Co(3*(n+1),7)<3&&(n+=1),n}function J$(e){let t=Vc(e-1),a=Vc(e);return Vc(e+1)-a===356?2:a-t===382?1:0}function Wi(e){return Vc(e)+J$(e)}function sx(e){return Wi(e+1)-Wi(e)}function Q$(e){let t=sx(e);switch(t>380&&(t-=30),t){case 353:return 0;case 354:return 1;case 355:return 2}}function lc(e,t){if(t>=6&&!Cs(e)&&t++,t===4||t===7||t===9||t===11||t===13)return 29;let a=Q$(e);return t===2?a===2?30:29:t===3?a===0?29:30:t===6?Cs(e)?30:0:30}class Z${fromJulianDay(t){let a=t-Fv,n=a*rx/X$,r=Math.floor((19*n+234)/235)+1,s=Wi(r),o=Math.floor(a-s);for(;o<1;)r--,s=Wi(r),o=Math.floor(a-s);let l=1,c=0;for(;c<o;)c+=lc(r,l),l++;l--,c-=lc(r,l);let u=o-c;return new Nt(this,r,l,u)}toJulianDay(t){let a=Wi(t.year);for(let n=1;n<t.month;n++)a+=lc(t.year,n);return a+t.day+Fv}getDaysInMonth(t){return lc(t.year,t.month)}getMonthsInYear(t){return Cs(t.year)?13:12}getDaysInYear(t){return sx(t.year)}getMaximumMonthsInYear(){return 13}getMaximumDaysInMonth(){return 30}getYearsInEra(){return 9999}getEras(){return["AM"]}balanceYearMonth(t,a){a.year!==t.year&&(Cs(a.year)&&!Cs(t.year)&&a.month>6?t.month--:!Cs(a.year)&&Cs(t.year)&&a.month>6&&t.month++)}constructor(){this.identifier="hebrew"}}const wp=1723856,Vv=1824665,kp=5500;function bu(e,t,a,n){return e+365*t+Math.floor(t/4)+30*(a-1)+n-1}function Hm(e,t){let a=Math.floor(4*(t-e)/1461),n=1+Math.floor((t-bu(e,a,1,1))/30),r=t+1-bu(e,a,n,1);return[a,n,r]}function ox(e){return Math.floor(e%4/3)}function ix(e,t){return t%13!==0?30:ox(e)+5}class Um{fromJulianDay(t){let[a,n,r]=Hm(wp,t),s="AM";return a<=0&&(s="AA",a+=kp),new Nt(this,s,a,n,r)}toJulianDay(t){let a=t.year;return t.era==="AA"&&(a-=kp),bu(wp,a,t.month,t.day)}getDaysInMonth(t){return ix(t.year,t.month)}getMonthsInYear(){return 13}getDaysInYear(t){return 365+ox(t.year)}getMaximumMonthsInYear(){return 13}getMaximumDaysInMonth(){return 30}getYearsInEra(t){return t.era==="AA"?9999:9991}getEras(){return["AA","AM"]}constructor(){this.identifier="ethiopic"}}class eA extends Um{fromJulianDay(t){let[a,n,r]=Hm(wp,t);return a+=kp,new Nt(this,"AA",a,n,r)}getEras(){return["AA"]}getYearsInEra(){return 9999}constructor(...t){super(...t),this.identifier="ethioaa"}}class tA extends Um{fromJulianDay(t){let[a,n,r]=Hm(Vv,t),s="CE";return a<=0&&(s="BCE",a=1-a),new Nt(this,s,a,n,r)}toJulianDay(t){let a=t.year;return t.era==="BCE"&&(a=1-a),bu(Vv,a,t.month,t.day)}getDaysInMonth(t){let a=t.year;return t.era==="BCE"&&(a=1-a),ix(a,t.month)}isInverseEra(t){return t.era==="BCE"}balanceDate(t){t.year<=0&&(t.era=t.era==="BCE"?"CE":"BCE",t.year=1-t.year)}getEras(){return["BCE","CE"]}getYearsInEra(t){return t.era==="BCE"?9999:9715}constructor(...t){super(...t),this.identifier="coptic"}}function aA(e){switch(e){case"buddhist":return new V$;case"ethiopic":return new Um;case"ethioaa":return new eA;case"coptic":return new tA;case"hebrew":return new Z$;case"indian":return new H$;case"islamic-civil":return new zm;case"islamic-tbla":return new j$;case"islamic-umalqura":return new K$;case"japanese":return new F$;case"persian":return new z$;case"roc":return new B$;default:return new Sn}}let of=new Map;class tr{format(t){return this.formatter.format(t)}formatToParts(t){return this.formatter.formatToParts(t)}formatRange(t,a){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(t,a);if(a<t)throw new RangeError("End date must be >= start date");return`${this.formatter.format(t)} – ${this.formatter.format(a)}`}formatRangeToParts(t,a){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(t,a);if(a<t)throw new RangeError("End date must be >= start date");let n=this.formatter.formatToParts(t),r=this.formatter.formatToParts(a);return[...n.map(s=>({...s,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...r.map(s=>({...s,source:"endRange"}))]}resolvedOptions(){let t=this.formatter.resolvedOptions();return sA()&&(this.resolvedHourCycle||(this.resolvedHourCycle=oA(t.locale,this.options)),t.hourCycle=this.resolvedHourCycle,t.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),t.calendar==="ethiopic-amete-alem"&&(t.calendar="ethioaa"),t}constructor(t,a={}){this.formatter=lx(t,a),this.options=a}}const nA={true:{ja:"h11"},false:{}};function lx(e,t={}){if(typeof t.hour12=="boolean"&&rA()){t={...t};let r=nA[String(t.hour12)][e.split("-")[0]],s=t.hour12?"h12":"h23";t.hourCycle=r??s,delete t.hour12}let a=e+(t?Object.entries(t).sort((r,s)=>r[0]<s[0]?-1:1).join():"");if(of.has(a))return of.get(a);let n=new Intl.DateTimeFormat(e,t);return of.set(a,n),n}let lf=null;function rA(){return lf==null&&(lf=new Intl.DateTimeFormat("en-US",{hour:"numeric",hour12:!1}).format(new Date(2020,2,3,0))==="24"),lf}let cf=null;function sA(){return cf==null&&(cf=new Intl.DateTimeFormat("fr",{hour:"numeric",hour12:!1}).resolvedOptions().hourCycle==="h12"),cf}function oA(e,t){if(!t.timeStyle&&!t.hour)return;e=e.replace(/(-u-)?-nu-[a-zA-Z0-9]+/,""),e+=(e.includes("-u-")?"":"-u")+"-nu-latn";let a=lx(e,{...t,timeZone:void 0}),n=parseInt(a.formatToParts(new Date(2020,2,3,0)).find(s=>s.type==="hour").value,10),r=parseInt(a.formatToParts(new Date(2020,2,3,23)).find(s=>s.type==="hour").value,10);if(n===0&&r===23)return"h23";if(n===24&&r===23)return"h24";if(n===0&&r===11)return"h11";if(n===12&&r===11)return"h12";throw new Error("Unexpected hour cycle result")}function Gt(e,t=Mn()){return jm(e)?e.toDate():e.toDate(t)}function iA(e){return e instanceof Uo}function jm(e){return e instanceof jo}function lA(e){return iA(e)||jm(e)}function $o(e){if(e instanceof Date){const t=e.getFullYear(),a=e.getMonth()+1;return new Date(t,a,0).getDate()}else return e.set({day:100}).day}function La(e,t){return e.compare(t)<0}function Bn(e,t){return e.compare(t)>0}function cA(e,t){return e.compare(t)<=0}function uA(e,t){return e.compare(t)>=0}function dA(e,t,a){return uA(e,t)&&cA(e,a)}function uf(e,t,a){return Bn(e,t)&&La(e,a)}function fA(e,t,a){const n=Vo(e,a,"sun");return t>n?e.subtract({days:n+7-t}):t===n?e:e.subtract({days:n-t})}function pA(e,t,a){const n=Vo(e,a,"sun"),r=t===0?6:t-1;return n===r?e:n>r?e.add({days:7-n+r}):e.add({days:r-n})}function At(e,t){return e.year===t.year&&e.month===t.month}function It(e,t){return e.year===t.year}function mA(e,t,a,n,r){if(a===void 0&&n===void 0&&r===void 0)return!0;let s=e.add({days:1});if((n?.(s)||a?.(s))&&!r?.(s))return!1;const o=t;for(;s.compare(o)<0;)if(s=s.add({days:1}),(n?.(s)||a?.(s))&&!r?.(s))return!1;return!0}function ma(e,t){return e.year!==t.year?e.year-t.year:e.month-t.month}function gA(e,t,a){return ma(e,t)>=0&&ma(e,a)<=0}function hA(e,t,a){return e.year>=t.year&&e.year<=a.year}function vA(e,t){return(t.year-e.year)*12+(t.month-e.month)+1}function yA(e,t){return t.year-e.year+1}function bA(e,t,a,n){if(a===void 0&&n===void 0)return!0;let r=e.set({day:1});const s=t.set({day:1});for(;ma(r,s)<=0;){if(n?.(r)||a?.(r))return!1;r=r.add({months:1})}return!0}function xA(e,t,a,n){if(a===void 0&&n===void 0)return!0;let r=e.set({day:1,month:1});const s=t.set({day:1,month:1});for(;r.year<=s.year;){if(n?.(r)||a?.(r))return!1;r=r.add({years:1})}return!0}function ei(e){const{defaultValue:t,defaultPlaceholder:a,granularity:n="day",locale:r="en"}=e;if(Array.isArray(t)&&t.length)return t.at(-1).copy();if(t&&!Array.isArray(t))return t.copy();if(a)return a.copy();const s=new Date,o=s.getFullYear(),l=s.getMonth()+1,c=s.getDate(),u=["hour","minute","second"],d=new tr(r),f=aA(d.resolvedOptions().calendar);return u.includes(n??"day")?ua(new Uo(o,l,c,0,0,0),f):ua(new Nt(o,l,c),f)}function Wm(e,t){const a=[];for(let n=0;n<e.length;n+=t)a.push(e.slice(n,n+t));return a}function ti(e){const t=e.querySelector("[data-selected]");if(t)return t.focus();const a=e.querySelector("[data-today]");if(a)return a.focus();const n=e.querySelector("[data-reka-calendar-day]");if(n)return n.focus()}function Cp(e,t){const a=[];let n=e.add({days:1});const r=t;for(;n.compare(r)<0;)a.push(n),n=n.add({days:1});return a}function df(e){const{dateObj:t,weekStartsOn:a,fixedWeeks:n,locale:r}=e,s=$o(t),o=Array.from({length:s},(_,v)=>t.set({day:v+1})),l=Bo(t),c=Cr(t),u=fA(l,a,r),d=pA(c,a,r),f=Cp(u.subtract({days:1}),l),p=Cp(c,d.add({days:1})),m=f.length+o.length+p.length;if(n&&m<42){const _=42-m;let v=p.at(-1);v||(v=Cr(t));const h=Array.from({length:_},(k,w)=>{const A=w+1;return v.add({days:A})});p.push(...h)}const g=f.concat(o,p),y=Wm(g,7);return{value:t,cells:g,rows:y}}function _A(e){return gr(e.subtract({years:e.year-Math.floor(e.year/10)*10}).set({day:1,month:1}))}function wA(e){const{dateObj:t,numberOfMonths:a=1,pagedNavigation:n=!1}=e;return a&&n?Array.from({length:Math.floor(12/a)},(o,l)=>Bo(t.set({month:l*a+1}))):Array.from({length:12},(s,o)=>Bo(t.set({month:o+1})))}function gs(e){const{numberOfMonths:t,dateObj:a,...n}=e,r=[];if(!t||t===1)return r.push(df({...n,dateObj:a})),r;r.push(df({...n,dateObj:a}));for(let s=1;s<t;s++){const o=a.add({months:s});r.push(df({...n,dateObj:o}))}return r}function hs(e){const{dateObj:t}=e,a=wA({dateObj:t});return{value:t,cells:a,rows:Wm(a,4)}}function vs(e){const{dateObj:t,yearsPerPage:a=12,decadeAligned:n=!0}=e;let r;n?r=_A(t).year:r=t.year;const s=Array.from({length:a},(l,c)=>gr(t.set({year:r+c})));return{value:s[0],cells:s,rows:Wm(s,4)}}function cx(e){const t=new Nt(2025,1,6);return(1-Vo(t,e)+7)%7}function kA(e,t="en-US",a){const n=new Nt(e.year,1,1),r=n.toDate("UTC").getUTCDay()!==Vo(n,t),s=a??(r?"mon":"sun"),o=r?4:1,l=Vo(e,t,s),u=e.add({days:7-o-l}).year,d=new Nt(u,1,o),f=kv(d,t,s),p=kv(e,t,s),m=10080*60*1e3;return Math.round((p.toDate("UTC").getTime()-f.toDate("UTC").getTime())/m)+1}function Km(e,t={}){const a=E(e);function n(){return a.value}function r(_){a.value=_}function s(_,v){return new tr(a.value,{...t,...v}).format(_)}function o(_,v=!0){return lA(_)&&v?s(Gt(_),{dateStyle:"long",timeStyle:"long"}):s(Gt(_),{dateStyle:"long"})}function l(_,v={}){return new tr(a.value,{...t,month:"long",year:"numeric",...v}).format(_)}function c(_,v={}){return new tr(a.value,{...t,month:"long",...v}).format(_)}function u(){const _=Ws(Mn());return[1,2,3,4,5,6,7,8,9,10,11,12].map(h=>({label:c(Gt(_.set({month:h}))),value:h}))}function d(_,v={}){return new tr(a.value,{...t,year:"numeric",...v}).format(_)}function f(_,v){return jm(_)?new tr(a.value,{...t,...v,timeZone:_.timeZone}).formatToParts(Gt(_)):new tr(a.value,{...t,...v}).formatToParts(Gt(_))}function p(_,v="narrow"){return new tr(a.value,{...t,weekday:v}).format(_)}function m(_){const h=new tr(a.value,{...t,hour:"numeric",minute:"numeric"}).formatToParts(_).find(k=>k.type==="dayPeriod")?.value;return h==="PM"||h==="pm"||h==="p.m."?"PM":"AM"}const g={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"};function y(_,v,h={}){const k={...g,...h},A=f(_,k).find(M=>M.type===v);return A?A.value:""}return{setLocale:r,getLocale:n,fullMonth:c,fullYear:d,fullMonthAndYear:l,toParts:f,custom:s,part:y,dayPeriod:m,selectedDate:o,dayOfWeek:p,getMonths:u}}function cn(e){const t=Ll({dir:E("ltr")});return $(()=>e?.value||t.dir?.value||"ltr")}function Pr(e){const t=Rt(),a=t?.type.emits,n={};return a?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),a?.forEach(r=>{n[qi(qa(r))]=(...s)=>e(r,...s)}),n}let ff=0;function Gm(){Bt(e=>{if(!Wa)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??Bv()),document.body.insertAdjacentElement("beforeend",t[1]??Bv()),ff++,e(()=>{ff===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(a=>a.remove()),ff--})})}function Bv(){const e=document.createElement("span");return e.setAttribute("data-reka-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function Nl(e){return $(()=>Ze(e)?!!_a(e)?.closest("form"):!0)}function Le(){const e=Rt(),t=E(),a=$(()=>n());xm(()=>{a.value!==n()&&jf(t)});function n(){return t.value&&"$el"in t.value&&["#text","#comment"].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:_a(t)}const r=Object.assign({},e.exposed),s={};for(const l in e.props)Object.defineProperty(s,l,{enumerable:!0,configurable:!0,get:()=>e.props[l]});if(Object.keys(r).length>0)for(const l in r)Object.defineProperty(s,l,{enumerable:!0,configurable:!0,get:()=>r[l]});Object.defineProperty(s,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function o(l){if(t.value=l,!!l&&(Object.defineProperty(s,"$el",{enumerable:!0,configurable:!0,get:()=>l instanceof Element?l:l.$el}),!(l instanceof Element)&&!Object.hasOwn(l,"$el"))){const c=l.$.exposed,u=Object.assign({},s);for(const d in c)Object.defineProperty(u,d,{enumerable:!0,configurable:!0,get:()=>c[d]});e.exposed=u}}return{forwardRef:o,currentRef:t,currentElement:a}}function $n(e){const t=Rt(),a=Object.keys(t?.type.props??{}).reduce((r,s)=>{const o=(t?.type.props[s]).default;return o!==void 0&&(r[s]=o),r},{}),n=_t(e);return $(()=>{const r={},s=t?.vnode.props??{};return Object.keys(s).forEach(o=>{r[qa(o)]=s[o]}),Object.keys({...a,...r}).reduce((o,l)=>(n.value[l]!==void 0&&(o[l]=n.value[l]),o),{})})}function Ka(e,t){const a=$n(e),n=t?Pr(t):{};return $(()=>({...a.value,...n}))}function ux(e,t){const a=m2(!1,300);Ir(()=>{a.value=!1});const n=E(null),r=l2();function s(){n.value=null,a.value=!1}function o(l,c){if(!c)return;const u=l.currentTarget,d={x:l.clientX,y:l.clientY},f=CA(d,u.getBoundingClientRect()),p=SA(d,f,1),m=MA(c.getBoundingClientRect()),g=AA([...p,...m]);n.value=g,a.value=!0}return Bt(l=>{if(e.value&&t.value){const c=d=>o(d,t.value),u=d=>o(d,e.value);e.value.addEventListener("pointerleave",c),t.value.addEventListener("pointerleave",u),l(()=>{e.value?.removeEventListener("pointerleave",c),t.value?.removeEventListener("pointerleave",u)})}}),Bt(l=>{if(n.value){const c=u=>{if(!n.value||!(u.target instanceof Element))return;const d=u.target,f={x:u.clientX,y:u.clientY},p=e.value?.contains(d)||t.value?.contains(d),m=!$A(f,n.value),g=!!d.closest("[data-grace-area-trigger]");p?s():(m||g)&&(s(),r.trigger())};e.value?.ownerDocument.addEventListener("pointermove",c),l(()=>e.value?.ownerDocument.removeEventListener("pointermove",c))}}),{isPointerInTransit:a,onPointerExit:r.on}}function CA(e,t){const a=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(a,n,r,s)){case s:return"left";case r:return"right";case a:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function SA(e,t,a=5){const n=[];switch(t){case"top":n.push({x:e.x-a,y:e.y+a},{x:e.x+a,y:e.y+a});break;case"bottom":n.push({x:e.x-a,y:e.y-a},{x:e.x+a,y:e.y-a});break;case"left":n.push({x:e.x+a,y:e.y-a},{x:e.x+a,y:e.y+a});break;case"right":n.push({x:e.x-a,y:e.y-a},{x:e.x-a,y:e.y+a});break}return n}function MA(e){const{top:t,right:a,bottom:n,left:r}=e;return[{x:r,y:t},{x:a,y:t},{x:a,y:n},{x:r,y:n}]}function $A(e,t){const{x:a,y:n}=e;let r=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s].x,c=t[s].y,u=t[o].x,d=t[o].y;c>n!=d>n&&a<(u-l)*(n-c)/(d-c)+l&&(r=!r)}return r}function AA(e){const t=e.slice();return t.sort((a,n)=>a.x<n.x?-1:a.x>n.x?1:a.y<n.y?-1:a.y>n.y?1:0),IA(t)}function IA(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const s=t.at(-1),o=t[t.length-2];if((s.x-o.x)*(r.y-o.y)>=(s.y-o.y)*(r.x-o.x))t.pop();else break}t.push(r)}t.pop();const a=[];for(let n=e.length-1;n>=0;n--){const r=e[n];for(;a.length>=2;){const s=a.at(-1),o=a[a.length-2];if((s.x-o.x)*(r.y-o.y)>=(s.y-o.y)*(r.x-o.x))a.pop();else break}a.push(r)}return a.pop(),t.length===1&&a.length===1&&t[0].x===a[0].x&&t[0].y===a[0].y?t:t.concat(a)}var TA=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},so=new WeakMap,cc=new WeakMap,uc={},pf=0,dx=function(e){return e&&(e.host||dx(e.parentNode))},PA=function(e,t){return t.map(function(a){if(e.contains(a))return a;var n=dx(a);return n&&e.contains(n)?n:(console.error("aria-hidden",a,"in not contained inside",e,". Doing nothing"),null)}).filter(function(a){return!!a})},DA=function(e,t,a,n){var r=PA(t,Array.isArray(e)?e:[e]);uc[a]||(uc[a]=new WeakMap);var s=uc[a],o=[],l=new Set,c=new Set(r),u=function(f){!f||l.has(f)||(l.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(p){if(l.has(p))d(p);else try{var m=p.getAttribute(n),g=m!==null&&m!=="false",y=(so.get(p)||0)+1,_=(s.get(p)||0)+1;so.set(p,y),s.set(p,_),o.push(p),y===1&&g&&cc.set(p,!0),_===1&&p.setAttribute(a,"true"),g||p.setAttribute(n,"true")}catch(v){console.error("aria-hidden: cannot operate on ",p,v)}})};return d(t),l.clear(),pf++,function(){o.forEach(function(f){var p=so.get(f)-1,m=s.get(f)-1;so.set(f,p),s.set(f,m),p||(cc.has(f)||f.removeAttribute(n),cc.delete(f)),m||f.removeAttribute(a)}),pf--,pf||(so=new WeakMap,so=new WeakMap,cc=new WeakMap,uc={})}},EA=function(e,t,a){a===void 0&&(a="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),r=TA(e);return r?(n.push.apply(n,Array.from(r.querySelectorAll("[aria-live], script"))),DA(n,r,a,"aria-hidden")):function(){return null}};function cd(e){let t;Pe(()=>_a(e),a=>{let n=!1;try{n=!!a?.closest("[popover]:not(:popover-open)")}catch{}a&&!n?t=EA(a):t&&t()}),Ft(()=>{t&&t()})}function da(e,t="reka"){let a;const n=Ll({useId:void 0});return n.useId?a=n.useId():a=Uu?.(),t?`${t}-${a}`:a}function Kn(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}function Ks(e){const t=Ll({locale:E("en")});return $(()=>e?.value||t.locale?.value||"en")}function fx(e){const t=E(),a=$(()=>t.value?.width??0),n=$(()=>t.value?.height??0);return Ke(()=>{const r=_a(e);if(r){t.value={width:r.offsetWidth,height:r.offsetHeight};const s=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const l=o[0];let c,u;if("borderBoxSize"in l){const d=l.borderBoxSize,f=Array.isArray(d)?d[0]:d;c=f.inlineSize,u=f.blockSize}else c=r.offsetWidth,u=r.offsetHeight;t.value={width:c,height:u}});return s.observe(r,{box:"border-box"}),()=>s.unobserve(r)}else t.value=void 0}),{width:a,height:n}}function RA(e,t){const a=E(e);function n(s){return t[a.value][s]??a.value}return{state:a,dispatch:s=>{a.value=n(s)}}}function Ym(e){const t=m2("",1e3);return{search:t,handleTypeaheadSearch:(r,s)=>{t.value=t.value+r;{const o=Yt(),l=s.map(p=>({...p,textValue:p.value?.textValue??p.ref.textContent?.trim()??""})),c=l.find(p=>p.ref===o),u=l.map(p=>p.textValue),d=LA(u,t.value,c?.textValue),f=l.find(p=>p.textValue===d);return f&&f.ref.focus(),f?.ref}},resetTypeahead:()=>{t.value=""}}}function OA(e,t){return e.map((a,n)=>e[(t+n)%e.length])}function LA(e,t,a){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=a?e.indexOf(a):-1;let o=OA(e,Math.max(s,0));r.length===1&&(o=o.filter(u=>u!==a));const c=o.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return c!==a?c:void 0}function qA(e,t){const a=E({}),n=E("none"),r=E(e),s=e.value?"mounted":"unmounted";let o;const l=t.value?.ownerDocument.defaultView??Tr,{state:c,dispatch:u}=RA(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=_=>{if(Wa){const v=new CustomEvent(_,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(v)}};Pe(e,async(_,v)=>{const h=v!==_;if(await je(),h){const k=n.value,w=dc(t.value);_?(u("MOUNT"),d("enter"),w==="none"&&d("after-enter")):w==="none"||w==="undefined"||a.value?.display==="none"?(u("UNMOUNT"),d("leave"),d("after-leave")):v&&k!==w?(u("ANIMATION_OUT"),d("leave")):(u("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=_=>{const v=dc(t.value),h=v.includes(CSS.escape(_.animationName)),k=c.value==="mounted"?"enter":"leave";if(_.target===t.value&&h&&(d(`after-${k}`),u("ANIMATION_END"),!r.value)){const w=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",o=l?.setTimeout(()=>{t.value?.style.animationFillMode==="forwards"&&(t.value.style.animationFillMode=w)})}_.target===t.value&&v==="none"&&u("ANIMATION_END")},p=_=>{_.target===t.value&&(n.value=dc(t.value))},m=Pe(t,(_,v)=>{_?(a.value=getComputedStyle(_),_.addEventListener("animationstart",p),_.addEventListener("animationcancel",f),_.addEventListener("animationend",f)):(u("ANIMATION_END"),o!==void 0&&l?.clearTimeout(o),v?.removeEventListener("animationstart",p),v?.removeEventListener("animationcancel",f),v?.removeEventListener("animationend",f))},{immediate:!0}),g=Pe(c,()=>{const _=dc(t.value);n.value=c.value==="mounted"?_:"none"});return Ft(()=>{m(),g()}),{isPresent:$(()=>["mounted","unmountSuspended"].includes(c.value))}}function dc(e){return e&&getComputedStyle(e).animationName||"none"}var un=ue({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:a}){const{present:n,forceMount:r}=dt(e),s=E(),{isPresent:o}=qA(n,s);a({present:o});let l=t.default({present:o.value});l=Lm(l||[]);const c=Rt();if(l&&l?.length>1){const u=c?.parent?.type.name?`<${c.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${u}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(`
17
+ `)].join(`
18
+ `))}return()=>r.value||n.value||o.value?Za(t.default({present:o.value})[0],{ref:u=>{const d=_a(u);return typeof d?.hasAttribute>"u"||(d?.hasAttribute("data-reka-popper-content-wrapper")?s.value=d.firstElementChild:s.value=d),d}}):null}});const Vs=ue({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:a}){return()=>{if(!a.default)return null;const n=Lm(a.default()),r=n.findIndex(c=>c.type!==ha);if(r===-1)return n;const s=n[r];delete s.props?.ref;const o=s.props?$e(t,s.props):t,l=kr({...s,props:{}},o);return n.length===1?l:(n[r]=l,n)}}}),NA=["area","img","input"],Te=ue({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:a}){const n=e.asChild?"template":e.as;return typeof n=="string"&&NA.includes(n)?()=>Za(n,t):n!=="template"?()=>Za(e.as,t,{default:a.default}):()=>Za(Vs,t,{default:a.default})}});function ia(){const e=E(),t=$(()=>["#text","#comment"].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:_a(e));return{primitiveElement:e,currentElement:t}}const[Gn,FA]=st("DialogRoot");var VA=ue({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const a=e,r=ht(a,"open",t,{defaultValue:a.defaultOpen,passive:a.open===void 0}),s=E(),o=E(),{modal:l}=dt(a);return FA({open:r,modal:l,openModal:()=>{r.value=!0},onOpenChange:c=>{r.value=c},onOpenToggle:()=>{r.value=!r.value},contentId:"",titleId:"",descriptionId:"",triggerElement:s,contentElement:o}),(c,u)=>Z(c.$slots,"default",{open:i(r),close:()=>r.value=!1})}}),px=VA,BA=ue({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;Le();const a=Gn();return(n,r)=>(x(),N(i(Te),$e(t,{type:n.as==="button"?"button":void 0,onClick:r[0]||(r[0]=s=>i(a).onOpenChange(!1))}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["type"]))}}),zA=BA;const HA="dismissableLayer.pointerDownOutside",UA="dismissableLayer.focusOutside";function mx(e,t){if(!(t instanceof Element))return!1;const a=t.closest("[data-dismissable-layer]"),n=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),r=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(a&&(n===a||r.indexOf(n)<r.indexOf(a)))}function jA(e,t,a=!0){const n=t?.value?.ownerDocument??globalThis?.document,r=E(!1),s=E(()=>{});return Bt(o=>{if(!Wa||!Ze(a))return;const l=async u=>{const d=u.target;if(!(!t?.value||!d)){if(mx(t.value,d)){r.value=!1;return}if(u.target&&!r.value){let p=function(){Rm(HA,e,f)};const f={originalEvent:u};u.pointerType==="touch"?(n.removeEventListener("click",s.value),s.value=p,n.addEventListener("click",s.value,{once:!0})):p()}else n.removeEventListener("click",s.value);r.value=!1}},c=window.setTimeout(()=>{n.addEventListener("pointerdown",l)},0);o(()=>{window.clearTimeout(c),n.removeEventListener("pointerdown",l),n.removeEventListener("click",s.value)})}),{onPointerDownCapture:()=>{Ze(a)&&(r.value=!0)}}}function WA(e,t,a=!0){const n=t?.value?.ownerDocument??globalThis?.document,r=E(!1);return Bt(s=>{if(!Wa||!Ze(a))return;const o=async l=>{if(!t?.value)return;await je(),await je();const c=l.target;!t.value||!c||mx(t.value,c)||l.target&&!r.value&&Rm(UA,e,{originalEvent:l})};n.addEventListener("focusin",o),s(()=>n.removeEventListener("focusin",o))}),{onFocusCapture:()=>{Ze(a)&&(r.value=!0)},onBlurCapture:()=>{Ze(a)&&(r.value=!1)}}}const Ta=ln({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var KA=ue({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const a=e,n=t,{forwardRef:r,currentElement:s}=Le(),o=$(()=>s.value?.ownerDocument??globalThis.document),l=$(()=>Ta.layersRoot),c=$(()=>s.value?Array.from(l.value).indexOf(s.value):-1),u=$(()=>Ta.layersWithOutsidePointerEventsDisabled.size>0),d=$(()=>{const m=Array.from(l.value),[g]=[...Ta.layersWithOutsidePointerEventsDisabled].slice(-1),y=m.indexOf(g);return c.value>=y}),f=jA(async m=>{const g=[...Ta.branches].some(y=>y?.contains(m.target));!d.value||g||(n("pointerDownOutside",m),n("interactOutside",m),await je(),m.defaultPrevented||n("dismiss"))},s),p=WA(m=>{[...Ta.branches].some(y=>y?.contains(m.target))||(n("focusOutside",m),n("interactOutside",m),m.defaultPrevented||n("dismiss"))},s);return Om("Escape",m=>{c.value===l.value.size-1&&(n("escapeKeyDown",m),m.defaultPrevented||n("dismiss"))}),Pe([s,()=>a.disableOutsidePointerEvents],([m,g],y,_)=>{m&&(g&&(Ta.layersWithOutsidePointerEventsDisabled.size===0&&(Ta.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents="none"),Ta.layersWithOutsidePointerEventsDisabled.add(m),_(()=>{Ta.layersWithOutsidePointerEventsDisabled.delete(m),Ta.layersWithOutsidePointerEventsDisabled.size===0&&!xn(Ta.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Ta.originalBodyPointerEvents)})),l.value.add(m))},{immediate:!0}),Bt(m=>{m(()=>{s.value&&(l.value.delete(s.value),Ta.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(m,g)=>(x(),N(i(Te),{ref:i(r),"as-child":m.asChild,as:m.as,"data-dismissable-layer":"",style:Tt({pointerEvents:u.value?d.value?"auto":"none":void 0}),onFocusCapture:i(p).onFocusCapture,onBlurCapture:i(p).onBlurCapture,onPointerdownCapture:i(f).onPointerDownCapture},{default:T(()=>[Z(m.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),ai=KA,GA=ue({__name:"DismissableLayerBranch",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:a,currentElement:n}=Le();return Ke(()=>{Ta.branches.add(n.value)}),Ft(()=>{Ta.branches.delete(n.value)}),(r,s)=>(x(),N(i(Te),$e({ref:i(a)},t),{default:T(()=>[Z(r.$slots,"default")]),_:3},16))}}),YA=GA;const XA=R3(()=>E([]));function JA(){const e=XA();return{add(t){const a=e.value[0];t!==a&&a?.pause(),e.value=zv(e.value,t),e.value.unshift(t)},remove(t){e.value=zv(e.value,t),e.value[0]?.resume()}}}function zv(e,t){const a=[...e],n=a.indexOf(t);return n!==-1&&a.splice(n,1),a}const mf="focusScope.autoFocusOnMount",gf="focusScope.autoFocusOnUnmount",Hv={bubbles:!1,cancelable:!0};function Bc(e,{select:t=!1}={}){const a=Yt();for(const n of e)if(Hr(n,{select:t}),Yt()!==a)return!0}function QA(e){const t=Xm(e),a=Uv(t,e),n=Uv(t.reverse(),e);return[a,n]}function Xm(e){const t=[],a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const r=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||r?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)t.push(a.currentNode);return t}function Uv(e,t){for(const a of e)if(!ZA(a,{upTo:t}))return a}function ZA(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}function eI(e){return e instanceof HTMLInputElement&&"select"in e}function Hr(e,{select:t=!1}={}){if(e&&e.focus){const a=Yt();e.focus({preventScroll:!0}),e!==a&&eI(e)&&t&&e.select()}}var tI=ue({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const a=e,n=t,{currentRef:r,currentElement:s}=Le(),o=E(null),l=JA(),c=ln({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Bt(d=>{if(!Wa)return;const f=s.value;if(!a.trapped)return;function p(_){if(c.paused||!f)return;const v=_.target;f.contains(v)?o.value=v:Hr(o.value,{select:!0})}function m(_){if(c.paused||!f)return;const v=_.relatedTarget;v!==null&&(f.contains(v)||Hr(o.value,{select:!0}))}function g(_){const v=o.value;if(v===null||!_.some(w=>w.removedNodes.length>0))return;f.contains(v)||Hr(f)}document.addEventListener("focusin",p),document.addEventListener("focusout",m);const y=new MutationObserver(g);f&&y.observe(f,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",m),y.disconnect()})}),Bt(async d=>{const f=s.value;if(await je(),!f)return;l.add(c);const p=Yt();if(!f.contains(p)){const g=new CustomEvent(mf,Hv);f.addEventListener(mf,y=>n("mountAutoFocus",y)),f.dispatchEvent(g),g.defaultPrevented||(Bc(Xm(f),{select:!0}),Yt()===p&&Hr(f))}d(()=>{f.removeEventListener(mf,_=>n("mountAutoFocus",_));const g=new CustomEvent(gf,Hv),y=_=>{n("unmountAutoFocus",_)};f.addEventListener(gf,y),f.dispatchEvent(g),f.setAttribute("data-focus-scope-unmounting",""),setTimeout(()=>{g.defaultPrevented||Hr(p??document.body,{select:!0}),f.removeEventListener(gf,y),l.remove(c),f.removeAttribute("data-focus-scope-unmounting")},0)})});function u(d){if(!a.loop&&!a.trapped||c.paused)return;const f=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,p=Yt();if(f&&p){const m=d.currentTarget,[g,y]=QA(m);g&&y?!d.shiftKey&&p===y?(d.preventDefault(),a.loop&&Hr(g,{select:!0})):d.shiftKey&&p===g&&(d.preventDefault(),a.loop&&Hr(y,{select:!0})):p===m&&d.preventDefault()}}return(d,f)=>(x(),N(i(Te),{ref_key:"currentRef",ref:r,tabindex:"-1","as-child":d.asChild,as:d.as,onKeydown:u},{default:T(()=>[Z(d.$slots,"default")]),_:3},8,["as-child","as"]))}}),ud=tI;const aI="menu.itemSelect",Sp=["Enter"," "],nI=["ArrowDown","PageUp","Home"],gx=["ArrowUp","PageDown","End"],rI=[...nI,...gx],sI={ltr:[...Sp,"ArrowRight"],rtl:[...Sp,"ArrowLeft"]},oI={ltr:["ArrowLeft"],rtl:["ArrowRight"]};function Jm(e){return e?"open":"closed"}function xu(e){return e==="indeterminate"}function Qm(e){return xu(e)?"indeterminate":e?"checked":"unchecked"}function Mp(e){const t=Yt();for(const a of e)if(a===t||(a.focus(),Yt()!==t))return}function iI(e,t){const{x:a,y:n}=e;let r=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s].x,c=t[s].y,u=t[o].x,d=t[o].y;c>n!=d>n&&a<(u-l)*(n-c)/(d-c)+l&&(r=!r)}return r}function lI(e,t){if(!t)return!1;const a={x:e.clientX,y:e.clientY};return iI(a,t)}function Wo(e){return e.pointerType==="mouse"}var cI=ue({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Gn(),{forwardRef:s,currentElement:o}=Le();return r.titleId||=da(void 0,"reka-dialog-title"),r.descriptionId||=da(void 0,"reka-dialog-description"),Ke(()=>{r.contentElement=o,Yt()!==document.body&&(r.triggerElement.value=Yt())}),(l,c)=>(x(),N(i(ud),{"as-child":"",loop:"",trapped:a.trapFocus,onMountAutoFocus:c[5]||(c[5]=u=>n("openAutoFocus",u)),onUnmountAutoFocus:c[6]||(c[6]=u=>n("closeAutoFocus",u))},{default:T(()=>[I(i(ai),$e({id:i(r).contentId,ref:i(s),as:l.as,"as-child":l.asChild,"disable-outside-pointer-events":l.disableOutsidePointerEvents,role:"dialog","aria-describedby":i(r).descriptionId,"aria-labelledby":i(r).titleId,"data-state":i(Jm)(i(r).open.value)},l.$attrs,{onDismiss:c[0]||(c[0]=u=>i(r).onOpenChange(!1)),onEscapeKeyDown:c[1]||(c[1]=u=>n("escapeKeyDown",u)),onFocusOutside:c[2]||(c[2]=u=>n("focusOutside",u)),onInteractOutside:c[3]||(c[3]=u=>n("interactOutside",u)),onPointerDownOutside:c[4]||(c[4]=u=>n("pointerDownOutside",u))}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),hx=cI,uI=ue({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Gn(),s=Pr(n),{forwardRef:o,currentElement:l}=Le();return cd(l),(c,u)=>(x(),N(hx,$e({...a,...i(s)},{ref:i(o),"trap-focus":i(r).open.value,"disable-outside-pointer-events":a.disableOutsidePointerEvents,onCloseAutoFocus:u[0]||(u[0]=d=>{d.defaultPrevented||(d.preventDefault(),i(r).triggerElement.value?.focus())}),onPointerDownOutside:u[1]||(u[1]=d=>{const f=d.detail.originalEvent,p=f.button===0&&f.ctrlKey===!0;(f.button===2||p)&&d.preventDefault()}),onFocusOutside:u[2]||(u[2]=d=>{d.preventDefault()})}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),dI=uI,fI=ue({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,r=Pr(t);Le();const s=Gn(),o=E(!1),l=E(!1);return(c,u)=>(x(),N(hx,$e({...a,...i(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:u[0]||(u[0]=d=>{d.defaultPrevented||(o.value||i(s).triggerElement.value?.focus(),d.preventDefault()),o.value=!1,l.value=!1}),onInteractOutside:u[1]||(u[1]=d=>{d.defaultPrevented||(o.value=!0,d.detail.originalEvent.type==="pointerdown"&&(l.value=!0));const f=d.target;i(s).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.value&&d.preventDefault()})}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16))}}),pI=fI,mI=ue({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Gn(),s=Pr(n),{forwardRef:o}=Le();return(l,c)=>(x(),N(i(un),{present:l.forceMount||i(r).open.value},{default:T(()=>[i(r).modal.value?(x(),N(dI,$e({key:0,ref:i(o)},{...a,...i(s),...l.$attrs}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16)):(x(),N(pI,$e({key:1,ref:i(o)},{...a,...i(s),...l.$attrs}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),vx=mI,gI=ue({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;Le();const a=Gn();return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).descriptionId}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["id"]))}}),Ao=gI,hI=ue({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Gn();return sd(!0),Le(),(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,"data-state":i(t).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:n[0]||(n[0]=ut(()=>{},["left","self","prevent"]))},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),vI=hI,yI=ue({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Gn(),{forwardRef:a}=Le();return(n,r)=>i(t)?.modal.value?(x(),N(i(un),{key:0,present:n.forceMount||i(t).open.value},{default:T(()=>[I(vI,$e(n.$attrs,{ref:i(a),as:n.as,"as-child":n.asChild}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):se("v-if",!0)}}),$p=yI,bI=ue({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=rd();return(a,n)=>i(t)||a.forceMount?(x(),N(Hu,{key:0,to:a.to,disabled:a.disabled,defer:a.defer},[Z(a.$slots,"default")],8,["to","disabled","defer"])):se("v-if",!0)}}),Gs=bI,xI=ue({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),yx=xI,_I=ue({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e,a=Gn();return Le(),(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).titleId}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["id"]))}}),Io=_I,wI=ue({__name:"DialogTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=Gn(),{forwardRef:n,currentElement:r}=Le();return a.contentId||=da(void 0,"reka-dialog-content"),Ke(()=>{a.triggerElement.value=r.value}),(s,o)=>(x(),N(i(Te),$e(t,{ref:i(n),type:s.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":i(a).open.value||!1,"aria-controls":i(a).open.value?i(a).contentId:void 0,"data-state":i(a).open.value?"open":"closed",onClick:i(a).onOpenToggle}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),bx=wI;const jv="data-reka-collection-item";function Ga(e={}){const{key:t="",isProvider:a=!1}=e,n=`${t}CollectionProvider`;let r;a?(r={collectionRef:E(),itemMap:E(new Map)},on(n,r)):r=Ct(n);const s=(d=!1)=>{const f=r.collectionRef.value;if(!f)return[];const p=Array.from(f.querySelectorAll(`[${jv}]`)),g=Array.from(r.itemMap.value.values()).sort((y,_)=>p.indexOf(y.ref)-p.indexOf(_.ref));return d?g:g.filter(y=>y.ref.dataset.disabled!=="")},o=ue({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:p}){const{primitiveElement:m,currentElement:g}=ia();return Pe(g,()=>{r.collectionRef.value=g.value}),()=>Za(Vs,{ref:m,...p},f)}}),l=ue({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:p}){const{primitiveElement:m,currentElement:g}=ia();return Bt(y=>{if(g.value){const _=kl(g.value);r.itemMap.value.set(_,{ref:g.value,value:d.value}),y(()=>r.itemMap.value.delete(_))}}),()=>Za(Vs,{...p,[jv]:"",ref:m},f)}}),c=$(()=>Array.from(r.itemMap.value.values())),u=$(()=>r.itemMap.value.size);return{getItems:s,reactiveItems:c,itemMapSize:u,CollectionSlot:o,CollectionItem:l}}var kI=ue({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,a)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:T(()=>[Z(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),Ys=kI,CI=ue({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,{primitiveElement:a,currentElement:n}=ia(),r=$(()=>t.checked??t.value);return Pe(r,(s,o)=>{if(!n.value)return;const l=n.value,c=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(c,"value").set;if(d&&s!==o){const f=new Event("input",{bubbles:!0}),p=new Event("change",{bubbles:!0});d.call(l,s),l.dispatchEvent(f),l.dispatchEvent(p)}}),(s,o)=>(x(),N(Ys,$e({ref_key:"primitiveElement",ref:a},{...t,...s.$attrs},{as:"input"}),null,16))}}),Wv=CI,SI=ue({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,a=$(()=>typeof t.value=="object"&&Array.isArray(t.value)&&t.value.length===0&&t.required),n=$(()=>typeof t.value=="string"||typeof t.value=="number"||typeof t.value=="boolean"||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value=="object"&&Array.isArray(t.value)?t.value.flatMap((r,s)=>typeof r=="object"?Object.entries(r).map(([o,l])=>({name:`${t.name}[${s}][${o}]`,value:l})):{name:`${t.name}[${s}]`,value:r}):t.value!==null&&typeof t.value=="object"&&!Array.isArray(t.value)?Object.entries(t.value).map(([r,s])=>({name:`${t.name}[${r}]`,value:s})):[]);return(r,s)=>(x(),F(De,null,[se(" We render single input if it's required "),a.value?(x(),N(Wv,$e({key:r.name},{...t,...r.$attrs},{name:r.name,value:r.value}),null,16,["name","value"])):(x(!0),F(De,{key:1},Ye(n.value,o=>(x(),N(Wv,$e({key:o.name},{ref_for:!0},{...t,...r.$attrs},{name:o.name,value:o.value}),null,16,["name","value"]))),128))],2112))}}),dd=SI;const MI="rovingFocusGroup.onEntryFocus",$I={bubbles:!1,cancelable:!0},AI={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function II(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function TI(e,t,a){const n=II(e.key,a);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return AI[n]}function xx(e,t=!1){const a=Yt();for(const n of e)if(n===a||(n.focus({preventScroll:t}),Yt()!==a))return}function PI(e,t){return e.map((a,n)=>e[(t+n)%e.length])}const[_x,DI]=st("PopperRoot");var EI=ue({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=E();return DI({anchor:t,onAnchorChange:a=>t.value=a}),(a,n)=>Z(a.$slots,"default")}}),ni=EI,RI=ue({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:a,currentElement:n}=Le(),r=_x();return ym(()=>{r.onAnchorChange(t.reference??n.value)}),(s,o)=>(x(),N(i(Te),{ref:i(a),as:s.as,"as-child":s.asChild},{default:T(()=>[Z(s.$slots,"default")]),_:3},8,["as","as-child"]))}}),ri=RI;const OI={key:0,d:"M0 0L6 6L12 0"},LI={key:1,d:"M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0"};var qI=ue({__name:"Arrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Te),$e(t,{width:a.width,height:a.height,viewBox:a.asChild?void 0:"0 0 12 6",preserveAspectRatio:a.asChild?void 0:"none"}),{default:T(()=>[Z(a.$slots,"default",{},()=>[a.rounded?(x(),F("path",LI)):(x(),F("path",OI))])]),_:3},16,["width","height","viewBox","preserveAspectRatio"]))}}),NI=qI;function FI(e){return e!==null}function VI(e){return{name:"transformOrigin",options:e,fn(t){const{placement:a,rects:n,middlewareData:r}=t,o=r.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[u,d]=Ap(a),f={start:"0%",center:"50%",end:"100%"}[d],p=(r.arrow?.x??0)+l/2,m=(r.arrow?.y??0)+c/2;let g="",y="";return u==="bottom"?(g=o?f:`${p}px`,y=`${-c}px`):u==="top"?(g=o?f:`${p}px`,y=`${n.floating.height+c}px`):u==="right"?(g=`${-c}px`,y=o?f:`${m}px`):u==="left"&&(g=`${n.floating.width+c}px`,y=o?f:`${m}px`),{data:{x:g,y}}}}}function Ap(e){const[t,a="center"]=e.split("-");return[t,a]}const BI=["top","right","bottom","left"],ts=Math.min,hr=Math.max,_u=Math.round,fc=Math.floor,vr=e=>({x:e,y:e}),zI={left:"right",right:"left",bottom:"top",top:"bottom"};function wx(e,t,a){return hr(e,ts(t,a))}function Sr(e,t){return typeof e=="function"?e(t):e}function as(e){return e.split("-")[0]}function si(e){return e.split("-")[1]}function Zm(e){return e==="x"?"y":"x"}function eg(e){return e==="y"?"height":"width"}function qn(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function tg(e){return Zm(qn(e))}function HI(e,t,a){a===void 0&&(a=!1);const n=si(e),r=tg(e),s=eg(r);let o=r==="x"?n===(a?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(o=wu(o)),[o,wu(o)]}function UI(e){const t=wu(e);return[Ip(e),t,Ip(t)]}function Ip(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Kv=["left","right"],Gv=["right","left"],jI=["top","bottom"],WI=["bottom","top"];function KI(e,t,a){switch(e){case"top":case"bottom":return a?t?Gv:Kv:t?Kv:Gv;case"left":case"right":return t?jI:WI;default:return[]}}function GI(e,t,a,n){const r=si(e);let s=KI(as(e),a==="start",n);return r&&(s=s.map(o=>o+"-"+r),t&&(s=s.concat(s.map(Ip)))),s}function wu(e){const t=as(e);return zI[t]+e.slice(t.length)}function YI(e){var t,a,n,r;return{top:(t=e.top)!=null?t:0,right:(a=e.right)!=null?a:0,bottom:(n=e.bottom)!=null?n:0,left:(r=e.left)!=null?r:0}}function kx(e){return typeof e!="number"?YI(e):{top:e,right:e,bottom:e,left:e}}function ku(e){const{x:t,y:a,width:n,height:r}=e;return{width:n,height:r,top:a,left:t,right:t+n,bottom:a+r,x:t,y:a}}function Yv(e,t,a){let{reference:n,floating:r}=e;const s=qn(t),o=tg(t),l=eg(o),c=as(t),u=s==="y",d=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2,p=n[l]/2-r[l]/2;let m;switch(c){case"top":m={x:d,y:n.y-r.height};break;case"bottom":m={x:d,y:n.y+n.height};break;case"right":m={x:n.x+n.width,y:f};break;case"left":m={x:n.x-r.width,y:f};break;default:m={x:n.x,y:n.y}}const g=si(t);return g&&(m[o]+=p*(g==="end"?1:-1)*(a&&u?-1:1)),m}async function XI(e,t){var a;t===void 0&&(t={});const{x:n,y:r,platform:s,rects:o,elements:l,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=Sr(t,e),g=kx(m),_=l[p?f==="floating"?"reference":"floating":f],v=ku(await s.getClippingRect({element:(a=await(s.isElement==null?void 0:s.isElement(_)))==null||a?_:_.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:u,rootBoundary:d,strategy:c})),h=f==="floating"?{x:n,y:r,width:o.floating.width,height:o.floating.height}:o.reference,k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),w=await(s.isElement==null?void 0:s.isElement(k))&&await(s.getScale==null?void 0:s.getScale(k))||{x:1,y:1},A=ku(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:h,offsetParent:k,strategy:c}):h);return{top:(v.top-A.top+g.top)/w.y,bottom:(A.bottom-v.bottom+g.bottom)/w.y,left:(v.left-A.left+g.left)/w.x,right:(A.right-v.right+g.right)/w.x}}const JI=50,QI=async(e,t,a)=>{const{placement:n="bottom",strategy:r="absolute",middleware:s=[],platform:o}=a,l=o.detectOverflow?o:{...o,detectOverflow:XI},c=await(o.isRTL==null?void 0:o.isRTL(t));let u=await o.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=Yv(u,n,c),p=n,m=0;const g={};for(let y=0;y<s.length;y++){const _=s[y];if(!_)continue;const{name:v,fn:h}=_,{x:k,y:w,data:A,reset:M}=await h({x:d,y:f,initialPlacement:n,placement:p,strategy:r,middlewareData:g,rects:u,platform:l,elements:{reference:e,floating:t}});d=k??d,f=w??f,g[v]={...g[v],...A},M&&m<JI&&(m++,typeof M=="object"&&(M.placement&&(p=M.placement),M.rects&&(u=M.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:r}):M.rects),{x:d,y:f}=Yv(u,p,c)),y=-1)}return{x:d,y:f,placement:p,strategy:r,middlewareData:g}},ZI=e=>({name:"arrow",options:e,async fn(t){const{x:a,y:n,placement:r,rects:s,platform:o,elements:l,middlewareData:c}=t,{element:u,padding:d=0}=Sr(e,t)||{};if(u==null)return{};const f=kx(d),p={x:a,y:n},m=tg(r),g=eg(m),y=await o.getDimensions(u),_=m==="y",v=_?"top":"left",h=_?"bottom":"right",k=_?"clientHeight":"clientWidth",w=s.reference[g]+s.reference[m]-p[m]-s.floating[g],A=p[m]-s.reference[m],M=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u));let S=M?M[k]:0;(!S||!await(o.isElement==null?void 0:o.isElement(M)))&&(S=l.floating[k]||s.floating[g]);const P=w/2-A/2,D=S/2-y[g]/2-1,H=ts(f[v],D),Q=ts(f[h],D),G=S-y[g]-Q,V=S/2-y[g]/2+P,R=wx(H,V,G),L=!c.arrow&&si(r)!=null&&V!==R&&s.reference[g]/2-(V<H?H:Q)-y[g]/2<0,z=L?V<H?V-H:V-G:0;return{[m]:p[m]+z,data:{[m]:R,centerOffset:V-R-z,...L&&{alignmentOffset:z}},reset:L}}}),e7=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var a,n;const{placement:r,middlewareData:s,rects:o,initialPlacement:l,platform:c,elements:u}=t,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:y=!0,..._}=Sr(e,t);if((a=s.arrow)!=null&&a.alignmentOffset)return{};const v=as(r),h=qn(l),k=as(l)===l,w=await(c.isRTL==null?void 0:c.isRTL(u.floating)),A=p||(k||!y?[wu(l)]:UI(l)),M=g!=="none";!p&&M&&A.push(...GI(l,y,g,w));const S=[l,...A],P=await c.detectOverflow(t,_),D=[];let H=((n=s.flip)==null?void 0:n.overflows)||[];if(d&&D.push(P[v]),f){const R=HI(r,o,w);D.push(P[R[0]],P[R[1]])}if(H=[...H,{placement:r,overflows:D}],!D.every(R=>R<=0)){var Q,G;const R=(((Q=s.flip)==null?void 0:Q.index)||0)+1,L=S[R];if(L&&(!(f==="alignment"?h!==qn(L):!1)||H.every(K=>qn(K.placement)===h?K.overflows[0]>0:!0)))return{data:{index:R,overflows:H},reset:{placement:L}};let z=(G=H.filter(le=>le.overflows[0]<=0).sort((le,K)=>le.overflows[1]-K.overflows[1])[0])==null?void 0:G.placement;if(!z)switch(m){case"bestFit":{var V;const le=(V=H.filter(K=>{if(M){const ce=qn(K.placement);return ce===h||ce==="y"}return!0}).map(K=>[K.placement,K.overflows.filter(ce=>ce>0).reduce((ce,Y)=>ce+Y,0)]).sort((K,ce)=>K[1]-ce[1])[0])==null?void 0:V[0];le&&(z=le);break}case"initialPlacement":z=l;break}if(r!==z)return{reset:{placement:z}}}return{}}}};function Xv(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Jv(e){return BI.some(t=>e[t]>=0)}const t7=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:a,platform:n}=t,{strategy:r="referenceHidden",...s}=Sr(e,t);switch(r){case"referenceHidden":{const o=await n.detectOverflow(t,{...s,elementContext:"reference"}),l=Xv(o,a.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Jv(l)}}}case"escaped":{const o=await n.detectOverflow(t,{...s,altBoundary:!0}),l=Xv(o,a.floating);return{data:{escapedOffsets:l,escaped:Jv(l)}}}default:return{}}}}},Cx=new Set(["left","top"]);async function a7(e,t){const{placement:a,platform:n,elements:r}=e,s=await(n.isRTL==null?void 0:n.isRTL(r.floating)),o=as(a),l=si(a),c=qn(a)==="y",u=Cx.has(o)?-1:1,d=s&&c?-1:1,f=Sr(t,e);let{mainAxis:p,crossAxis:m,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return l&&typeof g=="number"&&(m=l==="end"?g*-1:g),c?{x:m*d,y:p*u}:{x:p*u,y:m*d}}const n7=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var a,n;const{x:r,y:s,placement:o,middlewareData:l}=t,c=await a7(t,e);return o===((a=l.offset)==null?void 0:a.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:r+c.x,y:s+c.y,data:{...c,placement:o}}}}},r7=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:a,y:n,placement:r,platform:s}=t,{mainAxis:o=!0,crossAxis:l=!1,limiter:c={fn:h=>{let{x:k,y:w}=h;return{x:k,y:w}}},...u}=Sr(e,t),d={x:a,y:n},f=await s.detectOverflow(t,u),p=qn(r),m=Zm(p);let g=d[m],y=d[p];const _=(h,k)=>wx(k+f[h==="y"?"top":"left"],k,k-f[h==="y"?"bottom":"right"]);o&&(g=_(m,g)),l&&(y=_(p,y));const v=c.fn({...t,[m]:g,[p]:y});return{...v,data:{x:v.x-a,y:v.y-n,enabled:{[m]:o,[p]:l}}}}}},s7=function(e){return e===void 0&&(e={}),{options:e,fn(t){var a,n;const{x:r,y:s,placement:o,rects:l,middlewareData:c}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=Sr(e,t),p={x:r,y:s},m=qn(o),g=Zm(m);let y=p[g],_=p[m];const v=Sr(u,t),h=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:(a=v.mainAxis)!=null?a:0,crossAxis:(n=v.crossAxis)!=null?n:0};if(d){const A=g==="y"?"height":"width",M=l.reference[g]-l.floating[A]+h.mainAxis,S=l.reference[g]+l.reference[A]-h.mainAxis;y<M?y=M:y>S&&(y=S)}if(f){var k,w;const A=g==="y"?"width":"height",M=Cx.has(as(o)),S=l.reference[m]-l.floating[A]+(M&&((k=c.offset)==null?void 0:k[m])||0)+(M?0:h.crossAxis),P=l.reference[m]+l.reference[A]+(M?0:((w=c.offset)==null?void 0:w[m])||0)-(M?h.crossAxis:0);_<S?_=S:_>P&&(_=P)}return{[g]:y,[m]:_}}}},o7=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:a,rects:n,platform:r,elements:s}=t,{apply:o=()=>{},...l}=Sr(e,t),c=await r.detectOverflow(t,l),u=as(a),d=si(a),f=qn(a)==="y",{width:p,height:m}=n.floating;let g,y;u==="top"||u==="bottom"?(g=u,y=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(y=u,g=d==="end"?"top":"bottom");const _=m-c.top-c.bottom,v=p-c.left-c.right,h=ts(m-c[g],_),k=ts(p-c[y],v),w=t.middlewareData.shift,A=!w;let M=h,S=k;w!=null&&w.enabled.x&&(S=v),w!=null&&w.enabled.y&&(M=_),A&&!d&&(f?S=p-2*hr(c.left,c.right):M=m-2*hr(c.top,c.bottom)),await o({...t,availableWidth:S,availableHeight:M});const P=await r.getDimensions(s.floating);return p!==P.width||m!==P.height?{reset:{rects:!0}}:{}}}};function fd(){return typeof window<"u"}function oi(e){return Sx(e)?(e.nodeName||"").toLowerCase():"#document"}function Ha(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Dr(e){var t;return(t=(Sx(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Sx(e){return fd()?e instanceof Node||e instanceof Ha(e).Node:!1}function Un(e){return fd()?e instanceof Element||e instanceof Ha(e).Element:!1}function ns(e){return fd()?e instanceof HTMLElement||e instanceof Ha(e).HTMLElement:!1}function Qv(e){return!fd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ha(e).ShadowRoot}function pd(e){const{overflow:t,overflowX:a,overflowY:n,display:r}=jn(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+a)&&r!=="inline"&&r!=="contents"}function i7(e){return/^(table|td|th)$/.test(oi(e))}function md(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const l7=/transform|translate|scale|rotate|perspective|filter/,c7=/paint|layout|strict|content/,ys=e=>!!e&&e!=="none";let hf;function ag(e){const t=Un(e)?jn(e):e;return ys(t.transform)||ys(t.translate)||ys(t.scale)||ys(t.rotate)||ys(t.perspective)||!ng()&&(ys(t.backdropFilter)||ys(t.filter))||l7.test(t.willChange||"")||c7.test(t.contain||"")}function u7(e){let t=Bs(e);for(;ns(t)&&!ll(t);){if(ag(t))return t;if(md(t))return null;t=Bs(t)}return null}function ng(){return hf==null&&(hf=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),hf}function ll(e){return/^(html|body|#document)$/.test(oi(e))}function jn(e){return Ha(e).getComputedStyle(e)}function gd(e){return Un(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bs(e){if(oi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Qv(e)&&e.host||Dr(e);return Qv(t)?t.host:t}function Mx(e){const t=Bs(e);return ll(t)?(e.ownerDocument||e).body:ns(t)&&pd(t)?t:Mx(t)}function cl(e,t,a){var n;t===void 0&&(t=[]),a===void 0&&(a=!0);const r=Mx(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=Ha(r);if(s){const l=Tp(o);return t.concat(o,o.visualViewport||[],pd(r)?r:[],l&&a?cl(l):[])}else return t.concat(r,cl(r,[],a))}function Tp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function $x(e){const t=jn(e);let a=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const r=ns(e),s=r?e.offsetWidth:a,o=r?e.offsetHeight:n,l=_u(a)!==s||_u(n)!==o;return l&&(a=s,n=o),{width:a,height:n,$:l}}function rg(e){return Un(e)?e:e.contextElement}function To(e){const t=rg(e);if(!ns(t))return vr(1);const a=t.getBoundingClientRect(),{width:n,height:r,$:s}=$x(t);let o=(s?_u(a.width):a.width)/n,l=(s?_u(a.height):a.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const d7=vr(0);function Ax(e){const t=Ha(e);return!ng()||!t.visualViewport?d7:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function f7(e,t,a){return t===void 0&&(t=!1),!!a&&t&&a===Ha(e)}function zs(e,t,a,n){t===void 0&&(t=!1),a===void 0&&(a=!1);const r=e.getBoundingClientRect(),s=rg(e);let o=vr(1);t&&(n?Un(n)&&(o=To(n)):o=To(e));const l=f7(s,a,n)?Ax(s):vr(0);let c=(r.left+l.x)/o.x,u=(r.top+l.y)/o.y,d=r.width/o.x,f=r.height/o.y;if(s&&n){const p=Ha(s),m=Un(n)?Ha(n):n;let g=p,y=Tp(g);for(;y&&m!==g;){const _=To(y),v=y.getBoundingClientRect(),h=jn(y),k=v.left+(y.clientLeft+parseFloat(h.paddingLeft))*_.x,w=v.top+(y.clientTop+parseFloat(h.paddingTop))*_.y;c*=_.x,u*=_.y,d*=_.x,f*=_.y,c+=k,u+=w,g=Ha(y),y=Tp(g)}}return ku({width:d,height:f,x:c,y:u})}function hd(e,t){const a=gd(e).scrollLeft;return t?t.left+a:zs(Dr(e)).left+a}function Ix(e,t){const a=e.getBoundingClientRect(),n=a.left+t.scrollLeft-hd(e,a),r=a.top+t.scrollTop;return{x:n,y:r}}function p7(e){let{elements:t,rect:a,offsetParent:n,strategy:r}=e;const s=r==="fixed",o=Dr(n),l=t?md(t.floating):!1;if(n===o||l&&s)return a;let c={scrollLeft:0,scrollTop:0},u=vr(1);const d=vr(0),f=ns(n);if((f||!s)&&((oi(n)!=="body"||pd(o))&&(c=gd(n)),f)){const m=zs(n);u=To(n),d.x=m.x+n.clientLeft,d.y=m.y+n.clientTop}const p=o&&!f&&!s?Ix(o,c):vr(0);return{width:a.width*u.x,height:a.height*u.y,x:a.x*u.x-c.scrollLeft*u.x+d.x+p.x,y:a.y*u.y-c.scrollTop*u.y+d.y+p.y}}function m7(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function g7(e){const t=gd(e),a=e.ownerDocument.body,n=hr(e.scrollWidth,e.clientWidth,a.scrollWidth,a.clientWidth),r=hr(e.scrollHeight,e.clientHeight,a.scrollHeight,a.clientHeight);let s=-t.scrollLeft+hd(e);const o=-t.scrollTop;return jn(a).direction==="rtl"&&(s+=hr(e.clientWidth,a.clientWidth)-n),{width:n,height:r,x:s,y:o}}const h7=25;function v7(e,t,a){a===void 0&&(a="viewport");const n=a==="layoutViewport",r=Ha(e),s=Dr(e),o=r.visualViewport;let l=s.clientWidth,c=s.clientHeight,u=0,d=0;if(o){const p=!ng()||t==="fixed";n?p||(u=-o.offsetLeft,d=-o.offsetTop):(l=o.width,c=o.height,p&&(u=o.offsetLeft,d=o.offsetTop))}if(hd(s)<=0){const p=s.ownerDocument,m=p.body,g=getComputedStyle(m),y=p.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,_=Math.abs(s.clientWidth-m.clientWidth-y),v=getComputedStyle(s).scrollbarGutter==="stable both-edges"?_/2:_;v<=h7&&(l-=v)}return{width:l,height:c,x:u,y:d}}function y7(e,t){const a=zs(e,!0,t==="fixed"),n=a.top+e.clientTop,r=a.left+e.clientLeft,s=To(e),o=e.clientWidth*s.x,l=e.clientHeight*s.y,c=r*s.x,u=n*s.y;return{width:o,height:l,x:c,y:u}}function Zv(e,t,a){let n;if(t==="viewport"||t==="layoutViewport")n=v7(e,a,t);else if(t==="document")n=g7(Dr(e));else if(Un(t))n=y7(t,a);else{const r=Ax(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return ku(n)}function b7(e,t){const a=t.get(e);if(a)return a;let n=cl(e,[],!1).filter(l=>Un(l)&&oi(l)!=="body"),r=null;const s=jn(e).position==="fixed";let o=s?Bs(e):e;for(;Un(o)&&!ll(o);){const l=jn(o),c=ag(o),u=r?r.position:s?"fixed":"";!c&&(u==="fixed"||u==="absolute"&&l.position==="static")?n=n.filter(f=>f!==o):r=l,o=Bs(o)}return t.set(e,n),n}function x7(e){let{element:t,boundary:a,rootBoundary:n,strategy:r}=e;const o=[...a==="clippingAncestors"?md(t)?[]:b7(t,this._c):[].concat(a),n],l=Zv(t,o[0],r);let c=l.top,u=l.right,d=l.bottom,f=l.left;for(let p=1;p<o.length;p++){const m=Zv(t,o[p],r);c=hr(m.top,c),u=ts(m.right,u),d=ts(m.bottom,d),f=hr(m.left,f)}return{width:u-f,height:d-c,x:f,y:c}}function _7(e){const{width:t,height:a}=$x(e);return{width:t,height:a}}function w7(e,t,a){const n=ns(t),r=Dr(t),s=a==="fixed",o=zs(e,!0,s,t);let l={scrollLeft:0,scrollTop:0};const c=vr(0);if((n||!s)&&((oi(t)!=="body"||pd(r))&&(l=gd(t)),n)){const p=zs(t,!0,s,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}!n&&r&&(c.x=hd(r));const u=r&&!n&&!s?Ix(r,l):vr(0),d=o.left+l.scrollLeft-c.x-u.x,f=o.top+l.scrollTop-c.y-u.y;return{x:d,y:f,width:o.width,height:o.height}}function vf(e){return jn(e).position==="static"}function e0(e,t){if(!ns(e)||jn(e).position==="fixed")return null;if(t)return t(e);let a=e.offsetParent;return Dr(e)===a&&(a=a.ownerDocument.body),a}function Tx(e,t){const a=Ha(e);if(md(e))return a;if(!ns(e)){let r=Bs(e);for(;r&&!ll(r);){if(Un(r)&&!vf(r))return r;r=Bs(r)}return a}let n=e0(e,t);for(;n&&i7(n)&&vf(n);)n=e0(n,t);return n&&ll(n)&&vf(n)&&!ag(n)?a:n||u7(e)||a}const k7=async function(e){const t=this.getOffsetParent||Tx,a=this.getDimensions,n=await a(e.floating);return{reference:w7(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function C7(e){return jn(e).direction==="rtl"}const S7={convertOffsetParentRelativeRectToViewportRelativeRect:p7,getDocumentElement:Dr,getClippingRect:x7,getOffsetParent:Tx,getElementRects:k7,getClientRects:m7,getDimensions:_7,getScale:To,isElement:Un,isRTL:C7};function Px(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function M7(e,t,a){let n=null,r;const s=Dr(e);function o(){var d;clearTimeout(r),(d=n)==null||d.disconnect(),n=null}function l(d,f){d===void 0&&(d=!1),f===void 0&&(f=1),o();const p=e.getBoundingClientRect(),{left:m,top:g,width:y,height:_}=p;if(d||t(),!y||!_)return;const v=fc(g),h=fc(s.clientWidth-(m+y)),k=fc(s.clientHeight-(g+_)),w=fc(m),M={rootMargin:-v+"px "+-h+"px "+-k+"px "+-w+"px",threshold:hr(0,ts(1,f))||1};let S=!0;function P(D){const H=D[0].intersectionRatio;if(!Px(p,e.getBoundingClientRect()))return l();if(H!==f){if(!S)return l();H?l(!1,H):r=setTimeout(()=>{l(!1,1e-7)},1e3)}S=!1}try{n=new IntersectionObserver(P,{...M,root:s.ownerDocument})}catch{n=new IntersectionObserver(P,M)}n.observe(e)}const c=Ha(e),u=()=>l(a);return c.addEventListener("resize",u),l(!0),()=>{c.removeEventListener("resize",u),o()}}function $7(e,t,a,n){n===void 0&&(n={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,u=rg(e),d=r||s?[...u?cl(u):[],...t?cl(t):[]]:[];d.forEach(v=>{r&&v.addEventListener("scroll",a),s&&v.addEventListener("resize",a)});const f=u&&l?M7(u,a,s):null;let p=-1,m=null;o&&(m=new ResizeObserver(v=>{let[h]=v;h&&h.target===u&&m&&t&&(m.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var k;(k=m)==null||k.observe(t)})),a()}),u&&!c&&m.observe(u),t&&m.observe(t));let g,y=c?zs(e):null;c&&_();function _(){const v=zs(e);y&&!Px(y,v)&&a(),y=v,g=requestAnimationFrame(_)}return a(),()=>{var v;d.forEach(h=>{r&&h.removeEventListener("scroll",a),s&&h.removeEventListener("resize",a)}),f?.(),(v=m)==null||v.disconnect(),m=null,c&&cancelAnimationFrame(g)}}const A7=n7,I7=r7,t0=e7,T7=o7,P7=t7,D7=ZI,E7=s7,R7=(e,t,a)=>{const n=new Map,r=a??{},s={...S7,...r.platform,_c:n};return QI(e,t,{...r,platform:s})};function O7(){return typeof window<"u"}function L7(e){return Dx(e)?(e.nodeName||"").toLowerCase():"#document"}function q7(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Dx(e){return O7()?e instanceof Node||e instanceof q7(e).Node:!1}function N7(e){return e!=null&&typeof e=="object"&&"$el"in e}function Pp(e){if(N7(e)){const t=e.$el;return Dx(t)&&L7(t)==="#comment"?null:t}return e}function mo(e){return typeof e=="function"?e():i(e)}function F7(e){return{name:"arrow",options:e,fn(t){const a=Pp(mo(e.element));return a==null?{}:D7({element:a,padding:e.padding}).fn(t)}}}function Ex(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function a0(e,t){const a=Ex(e);return Math.round(t*a)/a}function V7(e,t,a){a===void 0&&(a={});const n=a.whileElementsMounted,r=$(()=>{var S;return(S=mo(a.open))!=null?S:!0}),s=$(()=>mo(a.middleware)),o=$(()=>{var S;return(S=mo(a.placement))!=null?S:"bottom"}),l=$(()=>{var S;return(S=mo(a.strategy))!=null?S:"absolute"}),c=$(()=>{var S;return(S=mo(a.transform))!=null?S:!0}),u=$(()=>Pp(e.value)),d=$(()=>Pp(t.value)),f=E(0),p=E(0),m=E(l.value),g=E(o.value),y=pt({}),_=E(!1),v=$(()=>{const S={position:m.value,left:"0",top:"0"};if(!d.value)return S;const P=a0(d.value,f.value),D=a0(d.value,p.value);return c.value?{...S,transform:"translate("+P+"px, "+D+"px)",...Ex(d.value)>=1.5&&{willChange:"transform"}}:{position:m.value,left:P+"px",top:D+"px"}});let h;function k(){if(u.value==null||d.value==null)return;const S=r.value;R7(u.value,d.value,{middleware:s.value,placement:o.value,strategy:l.value}).then(P=>{f.value=P.x,p.value=P.y,m.value=P.strategy,g.value=P.placement,y.value=P.middlewareData,_.value=S!==!1})}function w(){typeof h=="function"&&(h(),h=void 0)}function A(){if(w(),n===void 0){k();return}if(u.value!=null&&d.value!=null){h=n(u.value,d.value,k);return}}function M(){r.value||(_.value=!1)}return Pe([s,o,l,r],k,{flush:"sync"}),Pe([u,d],A,{flush:"sync"}),Pe(r,M,{flush:"sync"}),Jo()&&Qo(w),{x:Rn(f),y:Rn(p),strategy:Rn(m),placement:Rn(g),middlewareData:Rn(y),isPositioned:Rn(_),floatingStyles:v,update:k}}const Rx={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[B7,z7]=st("PopperContent");var H7=ue({inheritAttrs:!1,__name:"PopperContent",props:o1({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Rx}),emits:["placed"],setup(e,{emit:t}){const a=e,n=t,r=_x(),{forwardRef:s,currentElement:o}=Le(),l=E(),c=E(),{width:u,height:d}=fx(c),f=$(()=>a.side+(a.align!=="center"?`-${a.align}`:"")),p=$(()=>typeof a.collisionPadding=="number"?a.collisionPadding:{top:0,right:0,bottom:0,left:0,...a.collisionPadding}),m=$(()=>Array.isArray(a.collisionBoundary)?a.collisionBoundary:[a.collisionBoundary]),g=$(()=>({padding:p.value,boundary:m.value.filter(FI),altBoundary:m.value.length>0})),y=$(()=>({mainAxis:a.sideFlip,crossAxis:a.alignFlip})),_=D3(()=>[A7({mainAxis:a.sideOffset+d.value,alignmentAxis:a.alignOffset}),a.prioritizePosition&&a.avoidCollisions&&t0({...g.value,...y.value}),a.avoidCollisions&&I7({mainAxis:!0,crossAxis:!!a.prioritizePosition,limiter:a.sticky==="partial"?E7():void 0,...g.value}),!a.prioritizePosition&&a.avoidCollisions&&t0({...g.value,...y.value}),T7({...g.value,apply:({elements:G,rects:V,availableWidth:R,availableHeight:L})=>{const{width:z,height:le}=V.reference,K=G.floating.style;K.setProperty("--reka-popper-available-width",`${R}px`),K.setProperty("--reka-popper-available-height",`${L}px`),K.setProperty("--reka-popper-anchor-width",`${z}px`),K.setProperty("--reka-popper-anchor-height",`${le}px`)}}),c.value&&F7({element:c.value,padding:a.arrowPadding}),VI({arrowWidth:u.value,arrowHeight:d.value}),a.hideWhenDetached&&P7({strategy:"referenceHidden",...g.value})]),v=$(()=>a.reference??r.anchor.value),{floatingStyles:h,placement:k,isPositioned:w,middlewareData:A}=V7(v,l,{strategy:a.positionStrategy,placement:f,whileElementsMounted:(...G)=>$7(...G,{layoutShift:!a.disableUpdateOnLayoutShift,animationFrame:a.updatePositionStrategy==="always"}),middleware:_}),M=$(()=>Ap(k.value)[0]),S=$(()=>Ap(k.value)[1]);ym(()=>{w.value&&n("placed")});const P=$(()=>{const G=A.value.arrow?.centerOffset!==0;return a.hideShiftedArrow&&G}),D=E("");Bt(()=>{o.value&&(D.value=window.getComputedStyle(o.value).zIndex)});const H=$(()=>A.value.arrow?.x??0),Q=$(()=>A.value.arrow?.y??0);return z7({placedSide:M,onArrowChange:G=>c.value=G,arrowX:H,arrowY:Q,shouldHideArrow:P}),(G,V)=>(x(),F("div",{ref_key:"floatingRef",ref:l,"data-reka-popper-content-wrapper":"",style:Tt({...i(h),transform:i(w)?i(h).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:D.value,"--reka-popper-transform-origin":[i(A).transformOrigin?.x,i(A).transformOrigin?.y].join(" "),...i(A).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[I(i(Te),$e({ref:i(s)},G.$attrs,{"as-child":a.asChild,as:G.as,"data-side":M.value,"data-align":S.value,style:{animation:i(w)?void 0:"none"}}),{default:T(()=>[Z(G.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),Fl=H7;const U7={top:"bottom",right:"left",bottom:"top",left:"right"};var j7=ue({inheritAttrs:!1,__name:"PopperArrow",props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const{forwardRef:t}=Le(),a=B7(),n=$(()=>U7[a.placedSide.value]);return(r,s)=>(x(),F("span",{ref:o=>{i(a).onArrowChange(o??void 0)},style:Tt({position:"absolute",left:i(a).arrowX?.value?`${i(a).arrowX?.value}px`:void 0,top:i(a).arrowY?.value?`${i(a).arrowY?.value}px`:void 0,[n.value]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i(a).placedSide.value],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i(a).placedSide.value],visibility:i(a).shouldHideArrow.value?"hidden":void 0})},[I(NI,$e(r.$attrs,{ref:i(t),style:{display:"block"},as:r.as,"as-child":r.asChild,rounded:r.rounded,width:r.width,height:r.height}),{default:T(()=>[Z(r.$slots,"default")]),_:3},16,["as","as-child","rounded","width","height"])],4))}}),Vl=j7;function W7(e){const t=Ll({nonce:E()});return $(()=>e?.value||t.nonce?.value)}function K7(e){function t(s){return Array.isArray(e.date.value)?e.date.value.some(o=>Wt(o,s)):e.date.value?Wt(e.date.value,s):!1}const a=$(()=>{if(Array.isArray(e.date.value)){if(!e.date.value.length)return!1;for(const s of e.date.value)if(e.isDateDisabled?.(s)||e.isDateUnavailable?.(s))return!0}else{if(!e.date.value)return!1;if(e.isDateDisabled?.(e.date.value)||e.isDateUnavailable?.(e.date.value))return!0}return!1}),n=$(()=>Array.isArray(e.date.value)?e.date.value.length>0:!!e.date.value),r=$(()=>Array.isArray(e.date.value)?e.date.value.length?e.date.value.some(s=>e.isDateDisabled?.(s)):!1:e.date.value?!!e.isDateDisabled?.(e.date.value):!1);return{isDateSelected:t,isInvalid:a,hasSelectedDate:n,isSelectedDateDisabled:r}}function G7(e,t){const a=t(e),n=a.compare(e),r={};return n>=7&&(r.day=1),n>=$o(e)&&(r.month=1),a.set({...r})}function Y7(e,t){const a=t(e),n=e.compare(a),r={};return n>=7&&(r.day=35),n>=$o(e)&&(r.month=13),a.set({...r})}function X7(e,t){return t(e)}function J7(e,t){return t(e)}function Ox(e){const t=Km(e.locale.value),a=$(()=>{const v={calendar:e.placeholder.value.calendar.identifier};return e.placeholder.value.calendar.identifier==="gregory"&&e.placeholder.value.era==="BC"&&(v.era="short"),v}),n=E(gs({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})),r=$(()=>n.value.map(v=>v.value));function s(v){return!r.value.some(h=>_v(v,h))}const o=v=>{if(!e.maxValue.value||!n.value.length)return!1;if(e.disabled.value)return!0;const h=n.value.at(-1).value;if(!v&&!e.nextPage.value){const w=h.add({months:1}).set({day:1});return Bn(w,e.maxValue.value)}const k=G7(h,v||e.nextPage.value);return Bn(k,e.maxValue.value)},l=v=>{if(!e.minValue.value||!n.value.length)return!1;if(e.disabled.value)return!0;const h=n.value[0].value;if(!v&&!e.prevPage.value){const w=h.subtract({months:1}).set({day:35});return La(w,e.minValue.value)}const k=Y7(h,v||e.prevPage.value);return La(k,e.minValue.value)};function c(v){return!!(e.isDateDisabled?.(v)||e.disabled.value||e.maxValue.value&&Bn(v,e.maxValue.value)||e.minValue.value&&La(v,e.minValue.value))}const u=v=>!!e.isDateUnavailable?.(v),d=$(()=>n.value.length?n.value[0].rows[0].map(v=>t.dayOfWeek(Gt(v),e.weekdayFormat.value)):[]),f=v=>{const h=n.value[0].value;if(!v&&!e.nextPage.value){const M=h.add({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),S=gs({dateObj:M,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});n.value=S,e.placeholder.value=S[0].value.set({day:1});return}const k=X7(h,v||e.nextPage.value),w=gs({dateObj:k,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});n.value=w;const A={};if(!v){const M=w[0].value.compare(h);M>=$o(h)&&(A.day=1),M>=365&&(A.month=1)}e.placeholder.value=w[0].value.set({...A})},p=v=>{const h=n.value[0].value;if(!v&&!e.prevPage.value){const M=h.subtract({months:e.pagedNavigation.value?e.numberOfMonths.value:1}),S=gs({dateObj:M,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});n.value=S,e.placeholder.value=S[0].value.set({day:1});return}const k=J7(h,v||e.prevPage.value),w=gs({dateObj:k,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value});n.value=w;const A={};if(!v){const M=h.compare(w[0].value);M>=$o(h)&&(A.day=1),M>=365&&(A.month=1)}e.placeholder.value=w[0].value.set({...A})};Pe(e.placeholder,v=>{r.value.some(h=>_v(h,v))||(n.value=gs({dateObj:v,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value}))}),Pe([e.locale,e.weekStartsOn,e.fixedWeeks,e.numberOfMonths],()=>{n.value=gs({dateObj:e.placeholder.value,weekStartsOn:e.weekStartsOn.value,locale:e.locale.value,fixedWeeks:e.fixedWeeks.value,numberOfMonths:e.numberOfMonths.value})});const m=$(()=>{if(!n.value.length)return"";if(e.locale.value!==t.getLocale()&&t.setLocale(e.locale.value),n.value.length===1){const P=n.value[0].value;return`${t.fullMonthAndYear(Gt(P),a.value)}`}const v=Gt(n.value[0].value),h=Gt(n.value.at(-1).value),k=t.fullMonth(v,a.value),w=t.fullMonth(h,a.value),A=t.fullYear(v,a.value),M=t.fullYear(h,a.value);return A===M?`${k} - ${w} ${M}`:`${k} ${A} - ${w} ${M}`}),g=$(()=>`${e.calendarLabel.value??"Event Date"}, ${m.value}`),y=$(()=>!(c(e.placeholder.value)||u(e.placeholder.value)||s(e.placeholder.value))),_=$(()=>{for(const v of n.value){if(e.minValue.value&&La(v.value,e.minValue.value))continue;const h=$o(v.value),k=e.minValue.value&&id(e.minValue.value,v.value)?e.minValue.value.day:1;for(let w=k;w<=h;w++){const A=v.value.set({day:w});if(!(c(A)||u(A)))return A}}});return{isDateDisabled:c,isDateUnavailable:u,isNextButtonDisabled:o,isPrevButtonDisabled:l,grid:n,weekdays:d,visibleView:r,isOutsideVisibleView:s,formatter:t,nextPage:f,prevPage:p,headingValue:m,fullCalendarLabel:g,isPlaceholderFocusable:y,firstFocusableDate:_}}const Q7={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},Z7={role:"heading","aria-level":"2"},[ii,eT]=st("CalendarRoot");var tT=ue({__name:"CalendarRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},calendarLabel:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1,default:1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},isDateUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,pagedNavigation:l,weekdayFormat:c,fixedWeeks:u,multiple:d,minValue:f,maxValue:p,numberOfMonths:m,preventDeselect:g,isDateDisabled:y,isDateUnavailable:_,calendarLabel:v,defaultValue:h,nextPage:k,prevPage:w,dir:A,locale:M,disableDaysOutsideCurrentView:S}=dt(a),{primitiveElement:P,currentElement:D}=ia(),H=Ks(M),Q=cn(A),G=$(()=>a.weekStartsOn??cx(H.value)),V=ht(a,"modelValue",n,{defaultValue:h.value,passive:a.modelValue===void 0}),R=ei({defaultPlaceholder:a.placeholder,defaultValue:V.value,locale:a.locale}),L=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??R.copy(),passive:a.placeholder===void 0});function z(me){L.value=me.copy()}const{fullCalendarLabel:le,headingValue:K,isDateDisabled:ce,isDateUnavailable:Y,isNextButtonDisabled:ve,isPrevButtonDisabled:ie,weekdays:ye,isOutsideVisibleView:de,nextPage:he,prevPage:ge,formatter:O,grid:W,isPlaceholderFocusable:j,firstFocusableDate:J}=Ox({locale:H,placeholder:L,weekStartsOn:G,fixedWeeks:u,numberOfMonths:m,minValue:f,maxValue:p,disabled:r,weekdayFormat:c,pagedNavigation:l,isDateDisabled:y.value,isDateUnavailable:_.value,calendarLabel:v,nextPage:k,prevPage:w}),{isInvalid:ne,isDateSelected:U,hasSelectedDate:q,isSelectedDateDisabled:oe}=K7({date:V,isDateDisabled:ce,isDateUnavailable:Y});Pe(V,me=>{if(Array.isArray(me)&&me.length){const be=me.at(-1);be&&!Jr(L.value,be)&&z(be)}else!Array.isArray(me)&&me&&!Jr(L.value,me)&&z(me)});function _e(me){if(d.value){if(!V.value)V.value=[me.copy()];else if(Array.isArray(V.value)){if(V.value.findIndex(B=>Wt(B,me))===-1)V.value=[...V.value,me];else if(!g.value){const B=V.value.filter(X=>!Wt(X,me));if(!B.length){L.value=me.copy(),V.value=void 0;return}V.value=B.map(X=>X.copy())}}}else{if(!V.value){V.value=me.copy();return}!g.value&&Jr(V.value,me)?(L.value=me.copy(),V.value=void 0):V.value=me.copy()}}return Ke(()=>{o.value&&ti(D.value)}),eT({isDateUnavailable:Y,dir:Q,isDateDisabled:ce,locale:H,formatter:O,modelValue:V,placeholder:L,disabled:r,initialFocus:o,pagedNavigation:l,grid:W,weekDays:ye,weekStartsOn:G,weekdayFormat:c,fixedWeeks:u,multiple:d,numberOfMonths:m,readonly:s,preventDeselect:g,fullCalendarLabel:le,headingValue:K,isInvalid:ne,isDateSelected:U,isNextButtonDisabled:ve,isPrevButtonDisabled:ie,isOutsideVisibleView:de,nextPage:he,prevPage:ge,parentElement:D,onPlaceholderChange:z,onDateChange:_e,disableDaysOutsideCurrentView:S,minValue:f,maxValue:p,isPlaceholderFocusable:j,firstFocusableDate:J,hasSelectedDate:q,isSelectedDateDisabled:oe}),(me,be)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:P,as:me.as,"as-child":me.asChild,"aria-label":i(le),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(ne)?"":void 0,dir:i(Q)},{default:T(()=>[Z(me.$slots,"default",{date:i(L),grid:i(W),weekDays:i(ye),weekStartsOn:G.value,locale:i(H),fixedWeeks:i(u),modelValue:i(V)}),b("div",Q7,[b("div",Z7,C(i(le)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),aT=tT,nT=ue({__name:"CalendarCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=ii();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isDateSelected(a.date)?!0:void 0,"aria-disabled":i(t).isDateDisabled(a.date)||i(t).isDateUnavailable?.(a.date)||i(t).disableDaysOutsideCurrentView.value,"data-disabled":i(t).isDateDisabled(a.date)||i(t).disableDaysOutsideCurrentView.value?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),rT=nT,sT=ue({__name:"CalendarCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=Kn(),n=ii(),{primitiveElement:r}=ia(),s=$(()=>t.day.day.toLocaleString(n.locale.value)),o=$(()=>n.formatter.custom(Gt(t.day),{weekday:"long",month:"long",day:"numeric",year:"numeric"})),l=$(()=>n.isDateUnavailable?.(t.day)??!1),c=$(()=>z2(t.day,Mn())),u=$(()=>!id(t.day,t.month)),d=$(()=>n.isOutsideVisibleView(t.day)),f=$(()=>n.isDateDisabled(t.day)||n.disableDaysOutsideCurrentView.value&&u.value),p=$(()=>u.value||f.value?!1:!n.disabled.value&&n.isPlaceholderFocusable.value&&Wt(t.day,n.placeholder.value)?!0:(!n.hasSelectedDate.value||n.isSelectedDateDisabled.value)&&!n.isPlaceholderFocusable.value?n.firstFocusableDate.value&&Wt(t.day,n.firstFocusableDate.value):!1),m=$(()=>n.isDateSelected(t.day));function g(v){n.readonly.value||n.isDateDisabled(v)||n.isDateUnavailable?.(v)||n.onDateChange(v)}function y(){f.value||g(t.day)}function _(v){if(f.value)return;v.preventDefault(),v.stopPropagation();const h=n.parentElement.value,k=7,w=n.dir.value==="rtl"?-1:1;switch(v.code){case a.ARROW_RIGHT:A(t.day,w);break;case a.ARROW_LEFT:A(t.day,-w);break;case a.ARROW_UP:A(t.day,-k);break;case a.ARROW_DOWN:A(t.day,k);break;case a.ENTER:case a.SPACE_CODE:g(t.day)}function A(M,S){const P=M.add({days:S});if(n.minValue.value&&P.compare(n.minValue.value)<0||n.maxValue.value&&P.compare(n.maxValue.value)>0)return;const D=h.querySelector(`[data-value='${P.toString()}']:not([data-outside-view])`);if(!D){if(S>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{A(M,S)});return}if(D&&D.hasAttribute("data-disabled"))return A(P,S);n.onPlaceholderChange(P),D?.focus()}}return(v,h)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-calendar-cell-trigger":"","aria-disabled":f.value||l.value?!0:void 0,"data-selected":m.value?!0:void 0,"data-value":v.day.toString(),"data-disabled":f.value?"":void 0,"data-unavailable":l.value?"":void 0,"data-today":c.value?"":void 0,"data-outside-view":u.value?"":void 0,"data-outside-visible-view":d.value?"":void 0,"data-focused":p.value?"":void 0,tabindex:p.value?0:u.value||f.value?void 0:-1,onClick:y,onKeydown:[ta(_,["up","down","left","right","space","enter"]),h[0]||(h[0]=ta(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[Z(v.$slots,"default",{dayValue:s.value,disabled:f.value,today:c.value,selected:m.value,outsideView:u.value,outsideVisibleView:d.value,unavailable:l.value},()=>[pe(C(s.value),1)])]),_:3},8,["as","as-child","aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-outside-view","data-outside-visible-view","data-focused","tabindex"]))}}),oT=sT,iT=ue({__name:"CalendarGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=ii(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&""}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),lT=iT,cT=ue({__name:"CalendarGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),uT=cT,dT=ue({__name:"CalendarGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"thead"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{"aria-hidden":"true"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),fT=dT,pT=ue({__name:"CalendarGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),mT=pT,gT=ue({__name:"CalendarHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"th"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),hT=gT,vT=ue({__name:"CalendarHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),yT=vT,bT=ue({__name:"CalendarHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=ii();return(n,r)=>(x(),N(i(Te),$e(t,{"data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["data-disabled"]))}}),xT=bT,_T=ue({__name:"CalendarNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=$(()=>n.disabled.value||n.isNextButtonDisabled(t.nextPage)),n=ii();function r(){a.value||n.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:a.value},()=>[o[0]||(o[0]=pe(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),wT=_T,kT=ue({__name:"CalendarPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=$(()=>n.disabled.value||n.isPrevButtonDisabled(t.prevPage)),n=ii();function r(){a.value||n.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{"aria-label":"Previous page",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:a.value},()=>[o[0]||(o[0]=pe(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),CT=kT;const[ST,MT]=st("RovingFocusGroup");var $T=ue({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:t,emit:a}){const n=e,r=a,{loop:s,orientation:o,dir:l}=dt(n),c=cn(l),u=ht(n,"currentTabStopId",r,{defaultValue:n.defaultCurrentTabStopId,passive:n.currentTabStopId===void 0}),d=E(!1),f=E(!1),p=E(0),{getItems:m,CollectionSlot:g}=Ga({isProvider:!0});function y(v){const h=!f.value;if(v.currentTarget&&v.target===v.currentTarget&&h&&!d.value){const k=new CustomEvent(MI,$I);if(v.currentTarget.dispatchEvent(k),r("entryFocus",k),!k.defaultPrevented){const w=m().map(D=>D.ref).filter(D=>D.dataset.disabled!==""),A=w.find(D=>D.getAttribute("data-active")===""),M=w.find(D=>D.getAttribute("data-highlighted")===""),S=w.find(D=>D.id===u.value),P=[A,M,S,...w].filter(Boolean);xx(P,n.preventScrollOnEntryFocus)}}f.value=!1}function _(){setTimeout(()=>{f.value=!1},1)}return t({getItems:m}),MT({loop:s,dir:c,orientation:o,currentTabStopId:u,onItemFocus:v=>{u.value=v},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(v,h)=>(x(),N(i(g),null,{default:T(()=>[I(i(Te),{tabindex:d.value||p.value===0?-1:0,"data-orientation":i(o),as:v.as,"as-child":v.asChild,dir:i(c),style:{outline:"none"},onMousedown:h[0]||(h[0]=k=>f.value=!0),onMouseup:_,onFocus:y,onBlur:h[1]||(h[1]=k=>d.value=!1)},{default:T(()=>[Z(v.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Lx=$T,AT=ue({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,a=ST(),n=da(),r=$(()=>t.tabStopId||n),s=$(()=>a.currentTabStopId.value===r.value),{getItems:o,CollectionItem:l}=Ga();Ke(()=>{t.focusable&&a.onFocusableItemAdd()}),Ft(()=>{t.focusable&&a.onFocusableItemRemove()});function c(u){if(u.key==="Tab"&&u.shiftKey){a.onItemShiftTab();return}if(u.target!==u.currentTarget)return;const d=TI(u,a.orientation.value,a.dir.value);if(d!==void 0){if(u.metaKey||u.ctrlKey||u.altKey||!t.allowShiftKey&&u.shiftKey)return;u.preventDefault();let f=[...o().map(p=>p.ref).filter(p=>p.dataset.disabled!=="")];if(d==="last")f.reverse();else if(d==="prev"||d==="next"){d==="prev"&&f.reverse();const p=f.indexOf(u.currentTarget);f=a.loop.value?PI(f,p+1):f.slice(p+1)}je(()=>xx(f))}}return(u,d)=>(x(),N(i(l),null,{default:T(()=>[I(i(Te),{tabindex:s.value?0:-1,"data-orientation":i(a).orientation.value,"data-active":u.active?"":void 0,"data-disabled":u.focusable?void 0:"",as:u.as,"as-child":u.asChild,onMousedown:d[0]||(d[0]=f=>{u.focusable?i(a).onItemFocus(r.value):f.preventDefault()}),onFocus:d[1]||(d[1]=f=>i(a).onItemFocus(r.value)),onKeydown:c},{default:T(()=>[Z(u.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),qx=AT;const[IT]=st("CheckboxGroupRoot");function sg(e){return e==="indeterminate"}function Nx(e){return sg(e)?"indeterminate":e?"checked":"unchecked"}const[TT,PT]=st("CheckboxRoot");var DT=ue({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,{forwardRef:r,currentElement:s}=Le(),o=IT(null),l=ht(a,"modelValue",n,{defaultValue:a.defaultValue??a.falseValue,passive:a.modelValue===void 0}),c=$(()=>o?.disabled.value||a.disabled),u=$(()=>es(l.value,a.trueValue)),d=$(()=>xn(o?.modelValue.value)?l.value==="indeterminate"?"indeterminate":u.value:bv(o.modelValue.value,a.value));function f(){if(xn(o?.modelValue.value))l.value==="indeterminate"?l.value=a.trueValue:l.value=u.value?a.falseValue:a.trueValue;else{const g=[...o.modelValue.value||[]];if(bv(g,a.value)){const y=g.findIndex(_=>es(_,a.value));g.splice(y,1)}else g.push(a.value);o.modelValue.value=g}}const p=Nl(s),m=$(()=>a.id&&s.value?document.querySelector(`[for="${a.id}"]`)?.innerText:void 0);return PT({disabled:c,state:d}),(g,y)=>(x(),N(sa(i(o)?.rovingFocus.value?i(qx):i(Te)),$e(g.$attrs,{id:g.id,ref:i(r),role:"checkbox","as-child":g.asChild,as:g.as,type:g.as==="button"?"button":void 0,"aria-checked":i(sg)(d.value)?"mixed":d.value,"aria-required":g.required,"aria-label":g.$attrs["aria-label"]||m.value,"data-state":i(Nx)(d.value),"data-disabled":c.value?"":void 0,disabled:c.value,focusable:i(o)?.rovingFocus.value?!c.value:void 0,onKeydown:ta(ut(()=>{},["prevent"]),["enter"]),onClick:f}),{default:T(()=>[Z(g.$slots,"default",{modelValue:i(l),state:d.value}),i(p)&&g.name&&!i(o)?(x(),N(i(dd),{key:0,type:"checkbox",checked:!!d.value,name:g.name,value:g.value,disabled:c.value,required:g.required},null,8,["checked","name","value","disabled","required"])):se("v-if",!0)]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"]))}}),ET=DT,RT=ue({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const{forwardRef:t}=Le(),a=TT();return(n,r)=>(x(),N(i(un),{present:n.forceMount||i(sg)(i(a).state.value)||i(a).state.value===!0},{default:T(()=>[I(i(Te),$e({ref:i(t),"data-state":i(Nx)(i(a).state.value),"data-disabled":i(a).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":n.asChild,as:n.as},n.$attrs),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),OT=RT;function LT(e=[],t,a){const n=[...e];return n[a]=t,n.sort((r,s)=>r-s)}function Fx(e,t,a){const s=100/(a-t)*(e-t);return il(s,0,100)}function qT(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function NT(e,t){if(e.length===1)return 0;const a=e.map(r=>Math.abs(r-t)),n=Math.min(...a);return a.indexOf(n)}function FT(e,t,a){const n=e/2,s=og([0,50],[0,n]);return(n-s(t)*a)*a}function VT(e){return e.slice(0,-1).map((t,a)=>e[a+1]-t)}function BT(e,t){if(t>0){const a=VT(e);return Math.min(...a)>=t}return!0}function og(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(a-e[0])}}function zT(e){return(String(e).split(".")[1]||"").length}function HT(e,t){const a=10**t;return Math.round(e*a)/a}const Vx=["PageUp","PageDown"],Bx=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],zx={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageUp","ArrowUp","ArrowLeft"]},[Hx,Ux]=st(["SliderVertical","SliderHorizontal"]);var UT=ue({__name:"SliderHorizontal",props:{dir:{type:String,required:!1},min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:["slideEnd","slideStart","slideMove","homeKeyDown","endKeyDown","stepKeyDown"],setup(e,{emit:t}){const a=e,n=t,{max:r,min:s,dir:o,inverted:l}=dt(a),{forwardRef:c,currentElement:u}=Le(),d=li(),f=E(),p=E(),m=$(()=>o?.value!=="rtl"&&!l.value||o?.value!=="ltr"&&l.value);function g(h,k){const w=p.value||u.value.getBoundingClientRect(),A=[...d.thumbElements.value][d.valueIndexToChangeRef.value],M=d.thumbAlignment.value==="contain"?A.clientWidth:0;!f.value&&!k&&d.thumbAlignment.value==="contain"&&(f.value=h.clientX-A.getBoundingClientRect().left);const S=[0,w.width-M],P=m.value?[s.value,r.value]:[r.value,s.value],D=og(S,P);p.value=w;const H=k?h.clientX-w.left-M/2:h.clientX-w.left-(f.value??0);return D(H)}const y=$(()=>m.value?"left":"right"),_=$(()=>m.value?"right":"left"),v=$(()=>m.value?1:-1);return Ux({startEdge:y,endEdge:_,direction:v,size:"width"}),(h,k)=>(x(),N(jx,{ref:i(c),dir:i(o),"data-orientation":"horizontal",style:Tt({"--reka-slider-thumb-transform":!m.value&&i(d).thumbAlignment.value==="overflow"?"translateX(50%)":"translateX(-50%)"}),onSlideStart:k[0]||(k[0]=w=>{const A=g(w,!0);n("slideStart",A)}),onSlideMove:k[1]||(k[1]=w=>{const A=g(w);n("slideMove",A)}),onSlideEnd:k[2]||(k[2]=()=>{p.value=void 0,f.value=void 0,n("slideEnd")}),onStepKeyDown:k[3]||(k[3]=w=>{const A=m.value?"from-left":"from-right",M=i(zx)[A].includes(w.key);n("stepKeyDown",w,M?-1:1)}),onEndKeyDown:k[4]||(k[4]=w=>n("endKeyDown",w)),onHomeKeyDown:k[5]||(k[5]=w=>n("homeKeyDown",w))},{default:T(()=>[Z(h.$slots,"default")]),_:3},8,["dir","style"]))}}),jT=UT,WT=ue({__name:"SliderVertical",props:{min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:["slideEnd","slideStart","slideMove","homeKeyDown","endKeyDown","stepKeyDown"],setup(e,{emit:t}){const a=e,n=t,{max:r,min:s,inverted:o}=dt(a),l=li(),{forwardRef:c,currentElement:u}=Le(),d=E(),f=E(),p=$(()=>!o.value);function m(v,h){const k=f.value||u.value.getBoundingClientRect(),w=[...l.thumbElements.value][l.valueIndexToChangeRef.value],A=l.thumbAlignment.value==="contain"?w.clientHeight:0;!d.value&&!h&&l.thumbAlignment.value==="contain"&&(d.value=v.clientY-w.getBoundingClientRect().top);const M=[0,k.height-A],S=p.value?[r.value,s.value]:[s.value,r.value],P=og(M,S),D=h?v.clientY-k.top-A/2:v.clientY-k.top-(d.value??0);return f.value=k,P(D)}const g=$(()=>p.value?"bottom":"top"),y=$(()=>p.value?"top":"bottom"),_=$(()=>p.value?1:-1);return Ux({startEdge:g,endEdge:y,direction:_,size:"height"}),(v,h)=>(x(),N(jx,{ref:i(c),"data-orientation":"vertical",style:Tt({"--reka-slider-thumb-transform":!p.value&&i(l).thumbAlignment.value==="overflow"?"translateY(-50%)":"translateY(50%)"}),onSlideStart:h[0]||(h[0]=k=>{const w=m(k,!0);n("slideStart",w)}),onSlideMove:h[1]||(h[1]=k=>{const w=m(k);n("slideMove",w)}),onSlideEnd:h[2]||(h[2]=()=>{f.value=void 0,d.value=void 0,n("slideEnd")}),onStepKeyDown:h[3]||(h[3]=k=>{const w=p.value?"from-bottom":"from-top",A=i(zx)[w].includes(k.key);n("stepKeyDown",k,A?-1:1)}),onEndKeyDown:h[4]||(h[4]=k=>n("endKeyDown",k)),onHomeKeyDown:h[5]||(h[5]=k=>n("homeKeyDown",k))},{default:T(()=>[Z(v.$slots,"default")]),_:3},8,["style"]))}}),KT=WT;const[li,GT]=st("SliderRoot");var YT=ue({inheritAttrs:!1,__name:"SliderRoot",props:{defaultValue:{type:Array,required:!1,default:()=>[0]},modelValue:{type:[Array,null],required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},inverted:{type:Boolean,required:!1,default:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},minStepsBetweenThumbs:{type:Number,required:!1,default:0},thumbAlignment:{type:String,required:!1,default:"contain"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","valueCommit"],setup(e,{emit:t}){const a=e,n=t,{min:r,max:s,step:o,minStepsBetweenThumbs:l,orientation:c,disabled:u,thumbAlignment:d,dir:f}=dt(a),p=cn(f),{forwardRef:m,currentElement:g}=Le(),y=Nl(g),{CollectionSlot:_}=Ga({isProvider:!0}),v=ht(a,"modelValue",n,{defaultValue:a.defaultValue,passive:a.modelValue===void 0}),h=$(()=>Array.isArray(v.value)?[...v.value]:[]),k=E(0),w=E(h.value);function A(H){const Q=NT(h.value,H);P(H,Q)}function M(H){P(H,k.value)}function S(){const H=w.value[k.value];h.value[k.value]!==H&&n("valueCommit",rt(h.value))}function P(H,Q,{commit:G}={commit:!1}){const V=zT(o.value),R=HT(Math.round((H-r.value)/o.value)*o.value+r.value,V),L=il(R,r.value,s.value),z=LT(h.value,L,Q);if(BT(z,l.value*o.value)){k.value=z.indexOf(L);const le=String(z)!==String(v.value);le&&G&&n("valueCommit",z),le&&(D.value[k.value]?.focus(),v.value=z)}}const D=E([]);return GT({modelValue:v,currentModelValue:h,valueIndexToChangeRef:k,thumbElements:D,orientation:c,min:r,max:s,disabled:u,thumbAlignment:d}),(H,Q)=>(x(),N(i(_),null,{default:T(()=>[(x(),N(sa(i(c)==="horizontal"?jT:KT),$e(H.$attrs,{ref:i(m),"as-child":H.asChild,as:H.as,min:i(r),max:i(s),dir:i(p),inverted:H.inverted,"aria-disabled":i(u),"data-disabled":i(u)?"":void 0,onPointerdown:Q[0]||(Q[0]=()=>{i(u)||(w.value=h.value)}),onSlideStart:Q[1]||(Q[1]=G=>!i(u)&&A(G)),onSlideMove:Q[2]||(Q[2]=G=>!i(u)&&M(G)),onSlideEnd:Q[3]||(Q[3]=G=>!i(u)&&S()),onHomeKeyDown:Q[4]||(Q[4]=G=>!i(u)&&P(i(r),0,{commit:!0})),onEndKeyDown:Q[5]||(Q[5]=G=>!i(u)&&P(i(s),h.value.length-1,{commit:!0})),onStepKeyDown:Q[6]||(Q[6]=(G,V)=>{if(!i(u)){const z=i(Vx).includes(G.key)||G.shiftKey&&i(Bx).includes(G.key)?10:1,le=k.value,K=h.value[le],ce=i(o)*z*V;P(K+ce,le,{commit:!0})}})}),{default:T(()=>[Z(H.$slots,"default",{modelValue:i(v)}),i(y)&&H.name?(x(),N(i(dd),{key:0,type:"number",value:i(v),name:H.name,required:H.required,disabled:i(u),step:i(o)},null,8,["value","name","required","disabled","step"])):se("v-if",!0)]),_:3},16,["as-child","as","min","max","dir","inverted","aria-disabled","data-disabled"]))]),_:3}))}}),XT=YT,JT=ue({__name:"SliderImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},emits:["slideStart","slideMove","slideEnd","homeKeyDown","endKeyDown","stepKeyDown"],setup(e,{emit:t}){const a=e,n=t,r=li();return(s,o)=>(x(),N(i(Te),$e({"data-slider-impl":""},a,{onKeydown:o[0]||(o[0]=l=>{l.key==="Home"?(n("homeKeyDown",l),l.preventDefault()):l.key==="End"?(n("endKeyDown",l),l.preventDefault()):i(Vx).concat(i(Bx)).includes(l.key)&&(n("stepKeyDown",l),l.preventDefault())}),onPointerdown:o[1]||(o[1]=l=>{const c=l.target;c.setPointerCapture(l.pointerId),l.preventDefault(),i(r).thumbElements.value.includes(c)?c.focus():n("slideStart",l)}),onPointermove:o[2]||(o[2]=l=>{l.target.hasPointerCapture(l.pointerId)&&n("slideMove",l)}),onPointerup:o[3]||(o[3]=l=>{const c=l.target;c.hasPointerCapture(l.pointerId)&&(c.releasePointerCapture(l.pointerId),n("slideEnd",l))})}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),jx=JT,QT=ue({__name:"SliderRange",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=li(),a=Hx();Le();const n=$(()=>t.currentModelValue.value.map(o=>Fx(o,t.min.value,t.max.value))),r=$(()=>t.currentModelValue.value.length>1?Math.min(...n.value):0),s=$(()=>100-Math.max(...n.value,0));return(o,l)=>(x(),N(i(Te),{"data-disabled":i(t).disabled.value?"":void 0,"data-orientation":i(t).orientation.value,"as-child":o.asChild,as:o.as,style:Tt({[i(a).startEdge.value]:`${r.value}%`,[i(a).endEdge.value]:`${s.value}%`})},{default:T(()=>[Z(o.$slots,"default")]),_:3},8,["data-disabled","data-orientation","as-child","as","style"]))}}),ZT=QT,eP=ue({inheritAttrs:!1,__name:"SliderThumbImpl",props:{index:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=li(),n=Hx(),{forwardRef:r,currentElement:s}=Le(),{CollectionItem:o}=Ga(),l=$(()=>a.modelValue?.value?.[t.index]),c=$(()=>l.value===void 0?0:Fx(l.value,a.min.value??0,a.max.value??100)),u=$(()=>qT(t.index,a.modelValue?.value?.length??0)),d=fx(s),f=$(()=>d[n.size].value),p=$(()=>a.thumbAlignment.value==="overflow"||!f.value?0:FT(f.value,c.value,n.direction.value)),m=rd();return Ke(()=>{a.thumbElements.value.push(s.value)}),Ft(()=>{const g=a.thumbElements.value.findIndex(y=>y===s.value)??-1;a.thumbElements.value.splice(g,1)}),(g,y)=>(x(),N(i(o),null,{default:T(()=>[I(i(Te),$e(g.$attrs,{ref:i(r),role:"slider",tabindex:i(a).disabled.value?void 0:0,"aria-label":g.$attrs["aria-label"]||u.value,"data-disabled":i(a).disabled.value?"":void 0,"data-orientation":i(a).orientation.value,"aria-valuenow":l.value,"aria-valuemin":i(a).min.value,"aria-valuemax":i(a).max.value,"aria-orientation":i(a).orientation.value,"as-child":g.asChild,as:g.as,style:{transform:"var(--reka-slider-thumb-transform)",position:"absolute",[i(n).startEdge.value]:`calc(${c.value}% + ${p.value}px)`,display:!i(m)&&l.value===void 0?"none":void 0},onFocus:y[0]||(y[0]=()=>{i(a).valueIndexToChangeRef.value=g.index})}),{default:T(()=>[Z(g.$slots,"default")]),_:3},16,["tabindex","aria-label","data-disabled","data-orientation","aria-valuenow","aria-valuemin","aria-valuemax","aria-orientation","as-child","as","style"])]),_:3}))}}),tP=eP,aP=ue({__name:"SliderThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,{getItems:a}=Ga(),{forwardRef:n,currentElement:r}=Le(),s=$(()=>r.value?a(!0).findIndex(o=>o.ref===r.value):-1);return(o,l)=>(x(),N(tP,$e({ref:i(n)},t,{index:s.value}),{default:T(()=>[Z(o.$slots,"default")]),_:3},16,["index"]))}}),n0=aP,nP=ue({__name:"SliderTrack",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=li();return Le(),(a,n)=>(x(),N(i(Te),{"as-child":a.asChild,as:a.as,"data-disabled":i(t).disabled.value?"":void 0,"data-orientation":i(t).orientation.value},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as-child","as","data-disabled","data-orientation"]))}}),rP=nP,sP=ue({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(ri),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),Wx=sP,oP=ue({__name:"MenuArrow",props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Vl),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),iP=oP;function lP(){const e=E(!1);return Ke(()=>{ba("keydown",()=>{e.value=!0},{capture:!0,passive:!0}),ba(["pointerdown","pointermove"],()=>{e.value=!1},{capture:!0,passive:!0})}),e}const cP=El(lP),[Xs,Kx]=st(["MenuRoot","MenuSub"],"MenuContext"),[Bl,uP]=st("MenuRoot");var dP=ue({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,{modal:r,dir:s}=dt(a),o=cn(s),l=ht(a,"open",n),c=E(),u=cP();return Kx({open:l,onOpenChange:d=>{l.value=d},content:c,onContentChange:d=>{c.value=d}}),uP({onClose:()=>{l.value=!1},isUsingKeyboardRef:u,dir:o,modal:r}),(d,f)=>(x(),N(i(ni),null,{default:T(()=>[Z(d.$slots,"default")]),_:3}))}}),fP=dP;const[vd,pP]=st("MenuContent");var mP=ue({__name:"MenuContentImpl",props:o1({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Rx}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(e,{emit:t}){const a=e,n=t,r=Xs(),s=Bl(),{trapFocus:o,disableOutsidePointerEvents:l,loop:c}=dt(a);Gm(),sd(l.value);const u=E(""),d=E(0),f=E(0),p=E(null),m=E("right"),g=E(0),y=E(null),_=E(),{forwardRef:v,currentElement:h}=Le(),{handleTypeaheadSearch:k}=Ym(),w=E();function A(L){const z=xv(L,w.value||Yt(),h.value,{loop:c.value,arrowKeyOptions:"vertical",dir:s?.dir.value,focus:!1,attributeName:"[data-reka-collection-item]:not([data-disabled])"});z&&(w.value=z,z.scrollIntoView({block:"nearest"}))}function M(){w.value&&w.value.click()}const S=E(),P=E();Pe(w,L=>{P.value&&(L===void 0||L!==P.value.trigger.value)&&(P.value.onOpenChange(!1),P.value=void 0)}),Pe(h,L=>{r.onContentChange(L)}),Ft(()=>{window.clearTimeout(d.value)});function D(L){return m.value===p.value?.side&&lI(L,p.value?.area)}async function H(L){n("openAutoFocus",L),!L.defaultPrevented&&(L.preventDefault(),h.value?.focus({preventScroll:!0}))}function Q(L){if(L.defaultPrevented)return;const z=L.target,le=z.closest("[data-reka-menu-content]")===L.currentTarget,K=["input","textarea"].includes(z.tagName.toLowerCase()),ce=L.ctrlKey||L.altKey||L.metaKey,Y=L.key.length===1,ve=xv(L,Yt(),h.value,{loop:c.value,arrowKeyOptions:"vertical",dir:s?.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(ve)return ve?.focus();if(L.code==="Space")return;const ie=_.value?.getItems()??[];if(le&&(L.key==="Tab"&&L.preventDefault(),!ce&&Y&&!K&&k(L.key,ie)),L.target!==h.value||!rI.includes(L.key))return;L.preventDefault();const ye=[...ie.map(de=>de.ref)];gx.includes(L.key)&&ye.reverse(),Mp(ye)}function G(L){L?.currentTarget?.contains?.(L.target)||(window.clearTimeout(d.value),u.value="")}function V(L){if(!Wo(L))return;const z=L.target,le=g.value!==L.clientX;if(L?.currentTarget?.contains(z)&&le){const K=L.clientX>g.value?"right":"left";m.value=K,g.value=L.clientX}}function R(L){Wo(L)&&S.value&&S.value.focus()}return pP({onItemEnter:L=>!!D(L),onItemLeave:L=>D(L)?!0:(["INPUT","TEXTAREA"].includes(Yt()?.tagName||"")||h.value?.focus(),y.value=null,!1),onTriggerLeave:L=>!!D(L),searchRef:u,highlightedElement:w,onKeydownNavigation:A,onKeydownEnter:M,filterElement:S,onFilterElementChange:L=>{S.value=L},activeSubmenuContext:P,pointerGraceTimerRef:f,onPointerGraceIntentChange:L=>{p.value=L}}),(L,z)=>(x(),N(i(ud),{"as-child":"",trapped:i(o),onMountAutoFocus:H,onUnmountAutoFocus:z[7]||(z[7]=le=>n("closeAutoFocus",le))},{default:T(()=>[I(i(ai),{"as-child":"","disable-outside-pointer-events":i(l),onEscapeKeyDown:z[2]||(z[2]=le=>n("escapeKeyDown",le)),onPointerDownOutside:z[3]||(z[3]=le=>n("pointerDownOutside",le)),onFocusOutside:z[4]||(z[4]=le=>n("focusOutside",le)),onInteractOutside:z[5]||(z[5]=le=>n("interactOutside",le)),onDismiss:z[6]||(z[6]=le=>n("dismiss"))},{default:T(()=>[I(i(Lx),{ref_key:"rovingFocusGroupRef",ref:_,"current-tab-stop-id":y.value,"onUpdate:currentTabStopId":z[0]||(z[0]=le=>y.value=le),"as-child":"",orientation:"vertical",dir:i(s).dir.value,loop:i(c),onEntryFocus:z[1]||(z[1]=le=>{n("entryFocus",le),i(s).isUsingKeyboardRef.value||le.preventDefault()})},{default:T(()=>[I(i(Fl),{ref:i(v),role:"menu",as:L.as,"as-child":L.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":i(Jm)(i(r).open.value),dir:i(s).dir.value,side:L.side,"side-offset":L.sideOffset,align:L.align,"align-offset":L.alignOffset,"avoid-collisions":L.avoidCollisions,"collision-boundary":L.collisionBoundary,"collision-padding":L.collisionPadding,"arrow-padding":L.arrowPadding,"prioritize-position":L.prioritizePosition,"position-strategy":L.positionStrategy,"update-position-strategy":L.updatePositionStrategy,sticky:L.sticky,"hide-when-detached":L.hideWhenDetached,reference:L.reference,onKeydown:Q,onBlur:G,onPointermove:V,onPointerenter:R},{default:T(()=>[Z(L.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),ig=mP,gP=ue({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=vd(),{forwardRef:n,currentElement:r}=Le(),{CollectionItem:s}=Ga(),o=E(!1),l=$(()=>o.value||r.value!=null&&a.highlightedElement.value===r.value);async function c(d){if(!(d.defaultPrevented||!Wo(d))){if(t.disabled)a.onItemLeave(d);else if(!a.onItemEnter(d)){const p=d.currentTarget;a.highlightedElement.value=p,["INPUT","TEXTAREA"].includes(Yt()?.tagName||"")||p.focus({preventScroll:!0})}}}async function u(d){if(await je(),d.defaultPrevented||!Wo(d)||a.highlightedElement.value!==r.value)return;!a.onItemLeave(d)&&a.highlightedElement.value===r.value&&(a.highlightedElement.value=void 0)}return(d,f)=>(x(),N(i(s),{value:{textValue:d.textValue}},{default:T(()=>[I(i(Te),$e({ref:i(n),role:"menuitem",tabindex:"-1"},d.$attrs,{as:d.as,"as-child":d.asChild,"aria-disabled":d.disabled||void 0,"data-disabled":d.disabled?"":void 0,"data-highlighted":l.value?"":void 0,onPointermove:c,onPointerleave:u,onFocus:f[0]||(f[0]=async p=>{await je(),!(p.defaultPrevented||d.disabled)&&(o.value=!0,i(a).highlightedElement.value=p.currentTarget)}),onBlur:f[1]||(f[1]=async p=>{await je(),!p.defaultPrevented&&(o.value=!1)})}),{default:T(()=>[Z(d.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),Gx=gP,hP=ue({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const a=e,n=t,{forwardRef:r,currentElement:s}=Le(),o=Bl(),l=vd(),c=E(!1);async function u(){const d=s.value;if(!a.disabled&&d){const f=new CustomEvent(aI,{bubbles:!0,cancelable:!0});n("select",f),await je(),f.defaultPrevented?c.value=!1:o.onClose()}}return(d,f)=>(x(),N(Gx,$e(a,{ref:i(r),onClick:u,onPointerdown:f[0]||(f[0]=()=>{c.value=!0}),onPointerup:f[1]||(f[1]=async p=>{await je(),!p.defaultPrevented&&(c.value||p.currentTarget?.click())}),onKeydown:f[2]||(f[2]=async p=>{const m=i(l).searchRef.value!=="";d.disabled||m&&p.key===" "||i(Sp).includes(p.key)&&(p.currentTarget?.click(),p.preventDefault())})}),{default:T(()=>[Z(d.$slots,"default")]),_:3},16))}}),lg=hP;const[vP,Yx]=st(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var yP=ue({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=vP({modelValue:E(!1)});return(a,n)=>(x(),N(i(un),{present:a.forceMount||i(xu)(i(t).modelValue.value)||i(t).modelValue.value===!0},{default:T(()=>[I(i(Te),{as:a.as,"as-child":a.asChild,"data-state":i(Qm)(i(t).modelValue.value)},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),bP=yP,xP=ue({__name:"MenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1,default:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(e,{emit:t}){const a=e,n=t,r=Us(a,["modelValue"]),s=$n(r),o=ht(a,"modelValue",n);return Yx({modelValue:o}),(l,c)=>(x(),N(lg,$e({role:"menuitemcheckbox"},i(s),{"aria-checked":i(xu)(i(o))?"mixed":i(o),"data-state":i(Qm)(i(o)),onSelect:c[0]||(c[0]=async u=>{n("select",u),i(xu)(i(o))?o.value=!0:o.value=!i(o)})}),{default:T(()=>[Z(l.$slots,"default",{modelValue:i(o)})]),_:3},16,["aria-checked","data-state"]))}}),_P=xP,wP=ue({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Ka(a,n),s=Xs(),{forwardRef:o,currentElement:l}=Le();return cd(l),(c,u)=>(x(),N(ig,$e(i(r),{ref:i(o),"trap-focus":i(s).open.value,"disable-outside-pointer-events":i(s).open.value,"disable-outside-scroll":!0,onDismiss:u[0]||(u[0]=d=>i(s).onOpenChange(!1)),onFocusOutside:u[1]||(u[1]=ut(d=>n("focusOutside",d),["prevent"]))}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),kP=wP,CP=ue({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Ka(e,t),s=Xs();return(o,l)=>(x(),N(ig,$e(i(r),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:l[0]||(l[0]=c=>i(s).onOpenChange(!1))}),{default:T(()=>[Z(o.$slots,"default")]),_:3},16))}}),SP=CP,MP=ue({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Ka(e,t),s=Xs(),o=Bl();return(l,c)=>(x(),N(i(un),{present:l.forceMount||i(s).open.value},{default:T(()=>[i(o).modal.value?(x(),N(kP,He($e({key:0},{...l.$attrs,...i(r)})),{default:T(()=>[Z(l.$slots,"default")]),_:3},16)):(x(),N(SP,He($e({key:1},{...l.$attrs,...i(r)})),{default:T(()=>[Z(l.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),$P=MP;const[AP,IP]=st("MenuGroup");var TP=ue({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=da(void 0,"reka-menu-group");return IP({id:a}),(n,r)=>(x(),N(i(Te),$e({role:"group"},t,{"aria-labelledby":i(a)}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),Xx=TP,PP=ue({__name:"MenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=AP({id:""});return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).id||void 0}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["id"]))}}),DP=PP,EP=ue({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),RP=EP;const[OP,LP]=st("MenuRadioGroup");var qP=ue({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,r=Us(a,["modelValue"]),s=$n(r),o=ht(a,"modelValue",n);return LP({modelValue:o,onValueChange:l=>{o.value=l}}),(l,c)=>(x(),N(Xx,He(Ge(i(s))),{default:T(()=>[Z(l.$slots,"default",{modelValue:i(o)})]),_:3},16))}}),NP=qP,FP=ue({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const a=e,n=t,r=Us(a,["value"]),s=$n(r),{value:o}=dt(a),l=OP(),c=$(()=>l.modelValue.value===o?.value);return Yx({modelValue:c}),(u,d)=>(x(),N(lg,$e({role:"menuitemradio"},i(s),{"aria-checked":c.value,"data-state":i(Qm)(c.value),onSelect:d[0]||(d[0]=async f=>{n("select",f),i(l).onValueChange(i(o))})}),{default:T(()=>[Z(u.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),VP=FP,BP=ue({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{role:"separator","aria-orientation":"horizontal"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),zP=BP;const[Jx,HP]=st("MenuSub");var UP=ue({__name:"MenuSub",props:{open:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(e,{emit:t}){const a=e,r=ht(a,"open",t,{defaultValue:!1,passive:a.open===void 0}),s=Xs(),o=E(),l=E();return Bt(c=>{s?.open.value===!1&&(r.value=!1),c(()=>r.value=!1)}),Kx({open:r,onOpenChange:c=>{r.value=c},content:l,onContentChange:c=>{l.value=c}}),HP({triggerId:"",contentId:"",trigger:o,onTriggerChange:c=>{o.value=c}}),(c,u)=>(x(),N(i(ni),null,{default:T(()=>[Z(c.$slots,"default")]),_:3}))}}),jP=UP,WP=ue({__name:"MenuSubContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1,default:!0},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Ka(e,t),s=Xs(),o=Bl(),l=Jx(),c=vd(),{forwardRef:u,currentElement:d}=Le();return l.contentId||=da(void 0,"reka-menu-sub-content"),(f,p)=>(x(),N(i(un),{present:f.forceMount||i(s).open.value},{default:T(()=>[I(ig,$e(i(r),{id:i(l).contentId,ref:i(u),"aria-labelledby":i(l).triggerId,align:"start",side:i(o).dir.value==="rtl"?"left":"right","disable-outside-pointer-events":!1,"disable-outside-scroll":!1,"trap-focus":!1,onOpenAutoFocus:p[0]||(p[0]=ut(m=>{i(o).isUsingKeyboardRef.value&&i(d)?.focus()},["prevent"])),onCloseAutoFocus:p[1]||(p[1]=ut(()=>{},["prevent"])),onFocusOutside:p[2]||(p[2]=m=>{if(m.defaultPrevented)return;const g=i(c).filterElement.value?.contains(m.target);m.target!==i(l).trigger.value&&!g&&i(s).onOpenChange(!1)}),onEscapeKeyDown:p[3]||(p[3]=m=>{i(o).onClose(),m.preventDefault()}),onKeydown:p[4]||(p[4]=m=>{const g=m.currentTarget?.contains(m.target),y=i(oI)[i(o).dir.value].includes(m.key);g&&y&&(i(s).onOpenChange(!1),i(c).filterElement.value?(i(c).filterElement.value.focus(),i(c).highlightedElement.value=i(l).trigger.value,i(l).trigger.value?.scrollIntoView({block:"nearest"})):i(l).trigger.value?.focus(),m.preventDefault())})}),{default:T(()=>[Z(f.$slots,"default")]),_:3},16,["id","aria-labelledby","side"])]),_:3},8,["present"]))}}),KP=WP,GP=ue({__name:"MenuSubTrigger",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=Xs(),n=Bl(),r=Jx(),s=vd();Pe(a.open,f=>{f?s.activeSubmenuContext.value={onOpenChange:a.onOpenChange,trigger:r.trigger}:s.activeSubmenuContext.value?.trigger.value===r.trigger.value&&(s.activeSubmenuContext.value=void 0)});const o=E(null);r.triggerId||=da(void 0,"reka-menu-sub-trigger");function l(){o.value&&window.clearTimeout(o.value),o.value=null}Ft(()=>{l()});function c(f){!Wo(f)||s.onItemEnter(f)||!t.disabled&&!a.open.value&&!o.value&&(s.onPointerGraceIntentChange(null),o.value=window.setTimeout(()=>{a.onOpenChange(!0),l()},100))}async function u(f){if(!Wo(f))return;l();const p=a.content.value?.getBoundingClientRect();if(p?.width){const m=a.content.value?.dataset.side,g=m==="right",y=g?-5:5,_=p[g?"left":"right"],v=p[g?"right":"left"];s.onPointerGraceIntentChange({area:[{x:f.clientX+y,y:f.clientY},{x:_,y:p.top},{x:v,y:p.top},{x:v,y:p.bottom},{x:_,y:p.bottom}],side:m}),window.clearTimeout(s.pointerGraceTimerRef.value),s.pointerGraceTimerRef.value=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(f))return;s.onPointerGraceIntentChange(null)}}async function d(f){const p=s.searchRef.value!=="";t.disabled||p&&f.key===" "||sI[n.dir.value].includes(f.key)&&(a.onOpenChange(!0),await je(),a.content.value?.focus(),f.preventDefault())}return(f,p)=>(x(),N(Wx,{"as-child":""},{default:T(()=>[I(Gx,$e(t,{id:i(r).triggerId,ref:m=>{m&&i(r)?.onTriggerChange(m?.$el)},"aria-haspopup":"menu","aria-expanded":i(a).open.value,"aria-controls":i(r).contentId,"data-state":i(Jm)(i(a).open.value),onClick:p[0]||(p[0]=async m=>{t.disabled||m.defaultPrevented||(m.currentTarget?.focus(),i(a).open.value||i(a).onOpenChange(!0))}),onPointermove:c,onPointerleave:u,onKeydown:d}),{default:T(()=>[Z(f.$slots,"default")]),_:3},16,["id","aria-expanded","aria-controls","data-state"])]),_:3}))}}),YP=GP,XP=ue({__name:"ContextMenuArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(iP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),JP=XP,QP=ue({__name:"ContextMenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(e,{emit:t}){const a=e,r=Pr(t);return Le(),(s,o)=>(x(),N(i(_P),He(Ge({...a,...i(r)})),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),ZP=QP;const[Qx,e6]=st("ContextMenuRoot");var t6=ue({inheritAttrs:!1,__name:"ContextMenuRoot",props:{pressOpenDelay:{type:Number,required:!1,default:700},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,{dir:r,modal:s,pressOpenDelay:o}=dt(a);Le();const l=cn(r),c=E(!1);return e6({open:c,onOpenChange:d=>{c.value=d},dir:l,modal:s,triggerElement:E(),pressOpenDelay:o}),Pe(c,d=>{n("update:open",d)}),(d,f)=>(x(),N(i(fP),{open:c.value,"onUpdate:open":f[0]||(f[0]=p=>c.value=p),dir:i(l),modal:i(s)},{default:T(()=>[Z(d.$slots,"default")]),_:3},8,["open","dir","modal"]))}}),Zx=t6,a6=ue({__name:"ContextMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1,default:0},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1,default:!0},collisionBoundary:{type:null,required:!1,default:()=>[]},collisionPadding:{type:[Number,Object],required:!1,default:0},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1,default:"partial"},hideWhenDetached:{type:Boolean,required:!1,default:!1},positionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const r=Ka(e,t);Le();const s=Qx(),o=E(!1);return(l,c)=>(x(),N(i($P),$e(i(r),{side:"right","side-offset":2,align:"start","update-position-strategy":"always",style:{"--reka-context-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-context-menu-content-available-width":"var(--reka-popper-available-width)","--reka-context-menu-content-available-height":"var(--reka-popper-available-height)","--reka-context-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-context-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:c[0]||(c[0]=u=>{!u.defaultPrevented&&o.value&&u.preventDefault(),o.value=!1}),onInteractOutside:c[1]||(c[1]=u=>{u.detail.originalEvent.button===2&&u.target===i(s).triggerElement.value&&u.preventDefault(),!u.defaultPrevented&&!i(s).modal.value&&(o.value=!0)})}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16))}}),n6=a6,r6=ue({__name:"ContextMenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Xx),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),s6=r6,o6=ue({__name:"ContextMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const a=e,r=Pr(t);return Le(),(s,o)=>(x(),N(i(lg),He(Ge({...a,...i(r)})),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),i6=o6,l6=ue({__name:"ContextMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(bP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),c6=l6,u6=ue({__name:"ContextMenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(DP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),d6=u6,f6=ue({__name:"ContextMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(RP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),p6=f6,m6=ue({__name:"ContextMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,r=Pr(t);return Le(),(s,o)=>(x(),N(i(NP),He(Ge({...a,...i(r)})),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),g6=m6,h6=ue({__name:"ContextMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const a=e,r=Pr(t);return Le(),(s,o)=>(x(),N(i(VP),He(Ge({...a,...i(r)})),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),v6=h6,y6=ue({__name:"ContextMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(zP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),b6=y6,x6=ue({__name:"ContextMenuSub",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t;Le();const r=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0});return(s,o)=>(x(),N(i(jP),{open:i(r),"onUpdate:open":o[0]||(o[0]=l=>at(r)?r.value=l:null)},{default:T(()=>[Z(s.$slots,"default",{open:i(r)})]),_:3},8,["open"]))}}),_6=x6,w6=ue({__name:"ContextMenuSubContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const r=Ka(e,t);return Le(),(s,o)=>(x(),N(i(KP),$e(i(r),{style:{"--reka-context-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-context-menu-content-available-width":"var(--reka-popper-available-width)","--reka-context-menu-content-available-height":"var(--reka-popper-available-height)","--reka-context-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-context-menu-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16))}}),k6=w6,C6=ue({__name:"ContextMenuSubTrigger",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(YP),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),S6=C6;function r0(e){return e.pointerType!=="mouse"}var M6=ue({inheritAttrs:!1,__name:"ContextMenuTrigger",props:{disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,{disabled:a}=dt(t),{forwardRef:n,currentElement:r}=Le(),s=Qx(),o=E({x:0,y:0}),l=$(()=>({getBoundingClientRect:()=>({width:0,height:0,left:o.value.x,right:o.value.x,top:o.value.y,bottom:o.value.y,...o.value})})),c=E(0);function u(){window.clearTimeout(c.value)}function d(g){o.value={x:g.clientX,y:g.clientY},s.onOpenChange(!0)}async function f(g){a.value||(await je(),g.defaultPrevented||(u(),d(g),g.preventDefault()))}async function p(g){a.value||(await je(),r0(g)&&!g.defaultPrevented&&(u(),c.value=window.setTimeout(d,s.pressOpenDelay.value,g)))}async function m(g){a.value||(await je(),r0(g)&&!g.defaultPrevented&&u())}return Ke(()=>{r.value&&(s.triggerElement.value=r.value)}),(g,y)=>(x(),F(De,null,[I(i(Wx),{as:"template",reference:l.value},null,8,["reference"]),I(i(Te),$e({ref:i(n),as:g.as,"as-child":g.asChild,"data-state":i(s).open.value?"open":"closed","data-disabled":i(a)?"":void 0,style:{WebkitTouchCallout:"none",pointerEvents:"auto"}},g.$attrs,{onContextmenu:f,onPointerdown:p,onPointermove:m,onPointercancel:m,onPointerup:m}),{default:T(()=>[Z(g.$slots,"default")]),_:3},16,["as","as-child","data-state","data-disabled"])],64))}}),e_=M6;const[Js,$6]=st("PopoverRoot");var A6=ue({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,{modal:r}=dt(a),s=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0});return $6({contentId:"",triggerId:"",modal:r,open:s,onOpenChange:c=>{s.value=c},onOpenToggle:()=>{s.value=!s.value},triggerElement:E(),hasCustomAnchor:E(!1)}),(c,u)=>(x(),N(i(ni),null,{default:T(()=>[Z(c.$slots,"default",{open:i(s),close:()=>s.value=!1})]),_:3}))}}),I6=A6,T6=ue({__name:"PopoverAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;Le();const a=Js();return Zb(()=>{a.hasCustomAnchor.value=!0}),Ft(()=>{a.hasCustomAnchor.value=!1}),(n,r)=>(x(),N(i(ri),He(Ge(t)),{default:T(()=>[Z(n.$slots,"default")]),_:3},16))}}),P6=T6,D6=ue({__name:"PopoverArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Vl),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),E6=D6,R6=ue({__name:"PopoverClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;Le();const a=Js();return(n,r)=>(x(),N(i(Te),{type:n.as==="button"?"button":void 0,as:n.as,"as-child":t.asChild,onClick:r[0]||(r[0]=s=>i(a).onOpenChange(!1))},{default:T(()=>[Z(n.$slots,"default")]),_:3},8,["type","as","as-child"]))}}),O6=R6,L6=ue({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=$n(Us(a,"trapFocus","disableOutsidePointerEvents")),{forwardRef:s}=Le(),o=Js();return Gm(),(l,c)=>(x(),N(i(ud),{"as-child":"",loop:"",trapped:l.trapFocus,onMountAutoFocus:c[5]||(c[5]=u=>n("openAutoFocus",u)),onUnmountAutoFocus:c[6]||(c[6]=u=>n("closeAutoFocus",u))},{default:T(()=>[I(i(ai),{"as-child":"","disable-outside-pointer-events":l.disableOutsidePointerEvents,onPointerDownOutside:c[0]||(c[0]=u=>n("pointerDownOutside",u)),onInteractOutside:c[1]||(c[1]=u=>n("interactOutside",u)),onEscapeKeyDown:c[2]||(c[2]=u=>n("escapeKeyDown",u)),onFocusOutside:c[3]||(c[3]=u=>n("focusOutside",u)),onDismiss:c[4]||(c[4]=u=>i(o).onOpenChange(!1))},{default:T(()=>[I(i(Fl),$e(i(r),{id:i(o).contentId,ref:i(s),"data-state":i(o).open.value?"open":"closed","aria-labelledby":i(o).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),t_=L6,q6=ue({__name:"PopoverContentModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Js(),s=E(!1);sd(!0);const o=Ka(a,n),{forwardRef:l,currentElement:c}=Le();return cd(c),(u,d)=>(x(),N(t_,$e(i(o),{ref:i(l),"trap-focus":i(r).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=ut(f=>{n("closeAutoFocus",f),s.value||i(r).triggerElement.value?.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=f=>{n("pointerDownOutside",f);const p=f.detail.originalEvent,m=p.button===0&&p.ctrlKey===!0,g=p.button===2||m;s.value=g}),onFocusOutside:d[2]||(d[2]=ut(()=>{},["prevent"]))}),{default:T(()=>[Z(u.$slots,"default")]),_:3},16,["trap-focus"]))}}),N6=q6,F6=ue({__name:"PopoverContentNonModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Js(),s=E(!1),o=E(!1),l=Ka(a,n);return(c,u)=>(x(),N(t_,$e(i(l),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:u[0]||(u[0]=d=>{n("closeAutoFocus",d),d.defaultPrevented||(s.value||i(r).triggerElement.value?.focus(),d.preventDefault()),s.value=!1,o.value=!1}),onInteractOutside:u[1]||(u[1]=async d=>{n("interactOutside",d),d.defaultPrevented||(s.value=!0,d.detail.originalEvent.type==="pointerdown"&&(o.value=!0));const f=d.target;i(r).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&o.value&&d.preventDefault()})}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16))}}),V6=F6,B6=ue({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=Js(),s=Ka(a,n),{forwardRef:o}=Le();return r.contentId||=da(void 0,"reka-popover-content"),(l,c)=>(x(),N(i(un),{present:l.forceMount||i(r).open.value},{default:T(()=>[i(r).modal.value?(x(),N(N6,$e({key:0},i(s),{ref:i(o)}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16)):(x(),N(V6,$e({key:1},i(s),{ref:i(o)}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),z6=B6,H6=ue({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),U6=H6,j6=ue({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=Js(),{forwardRef:n,currentElement:r}=Le();return a.triggerId||=da(void 0,"reka-popover-trigger"),Ke(()=>{a.triggerElement.value=r.value}),(s,o)=>(x(),N(sa(i(a).hasCustomAnchor.value?i(Te):i(ri)),{"as-child":""},{default:T(()=>[I(i(Te),{id:i(a).triggerId,ref:i(n),type:s.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":i(a).open.value,"aria-controls":i(a).contentId,"data-state":i(a).open.value?"open":"closed",as:s.as,"as-child":t.asChild,onClick:i(a).onOpenToggle},{default:T(()=>[Z(s.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),W6=j6;function K6(e){const t=$(()=>e.start.value?!!e.isDateDisabled(e.start.value):!1),a=$(()=>e.end.value?!!e.isDateDisabled(e.end.value):!1),n=$(()=>!!(t.value||a.value||e.start.value&&e.end.value&&La(e.end.value,e.start.value))),r=v=>e.start.value?Wt(e.start.value,v):!1,s=v=>e.end.value?Wt(e.end.value,v):!1,o=v=>e.start.value&&Wt(e.start.value,v)||e.end.value&&Wt(e.end.value,v)?!0:e.end.value&&e.start.value?uf(v,e.start.value,e.end.value):!1,l=v=>{if(e.isDateDisabled(v))return!0;if(e.maximumDays?.value){if(e.start.value&&e.end.value){if(e.fixedDate.value){const h=Cp(e.start.value,e.end.value).length;if(h<=e.maximumDays.value){const k=e.maximumDays.value-h-1,w=e.start.value.subtract({days:k}),A=e.end.value.add({days:k});return!uf(v,w,A)}}return!1}if(e.start.value){const h=e.start.value.add({days:e.maximumDays.value}),k=e.start.value.subtract({days:e.maximumDays.value});return!uf(v,k,h)}}return!1},c=v=>!!e.isDateHighlightable?.(v),u=$(()=>{if(e.start.value&&e.end.value&&!e.fixedDate.value||!e.start.value||!e.focusedValue.value)return null;const v=La(e.start.value,e.focusedValue.value),h=v?e.start.value:e.focusedValue.value,k=v?e.focusedValue.value:e.start.value;if(Wt(h,k))return{start:h,end:k};if(e.maximumDays?.value&&!e.end.value){const A=e.maximumDays.value,M=e.start.value,S=e.focusedValue.value;return La(S,M)?{start:M.subtract({days:A-1}),end:M}:{start:M,end:M.add({days:A-1})}}return mA(h,k,e.allowNonContiguousRanges.value?()=>!1:e.isDateUnavailable,l,e.isDateHighlightable)?{start:h,end:k}:null}),d=v=>!u.value||!u.value.start?!1:Wt(u.value.start,v),f=v=>!u.value||!u.value.end?!1:Wt(u.value.end,v),p=$(()=>!!(e.start.value||e.end.value)),m=$(()=>!!(e.start.value&&e.isDateDisabled(e.start.value))),g=$(()=>!!(e.end.value&&e.isDateDisabled(e.end.value))),y=$(()=>{const v=!!e.start.value,h=!!e.end.value;return!v&&!h?!1:v&&h?m.value&&g.value:v&&m.value||h&&g.value}),_=$(()=>{if(e.start.value&&!m.value)return e.start.value;if(e.end.value&&!g.value)return e.end.value});return{isInvalid:n,isSelected:o,isDateHighlightable:c,highlightedRange:u,isSelectionStart:r,isSelectionEnd:s,isHighlightedStart:d,isHighlightedEnd:f,isDateDisabled:l,hasSelectedDate:p,isSelectedDisabled:y,selectedFocusableDate:_}}const G6={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},Y6={role:"heading","aria-level":"2"},[ci,X6]=st("RangeCalendarRoot");var J6=ue({__name:"RangeCalendarRoot",props:{defaultPlaceholder:{type:null,required:!1},defaultValue:{type:Object,required:!1,default:()=>({start:void 0,end:void 0})},modelValue:{type:[Object,null],required:!1},placeholder:{type:null,required:!1,default:void 0},allowNonContiguousRanges:{type:Boolean,required:!1,default:!1},pagedNavigation:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},maximumDays:{type:Number,required:!1,default:void 0},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1,default:"narrow"},calendarLabel:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1,default:1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},isDateUnavailable:{type:Function,required:!1,default:void 0},isDateHighlightable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1,default:!1},fixedDate:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:validModelValue","update:placeholder","update:startValue"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,pagedNavigation:l,weekdayFormat:c,fixedWeeks:u,numberOfMonths:d,preventDeselect:f,isDateUnavailable:p,isDateHighlightable:m,isDateDisabled:g,calendarLabel:y,maxValue:_,minValue:v,dir:h,locale:k,nextPage:w,prevPage:A,allowNonContiguousRanges:M,disableDaysOutsideCurrentView:S,fixedDate:P,maximumDays:D}=dt(a),{primitiveElement:H,currentElement:Q}=ia(),G=cn(h),V=Ks(k),R=$(()=>a.weekStartsOn??cx(V.value)),L=E(),z=E(),le=E(!1),K=ht(a,"modelValue",n,{defaultValue:a.defaultValue??{start:void 0,end:void 0},passive:a.modelValue===void 0}),ce=Ae=>Ae??{start:void 0,end:void 0},Y=$(()=>ce(K.value)),ve=E(ce(K.value));Pe(ve,Ae=>{n("update:validModelValue",Ae)});const ie=ei({defaultPlaceholder:a.placeholder,defaultValue:ce(K.value).start,locale:a.locale}),ye=E(ce(K.value).start),de=E(ce(K.value).end),he=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??ie.copy(),passive:a.placeholder===void 0});function ge(Ae){he.value=Ae.copy()}const{fullCalendarLabel:O,headingValue:W,isDateDisabled:j,isDateUnavailable:J,isNextButtonDisabled:ne,isPrevButtonDisabled:U,grid:q,weekdays:oe,isOutsideVisibleView:_e,nextPage:me,prevPage:be,formatter:B,isPlaceholderFocusable:X,firstFocusableDate:te}=Ox({locale:V,placeholder:he,weekStartsOn:R,fixedWeeks:u,numberOfMonths:d,minValue:v,maxValue:_,disabled:r,weekdayFormat:c,pagedNavigation:l,isDateDisabled:g.value,isDateUnavailable:p.value,calendarLabel:y,nextPage:w,prevPage:A}),{isInvalid:ee,isSelected:Me,isDateHighlightable:ae,highlightedRange:re,isSelectionStart:fe,isSelectionEnd:ke,isHighlightedStart:Se,isHighlightedEnd:we,isDateDisabled:Ve,hasSelectedDate:Ie,isSelectedDisabled:Ee,selectedFocusableDate:Ce}=K6({start:ye,end:de,isDateDisabled:j,isDateUnavailable:J,isDateHighlightable:m.value,focusedValue:z,allowNonContiguousRanges:M,fixedDate:P,maximumDays:D});Pe(K,Ae=>{const Re=ce(Ae);!Re.start&&!ye.value||Re.start&&ye.value&&Jr(Re.start,ye.value)||(ye.value=Re.start?.copy?.()),!Re.end&&!de.value||Re.end&&de.value&&Jr(Re.end,de.value)||(de.value=Re.end?.copy?.())}),Pe(ye,Ae=>{Ae&&!Jr(Ae,he.value)&&ge(Ae),n("update:startValue",Ae)}),Pe([ye,de],([Ae,Re])=>{const Fe=K.value;if(!(Fe&&Fe.start&&Fe.end&&Ae&&Re&&Jr(Fe.start,Ae)&&Jr(Fe.end,Re)))if(le.value=!0,Re&&Ae){const lt=La(Re,Ae)?{start:Re.copy(),end:Ae.copy()}:{start:Ae.copy(),end:Re.copy()};K.value={start:lt.start,end:lt.end},le.value=!1,ve.value={start:lt.start.copy(),end:lt.end.copy()}}else K.value=Ae?{start:Ae.copy(),end:void 0}:{start:Re?.copy(),end:void 0}});const Oe=Kn();return ba(Q,"keydown",Ae=>{Ae.key===Oe.ESCAPE&&le.value&&(ye.value=ve.value.start?.copy(),de.value=ve.value.end?.copy())}),X6({isDateUnavailable:J,isDateHighlightable:ae,startValue:ye,endValue:de,formatter:B,modelValue:Y,placeholder:he,disabled:r,initialFocus:o,pagedNavigation:l,grid:q,weekDays:oe,weekStartsOn:R,weekdayFormat:c,fixedWeeks:u,numberOfMonths:d,readonly:s,preventDeselect:f,fullCalendarLabel:O,headingValue:W,isInvalid:ee,isDateDisabled:Ve,allowNonContiguousRanges:M,highlightedRange:re,focusedValue:z,lastPressedDateValue:L,isSelected:Me,isSelectionEnd:ke,isSelectionStart:fe,isNextButtonDisabled:ne,isPrevButtonDisabled:U,isOutsideVisibleView:_e,nextPage:me,prevPage:be,parentElement:Q,onPlaceholderChange:ge,locale:V,dir:G,isHighlightedStart:Se,isHighlightedEnd:we,disableDaysOutsideCurrentView:S,fixedDate:P,maximumDays:D,minValue:v,maxValue:_,isPlaceholderFocusable:X,firstFocusableDate:te,hasSelectedDate:Ie,isSelectedDisabled:Ee,selectedFocusableDate:Ce}),Ke(()=>{o.value&&ti(Q.value)}),(Ae,Re)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:H,as:Ae.as,"as-child":Ae.asChild,"aria-label":i(O),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(ee)?"":void 0,dir:i(G)},{default:T(()=>[b("div",G6,[b("div",Y6,C(i(O)),1)]),Z(Ae.$slots,"default",{date:i(he),grid:i(q),weekDays:i(oe),weekStartsOn:R.value,locale:i(V),fixedWeeks:i(u),modelValue:Y.value})]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),Q6=J6,Z6=ue({__name:"RangeCalendarCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=ci();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isSelected(a.date)?!0:void 0,"aria-disabled":i(t).isDateDisabled(a.date)||i(t).isDateUnavailable?.(a.date)||i(t).disableDaysOutsideCurrentView.value,"data-disabled":i(t).isDateDisabled(a.date)||i(t).disableDaysOutsideCurrentView.value?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),e8=Z6,t8=ue({__name:"RangeCalendarCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=ci(),n=Kn(),{primitiveElement:r}=ia(),s=$(()=>a.formatter.custom(Gt(t.day),{weekday:"long",month:"long",day:"numeric",year:"numeric"})),o=$(()=>a.isDateUnavailable?.(t.day)??!1),l=$(()=>a.isSelected(t.day)),c=$(()=>a.isSelectionStart(t.day)),u=$(()=>a.isSelectionEnd(t.day)),d=$(()=>a.isHighlightedStart(t.day)),f=$(()=>a.isHighlightedEnd(t.day)),p=$(()=>a.highlightedRange.value?dA(t.day,a.highlightedRange.value.start,a.highlightedRange.value.end):!1),m=$(()=>a.allowNonContiguousRanges.value),g=$(()=>z2(t.day,Mn())),y=$(()=>!id(t.day,t.month)),_=$(()=>a.isOutsideVisibleView(t.day)),v=$(()=>a.isDateDisabled(t.day)||a.disableDaysOutsideCurrentView.value&&y.value),h=$(()=>t.day.day.toLocaleString(a.locale.value)),k=$(()=>y.value||v.value?!1:!a.disabled.value&&a.isPlaceholderFocusable.value&&Wt(t.day,a.placeholder.value)?!0:!a.disabled.value&&a.selectedFocusableDate.value&&!a.isPlaceholderFocusable.value?Wt(t.day,a.selectedFocusableDate.value):!a.disabled.value&&(!a.hasSelectedDate.value||a.isSelectedDisabled.value)&&!a.isPlaceholderFocusable.value?a.firstFocusableDate.value&&Wt(t.day,a.firstFocusableDate.value):!1);function w(P,D){if(!a.readonly.value&&!(a.isDateDisabled(D)||a.isDateUnavailable?.(D))){if(a.startValue.value&&a.highlightedRange.value===null){if(Wt(D,a.startValue.value)&&!a.preventDeselect.value&&!a.endValue.value){a.startValue.value=void 0,a.onPlaceholderChange(D),a.lastPressedDateValue.value=D.copy();return}else if(!a.endValue.value){P.preventDefault(),a.lastPressedDateValue.value&&Wt(a.lastPressedDateValue.value,D)&&(a.startValue.value=D.copy()),a.lastPressedDateValue.value=D.copy();return}}if(a.lastPressedDateValue.value=D.copy(),a.startValue.value&&a.endValue.value&&Wt(a.startValue.value,a.endValue.value)&&Wt(a.startValue.value,D)&&!a.preventDeselect.value){a.startValue.value=void 0,a.endValue.value=void 0,a.onPlaceholderChange(D);return}a.startValue.value?a.endValue.value?a.endValue.value&&a.startValue.value&&(a.fixedDate.value?a.fixedDate.value==="start"?D.compare(a.startValue.value)<0?a.startValue.value=D.copy():a.endValue.value=D.copy():a.fixedDate.value==="end"&&(D.compare(a.endValue.value)>0?a.endValue.value=D.copy():a.startValue.value=D.copy()):(a.endValue.value=void 0,a.startValue.value=D.copy())):a.endValue.value=D.copy():a.startValue.value=D.copy()}}function A(P){v.value||w(P,t.day)}function M(){v.value||a.isDateUnavailable?.(t.day)||(a.focusedValue.value=t.day.copy())}function S(P){if(v.value)return;P.preventDefault(),P.stopPropagation();const D=a.parentElement.value,H=7,Q=a.dir.value==="rtl"?-1:1;switch(P.code){case n.ARROW_RIGHT:G(t.day,Q);break;case n.ARROW_LEFT:G(t.day,-Q);break;case n.ARROW_UP:G(t.day,-H);break;case n.ARROW_DOWN:G(t.day,H);break;case n.ENTER:case n.SPACE_CODE:w(P,t.day)}function G(V,R){const L=V.add({days:R});if(a.minValue.value&&L.compare(a.minValue.value)<0||a.maxValue.value&&L.compare(a.maxValue.value)>0)return;const z=D.querySelector(`[data-value='${L.toString()}']:not([data-outside-view])`);if(!z){if(R>0){if(a.isNextButtonDisabled())return;a.nextPage()}else{if(a.isPrevButtonDisabled())return;a.prevPage()}je(()=>{G(V,R)});return}if(z&&z.hasAttribute("data-disabled"))return G(L,R);a.onPlaceholderChange(L),z?.focus()}}return(P,D)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:P.as,"as-child":P.asChild,role:"button","aria-label":s.value,"data-reka-calendar-cell-trigger":"","aria-pressed":l.value&&(m.value||!o.value)?!0:void 0,"aria-disabled":v.value||o.value?!0:void 0,"data-highlighted":p.value&&(m.value||!o.value)?"":void 0,"data-selection-start":c.value?!0:void 0,"data-selection-end":u.value?!0:void 0,"data-highlighted-start":d.value?!0:void 0,"data-highlighted-end":f.value?!0:void 0,"data-selected":l.value&&(m.value||!o.value)?!0:void 0,"data-outside-visible-view":_.value?"":void 0,"data-value":P.day.toString(),"data-disabled":v.value?"":void 0,"data-unavailable":o.value?"":void 0,"data-today":g.value?"":void 0,"data-outside-view":y.value?"":void 0,"data-focused":k.value?"":void 0,tabindex:k.value?0:y.value||v.value?void 0:-1,onClick:A,onFocusin:M,onMouseenter:M,onKeydown:ta(S,["up","down","left","right","enter","space"])},{default:T(()=>[Z(P.$slots,"default",{dayValue:h.value,disabled:v.value,today:g.value,selected:l.value,outsideView:y.value,outsideVisibleView:_.value,unavailable:o.value,highlighted:p.value&&(m.value||!o.value),highlightedStart:d.value,highlightedEnd:f.value,selectionStart:c.value,selectionEnd:u.value},()=>[pe(C(h.value),1)])]),_:3},8,["as","as-child","aria-label","aria-pressed","aria-disabled","data-highlighted","data-selection-start","data-selection-end","data-highlighted-start","data-highlighted-end","data-selected","data-outside-visible-view","data-value","data-disabled","data-unavailable","data-today","data-outside-view","data-focused","tabindex"]))}}),a8=t8,n8=ue({__name:"RangeCalendarGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=ci(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&"",onMouseleave:o[0]||(o[0]=l=>i(a).focusedValue.value=void 0)}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),r8=n8,s8=ue({__name:"RangeCalendarGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),o8=s8,i8=ue({__name:"RangeCalendarGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"thead"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{"aria-hidden":"true"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),l8=i8,c8=ue({__name:"RangeCalendarGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),u8=c8,d8=ue({__name:"RangeCalendarHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"th"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),f8=d8,p8=ue({__name:"RangeCalendarHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),m8=p8,g8=ue({__name:"RangeCalendarHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=ci();return(n,r)=>(x(),N(i(Te),$e(t,{"data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["data-disabled"]))}}),h8=g8,v8=ue({__name:"RangeCalendarNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=$(()=>n.disabled.value||n.isNextButtonDisabled(t.nextPage)),n=ci();function r(){a.value||n.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:a.value},()=>[o[0]||(o[0]=pe(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),y8=v8,b8=ue({__name:"RangeCalendarPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=$(()=>n.disabled.value||n.isPrevButtonDisabled(t.prevPage)),n=ci();function r(){a.value||n.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Previous page",type:t.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:a.value},()=>[o[0]||(o[0]=pe(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),x8=b8,_8=ue({__name:"HoverCardArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Vl),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),w8=_8;const[cg,k8]=st("HoverCardRoot");var C8=ue({__name:"HoverCardRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},openDelay:{type:Number,required:!1,default:700},closeDelay:{type:Number,required:!1,default:300}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,{openDelay:r,closeDelay:s}=dt(a);Le();const o=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0}),l=E(0),c=E(0),u=E(!1),d=E(!1),f=E(!1),p=E();function m(){clearTimeout(c.value),l.value=window.setTimeout(()=>o.value=!0,r.value)}function g(){clearTimeout(l.value),!u.value&&!d.value&&(c.value=window.setTimeout(()=>o.value=!1,s.value))}function y(){o.value=!1}return k8({open:o,onOpenChange(_){o.value=_},onOpen:m,onClose:g,onDismiss:y,hasSelectionRef:u,isPointerDownOnContentRef:d,isPointerInTransitRef:f,triggerElement:p}),(_,v)=>(x(),N(i(ni),null,{default:T(()=>[Z(_.$slots,"default",{open:i(o)})]),_:3}))}}),S8=C8;function Dp(e){return t=>t.pointerType==="touch"?void 0:e()}function M8(e){const t=[],a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;a.nextNode();)t.push(a.currentNode);return t}var $8=ue({__name:"HoverCardContentImpl",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(e,{emit:t}){const a=e,n=t,r=$n(a),{forwardRef:s,currentElement:o}=Le(),l=cg(),{isPointerInTransit:c,onPointerExit:u}=ux(l.triggerElement,o);G3(l.isPointerInTransitRef,c,{direction:"rtl"}),u(()=>{l.onClose()});const d=E(!1);let f;Bt(m=>{if(d.value){const g=document.body;f=g.style.userSelect||g.style.webkitUserSelect,g.style.userSelect="none",g.style.webkitUserSelect="none",m(()=>{g.style.userSelect=f,g.style.webkitUserSelect=f})}});function p(){d.value=!1,l.isPointerDownOnContentRef.value=!1,je(()=>{document.getSelection()?.toString()!==""&&(l.hasSelectionRef.value=!0)})}return Ke(()=>{o.value&&(document.addEventListener("pointerup",p),M8(o.value).forEach(g=>g.setAttribute("tabindex","-1"))),ba(window,"scroll",m=>{m.target?.contains(l.triggerElement.value)&&l.onDismiss()},{capture:!0})}),Ft(()=>{document.removeEventListener("pointerup",p),l.hasSelectionRef.value=!1,l.isPointerDownOnContentRef.value=!1}),(m,g)=>(x(),N(i(ai),{"as-child":"","disable-outside-pointer-events":!1,onEscapeKeyDown:g[1]||(g[1]=y=>n("escapeKeyDown",y)),onPointerDownOutside:g[2]||(g[2]=y=>n("pointerDownOutside",y)),onFocusOutside:g[3]||(g[3]=ut(y=>n("focusOutside",y),["prevent"])),onDismiss:i(l).onDismiss},{default:T(()=>[I(i(Fl),$e({...i(r),...m.$attrs},{ref:i(s),"data-state":i(l).open.value?"open":"closed",style:{userSelect:d.value?"text":void 0,WebkitUserSelect:d.value?"text":void 0,"--reka-hover-card-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-hover-card-content-available-width":"var(--reka-popper-available-width)","--reka-hover-card-content-available-height":"var(--reka-popper-available-height)","--reka-hover-card-trigger-width":"var(--reka-popper-anchor-width)","--reka-hover-card-trigger-height":"var(--reka-popper-anchor-height)"},onPointerdown:g[0]||(g[0]=y=>{y.currentTarget.contains(y.target)&&(d.value=!0),i(l).hasSelectionRef.value=!1,i(l).isPointerDownOnContentRef.value=!0})}),{default:T(()=>[Z(m.$slots,"default")]),_:3},16,["data-state","style"])]),_:3},8,["onDismiss"]))}}),A8=$8,I8=ue({__name:"HoverCardContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(e,{emit:t}){const r=Ka(e,t),{forwardRef:s}=Le(),o=cg();return(l,c)=>(x(),N(i(un),{present:l.forceMount||i(o).open.value},{default:T(()=>[I(A8,$e(i(r),{ref:i(s),onPointerenter:c[0]||(c[0]=u=>i(Dp)(i(o).onOpen)(u))}),{default:T(()=>[Z(l.$slots,"default")]),_:3},16)]),_:3},8,["present"]))}}),T8=I8,P8=ue({__name:"HoverCardPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),D8=P8,E8=ue({__name:"HoverCardTrigger",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"a"}},setup(e){const{forwardRef:t,currentElement:a}=Le(),n=cg();n.triggerElement=a;function r(){setTimeout(()=>{!n.isPointerInTransitRef.value&&!n.open.value&&n.onClose()},0)}return(s,o)=>(x(),N(i(ri),{"as-child":"",reference:s.reference},{default:T(()=>[I(i(Te),{ref:i(t),"as-child":s.asChild,as:s.as,"data-state":i(n).open.value?"open":"closed","data-grace-area-trigger":"",onPointerenter:o[0]||(o[0]=l=>i(Dp)(i(n).onOpen)(l)),onPointerleave:o[1]||(o[1]=l=>i(Dp)(r)(l)),onFocus:o[2]||(o[2]=l=>i(n).onOpen()),onBlur:o[3]||(o[3]=l=>i(n).onClose())},{default:T(()=>[Z(s.$slots,"default")]),_:3},8,["as-child","as","data-state"])]),_:3},8,["reference"]))}}),R8=E8,O8=ue({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Te),$e(t,{onMousedown:n[0]||(n[0]=r=>{!r.defaultPrevented&&r.detail>1&&r.preventDefault()})}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),Ep=O8;function L8(e){function t(n){return Array.isArray(e.date.value)?e.date.value.some(r=>At(r,n)):e.date.value?At(e.date.value,n):!1}const a=$(()=>{if(Array.isArray(e.date.value)){if(!e.date.value.length)return!1;for(const n of e.date.value)if(e.isMonthDisabled?.(n)||e.isMonthUnavailable?.(n))return!0}else{if(!e.date.value)return!1;if(e.isMonthDisabled?.(e.date.value)||e.isMonthUnavailable?.(e.date.value))return!0}return!1});return{isMonthSelected:t,isInvalid:a}}function a_(e){const t=Km(e.locale.value),a=m=>typeof m=="function"?m:m?.value,n=$(()=>{const m={calendar:e.placeholder.value.calendar.identifier};return e.placeholder.value.calendar.identifier==="gregory"&&e.placeholder.value.era==="BC"&&(m.era="short"),m}),r=E(hs({dateObj:e.placeholder.value}));function s(m){return!!(a(e.isMonthDisabled)?.(m)||e.disabled.value||e.maxValue.value&&Bn(m.set({day:1}),e.maxValue.value)||e.minValue.value&&La(Cr(m),e.minValue.value))}const o=m=>!!a(e.isMonthUnavailable)?.(m),l=m=>{if(!e.maxValue.value)return!1;if(e.disabled.value)return!0;const g=r.value.value;if(m||e.nextPage.value){const _=(m||e.nextPage.value)(g);return Bn(_.set({month:1,day:1}),e.maxValue.value)}const y=g.add({years:1}).set({month:1,day:1});return Bn(y,e.maxValue.value)},c=m=>{if(!e.minValue.value)return!1;if(e.disabled.value)return!0;const g=r.value.value;if(m||e.prevPage.value){const _=(m||e.prevPage.value)(g);return La(Cr(_.set({month:12})),e.minValue.value)}const y=g.subtract({years:1}).set({month:12,day:31});return La(y,e.minValue.value)},u=m=>{const g=r.value.value;if(m||e.nextPage.value){const _=(m||e.nextPage.value)(g);r.value=hs({dateObj:_}),e.placeholder.value=_.set({month:e.placeholder.value.month,day:e.placeholder.value.day});return}const y=g.add({years:1});r.value=hs({dateObj:y}),e.placeholder.value=y.set({month:e.placeholder.value.month,day:e.placeholder.value.day})},d=m=>{const g=r.value.value;if(m||e.prevPage.value){const _=(m||e.prevPage.value)(g);r.value=hs({dateObj:_}),e.placeholder.value=_.set({month:e.placeholder.value.month,day:e.placeholder.value.day});return}const y=g.subtract({years:1});r.value=hs({dateObj:y}),e.placeholder.value=y.set({month:e.placeholder.value.month,day:e.placeholder.value.day})};Pe(e.placeholder,m=>{m.year!==r.value.value.year&&(r.value=hs({dateObj:m}))}),Pe(e.locale,()=>{t.setLocale(e.locale.value),r.value=hs({dateObj:e.placeholder.value})});const f=$(()=>(e.locale.value!==t.getLocale()&&t.setLocale(e.locale.value),t.fullYear(Gt(r.value.value),n.value))),p=$(()=>`${e.calendarLabel.value??"Month Picker"}, ${f.value}`);return{isMonthDisabled:s,isMonthUnavailable:o,isNextButtonDisabled:l,isPrevButtonDisabled:c,grid:r,formatter:t,nextPage:u,prevPage:d,headingValue:f,fullCalendarLabel:p}}const q8={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},N8={role:"heading","aria-level":"2"},[ui,F8]=st("MonthPickerRoot");var V8=ue({__name:"MonthPickerRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},preventDeselect:{type:Boolean,required:!1,default:!1},calendarLabel:{type:String,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isMonthDisabled:{type:Function,required:!1,default:void 0},isMonthUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,multiple:l,minValue:c,maxValue:u,preventDeselect:d,isMonthDisabled:f,isMonthUnavailable:p,calendarLabel:m,defaultValue:g,nextPage:y,prevPage:_,dir:v,locale:h}=dt(a),{primitiveElement:k,currentElement:w}=ia(),A=Ks(h),M=cn(v),S=da(void 0,"reka-month-picker-heading"),P=ht(a,"modelValue",n,{defaultValue:g.value,passive:a.modelValue===void 0}),D=ei({defaultPlaceholder:a.placeholder,defaultValue:P.value,locale:a.locale}),H=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??D.copy(),passive:a.placeholder===void 0});function Q(ge){H.value=ge.copy()}const{fullCalendarLabel:G,headingValue:V,isMonthDisabled:R,isMonthUnavailable:L,isNextButtonDisabled:z,isPrevButtonDisabled:le,nextPage:K,prevPage:ce,formatter:Y,grid:ve}=a_({locale:A,placeholder:H,minValue:c,maxValue:u,disabled:r,isMonthDisabled:f,isMonthUnavailable:p,calendarLabel:m,nextPage:y,prevPage:_}),{isInvalid:ie,isMonthSelected:ye}=L8({date:P,isMonthDisabled:R,isMonthUnavailable:L});Pe(P,ge=>{if(Array.isArray(ge)&&ge.length){const O=ge.at(-1);O&&!At(H.value,O)&&Q(O)}else!Array.isArray(ge)&&ge&&!At(H.value,ge)&&Q(ge)});function de(ge,O){return O?ge.copy().set({day:O.day}):ge.copy()}function he(ge){if(l.value)if(!P.value)P.value=[de(ge,H.value)];else{const O=Array.isArray(P.value)?P.value:[P.value],W=O.findIndex(j=>At(j,ge));if(W===-1)P.value=[...O,de(ge,H.value)];else if(!d.value){const j=O.filter(J=>!At(J,ge));if(!j.length){H.value=de(ge,O[W]),P.value=void 0;return}P.value=j.map(J=>J.copy())}}else{if(!P.value){P.value=de(ge,H.value);return}!d.value&&At(P.value,ge)?(H.value=de(ge,P.value),P.value=void 0):P.value=de(ge,P.value)}}return Ke(()=>{o.value&&ti(w.value)}),F8({isMonthUnavailable:L,dir:M,isMonthDisabled:R,locale:A,formatter:Y,modelValue:P,placeholder:H,disabled:r,initialFocus:o,grid:ve,multiple:l,readonly:s,preventDeselect:d,fullCalendarLabel:G,headingValue:V,headingId:S,isInvalid:ie,isMonthSelected:ye,isNextButtonDisabled:z,isPrevButtonDisabled:le,nextPage:K,prevPage:ce,parentElement:w,onPlaceholderChange:Q,onMonthChange:he,minValue:c,maxValue:u}),(ge,O)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:k,as:ge.as,"as-child":ge.asChild,"aria-label":i(G),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(ie)?"":void 0,dir:i(M)},{default:T(()=>[Z(ge.$slots,"default",{date:i(H),grid:i(ve),locale:i(A),modelValue:i(P)}),b("div",q8,[b("div",N8,C(i(G)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),B8=V8,z8=ue({__name:"MonthPickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=ui();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isMonthSelected(a.date)?!0:void 0,"aria-disabled":i(t).isMonthDisabled(a.date)||i(t).isMonthUnavailable?.(a.date),"data-disabled":i(t).isMonthDisabled(a.date)?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),H8=z8,U8=ue({__name:"MonthPickerCellTrigger",props:{month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=Kn(),n=ui(),{primitiveElement:r}=ia(),s=$(()=>(n.locale.value,n.formatter.custom(Gt(t.month),{month:"short"}))),o=$(()=>(n.locale.value,n.formatter.custom(Gt(t.month),{month:"long",year:"numeric"}))),l=$(()=>n.isMonthUnavailable?.(t.month)??!1),c=$(()=>{const y=ua(Ws(Mn()),t.month.calendar);return At(t.month,y)}),u=$(()=>n.isMonthDisabled(t.month)),d=$(()=>!n.disabled.value&&At(t.month,n.placeholder.value)),f=$(()=>n.isMonthSelected(t.month));function p(y){n.readonly.value||n.isMonthDisabled(y)||n.isMonthUnavailable?.(y)||n.onMonthChange(y)}function m(){u.value||p(t.month)}function g(y){if(u.value)return;y.preventDefault(),y.stopPropagation();const _=n.parentElement.value,v=n.dir.value==="rtl"?-1:1;switch(y.code){case a.ARROW_RIGHT:h(t.month,v);break;case a.ARROW_LEFT:h(t.month,-v);break;case a.ARROW_UP:h(t.month,-4);break;case a.ARROW_DOWN:h(t.month,4);break;case a.PAGE_UP:k(-1);break;case a.PAGE_DOWN:k(1);break;case a.ENTER:case a.SPACE_CODE:p(t.month)}function h(w,A,M=0){if(M>48)return;const S=w.add({months:A});if(n.minValue.value&&Cr(S).compare(n.minValue.value)<0||n.maxValue.value&&S.set({day:1}).compare(n.maxValue.value)>0)return;const P=_.querySelector(`[data-value='${S.toString()}']`);if(!P){if(A>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{h(w,A,M+1)});return}if(P&&P.hasAttribute("data-disabled"))return h(S,A,M+1);n.onPlaceholderChange(S),P?.focus()}function k(w){const A=t.month.add({years:w});if(!(n.minValue.value&&Cr(A).compare(n.minValue.value)<0||n.maxValue.value&&A.set({day:1}).compare(n.maxValue.value)>0)){if(w>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{const M=_.querySelector(`[data-value='${A.toString()}']`);M&&!M.hasAttribute("data-disabled")&&(n.onPlaceholderChange(A),M?.focus())})}}}return(y,_)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-month-picker-cell-trigger":"","aria-disabled":u.value||l.value?!0:void 0,"data-selected":f.value?!0:void 0,"data-value":y.month.toString(),"data-disabled":u.value?"":void 0,"data-unavailable":l.value?"":void 0,"data-today":c.value?"":void 0,"data-focused":d.value?"":void 0,tabindex:d.value?0:u.value?void 0:-1,onClick:m,onKeydown:[ta(g,["up","down","left","right","space","enter","page-up","page-down"]),_[0]||(_[0]=ta(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[Z(y.$slots,"default",{monthValue:s.value,disabled:u.value,today:c.value,selected:f.value,unavailable:l.value},()=>[pe(C(s.value),1)])]),_:3},8,["as","as-child","aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-focused","tabindex"]))}}),j8=U8,W8=ue({__name:"MonthPickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=ui(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-labelledby":i(a).headingId,"aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&""}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-labelledby","aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),K8=W8,G8=ue({__name:"MonthPickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),Y8=G8,X8=ue({__name:"MonthPickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{role:"row"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),J8=X8,Q8=ue({__name:"MonthPickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),Z8=Q8,eD=ue({__name:"MonthPickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=ui();return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).headingId,role:"heading","aria-level":"2","data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["id","data-disabled"]))}}),tD=eD,aD=ue({__name:"MonthPickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=ui(),n=$(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage));function r(){n.value||a.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next year",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Next year "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),nD=aD,rD=ue({__name:"MonthPickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=ui(),n=$(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage));function r(){n.value||a.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{"aria-label":"Previous year",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Prev year "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),sD=rD;function oD(e){const t=$(()=>e.start.value?!!e.isMonthDisabled(e.start.value):!1),a=$(()=>e.end.value?!!e.isMonthDisabled(e.end.value):!1),n=$(()=>!!(t.value||a.value||e.start.value&&e.end.value&&ma(e.end.value,e.start.value)<0)),r=f=>e.start.value?At(e.start.value,f):!1,s=f=>e.end.value?At(e.end.value,f):!1,o=f=>e.start.value&&At(e.start.value,f)||e.end.value&&At(e.end.value,f)?!0:e.end.value&&e.start.value?ma(f,e.start.value)>0&&ma(f,e.end.value)<0:!1,l=f=>{if(e.isMonthDisabled(f))return!0;if(e.maximumMonths?.value){const p=e.maximumMonths.value;if(e.start.value&&e.end.value){if(e.fixedDate.value){const m=vA(e.start.value,e.end.value);if(m<=p){const v=p-m,h=e.start.value.subtract({months:v}),k=e.end.value.add({months:v});return ma(f,h)<0||ma(f,k)>0}const g=e.fixedDate.value==="start"?e.start.value:e.end.value,y=g.add({months:p-1}),_=g.subtract({months:p-1});return ma(f,_)<0||ma(f,y)>0}return!1}if(e.start.value){const m=e.start.value.add({months:p-1}),g=e.start.value.subtract({months:p-1});return ma(f,g)<0||ma(f,m)>0}}return!1},c=$(()=>{if(e.start.value&&e.end.value&&!e.fixedDate.value||!e.start.value||!e.focusedValue.value)return null;const f=ma(e.start.value,e.focusedValue.value)<0,p=f?e.start.value:e.focusedValue.value,m=f?e.focusedValue.value:e.start.value;if(At(p,m))return{start:p,end:m};if(e.maximumMonths?.value&&!e.end.value){const y=e.maximumMonths.value,_=e.start.value,v=e.focusedValue.value;if(ma(v,_)>=0){const h=_.add({months:y-1}),k=ma(v,h)>0?h:v;return{start:_,end:k}}else{const h=_.subtract({months:y-1});return{start:ma(v,h)<0?h:v,end:_}}}return bA(p,m,e.allowNonContiguousRanges.value?()=>!1:e.isMonthUnavailable,l)?{start:p,end:m}:null});return{isInvalid:n,isSelected:o,highlightedRange:c,isSelectionStart:r,isSelectionEnd:s,isHighlightedStart:f=>c.value?.start?At(c.value.start,f):!1,isHighlightedEnd:f=>c.value?.end?At(c.value.end,f):!1,isMonthDisabled:l}}const iD={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},lD={role:"heading","aria-level":"2"},[di,cD]=st("MonthRangePickerRoot");var uD=ue({__name:"MonthRangePickerRoot",props:{defaultPlaceholder:{type:null,required:!1},defaultValue:{type:Object,required:!1,default:()=>({start:void 0,end:void 0})},modelValue:{type:[Object,null],required:!1},placeholder:{type:null,required:!1,default:void 0},allowNonContiguousRanges:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},maximumMonths:{type:Number,required:!1,default:void 0},calendarLabel:{type:String,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isMonthDisabled:{type:Function,required:!1,default:void 0},isMonthUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},fixedDate:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder","update:startValue"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,preventDeselect:l,isMonthUnavailable:c,isMonthDisabled:u,calendarLabel:d,maxValue:f,minValue:p,dir:m,locale:g,nextPage:y,prevPage:_,allowNonContiguousRanges:v,fixedDate:h,maximumMonths:k}=dt(a),{primitiveElement:w,currentElement:A}=ia(),M=cn(m),S=Ks(g),P=da(void 0,"reka-month-range-picker-heading"),D=E(),H=E(),Q=E(!1),G=ht(a,"modelValue",n,{defaultValue:a.defaultValue??{start:void 0,end:void 0},passive:a.modelValue===void 0}),V=te=>te??{start:void 0,end:void 0},R=$(()=>V(G.value)),L=E(V(G.value)),z=ei({defaultPlaceholder:a.placeholder,defaultValue:V(G.value).start,locale:a.locale}),le=E(V(G.value).start),K=E(V(G.value).end),ce=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??z.copy(),passive:a.placeholder===void 0});function Y(te){ce.value=te.copy()}const{fullCalendarLabel:ve,headingValue:ie,isMonthDisabled:ye,isMonthUnavailable:de,isNextButtonDisabled:he,isPrevButtonDisabled:ge,grid:O,nextPage:W,prevPage:j,formatter:J}=a_({locale:S,placeholder:ce,minValue:p,maxValue:f,disabled:r,isMonthDisabled:u,isMonthUnavailable:c,calendarLabel:d,nextPage:y,prevPage:_}),{isInvalid:ne,isSelected:U,highlightedRange:q,isSelectionStart:oe,isSelectionEnd:_e,isHighlightedStart:me,isHighlightedEnd:be,isMonthDisabled:B}=oD({start:le,end:K,isMonthDisabled:ye,isMonthUnavailable:de,focusedValue:H,allowNonContiguousRanges:v,fixedDate:h,maximumMonths:k});Pe(G,te=>{const ee=V(te);!ee.start&&!le.value||ee.start&&le.value&&At(ee.start,le.value)||(le.value=ee.start?.copy?.()),!ee.end&&!K.value||ee.end&&K.value&&At(ee.end,K.value)||(K.value=ee.end?.copy?.()),ee.start&&ee.end&&(L.value={start:ee.start.copy(),end:ee.end.copy()})}),Pe(le,te=>{te&&!At(te,ce.value)&&Y(te),n("update:startValue",te)}),Pe([le,K],([te,ee])=>{const Me=G.value;if(!(Me&&Me.start&&Me.end&&te&&ee&&At(Me.start,te)&&At(Me.end,ee)))if(Q.value=!0,ee&&te){const ae=ma(ee,te)<0?{start:ee.copy(),end:te.copy()}:{start:te.copy(),end:ee.copy()};G.value={start:ae.start,end:ae.end},Q.value=!1,L.value={start:ae.start.copy(),end:ae.end.copy()}}else G.value=te?{start:te.copy(),end:void 0}:{start:ee?.copy(),end:void 0}});const X=Kn();return ba(A,"keydown",te=>{te.key===X.ESCAPE&&Q.value&&(le.value=L.value.start?.copy(),K.value=L.value.end?.copy())}),cD({isMonthUnavailable:de,startValue:le,endValue:K,formatter:J,modelValue:R,placeholder:ce,disabled:r,initialFocus:o,grid:O,readonly:s,preventDeselect:l,fullCalendarLabel:ve,headingValue:ie,headingId:P,isInvalid:ne,isMonthDisabled:B,allowNonContiguousRanges:v,highlightedRange:q,focusedValue:H,lastPressedDateValue:D,isSelected:U,isSelectionEnd:_e,isSelectionStart:oe,isNextButtonDisabled:he,isPrevButtonDisabled:ge,nextPage:W,prevPage:j,parentElement:A,onPlaceholderChange:Y,locale:S,dir:M,isHighlightedStart:me,isHighlightedEnd:be,fixedDate:h,maximumMonths:k,minValue:p,maxValue:f}),Ke(()=>{o.value&&ti(A.value)}),(te,ee)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:w,as:te.as,"as-child":te.asChild,"aria-label":i(ve),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(ne)?"":void 0,dir:i(M)},{default:T(()=>[b("div",iD,[b("div",lD,C(i(ve)),1)]),Z(te.$slots,"default",{date:i(ce),grid:i(O),locale:i(S),modelValue:R.value})]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),dD=uD,fD=ue({__name:"MonthRangePickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=di();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isSelected(a.date)?!0:void 0,"aria-disabled":i(t).isMonthDisabled(a.date)||i(t).isMonthUnavailable?.(a.date),"data-disabled":i(t).isMonthDisabled(a.date)?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),pD=fD,mD=ue({__name:"MonthRangePickerCellTrigger",props:{month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=Kn(),n=di(),{primitiveElement:r}=ia(),s=$(()=>(n.locale.value,n.formatter.custom(Gt(t.month),{month:"short"}))),o=$(()=>(n.locale.value,n.formatter.custom(Gt(t.month),{month:"long",year:"numeric"}))),l=$(()=>n.isMonthUnavailable?.(t.month)??!1),c=$(()=>{const M=ua(Ws(Mn()),t.month.calendar);return At(t.month,M)}),u=$(()=>n.isMonthDisabled(t.month)),d=$(()=>!n.disabled.value&&At(t.month,n.placeholder.value)),f=$(()=>n.isSelected(t.month)),p=$(()=>n.isSelectionStart(t.month)),m=$(()=>n.isSelectionEnd(t.month)),g=$(()=>n.isHighlightedStart(t.month)),y=$(()=>n.isHighlightedEnd(t.month)),_=$(()=>n.highlightedRange.value?gA(t.month,n.highlightedRange.value.start,n.highlightedRange.value.end):!1),v=$(()=>n.allowNonContiguousRanges.value);function h(M,S){if(!n.readonly.value&&!(n.isMonthDisabled(S)||n.isMonthUnavailable?.(S))){if(n.startValue.value&&n.highlightedRange.value===null){if(At(S,n.startValue.value)&&!n.preventDeselect.value&&!n.endValue.value){n.startValue.value=void 0,n.onPlaceholderChange(S),n.lastPressedDateValue.value=S.copy();return}else if(!n.endValue.value){M.preventDefault(),n.lastPressedDateValue.value&&At(n.lastPressedDateValue.value,S)&&(n.startValue.value=S.copy()),n.lastPressedDateValue.value=S.copy();return}}if(n.lastPressedDateValue.value=S.copy(),n.startValue.value&&n.endValue.value&&At(n.startValue.value,n.endValue.value)&&At(n.startValue.value,S)&&!n.preventDeselect.value){n.startValue.value=void 0,n.endValue.value=void 0,n.onPlaceholderChange(S);return}n.startValue.value?n.endValue.value?n.endValue.value&&n.startValue.value&&(n.fixedDate.value?n.fixedDate.value==="start"?S.compare(n.startValue.value)<0?n.startValue.value=S.copy():n.endValue.value=S.copy():n.fixedDate.value==="end"&&(S.compare(n.endValue.value)>0?n.endValue.value=S.copy():n.startValue.value=S.copy()):(n.endValue.value=void 0,n.startValue.value=S.copy())):n.endValue.value=S.copy():n.startValue.value=S.copy()}}function k(M){u.value||h(M,t.month)}function w(){u.value||n.isMonthUnavailable?.(t.month)||(n.focusedValue.value=t.month.copy())}function A(M){if(u.value)return;M.preventDefault(),M.stopPropagation();const S=n.parentElement.value,P=n.dir.value==="rtl"?-1:1;switch(M.code){case a.ARROW_RIGHT:D(t.month,P);break;case a.ARROW_LEFT:D(t.month,-P);break;case a.ARROW_UP:D(t.month,-4);break;case a.ARROW_DOWN:D(t.month,4);break;case a.PAGE_UP:H(-1);break;case a.PAGE_DOWN:H(1);break;case a.ENTER:case a.SPACE_CODE:h(M,t.month)}function D(Q,G,V=0){if(V>48)return;const R=Q.add({months:G});if(n.minValue.value&&Cr(R).compare(n.minValue.value)<0||n.maxValue.value&&R.set({day:1}).compare(n.maxValue.value)>0)return;const L=S.querySelector(`[data-value='${R.toString()}']`);if(!L){if(G>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{D(Q,G,V+1)});return}if(L&&L.hasAttribute("data-disabled"))return D(R,G,V+1);n.onPlaceholderChange(R),L?.focus()}function H(Q){const G=t.month.add({years:Q});if(!(n.minValue.value&&Cr(G).compare(n.minValue.value)<0||n.maxValue.value&&G.set({day:1}).compare(n.maxValue.value)>0)){if(Q>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{const V=S.querySelector(`[data-value='${G.toString()}']`);if(V&&!V.hasAttribute("data-disabled")){n.onPlaceholderChange(G),V?.focus();return}D(G,Q>0?1:-1,1)})}}}return(M,S)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-month-range-picker-cell-trigger":"","aria-pressed":f.value&&(v.value||!l.value)?!0:void 0,"aria-disabled":u.value||l.value?!0:void 0,"data-highlighted":_.value&&(v.value||!l.value)?"":void 0,"data-selection-start":p.value?!0:void 0,"data-selection-end":m.value?!0:void 0,"data-highlighted-start":g.value?!0:void 0,"data-highlighted-end":y.value?!0:void 0,"data-selected":f.value&&(v.value||!l.value)?!0:void 0,"data-value":M.month.toString(),"data-disabled":u.value?"":void 0,"data-unavailable":l.value?"":void 0,"data-today":c.value?"":void 0,"data-focused":d.value?"":void 0,tabindex:d.value?0:u.value?void 0:-1,onClick:k,onFocusin:w,onMouseenter:w,onKeydown:[ta(A,["up","down","left","right","space","enter","page-up","page-down"]),S[0]||(S[0]=ta(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[Z(M.$slots,"default",{monthValue:s.value,disabled:u.value,today:c.value,selected:f.value,unavailable:l.value,highlighted:_.value&&(v.value||!l.value),highlightedStart:g.value,highlightedEnd:y.value,selectionStart:p.value,selectionEnd:m.value},()=>[pe(C(s.value),1)])]),_:3},8,["as","as-child","aria-label","aria-pressed","aria-disabled","data-highlighted","data-selection-start","data-selection-end","data-highlighted-start","data-highlighted-end","data-selected","data-value","data-disabled","data-unavailable","data-today","data-focused","tabindex"]))}}),gD=mD,hD=ue({__name:"MonthRangePickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=di(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-labelledby":i(a).headingId,"aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&""}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-labelledby","aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),vD=hD,yD=ue({__name:"MonthRangePickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),bD=yD,xD=ue({__name:"MonthRangePickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{role:"row"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),_D=xD,wD=ue({__name:"MonthRangePickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),kD=wD,CD=ue({__name:"MonthRangePickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=di();return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).headingId,role:"heading","aria-level":"2","data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["id","data-disabled"]))}}),SD=CD,MD=ue({__name:"MonthRangePickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=di(),n=$(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage));function r(){n.value||a.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next year",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Next year "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),$D=MD,AD=ue({__name:"MonthRangePickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=di(),n=$(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage));function r(){n.value||a.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{"aria-label":"Previous year",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Prev year "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),ID=AD;let yf=new Map,Rp=!1;try{Rp=new Intl.NumberFormat("de-DE",{signDisplay:"exceptZero"}).resolvedOptions().signDisplay==="exceptZero"}catch{}let Cu=!1;try{Cu=new Intl.NumberFormat("de-DE",{style:"unit",unit:"degree"}).resolvedOptions().style==="unit"}catch{}const n_={degree:{narrow:{default:"°","ja-JP":" 度","zh-TW":"度","sl-SI":" °"}}};class r_{format(t){let a="";if(!Rp&&this.options.signDisplay!=null?a=PD(this.numberFormatter,this.options.signDisplay,t):a=this.numberFormatter.format(t),this.options.style==="unit"&&!Cu){var n;let{unit:r,unitDisplay:s="short",locale:o}=this.resolvedOptions();if(!r)return a;let l=(n=n_[r])===null||n===void 0?void 0:n[s];a+=l[o]||l.default}return a}formatToParts(t){return this.numberFormatter.formatToParts(t)}formatRange(t,a){if(typeof this.numberFormatter.formatRange=="function")return this.numberFormatter.formatRange(t,a);if(a<t)throw new RangeError("End date must be >= start date");return`${this.format(t)} – ${this.format(a)}`}formatRangeToParts(t,a){if(typeof this.numberFormatter.formatRangeToParts=="function")return this.numberFormatter.formatRangeToParts(t,a);if(a<t)throw new RangeError("End date must be >= start date");let n=this.numberFormatter.formatToParts(t),r=this.numberFormatter.formatToParts(a);return[...n.map(s=>({...s,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...r.map(s=>({...s,source:"endRange"}))]}resolvedOptions(){let t=this.numberFormatter.resolvedOptions();return!Rp&&this.options.signDisplay!=null&&(t={...t,signDisplay:this.options.signDisplay}),!Cu&&this.options.style==="unit"&&(t={...t,style:"unit",unit:this.options.unit,unitDisplay:this.options.unitDisplay}),t}constructor(t,a={}){this.numberFormatter=TD(t,a),this.options=a}}function TD(e,t={}){let{numberingSystem:a}=t;if(a&&e.includes("-nu-")&&(e.includes("-u-")||(e+="-u-"),e+=`-nu-${a}`),t.style==="unit"&&!Cu){var n;let{unit:o,unitDisplay:l="short"}=t;if(!o)throw new Error('unit option must be provided with style: "unit"');if(!(!((n=n_[o])===null||n===void 0)&&n[l]))throw new Error(`Unsupported unit ${o} with unitDisplay = ${l}`);t={...t,style:"decimal"}}let r=e+(t?Object.entries(t).sort((o,l)=>o[0]<l[0]?-1:1).join():"");if(yf.has(r))return yf.get(r);let s=new Intl.NumberFormat(e,t);return yf.set(r,s),s}function PD(e,t,a){if(t==="auto")return e.format(a);if(t==="never")return e.format(Math.abs(a));{let n=!1;if(t==="always"?n=a>0||Object.is(a,0):t==="exceptZero"&&(Object.is(a,-0)||Object.is(a,0)?a=Math.abs(a):n=a>0),n){let r=e.format(-a),s=e.format(a),o=r.replace(s,"").replace(/\u200e|\u061C/,"");return[...o].length!==1&&console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"),r.replace(s,"!!!").replace(o,"+").replace("!!!",s)}else return e.format(a)}}const DD=new RegExp("^.*\\(.*\\).*$"),ED=["latn","arab","hanidec","deva","beng","fullwide"];class s_{parse(t){return bf(this.locale,this.options,t).parse(t)}isValidPartialNumber(t,a,n){return bf(this.locale,this.options,t).isValidPartialNumber(t,a,n)}getNumberingSystem(t){return bf(this.locale,this.options,t).options.numberingSystem}constructor(t,a={}){this.locale=t,this.options=a}}const s0=new Map;function bf(e,t,a){let n=o0(e,t);if(!e.includes("-nu-")&&!n.isValidPartialNumber(a)){for(let r of ED)if(r!==n.options.numberingSystem){let s=o0(e+(e.includes("-u-")?"-nu-":"-u-nu-")+r,t);if(s.isValidPartialNumber(a))return s}}return n}function o0(e,t){let a=e+(t?Object.entries(t).sort((r,s)=>r[0]<s[0]?-1:1).join():""),n=s0.get(a);return n||(n=new RD(e,t),s0.set(a,n)),n}class RD{parse(t){let a=this.sanitize(t);if(this.symbols.group&&(a=oo(a,this.symbols.group,"")),this.symbols.decimal&&(a=a.replace(this.symbols.decimal,".")),this.symbols.minusSign&&(a=a.replace(this.symbols.minusSign,"-")),a=a.replace(this.symbols.numeral,this.symbols.index),this.options.style==="percent"){let o=a.indexOf("-");a=a.replace("-",""),a=a.replace("+","");let l=a.indexOf(".");l===-1&&(l=a.length),a=a.replace(".",""),l-2===0?a=`0.${a}`:l-2===-1?a=`0.0${a}`:l-2===-2?a="0.00":a=`${a.slice(0,l-2)}.${a.slice(l-2)}`,o>-1&&(a=`-${a}`)}let n=a?+a:NaN;if(isNaN(n))return NaN;if(this.options.style==="percent"){var r,s;let o={...this.options,style:"decimal",minimumFractionDigits:Math.min(((r=this.options.minimumFractionDigits)!==null&&r!==void 0?r:0)+2,20),maximumFractionDigits:Math.min(((s=this.options.maximumFractionDigits)!==null&&s!==void 0?s:0)+2,20)};return new s_(this.locale,o).parse(new r_(this.locale,o).format(n))}return this.options.currencySign==="accounting"&&DD.test(t)&&(n=-1*n),n}sanitize(t){return t=t.replace(this.symbols.literals,""),this.symbols.minusSign&&(t=t.replace("-",this.symbols.minusSign)),this.options.numberingSystem==="arab"&&(this.symbols.decimal&&(t=t.replace(",",this.symbols.decimal),t=t.replace("،",this.symbols.decimal)),this.symbols.group&&(t=oo(t,".",this.symbols.group))),this.symbols.group==="’"&&t.includes("'")&&(t=oo(t,"'",this.symbols.group)),this.options.locale==="fr-FR"&&this.symbols.group&&(t=oo(t," ",this.symbols.group),t=oo(t,/\u00A0/g,this.symbols.group)),t}isValidPartialNumber(t,a=-1/0,n=1/0){return t=this.sanitize(t),this.symbols.minusSign&&t.startsWith(this.symbols.minusSign)&&a<0?t=t.slice(this.symbols.minusSign.length):this.symbols.plusSign&&t.startsWith(this.symbols.plusSign)&&n>0&&(t=t.slice(this.symbols.plusSign.length)),this.symbols.group&&t.startsWith(this.symbols.group)||this.symbols.decimal&&t.indexOf(this.symbols.decimal)>-1&&this.options.maximumFractionDigits===0?!1:(this.symbols.group&&(t=oo(t,this.symbols.group,"")),t=t.replace(this.symbols.numeral,""),this.symbols.decimal&&(t=t.replace(this.symbols.decimal,"")),t.length===0)}constructor(t,a={}){this.locale=t,a.roundingIncrement!==1&&a.roundingIncrement!=null&&(a.maximumFractionDigits==null&&a.minimumFractionDigits==null?(a.maximumFractionDigits=0,a.minimumFractionDigits=0):a.maximumFractionDigits==null?a.maximumFractionDigits=a.minimumFractionDigits:a.minimumFractionDigits==null&&(a.minimumFractionDigits=a.maximumFractionDigits)),this.formatter=new Intl.NumberFormat(t,a),this.options=this.formatter.resolvedOptions(),this.symbols=LD(t,this.formatter,this.options,a);var n,r;this.options.style==="percent"&&(((n=this.options.minimumFractionDigits)!==null&&n!==void 0?n:0)>18||((r=this.options.maximumFractionDigits)!==null&&r!==void 0?r:0)>18)&&console.warn("NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.")}}const i0=new Set(["decimal","fraction","integer","minusSign","plusSign","group"]),OD=[0,4,2,1,11,20,3,7,100,21,.1,1.1];function LD(e,t,a,n){var r,s,o,l;let c=new Intl.NumberFormat(e,{...a,minimumSignificantDigits:1,maximumSignificantDigits:21,roundingIncrement:1,roundingPriority:"auto",roundingMode:"halfExpand"}),u=c.formatToParts(-10000.111),d=c.formatToParts(10000.111),f=OD.map(H=>c.formatToParts(H));var p;let m=(p=(r=u.find(H=>H.type==="minusSign"))===null||r===void 0?void 0:r.value)!==null&&p!==void 0?p:"-",g=(s=d.find(H=>H.type==="plusSign"))===null||s===void 0?void 0:s.value;!g&&(n?.signDisplay==="exceptZero"||n?.signDisplay==="always")&&(g="+");let _=(o=new Intl.NumberFormat(e,{...a,minimumFractionDigits:2,maximumFractionDigits:2}).formatToParts(.001).find(H=>H.type==="decimal"))===null||o===void 0?void 0:o.value,v=(l=u.find(H=>H.type==="group"))===null||l===void 0?void 0:l.value,h=u.filter(H=>!i0.has(H.type)).map(H=>l0(H.value)),k=f.flatMap(H=>H.filter(Q=>!i0.has(Q.type)).map(Q=>l0(Q.value))),w=[...new Set([...h,...k])].sort((H,Q)=>Q.length-H.length),A=w.length===0?new RegExp("[\\p{White_Space}]","gu"):new RegExp(`${w.join("|")}|[\\p{White_Space}]`,"gu"),M=[...new Intl.NumberFormat(a.locale,{useGrouping:!1}).format(9876543210)].reverse(),S=new Map(M.map((H,Q)=>[H,Q])),P=new RegExp(`[${M.join("")}]`,"g");return{minusSign:m,plusSign:g,decimal:_,group:v,literals:A,numeral:P,index:H=>String(S.get(H))}}function oo(e,t,a){return e.replaceAll?e.replaceAll(t,a):e.split(t).join(a)}function l0(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function o_(e){const{disabled:t}=e,a=E(),n=l2(),r=()=>window.clearTimeout(a.value),s=p=>{r(),!t.value&&(n.trigger(),a.value=window.setTimeout(()=>{s(60)},p))},o=()=>{s(400)},l=()=>{r()},c=E(!1),u=$(()=>_a(e.target)),d=p=>{p.button!==0||c.value||(p.preventDefault(),c.value=!0,o())},f=()=>{c.value=!1,l()};return Wa&&(ba(u||window,"pointerdown",d),ba(window,"pointerup",f),ba(window,"pointercancel",f)),{isPressed:c,onTrigger:n.on}}function c0(e,t=E({})){return ed(()=>new r_(e.value,t.value))}function qD(e,t=E({})){return ed(()=>new s_(e.value,t.value))}function u0(e,t,a){let n=e==="+"?t+a:t-a;if(t%1!==0||a%1!==0){const r=t.toString().split("."),s=a.toString().split("."),o=r[1]&&r[1].length||0,l=s[1]&&s[1].length||0,c=10**Math.max(o,l);t=Math.round(t*c),a=Math.round(a*c),n=e==="+"?t+a:t-a,n/=c}return n}const[ug,ND]=st("NumberFieldRoot");var FD=ue({inheritAttrs:!1,__name:"NumberFieldRoot",props:{defaultValue:{type:Number,required:!1,default:void 0},modelValue:{type:[Number,null],required:!1},min:{type:Number,required:!1},max:{type:Number,required:!1},step:{type:Number,required:!1,default:1},stepSnapping:{type:Boolean,required:!1,default:!0},focusOnChange:{type:Boolean,required:!1,default:!0},formatOptions:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1},readonly:{type:Boolean,required:!1},disableWheelChange:{type:Boolean,required:!1},invertWheelChange:{type:Boolean,required:!1},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,disableWheelChange:o,invertWheelChange:l,min:c,max:u,step:d,stepSnapping:f,formatOptions:p,id:m,locale:g}=dt(a),y=ht(a,"modelValue",n,{defaultValue:a.defaultValue,passive:a.modelValue===void 0}),{primitiveElement:_,currentElement:v}=ia(),h=Ks(g),k=Nl(v),w=E(),A=$(()=>!xn(y.value)&&(K(y.value)===c.value||c.value&&!isNaN(y.value)?u0("-",y.value,d.value)<c.value:!1)),M=$(()=>!xn(y.value)&&(K(y.value)===u.value||u.value&&!isNaN(y.value)?u0("+",y.value,d.value)>u.value:!1));function S(Y,ve=1){if(a.focusOnChange&&w.value?.focus(),a.disabled||a.readonly)return;const ie=G.parse(w.value?.value??"");isNaN(ie)?y.value=c.value??0:Y==="increase"?y.value=K(ie+(d.value??1)*ve):y.value=K(ie-(d.value??1)*ve)}function P(Y=1){S("increase",Y)}function D(Y=1){S("decrease",Y)}function H(Y){Y==="min"&&c.value!==void 0?y.value=K(c.value):Y==="max"&&u.value!==void 0&&(y.value=K(u.value))}const Q=c0(h,p),G=qD(h,p),V=$(()=>Q.resolvedOptions().maximumFractionDigits>0?"decimal":"numeric"),R=c0(h,p),L=$(()=>xn(y.value)||isNaN(y.value)?"":R.format(y.value));function z(Y){return G.isValidPartialNumber(Y,c.value,u.value)}function le(Y){w.value&&(w.value.value=Y)}function K(Y){let ve;return d.value===void 0||isNaN(d.value)||!f.value?ve=il(Y,c.value,u.value):ve=KM(Y,c.value,u.value,d.value),ve=G.parse(Q.format(ve)),ve}function ce(Y){const ve=G.parse(Y);return y.value=isNaN(ve)?void 0:K(ve),Y.length?(isNaN(ve),le(L.value)):le(Y)}return ND({modelValue:y,handleDecrease:D,handleIncrease:P,handleMinMaxValue:H,inputMode:V,inputEl:w,onInputElement:Y=>w.value=Y,textValue:L,readonly:s,validate:z,applyInputValue:ce,disabled:r,disableWheelChange:o,invertWheelChange:l,max:u,min:c,isDecreaseDisabled:A,isIncreaseDisabled:M,id:m}),(Y,ve)=>(x(),N(i(Te),$e(Y.$attrs,{ref_key:"primitiveElement",ref:_,role:"group",as:Y.as,"as-child":Y.asChild,"data-disabled":i(r)?"":void 0,"data-readonly":i(s)?"":void 0}),{default:T(()=>[Z(Y.$slots,"default",{modelValue:i(y),textValue:L.value,readonly:i(s)}),i(k)&&Y.name?(x(),N(i(dd),{key:0,type:"text",value:i(y),name:Y.name,disabled:i(r),readonly:i(s),required:Y.required},null,8,["value","name","disabled","readonly","required"])):se("v-if",!0)]),_:3},16,["as","as-child","data-disabled","data-readonly"]))}}),VD=FD,BD=ue({__name:"NumberFieldDecrement",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=ug(),n=$(()=>a.disabled?.value||a.readonly.value||t.disabled||a.isDecreaseDisabled.value),{primitiveElement:r,currentElement:s}=ia(),{isPressed:o,onTrigger:l}=o_({target:s,disabled:n});return l(()=>{a.handleDecrease()}),(c,u)=>(x(),N(i(Te),$e(t,{ref_key:"primitiveElement",ref:r,tabindex:"-1","aria-label":"Decrease",type:c.as==="button"?"button":void 0,style:{userSelect:i(o)?"none":void 0},disabled:n.value?"":void 0,"data-disabled":n.value?"":void 0,"data-pressed":i(o)?"true":void 0,onContextmenu:u[0]||(u[0]=ut(()=>{},["prevent"]))}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["type","style","disabled","data-disabled","data-pressed"]))}}),zD=BD,HD=ue({__name:"NumberFieldIncrement",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=ug(),n=$(()=>a.disabled?.value||a.readonly.value||t.disabled||a.isIncreaseDisabled.value),{primitiveElement:r,currentElement:s}=ia(),{isPressed:o,onTrigger:l}=o_({target:s,disabled:n});return l(()=>{a.handleIncrease()}),(c,u)=>(x(),N(i(Te),$e(t,{ref_key:"primitiveElement",ref:r,tabindex:"-1","aria-label":"Increase",type:c.as==="button"?"button":void 0,style:{userSelect:i(o)?"none":void 0},disabled:n.value?"":void 0,"data-disabled":n.value?"":void 0,"data-pressed":i(o)?"true":void 0,onContextmenu:u[0]||(u[0]=ut(()=>{},["prevent"]))}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["type","style","disabled","data-disabled","data-pressed"]))}}),UD=HD,jD=ue({__name:"NumberFieldInput",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},setup(e){const t=e,{primitiveElement:a,currentElement:n}=ia(),r=ug(),s=Kn(),{isComposing:o,handleCompositionStart:l,handleCompositionEnd:c}=u$();function u(m){if(!(o.value||m.isComposing))switch(m.key){case s.ARROW_UP:m.preventDefault(),r.handleIncrease();break;case s.ARROW_DOWN:m.preventDefault(),r.handleDecrease();break;case s.PAGE_UP:m.preventDefault(),r.handleIncrease(10);break;case s.PAGE_DOWN:m.preventDefault(),r.handleDecrease(10);break;case s.HOME:m.preventDefault(),r.handleMinMaxValue("min");break;case s.END:m.preventDefault(),r.handleMinMaxValue("max");break;case s.ENTER:r.applyInputValue(m.target?.value);break}}function d(m){r.disableWheelChange.value||m.target===Yt()&&(Math.abs(m.deltaY)<=Math.abs(m.deltaX)||(m.preventDefault(),m.deltaY>0?r.invertWheelChange.value?r.handleDecrease():r.handleIncrease():m.deltaY<0&&(r.invertWheelChange.value?r.handleIncrease():r.handleDecrease())))}Ke(()=>{r.onInputElement(n.value)});const f=E(r.textValue.value);Pe(()=>r.textValue.value,()=>{f.value=r.textValue.value},{immediate:!0,deep:!0});function p(){requestAnimationFrame(()=>{f.value=r.textValue.value})}return(m,g)=>(x(),N(i(Te),$e(t,{id:i(r).id.value,ref_key:"primitiveElement",ref:a,value:f.value,role:"spinbutton",type:"text",tabindex:"0",inputmode:i(r).inputMode.value,disabled:i(r).disabled.value?"":void 0,"data-disabled":i(r).disabled.value?"":void 0,readonly:i(r).readonly.value?"":void 0,"data-readonly":i(r).readonly.value?"":void 0,autocomplete:"off",autocorrect:"off",spellcheck:"false","aria-roledescription":"Number field","aria-valuenow":i(r).modelValue.value,"aria-valuemin":i(r).min.value,"aria-valuemax":i(r).max.value,onKeydown:u,onWheel:d,onBeforeinput:g[0]||(g[0]=y=>{if(y.isComposing)return;const _=y.target;let v=_.value.slice(0,_.selectionStart??void 0)+(y.data??"")+_.value.slice(_.selectionEnd??void 0);i(r).validate(v)||y.preventDefault()}),onInput:g[1]||(g[1]=y=>{const _=y.target;f.value=_.value}),onChange:p,onBlur:g[2]||(g[2]=y=>i(r).applyInputValue(y.target?.value)),onCompositionstart:i(l),onCompositionend:i(c)}),{default:T(()=>[Z(m.$slots,"default")]),_:3},16,["id","value","inputmode","disabled","data-disabled","readonly","data-readonly","aria-valuenow","aria-valuemin","aria-valuemax","onCompositionstart","onCompositionend"]))}}),WD=jD;const ul=100,[KD,GD]=st("ProgressRoot"),Su=e=>typeof e=="number";function YD(e,t){return xn(e)||Su(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
19
+ - a positive number
20
+ - less than the value passed to \`max\` (or ${ul} if no \`max\` prop is set)
21
+ - \`null\` or \`undefined\` if the progress is indeterminate.
22
+
23
+ Defaulting to \`null\`.`),null)}function XD(e){return Su(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${ul}\`.`),ul)}var JD=ue({__name:"ProgressRoot",props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:ul},getValueLabel:{type:Function,required:!1,default:(e,t)=>Su(e)?`${Math.round(e/t*ul)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue","update:max"],setup(e,{emit:t}){const a=e,n=t;Le();const r=ht(a,"modelValue",n,{passive:a.modelValue===void 0}),s=ht(a,"max",n,{passive:a.max===void 0});Pe(()=>r.value,async l=>{const c=YD(l,a.max);c!==l&&(await je(),r.value=c)},{immediate:!0}),Pe(()=>a.max,l=>{const c=XD(a.max);c!==l&&(s.value=c)},{immediate:!0});const o=$(()=>xn(r.value)?"indeterminate":r.value===s.value?"complete":"loading");return GD({modelValue:r,max:s,progressState:o}),(l,c)=>(x(),N(i(Te),{"as-child":l.asChild,as:l.as,"aria-valuemax":i(s),"aria-valuemin":0,"aria-valuenow":Su(i(r))?i(r):void 0,"aria-valuetext":l.getValueText?.(i(r),i(s)),"aria-label":l.getValueLabel(i(r),i(s)),role:"progressbar","data-state":o.value,"data-value":i(r)??void 0,"data-max":i(s)},{default:T(()=>[Z(l.$slots,"default",{modelValue:i(r)})]),_:3},8,["as-child","as","aria-valuemax","aria-valuenow","aria-valuetext","aria-label","data-state","data-value","data-max"]))}}),QD=JD,ZD=ue({__name:"ProgressIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=KD();return Le(),(n,r)=>(x(),N(i(Te),$e(t,{"data-state":i(a).progressState.value,"data-value":i(a).modelValue?.value??void 0,"data-max":i(a).max.value}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["data-state","data-value","data-max"]))}}),eE=ZD;const tE=[" ","Enter","ArrowUp","ArrowDown"],aE=[" ","Enter"],mn=10;function dl(e,t,a){return e===void 0?!1:Array.isArray(e)?e.some(n=>Op(n,t,a)):Op(e,t,a)}function Op(e,t,a){return e===void 0||t===void 0?!1:typeof e=="string"?e===t:typeof a=="function"?a(e,t):typeof a=="string"?e?.[a]===t?.[a]:es(e,t)}function nE(e){return e==null||e===""||Array.isArray(e)&&e.length===0}const rE={key:0,value:""},[rs,i_]=st("SelectRoot");var sE=ue({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(e,{emit:t}){const a=e,n=t,{required:r,disabled:s,multiple:o,dir:l}=dt(a),c=ht(a,"modelValue",n,{defaultValue:a.defaultValue??(o.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),u=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0}),d=E(),f=E(),p=E({x:0,y:0}),m=$(()=>o.value&&Array.isArray(c.value)?c.value?.length===0:xn(c.value));Ga({isProvider:!0});const g=cn(l),y=Nl(d),_=E(new Set),v=$(()=>Array.from(_.value).map(w=>w.value).join(";"));function h(w){if(o.value){const A=Array.isArray(c.value)?[...c.value]:[],M=A.findIndex(S=>Op(S,w,a.by));M===-1?A.push(w):A.splice(M,1),c.value=[...A]}else c.value=w}function k(w){return Array.from(_.value).find(A=>dl(w,A.value,a.by))}return i_({triggerElement:d,onTriggerChange:w=>{d.value=w},valueElement:f,onValueElementChange:w=>{f.value=w},contentId:"",modelValue:c,onValueChange:h,by:a.by,open:u,multiple:o,required:r,onOpenChange:w=>{u.value=w},dir:g,triggerPointerDownPosRef:p,disabled:s,isEmptyModelValue:m,optionsSet:_,onOptionAdd:w=>{const A=k(w.value);A&&_.value.delete(A),_.value.add(w)},onOptionRemove:w=>{const A=k(w.value);A&&_.value.delete(A)}}),(w,A)=>(x(),N(i(ni),null,{default:T(()=>[Z(w.$slots,"default",{modelValue:i(c),open:i(u)}),i(y)&&w.name?(x(),N(lE,{key:v.value,"aria-hidden":"true",tabindex:"-1",multiple:i(o),required:i(r),name:w.name,autocomplete:w.autocomplete,disabled:i(s),value:i(c)},{default:T(()=>[i(xn)(i(c))?(x(),F("option",rE)):se("v-if",!0),(x(!0),F(De,null,Ye(Array.from(_.value),M=>(x(),F("option",$e({key:M.value??""},{ref_for:!0},M),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):se("v-if",!0)]),_:3}))}}),oE=sE,iE=ue({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){const t=e,a=E(),n=rs();Pe(()=>t.value,(s,o)=>{const l=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(l,"value").set;if(s!==o&&u&&a.value){const d=new Event("change",{bubbles:!0});u.call(a.value,s),a.value.dispatchEvent(d)}});function r(s){n.onValueChange(s.target.value)}return(s,o)=>(x(),N(i(Ys),{"as-child":""},{default:T(()=>[b("select",$e({ref_key:"selectElement",ref:a},t,{onInput:r}),[Z(s.$slots,"default")],16)]),_:3}))}}),lE=iE,cE=ue({__name:"SelectPopperPosition",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:mn},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const a=$n(e);return(n,r)=>(x(),N(i(Fl),$e(i(a),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16))}}),uE=cE;const l_={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[zl,c_]=st("SelectContent");var dE=ue({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const a=e,n=t,r=rs();Gm(),sd(a.bodyLock);const{CollectionSlot:s,getItems:o}=Ga(),l=E();cd(l);const{search:c,handleTypeaheadSearch:u}=Ym(),d=E(),f=E(),p=E(),m=E(!1),g=E(!1),y=E(!1);function _(){f.value&&l.value&&Mp([f.value,l.value])}Pe(m,()=>{_()});const{onOpenChange:v,triggerPointerDownPosRef:h}=r;Bt(M=>{if(!l.value)return;let S={x:0,y:0};const P=H=>{S={x:Math.abs(Math.round(H.pageX)-(h.value?.x??0)),y:Math.abs(Math.round(H.pageY)-(h.value?.y??0))}},D=H=>{H.pointerType!=="touch"&&(S.x<=10&&S.y<=10?H.preventDefault():l.value?.contains(H.target)||v(!1),document.removeEventListener("pointermove",P),h.value=null)};h.value!==null&&(document.addEventListener("pointermove",P),document.addEventListener("pointerup",D,{capture:!0,once:!0})),M(()=>{document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",D,{capture:!0})})});function k(M){const S=M.ctrlKey||M.altKey||M.metaKey;if(M.key==="Tab"&&M.preventDefault(),!S&&M.key.length===1&&u(M.key,o()),["ArrowUp","ArrowDown","Home","End"].includes(M.key)){let D=[...o().map(H=>H.ref)];if(["ArrowUp","End"].includes(M.key)&&(D=D.slice().reverse()),["ArrowUp","ArrowDown"].includes(M.key)){const H=M.target,Q=D.indexOf(H);D=D.slice(Q+1)}setTimeout(()=>Mp(D)),M.preventDefault()}}const w=$(()=>a.position==="popper"?a:{}),A=$n(w.value);return c_({content:l,viewport:d,onViewportChange:M=>{d.value=M},itemRefCallback:(M,S,P)=>{const D=!g.value&&!P,H=dl(r.modelValue.value,S,r.by);if(r.multiple.value){if(y.value)return;(H||D)&&(f.value=M,H&&(y.value=!0))}else(H||D)&&(f.value=M);D&&(g.value=!0)},selectedItem:f,selectedItemText:p,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(M,S,P)=>{const D=!g.value&&!P;(dl(r.modelValue.value,S,r.by)||D)&&(p.value=M)},focusSelectedItem:_,position:a.position,isPositioned:m,searchRef:c}),(M,S)=>(x(),N(i(s),null,{default:T(()=>[I(i(ud),{"as-child":"",onMountAutoFocus:S[6]||(S[6]=ut(()=>{},["prevent"])),onUnmountAutoFocus:S[7]||(S[7]=P=>{n("closeAutoFocus",P),!P.defaultPrevented&&(i(r).triggerElement.value?.focus({preventScroll:!0}),P.preventDefault())})},{default:T(()=>[I(i(ai),{"as-child":"","disable-outside-pointer-events":M.disableOutsidePointerEvents,onFocusOutside:S[2]||(S[2]=ut(()=>{},["prevent"])),onDismiss:S[3]||(S[3]=P=>i(r).onOpenChange(!1)),onEscapeKeyDown:S[4]||(S[4]=P=>n("escapeKeyDown",P)),onPointerDownOutside:S[5]||(S[5]=P=>n("pointerDownOutside",P))},{default:T(()=>[(x(),N(sa(M.position==="popper"?uE:hE),$e({...M.$attrs,...i(A)},{id:i(r).contentId,ref:P=>{if(!P)return;const D=i(_a)(P);D?.hasAttribute("data-reka-popper-content-wrapper")?l.value=D.firstElementChild:l.value=D},role:"listbox","data-state":i(r).open.value?"open":"closed",dir:i(r).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:S[0]||(S[0]=ut(()=>{},["prevent"])),onPlaced:S[1]||(S[1]=P=>m.value=!0),onKeydown:k}),{default:T(()=>[Z(M.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),fE=dE;const[pE,mE]=st("SelectItemAlignedPosition");var gE=ue({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(e,{emit:t}){const a=e,n=t,{getItems:r}=Ga(),s=rs(),o=zl(),l=E(!1),c=E(!0),u=E(),{forwardRef:d,currentElement:f}=Le(),{viewport:p,selectedItem:m,selectedItemText:g,focusSelectedItem:y}=o;function _(){if(s.triggerElement.value&&s.valueElement.value&&u.value&&f.value&&p?.value&&m?.value&&g?.value){const k=s.triggerElement.value.getBoundingClientRect(),w=f.value.getBoundingClientRect(),A=s.valueElement.value.getBoundingClientRect(),M=g.value.getBoundingClientRect();if(s.dir.value!=="rtl"){const O=M.left-w.left,W=A.left-O,j=k.left-W,J=k.width+j,ne=Math.max(J,w.width),U=window.innerWidth-mn,q=il(W,mn,Math.max(mn,U-ne));u.value.style.minWidth=`${J}px`,u.value.style.left=`${q}px`}else{const O=w.right-M.right,W=window.innerWidth-A.right-O,j=window.innerWidth-k.right-W,J=k.width+j,ne=Math.max(J,w.width),U=window.innerWidth-mn,q=il(W,mn,Math.max(mn,U-ne));u.value.style.minWidth=`${J}px`,u.value.style.right=`${q}px`}const S=r().map(O=>O.ref),P=window.innerHeight-mn*2,D=p.value.scrollHeight,H=window.getComputedStyle(f.value),Q=Number.parseInt(H.borderTopWidth,10),G=Number.parseInt(H.paddingTop,10),V=Number.parseInt(H.borderBottomWidth,10),R=Number.parseInt(H.paddingBottom,10),L=Q+G+D+R+V,z=Math.min(m.value.offsetHeight*5,L),le=window.getComputedStyle(p.value),K=Number.parseInt(le.paddingTop,10),ce=Number.parseInt(le.paddingBottom,10),Y=k.top+k.height/2-mn,ve=P-Y,ie=m.value.offsetHeight/2,ye=m.value.offsetTop+ie,de=Q+G+ye,he=L-de;if(de<=Y){const O=m.value===S.at(-1);u.value.style.bottom="0px";const W=f.value.clientHeight-p.value.offsetTop-p.value.offsetHeight,j=Math.max(ve,ie+(O?ce:0)+W+V),J=de+j;u.value.style.height=`${J}px`}else{const O=m.value===S[0];u.value.style.top="0px";const j=Math.max(Y,Q+p.value.offsetTop+(O?K:0)+ie)+he;u.value.style.height=`${j}px`,p.value.scrollTop=de-Y+p.value.offsetTop}u.value.style.margin=`${mn}px 0`,u.value.style.minHeight=`${z}px`,u.value.style.maxHeight=`${P}px`,n("placed"),requestAnimationFrame(()=>l.value=!0)}}const v=E("");Ke(async()=>{await je(),_(),f.value&&(v.value=window.getComputedStyle(f.value).zIndex)});function h(k){k&&c.value===!0&&(_(),y?.(),c.value=!1)}return N2(s.triggerElement,()=>{_()}),mE({contentWrapper:u,shouldExpandOnScrollRef:l,onScrollButtonChange:h}),(k,w)=>(x(),F("div",{ref_key:"contentWrapperElement",ref:u,style:Tt({display:"flex",flexDirection:"column",position:"fixed",zIndex:v.value})},[I(i(Te),$e({ref:i(d),style:{boxSizing:"border-box",maxHeight:"100%"}},{...k.$attrs,...a}),{default:T(()=>[Z(k.$slots,"default")]),_:3},16)],4))}}),hE=gE,vE=ue({__name:"SelectArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e,a=zl(l_);return(n,r)=>i(a).position==="popper"?(x(),N(i(Vl),He($e({key:0},t)),{default:T(()=>[Z(n.$slots,"default")]),_:3},16)):se("v-if",!0)}}),yE=vE,bE=ue({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(e){return i_(e.context),c_(l_),(a,n)=>Z(a.$slots,"default")}}),xE=bE;const _E={key:1};var wE=ue({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const a=e,r=Ka(a,t),s=rs(),o=E();Ke(()=>{o.value=new DocumentFragment});const l=E(),c=$(()=>a.forceMount||s.open.value),u=E(c.value);let d;function f(){d&&(clearTimeout(d),d=void 0)}return Pe(c,(p,m,g)=>{f(),d=setTimeout(()=>{u.value=c.value,d=void 0}),g(f)}),Ft(f),(p,m)=>c.value||u.value||l.value?.present?(x(),N(i(un),{key:0,ref_key:"presenceRef",ref:l,present:c.value},{default:T(()=>[I(fE,He(Ge({...i(r),...p.$attrs})),{default:T(()=>[Z(p.$slots,"default")]),_:3},16)]),_:3},8,["present"])):o.value?(x(),F("div",_E,[(x(),N(Hu,{to:o.value},[I(xE,{context:i(s)},{default:T(()=>[Z(p.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):se("v-if",!0)}}),kE=wE;const[CE,SE]=st("SelectGroup");var ME=ue({__name:"SelectGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,a=da(void 0,"reka-select-group");return SE({id:a}),(n,r)=>(x(),N(i(Te),$e({role:"group"},t,{"aria-labelledby":i(a)}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),$E=ME;const[u_,AE]=st("SelectItem");var IE=ue({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const a=e,n=t,{disabled:r}=dt(a),s=rs(),o=zl(),{forwardRef:l,currentElement:c}=Le(),{CollectionItem:u}=Ga(),d=$(()=>dl(s.modelValue?.value,a.value,s.by)),f=E(!1),p=E(a.textValue??""),m=da(void 0,"reka-select-item-text"),g="select.select";async function y(w){if(w.defaultPrevented)return;const A={originalEvent:w,value:a.value};Rm(g,_,A)}async function _(w){await je(),n("select",w),!w.defaultPrevented&&(r.value||(s.onValueChange(a.value),s.multiple.value||s.onOpenChange(!1)))}async function v(w){await je(),!w.defaultPrevented&&(r.value?o.onItemLeave?.():w.currentTarget?.focus({preventScroll:!0}))}async function h(w){await je(),!w.defaultPrevented&&w.currentTarget===Yt()&&o.onItemLeave?.()}async function k(w){await je(),!(w.defaultPrevented||o.searchRef?.value!==""&&w.key===" ")&&(aE.includes(w.key)&&y(w),w.key===" "&&w.preventDefault())}if(a.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return Ke(()=>{c.value&&o.itemRefCallback(c.value,a.value,a.disabled)}),AE({value:a.value,disabled:r,textId:m,isSelected:d,onItemTextChange:w=>{p.value=((p.value||w?.textContent)??"").trim()}}),(w,A)=>(x(),N(i(u),{value:{textValue:p.value}},{default:T(()=>[I(i(Te),{ref:i(l),role:"option","aria-labelledby":i(m),"data-highlighted":f.value?"":void 0,"aria-selected":d.value,"data-state":d.value?"checked":"unchecked","aria-disabled":i(r)||void 0,"data-disabled":i(r)?"":void 0,tabindex:i(r)?void 0:-1,as:w.as,"as-child":w.asChild,onFocus:A[0]||(A[0]=M=>f.value=!0),onBlur:A[1]||(A[1]=M=>f.value=!1),onPointerup:y,onPointerdown:A[2]||(A[2]=M=>{M.currentTarget.focus({preventScroll:!0})}),onTouchend:A[3]||(A[3]=ut(()=>{},["prevent","stop"])),onPointermove:v,onPointerleave:h,onKeydown:k},{default:T(()=>[Z(w.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),TE=IE,PE=ue({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,a=u_();return(n,r)=>i(a).isSelected.value?(x(),N(i(Te),$e({key:0,"aria-hidden":"true"},t),{default:T(()=>[Z(n.$slots,"default")]),_:3},16)):se("v-if",!0)}}),DE=PE,EE=ue({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,a=rs(),n=zl(),r=u_(),{forwardRef:s,currentElement:o}=Le(),l=$(()=>({value:r.value,disabled:r.disabled.value,textContent:o.value?.textContent??r.value?.toString()??""}));return Ke(()=>{o.value&&(r.onItemTextChange(o.value),n.itemTextRefCallback(o.value,r.value,r.disabled.value),a.onOptionAdd(l.value))}),Ft(()=>{a.onOptionRemove(l.value)}),(c,u)=>(x(),N(i(Te),$e({id:i(r).textId,ref:i(s)},{...t,...c.$attrs}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["id"]))}}),RE=EE,OE=ue({__name:"SelectLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=CE({id:""});return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).id}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["id"]))}}),LE=OE,qE=ue({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),NE=qE,FE=ue({__name:"SelectSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e({"aria-hidden":"true"},t),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),VE=FE,BE=ue({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=rs(),{forwardRef:n,currentElement:r}=Le(),s=$(()=>a.disabled?.value||t.disabled);a.contentId||=da(void 0,"reka-select-content"),Ke(()=>{a.onTriggerChange(r.value)});const{getItems:o}=Ga(),{search:l,handleTypeaheadSearch:c,resetTypeahead:u}=Ym();function d(){s.value||(a.onOpenChange(!0),u())}function f(p){d(),a.triggerPointerDownPosRef.value={x:Math.round(p.pageX),y:Math.round(p.pageY)}}return(p,m)=>(x(),N(i(ri),{"as-child":"",reference:p.reference},{default:T(()=>[I(i(Te),{ref:i(n),role:"combobox",type:p.as==="button"?"button":void 0,"aria-controls":i(a).contentId,"aria-expanded":i(a).open.value||!1,"aria-required":i(a).required?.value,"aria-autocomplete":"none",disabled:s.value,dir:i(a)?.dir.value,"data-state":i(a)?.open.value?"open":"closed","data-disabled":s.value?"":void 0,"data-placeholder":i(nE)(i(a).modelValue?.value)?"":void 0,"as-child":p.asChild,as:p.as,onClick:m[0]||(m[0]=g=>{g?.currentTarget?.focus()}),onPointerdown:m[1]||(m[1]=g=>{if(g.pointerType==="touch")return g.preventDefault();const y=g.target;y.hasPointerCapture(g.pointerId)&&y.releasePointerCapture(g.pointerId),g.button===0&&g.ctrlKey===!1&&(f(g),g.preventDefault())}),onPointerup:m[2]||(m[2]=ut(g=>{g.pointerType==="touch"&&f(g)},["prevent"])),onKeydown:m[3]||(m[3]=g=>{const y=i(l)!=="";!(g.ctrlKey||g.altKey||g.metaKey)&&g.key.length===1&&y&&g.key===" "||(i(c)(g.key,i(o)()),i(tE).includes(g.key)&&(d(),g.preventDefault()))})},{default:T(()=>[Z(p.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),zE=BE,HE=ue({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,{forwardRef:a,currentElement:n}=Le(),r=rs();Ke(()=>{r.valueElement=n});const s=$(()=>{let l=[];const c=Array.from(r.optionsSet.value),u=d=>c.find(f=>dl(d,f.value,r.by));return Array.isArray(r.modelValue.value)?l=r.modelValue.value.map(d=>u(d)?.textContent??""):l=[u(r.modelValue.value)?.textContent??""],l.filter(Boolean)}),o=$(()=>s.value.length?s.value.join(", "):t.placeholder);return(l,c)=>(x(),N(i(Te),{ref:i(a),as:l.as,"as-child":l.asChild,style:{pointerEvents:"none"},"data-placeholder":s.value.length?void 0:t.placeholder},{default:T(()=>[Z(l.$slots,"default",{selectedLabel:s.value,modelValue:i(r).modelValue.value},()=>[pe(C(o.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),UE=HE,jE=ue({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{nonce:a}=dt(t),n=W7(a),r=zl(),s=r.position==="item-aligned"?pE():void 0,{forwardRef:o,currentElement:l}=Le();Ke(()=>{r?.onViewportChange(l.value)});const c=E(0);function u(d){const f=d.currentTarget,{shouldExpandOnScrollRef:p,contentWrapper:m}=s??{};if(p?.value&&m?.value){const g=Math.abs(c.value-f.scrollTop);if(g>0){const y=window.innerHeight-mn*2,_=Number.parseFloat(m.value.style.minHeight),v=Number.parseFloat(m.value.style.height),h=Math.max(_,v);if(h<y){const k=h+g,w=Math.min(y,k),A=k-w;m.value.style.height=`${w}px`,m.value.style.bottom==="0px"&&(f.scrollTop=A>0?A:0,m.value.style.justifyContent="flex-end")}}}c.value=f.scrollTop}return(d,f)=>(x(),F(De,null,[I(i(Te),$e({ref:i(o),"data-reka-select-viewport":"",role:"presentation"},{...d.$attrs,...t},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:u}),{default:T(()=>[Z(d.$slots,"default")]),_:3},16),I(i(Te),{as:"style",nonce:i(n)},{default:T(()=>f[0]||(f[0]=[pe(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),WE=jE;const[KE,GE]=st("SwitchRoot");var YE=ue({__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,{disabled:r}=dt(a),s=ht(a,"modelValue",n,{defaultValue:a.defaultValue??a.falseValue,passive:a.modelValue===void 0}),o=$(()=>s.value===a.trueValue);function l(){r.value||(s.value=o.value?a.falseValue:a.trueValue)}const{forwardRef:c,currentElement:u}=Le(),d=Nl(u),f=$(()=>a.id&&u.value?document.querySelector(`[for="${a.id}"]`)?.innerText:void 0);return GE({checked:o,toggleCheck:l,disabled:r}),(p,m)=>(x(),N(i(Te),$e(p.$attrs,{id:p.id,ref:i(c),role:"switch",type:p.as==="button"?"button":void 0,value:p.value,"aria-label":p.$attrs["aria-label"]||f.value,"aria-checked":o.value,"aria-required":p.required,"data-state":o.value?"checked":"unchecked","data-disabled":i(r)?"":void 0,"as-child":p.asChild,as:p.as,disabled:i(r),onClick:l,onKeydown:ta(ut(l,["prevent"]),["enter"])}),{default:T(()=>[Z(p.$slots,"default",{modelValue:i(s),checked:o.value}),i(d)&&p.name?(x(),N(i(dd),{key:0,type:"checkbox",name:p.name,disabled:i(r),required:p.required,value:p.value,checked:o.value},null,8,["name","disabled","required","value","checked"])):se("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),XE=YE,JE=ue({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=KE();return Le(),(a,n)=>(x(),N(i(Te),{"data-state":i(t).checked.value?"checked":"unchecked","data-disabled":i(t).disabled.value?"":void 0,"as-child":a.asChild,as:a.as},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),QE=JE;const[yd,ZE]=st("TabsRoot");var eR=ue({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,{orientation:r,unmountOnHide:s,dir:o}=dt(a),l=cn(o);Le();const c=ht(a,"modelValue",n,{defaultValue:a.defaultValue,passive:a.modelValue===void 0}),u=E(),d=pt(new Set);return ZE({modelValue:c,changeModelValue:f=>{c.value=f},orientation:r,dir:l,unmountOnHide:s,activationMode:a.activationMode,baseId:da(void 0,"reka-tabs"),tabsList:u,contentIds:d,registerContent:f=>{d.value=new Set([...d.value,f])},unregisterContent:f=>{const p=new Set(d.value);p.delete(f),d.value=p}}),(f,p)=>(x(),N(i(Te),{dir:i(l),"data-orientation":i(r),"as-child":f.asChild,as:f.as},{default:T(()=>[Z(f.$slots,"default",{modelValue:i(c)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),tR=eR;function d_(e,t){return`${e}-trigger-${t}`}function f_(e,t){return`${e}-content-${t}`}var aR=ue({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:a}=Le(),n=yd(),r=$(()=>d_(n.baseId,t.value)),s=$(()=>f_(n.baseId,t.value)),o=$(()=>t.value===n.modelValue.value),l=E(o.value);return Ke(()=>{n.registerContent(t.value),requestAnimationFrame(()=>{l.value=!1})}),Hs(()=>{n.unregisterContent(t.value)}),(c,u)=>(x(),N(i(un),{present:c.forceMount||o.value,"force-mount":""},{default:T(({present:d})=>[I(i(Te),{id:s.value,ref:i(a),"as-child":c.asChild,as:c.as,role:"tabpanel","data-state":o.value?"active":"inactive","data-orientation":i(n).orientation.value,"aria-labelledby":r.value,hidden:!d,tabindex:"0",style:Tt({animationDuration:l.value?"0s":void 0})},{default:T(()=>[!i(n).unmountOnHide.value||d?Z(c.$slots,"default",{key:0}):se("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),nR=aR,rR=ue({__name:"TabsIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){const a=e,n=yd();t({updateIndicatorStyle:l}),Le();const r=rd(),s=E({size:null,position:null}),o=E([]);Pe(()=>[n.modelValue.value,n?.dir.value],()=>{l()},{immediate:!0,flush:"post"}),ym(()=>{o.value=Array.from(n.tabsList.value?.querySelectorAll('[role="tab"]')||[])}),N2($(()=>[n.tabsList.value,...o.value]),l);function l(){const c=n.tabsList.value?.querySelector('[role="tab"][data-state="active"]');c&&(n.orientation.value==="horizontal"?s.value={size:c.offsetWidth,position:c.offsetLeft}:s.value={size:c.offsetHeight,position:c.offsetTop})}return(c,u)=>i(r)&&typeof s.value.size=="number"?(x(),N(i(Te),$e({key:0},a,{style:{"--reka-tabs-indicator-size":`${s.value.size}px`,"--reka-tabs-indicator-position":`${s.value.position}px`}}),{default:T(()=>[Z(c.$slots,"default")]),_:3},16,["style"])):se("v-if",!0)}}),sR=rR,oR=ue({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{loop:a}=dt(t),{forwardRef:n,currentElement:r}=Le(),s=yd();return s.tabsList=r,(o,l)=>(x(),N(i(Lx),{"as-child":"",orientation:i(s).orientation.value,dir:i(s).dir.value,loop:i(a)},{default:T(()=>[I(i(Te),{ref:i(n),role:"tablist","as-child":o.asChild,as:o.as,"aria-orientation":i(s).orientation.value},{default:T(()=>[Z(o.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),iR=oR,lR=ue({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,{forwardRef:a}=Le(),n=yd(),r=$(()=>d_(n.baseId,t.value)),s=$(()=>n.contentIds.value.has(t.value)?f_(n.baseId,t.value):void 0),o=$(()=>t.value===n.modelValue.value);return(l,c)=>(x(),N(i(qx),{"as-child":"",focusable:!l.disabled,active:o.value},{default:T(()=>[I(i(Te),{id:r.value,ref:i(a),role:"tab",type:l.as==="button"?"button":void 0,as:l.as,"as-child":l.asChild,"aria-selected":o.value?"true":"false","aria-controls":s.value,"data-state":o.value?"active":"inactive",disabled:l.disabled,"data-disabled":l.disabled?"":void 0,"data-orientation":i(n).orientation.value,onMousedown:c[0]||(c[0]=ut(u=>{!l.disabled&&u.ctrlKey===!1?i(n).changeModelValue(l.value):u.preventDefault()},["left"])),onKeydown:c[1]||(c[1]=ta(u=>i(n).changeModelValue(l.value),["enter","space"])),onFocus:c[2]||(c[2]=()=>{const u=i(n).activationMode!=="manual";!o.value&&!l.disabled&&u&&i(n).changeModelValue(l.value)})},{default:T(()=>[Z(l.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),cR=lR,uR=ue({__name:"ToastAnnounceExclude",props:{altText:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){return(t,a)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"data-reka-toast-announce-exclude":"","data-reka-toast-announce-alt":t.altText||void 0},{default:T(()=>[Z(t.$slots,"default")]),_:3},8,["as","as-child","data-reka-toast-announce-alt"]))}}),p_=uR;const[bd,dR]=st("ToastProvider");var fR=ue({inheritAttrs:!1,__name:"ToastProvider",props:{label:{type:String,required:!1,default:"Notification"},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeDirection:{type:String,required:!1,default:"right"},swipeThreshold:{type:Number,required:!1,default:50}},setup(e){const t=e,{label:a,duration:n,disableSwipe:r,swipeDirection:s,swipeThreshold:o}=dt(t);Ga({isProvider:!0});const l=E(),c=E(0),u=E(!1),d=E(!1);if(t.label&&typeof t.label=="string"&&!t.label.trim()){const f="Invalid prop `label` supplied to `ToastProvider`. Expected non-empty `string`.";throw new Error(f)}return dR({label:a,duration:n,disableSwipe:r,swipeDirection:s,swipeThreshold:o,toastCount:c,viewport:l,onViewportChange(f){l.value=f},onToastAdd(){c.value++},onToastRemove(){c.value--},isFocusedToastEscapeKeyDownRef:u,isClosePausedRef:d}),(f,p)=>Z(f.$slots,"default")}}),pR=fR,mR=ue({__name:"ToastAnnounce",setup(e){const t=bd(),a=X3(1e3),n=E(!1);let r=0,s=0;return Wa&&(r=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{n.value=!0})}),Qo(()=>{cancelAnimationFrame(r),cancelAnimationFrame(s)})),(o,l)=>i(a)||n.value?(x(),N(i(Ys),{key:0,feature:"fully-hidden"},{default:T(()=>[pe(C(i(t).label.value)+" ",1),Z(o.$slots,"default")]),_:3})):se("v-if",!0)}}),gR=mR;const hR="toast.swipeStart",vR="toast.swipeMove",yR="toast.swipeCancel",bR="toast.swipeEnd",Lp="toast.viewportPause",qp="toast.viewportResume";function pc(e,t,a){const n=a.originalEvent.currentTarget,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:a});t&&n.addEventListener(e,t,{once:!0}),n.dispatchEvent(r)}function d0(e,t,a=0){const n=Math.abs(e.x),r=Math.abs(e.y),s=n>r;return t==="left"||t==="right"?s&&n>a:!s&&r>a}function xR(e){return e.nodeType===e.ELEMENT_NODE}function m_(e){const t=[];return Array.from(e.childNodes).forEach(n=>{if(n.nodeType===n.TEXT_NODE&&n.textContent&&t.push(n.textContent),xR(n)){const r=n.ariaHidden||n.hidden||n.style.display==="none",s=n.dataset.rekaToastAnnounceExclude==="";if(!r)if(s){const o=n.dataset.rekaToastAnnounceAlt;o&&t.push(o)}else t.push(...m_(n))}}),t}const[_R,wR]=st("ToastRoot");var kR=ue({inheritAttrs:!1,__name:"ToastRootImpl",props:{type:{type:String,required:!1},open:{type:Boolean,required:!1,default:!1},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"li"}},emits:["close","escapeKeyDown","pause","resume","swipeStart","swipeMove","swipeCancel","swipeEnd"],setup(e,{emit:t}){const a=e,n=t,{forwardRef:r,currentElement:s}=Le(),{CollectionItem:o}=Ga(),l=bd(),c=E(null),u=E(null),d=$(()=>typeof a.duration=="number"?a.duration:l.duration.value),f=E(0),p=E(d.value),m=E(0),g=E(d.value),y=QM(()=>{const k=Date.now()-f.value;g.value=Math.max(p.value-k,0)},{fpsLimit:60});function _(k){k<=0||k===Number.POSITIVE_INFINITY||Wa&&(window.clearTimeout(m.value),f.value=Date.now(),m.value=window.setTimeout(v,k))}function v(k){const w=k?.pointerType==="";s.value?.contains(Yt())&&w&&l.viewport.value?.focus(),w&&(l.isClosePausedRef.value=!1),n("close")}const h=$(()=>s.value?m_(s.value):null);if(a.type&&!["foreground","background"].includes(a.type)){const k="Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.";throw new Error(k)}return Bt(k=>{const w=l.viewport.value;if(w){const A=()=>{_(p.value),y.resume(),n("resume")},M=()=>{const S=Date.now()-f.value;p.value=p.value-S,window.clearTimeout(m.value),y.pause(),n("pause")};return w.addEventListener(Lp,M),w.addEventListener(qp,A),()=>{w.removeEventListener(Lp,M),w.removeEventListener(qp,A)}}}),Pe(()=>[a.open,d.value],()=>{p.value=d.value,a.open&&!l.isClosePausedRef.value&&_(d.value)},{immediate:!0}),Om("Escape",k=>{n("escapeKeyDown",k),k.defaultPrevented||(l.isFocusedToastEscapeKeyDownRef.value=!0,v())}),Ke(()=>{l.onToastAdd()}),Ft(()=>{l.onToastRemove()}),wR({onClose:v}),(k,w)=>(x(),F(De,null,[h.value?(x(),N(gR,{key:0,role:"alert","aria-live":k.type==="foreground"?"assertive":"polite"},{default:T(()=>[se(`
24
+ Render each chunk as its own text node so screen readers get the
25
+ natural pause break between nodes (see comment in utils.ts).
26
+ Interpolating the array directly with \`{{ announceTextContent }}\`
27
+ would route through Vue's \`toDisplayString\`, which JSON-stringifies
28
+ arrays — the live region would then announce literal \`[\`, quotes
29
+ and commas instead of the toast title and description.
30
+ `),(x(!0),F(De,null,Ye(h.value,(A,M)=>(x(),F(De,{key:M},[pe(C(A),1)],64))),128))]),_:1},8,["aria-live"])):se("v-if",!0),i(l).viewport.value?(x(),N(Hu,{key:1,to:i(l).viewport.value},[I(i(o),null,{default:T(()=>[I(i(Te),$e({ref:i(r),tabindex:"0"},k.$attrs,{as:k.as,"as-child":k.asChild,"data-state":k.open?"open":"closed","data-swipe-direction":i(l).swipeDirection.value,style:i(l).disableSwipe.value?void 0:{userSelect:"none",touchAction:"none"},onPointerdown:w[0]||(w[0]=ut(A=>{i(l).disableSwipe.value||(c.value={x:A.clientX,y:A.clientY})},["left"])),onPointermove:w[1]||(w[1]=A=>{if(i(l).disableSwipe.value||!c.value)return;const M=A.clientX-c.value.x,S=A.clientY-c.value.y,P=!!u.value,D=["left","right"].includes(i(l).swipeDirection.value),H=["left","up"].includes(i(l).swipeDirection.value)?Math.min:Math.max,Q=D?H(0,M):0,G=D?0:H(0,S),V=A.pointerType==="touch"?10:2,R={x:Q,y:G},L={originalEvent:A,delta:R};P?(u.value=R,i(pc)(i(vR),z=>n("swipeMove",z),L)):i(d0)(R,i(l).swipeDirection.value,V)?(u.value=R,i(pc)(i(hR),z=>n("swipeStart",z),L),A.target.setPointerCapture(A.pointerId)):(Math.abs(M)>V||Math.abs(S)>V)&&(c.value=null)}),onPointerup:w[2]||(w[2]=A=>{if(i(l).disableSwipe.value)return;const M=u.value,S=A.target;if(S.hasPointerCapture(A.pointerId)&&S.releasePointerCapture(A.pointerId),u.value=null,c.value=null,M){const P=A.currentTarget,D={originalEvent:A,delta:M};i(d0)(M,i(l).swipeDirection.value,i(l).swipeThreshold.value)?i(pc)(i(bR),H=>n("swipeEnd",H),D):i(pc)(i(yR),H=>n("swipeCancel",H),D),P?.addEventListener("click",H=>H.preventDefault(),{once:!0})}})}),{default:T(()=>[Z(k.$slots,"default",{remaining:g.value,duration:d.value})]),_:3},16,["as","as-child","data-state","data-swipe-direction","style"])]),_:3})],8,["to"])):se("v-if",!0)],64))}}),CR=kR,SR=ue({__name:"ToastClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=_R(),{forwardRef:n}=Le();return(r,s)=>(x(),N(p_,{"as-child":""},{default:T(()=>[I(i(Te),$e(t,{ref:i(n),type:r.as==="button"?"button":void 0,onClick:i(a).onClose}),{default:T(()=>[Z(r.$slots,"default")]),_:3},16,["type","onClick"])]),_:3}))}}),g_=SR,MR=ue({__name:"ToastAction",props:{altText:{type:String,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){if(!e.altText)throw new Error("Missing prop `altText` expected on `ToastAction`");const{forwardRef:a}=Le();return(n,r)=>n.altText?(x(),N(p_,{key:0,"alt-text":n.altText,"as-child":""},{default:T(()=>[I(g_,{ref:i(a),as:n.as,"as-child":n.asChild},{default:T(()=>[Z(n.$slots,"default")]),_:3},8,["as","as-child"])]),_:3},8,["alt-text"])):se("v-if",!0)}}),f0=MR,$R=ue({__name:"ToastDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),AR=$R,IR=ue({__name:"ToastPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),TR=IR,PR=ue({__name:"ToastRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:"foreground"},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"li"}},emits:["escapeKeyDown","pause","resume","swipeStart","swipeMove","swipeCancel","swipeEnd","update:open"],setup(e,{emit:t}){const a=e,n=t,{forwardRef:r}=Le(),s=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0});return(o,l)=>(x(),N(i(un),{present:o.forceMount||i(s)},{default:T(()=>[I(CR,$e({ref:i(r),open:i(s),type:o.type,as:o.as,"as-child":o.asChild,duration:o.duration},o.$attrs,{onClose:l[0]||(l[0]=c=>s.value=!1),onPause:l[1]||(l[1]=c=>n("pause")),onResume:l[2]||(l[2]=c=>n("resume")),onEscapeKeyDown:l[3]||(l[3]=c=>n("escapeKeyDown",c)),onSwipeStart:l[4]||(l[4]=c=>{n("swipeStart",c),c.defaultPrevented||c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:l[5]||(l[5]=c=>{if(n("swipeMove",c),!c.defaultPrevented){const{x:u,y:d}=c.detail.delta,f=c.currentTarget;f.setAttribute("data-swipe","move"),f.style.setProperty("--reka-toast-swipe-move-x",`${u}px`),f.style.setProperty("--reka-toast-swipe-move-y",`${d}px`)}}),onSwipeCancel:l[6]||(l[6]=c=>{if(n("swipeCancel",c),!c.defaultPrevented){const u=c.currentTarget;u.setAttribute("data-swipe","cancel"),u.style.removeProperty("--reka-toast-swipe-move-x"),u.style.removeProperty("--reka-toast-swipe-move-y"),u.style.removeProperty("--reka-toast-swipe-end-x"),u.style.removeProperty("--reka-toast-swipe-end-y")}}),onSwipeEnd:l[7]||(l[7]=c=>{if(n("swipeEnd",c),!c.defaultPrevented){const{x:u,y:d}=c.detail.delta,f=c.currentTarget;f.setAttribute("data-swipe","end"),f.style.removeProperty("--reka-toast-swipe-move-x"),f.style.removeProperty("--reka-toast-swipe-move-y"),f.style.setProperty("--reka-toast-swipe-end-x",`${u}px`),f.style.setProperty("--reka-toast-swipe-end-y",`${d}px`),s.value=!1}})}),{default:T(({remaining:c,duration:u})=>[Z(o.$slots,"default",{remaining:c,duration:u,open:i(s)})]),_:3},16,["open","type","as","as-child","duration"])]),_:3},8,["present"]))}}),DR=PR,ER=ue({__name:"ToastTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),RR=ER,OR=ue({__name:"FocusProxy",emits:["focusFromOutsideViewport"],setup(e,{emit:t}){const a=t,n=bd();return(r,s)=>(x(),N(i(Ys),{tabindex:"0",style:{position:"fixed"},onFocus:s[0]||(s[0]=o=>{const l=o.relatedTarget;!i(n).viewport.value?.contains(l)&&a("focusFromOutsideViewport")})},{default:T(()=>[Z(r.$slots,"default")]),_:3}))}}),p0=OR,LR=ue({inheritAttrs:!1,__name:"ToastViewport",props:{hotkey:{type:Array,required:!1,default:()=>["F8"]},label:{type:[String,Function],required:!1,default:"Notifications ({hotkey})"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"ol"}},setup(e){const t=e,{hotkey:a,label:n}=dt(t),{forwardRef:r,currentElement:s}=Le(),{CollectionSlot:o,getItems:l}=Ga(),c=bd(),u=$(()=>c.toastCount.value>0),d=E(),f=E(),p=/Key/g,m=/Digit/g,g=$(()=>a.value.join("+").replace(p,"").replace(m,""));Om(a.value,()=>{s.value.focus()}),Ke(()=>{c.onViewportChange(s.value)}),Bt(_=>{const v=s.value;if(u.value&&v){const h=()=>{if(!c.isClosePausedRef.value){const S=new CustomEvent(Lp);v.dispatchEvent(S),c.isClosePausedRef.value=!0}},k=()=>{if(c.isClosePausedRef.value){const S=new CustomEvent(qp);v.dispatchEvent(S),c.isClosePausedRef.value=!1}},w=S=>{!v.contains(S.relatedTarget)&&k()},A=()=>{v.contains(Yt())||k()},M=S=>{const P=S.altKey||S.ctrlKey||S.metaKey;if(S.key==="Tab"&&!P){const H=Yt(),Q=S.shiftKey;if(S.target===v&&Q){d.value?.focus();return}const R=y({tabbingDirection:Q?"backwards":"forwards"}),L=R.findIndex(z=>z===H);Bc(R.slice(L+1))?S.preventDefault():Q?d.value?.focus():f.value?.focus()}};v.addEventListener("focusin",h),v.addEventListener("focusout",w),v.addEventListener("pointermove",h),v.addEventListener("pointerleave",A),v.addEventListener("keydown",M),window.addEventListener("blur",h),window.addEventListener("focus",k),_(()=>{v.removeEventListener("focusin",h),v.removeEventListener("focusout",w),v.removeEventListener("pointermove",h),v.removeEventListener("pointerleave",A),v.removeEventListener("keydown",M),window.removeEventListener("blur",h),window.removeEventListener("focus",k)})}});function y({tabbingDirection:_}){const h=l().map(k=>k.ref).map(k=>{const w=[k,...Xm(k)];return _==="forwards"?w:w.reverse()});return(_==="forwards"?h.reverse():h).flat()}return(_,v)=>(x(),N(i(YA),{role:"region","aria-label":typeof i(n)=="string"?i(n).replace("{hotkey}",g.value):i(n)(g.value),tabindex:"-1",style:Tt({pointerEvents:u.value?void 0:"none"})},{default:T(()=>[u.value?(x(),N(p0,{key:0,ref:h=>{h&&(d.value=i(_a)(h))},onFocusFromOutsideViewport:v[0]||(v[0]=()=>{const h=y({tabbingDirection:"forwards"});i(Bc)(h)})},null,512)):se("v-if",!0),I(i(o),null,{default:T(()=>[I(i(Te),$e({ref:i(r),tabindex:"-1",as:_.as,"as-child":_.asChild},_.$attrs),{default:T(()=>[Z(_.$slots,"default")]),_:3},16,["as","as-child"])]),_:3}),u.value?(x(),N(p0,{key:1,ref:h=>{h&&(f.value=i(_a)(h))},onFocusFromOutsideViewport:v[1]||(v[1]=()=>{const h=y({tabbingDirection:"backwards"});i(Bc)(h)})},null,512)):se("v-if",!0)]),_:3},8,["aria-label","style"]))}}),qR=LR,NR=ue({__name:"TooltipArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(e){const t=e;return Le(),(a,n)=>(x(),N(i(Vl),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),FR=NR;const[Hl,VR]=st("TooltipProvider");var BR=ue({inheritAttrs:!1,__name:"TooltipProvider",props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){const t=e,{delayDuration:a,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:s,ignoreNonKeyboardFocus:o,disabled:l,content:c}=dt(t);Le();const u=E(!0),d=E(!1),{start:f,stop:p}=Tm(()=>{u.value=!0},n,{immediate:!1});return VR({isOpenDelayed:u,delayDuration:a,onOpen(){p(),u.value=!1},onClose(){f()},isPointerInTransitRef:d,disableHoverableContent:r,disableClosingTrigger:s,disabled:l,ignoreNonKeyboardFocus:o,content:c}),(m,g)=>Z(m.$slots,"default")}}),zR=BR;const h_="tooltip.open",[xd,HR]=st("TooltipRoot");var UR=ue({__name:"TooltipRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t;Le();const r=Hl(),s=$(()=>a.disableHoverableContent??r.disableHoverableContent.value),o=$(()=>a.disableClosingTrigger??r.disableClosingTrigger.value),l=$(()=>a.disabled??r.disabled.value),c=$(()=>a.delayDuration??r.delayDuration.value),u=$(()=>a.ignoreNonKeyboardFocus??r.ignoreNonKeyboardFocus.value),d=ht(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0});Pe(d,k=>{r.onClose&&(k?(r.onOpen(),document.dispatchEvent(new CustomEvent(h_))):r.onClose())});const f=E(!1),p=E(),m=$(()=>d.value?f.value?"delayed-open":"instant-open":"closed"),{start:g,stop:y}=Tm(()=>{f.value=!0,d.value=!0},c,{immediate:!1});function _(){y(),f.value=!1,d.value=!0}function v(){y(),d.value=!1}function h(){g()}return HR({contentId:"",open:d,stateAttribute:m,trigger:p,onTriggerChange(k){p.value=k},onTriggerEnter(){r.isOpenDelayed.value?h():_()},onTriggerLeave(){s.value?v():y()},onOpen:_,onClose:v,disableHoverableContent:s,disableClosingTrigger:o,disabled:l,ignoreNonKeyboardFocus:u}),(k,w)=>(x(),N(i(ni),null,{default:T(()=>[Z(k.$slots,"default",{open:i(d)})]),_:3}))}}),jR=UR,WR=ue({__name:"TooltipContentImpl",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const a=e,n=t,r=xd(),s=Hl(),{forwardRef:o,currentElement:l}=Le(),c=$(()=>a.ariaLabel||l.value?.textContent),u=$(()=>{const{ariaLabel:d,...f}=a;return za(f,s.content.value??{},{side:"top",sideOffset:0,align:"center",avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1})});return Ke(()=>{ba(window,"scroll",d=>{d.target?.contains(r.trigger.value)&&r.onClose()},{capture:!0}),ba(window,h_,r.onClose)}),(d,f)=>(x(),N(i(ai),{"as-child":"","disable-outside-pointer-events":!1,onEscapeKeyDown:f[0]||(f[0]=p=>n("escapeKeyDown",p)),onPointerDownOutside:f[1]||(f[1]=p=>{i(r).disableClosingTrigger.value&&i(r).trigger.value?.contains(p.target)&&p.preventDefault(),n("pointerDownOutside",p)}),onFocusOutside:f[2]||(f[2]=ut(()=>{},["prevent"])),onDismiss:f[3]||(f[3]=p=>i(r).onClose())},{default:T(()=>[I(i(Fl),$e({ref:i(o),"data-state":i(r).stateAttribute.value},{...d.$attrs,...u.value},{style:{"--reka-tooltip-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-tooltip-content-available-width":"var(--reka-popper-available-width)","--reka-tooltip-content-available-height":"var(--reka-popper-available-height)","--reka-tooltip-trigger-width":"var(--reka-popper-anchor-width)","--reka-tooltip-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:T(()=>[Z(d.$slots,"default"),I(i(Ys),{id:i(r).contentId,role:"tooltip"},{default:T(()=>[pe(C(c.value),1)]),_:1},8,["id"])]),_:3},16,["data-state"])]),_:3}))}}),v_=WR,KR=ue({__name:"TooltipContentHoverable",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){const a=$n(e),{forwardRef:n,currentElement:r}=Le(),{trigger:s,onClose:o}=xd(),l=Hl(),{isPointerInTransit:c,onPointerExit:u}=ux(s,r);return l.isPointerInTransitRef=c,u(()=>{o()}),(d,f)=>(x(),N(v_,$e({ref:i(n)},i(a)),{default:T(()=>[Z(d.$slots,"default")]),_:3},16))}}),GR=KR,YR=ue({__name:"TooltipContent",props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const a=e,n=t,r=xd(),s=Ka(a,n),{forwardRef:o}=Le();return(l,c)=>(x(),N(i(un),{present:l.forceMount||i(r).open.value},{default:T(()=>[(x(),N(sa(i(r).disableHoverableContent.value?v_:GR),$e({ref:i(o)},i(s)),{default:T(()=>[Z(l.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),XR=YR,JR=ue({__name:"TooltipPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(a,n)=>(x(),N(i(Gs),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),QR=JR,ZR=ue({__name:"TooltipTrigger",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=xd(),n=Hl();a.contentId||=da(void 0,"reka-tooltip-content");const{forwardRef:r,currentElement:s}=Le(),o=E(!1),l=E(!1),c=$(()=>a.disabled.value?{}:{click:y,focus:m,pointermove:f,pointerleave:p,pointerdown:d,blur:g});Ke(()=>{a.onTriggerChange(s.value)});function u(){setTimeout(()=>{o.value=!1},1)}function d(){a.open&&!a.disableClosingTrigger.value&&a.onClose(),o.value=!0,document.addEventListener("pointerup",u,{once:!0})}function f(_){_.pointerType!=="touch"&&!l.value&&!n.isPointerInTransitRef.value&&(a.onTriggerEnter(),l.value=!0)}function p(){a.onTriggerLeave(),l.value=!1}function m(_){o.value||a.ignoreNonKeyboardFocus.value&&!_.target.matches?.(":focus-visible")||a.onOpen()}function g(){a.onClose()}function y(){a.disableClosingTrigger.value||a.onClose()}return(_,v)=>(x(),N(i(ri),{"as-child":"",reference:_.reference},{default:T(()=>[I(i(Te),$e({ref:i(r),"aria-describedby":i(a).open.value?i(a).contentId:void 0,"data-state":i(a).stateAttribute.value,as:_.as,"as-child":t.asChild,"data-grace-area-trigger":""},Wu(c.value)),{default:T(()=>[Z(_.$slots,"default")]),_:3},16,["aria-describedby","data-state","as","as-child"])]),_:3},8,["reference"]))}}),e9=ZR;function t9(e){function t(n){return Array.isArray(e.date.value)?e.date.value.some(r=>It(r,n)):e.date.value?It(e.date.value,n):!1}const a=$(()=>{if(Array.isArray(e.date.value)){if(!e.date.value.length)return!1;for(const n of e.date.value)if(e.isYearDisabled?.(n)||e.isYearUnavailable?.(n))return!0}else{if(!e.date.value)return!1;if(e.isYearDisabled?.(e.date.value)||e.isYearUnavailable?.(e.date.value))return!0}return!1});return{isYearSelected:t,isInvalid:a}}function y_(e){const t=Km(e.locale.value),a=m=>typeof m=="function"?m:m?.value,n=$(()=>{const m={calendar:e.placeholder.value.calendar.identifier};return e.placeholder.value.calendar.identifier==="gregory"&&e.placeholder.value.era==="BC"&&(m.era="short"),m}),r=E(vs({dateObj:e.placeholder.value,yearsPerPage:e.yearsPerPage.value}));function s(m){return!!(a(e.isYearDisabled)?.(m)||e.disabled.value||e.maxValue.value&&Bn(gr(m),e.maxValue.value)||e.minValue.value&&La(Ls(m),e.minValue.value))}const o=m=>!!a(e.isYearUnavailable)?.(m),l=m=>{if(!e.maxValue.value)return!1;if(e.disabled.value)return!0;const g=r.value.cells.at(-1);if(m||e.nextPage.value){const _=(m||e.nextPage.value)(g);return Bn(gr(_),e.maxValue.value)}const y=gr(g.add({years:1}));return Bn(y,e.maxValue.value)},c=m=>{if(!e.minValue.value)return!1;if(e.disabled.value)return!0;const g=r.value.value;if(m||e.prevPage.value){const _=(m||e.prevPage.value)(g);return La(Ls(_),e.minValue.value)}const y=Ls(g.subtract({years:1}));return La(y,e.minValue.value)},u=m=>{const g=r.value.value;if(m||e.nextPage.value){const _=(m||e.nextPage.value)(g);r.value=vs({dateObj:_,yearsPerPage:e.yearsPerPage.value,decadeAligned:!1}),e.placeholder.value=_.set({month:e.placeholder.value.month,day:e.placeholder.value.day});return}const y=g.add({years:e.yearsPerPage.value});r.value=vs({dateObj:y,yearsPerPage:e.yearsPerPage.value,decadeAligned:!1}),e.placeholder.value=y.set({month:e.placeholder.value.month,day:e.placeholder.value.day})},d=m=>{const g=r.value.value;if(m||e.prevPage.value){const _=(m||e.prevPage.value)(g);r.value=vs({dateObj:_,yearsPerPage:e.yearsPerPage.value,decadeAligned:!1}),e.placeholder.value=_.set({month:e.placeholder.value.month,day:e.placeholder.value.day});return}const y=g.subtract({years:e.yearsPerPage.value});r.value=vs({dateObj:y,yearsPerPage:e.yearsPerPage.value,decadeAligned:!1}),e.placeholder.value=y.set({month:e.placeholder.value.month,day:e.placeholder.value.day})};Pe(e.placeholder,m=>{const g=r.value.value,y=r.value.cells.at(-1);m.year>=g.year&&m.year<=y.year||(r.value=vs({dateObj:m,yearsPerPage:e.yearsPerPage.value}))}),Pe([e.locale,e.yearsPerPage],()=>{t.setLocale(e.locale.value),r.value=vs({dateObj:e.placeholder.value,yearsPerPage:e.yearsPerPage.value})});const f=$(()=>{e.locale.value!==t.getLocale()&&t.setLocale(e.locale.value);const m=r.value.cells[0],g=r.value.cells.at(-1);return`${t.fullYear(Gt(m),n.value)} - ${t.fullYear(Gt(g),n.value)}`}),p=$(()=>`${e.calendarLabel.value??"Year Picker"}, ${f.value}`);return{isYearDisabled:s,isYearUnavailable:o,isNextButtonDisabled:l,isPrevButtonDisabled:c,grid:r,formatter:t,nextPage:u,prevPage:d,headingValue:f,fullCalendarLabel:p}}const a9={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},n9={role:"heading","aria-level":"2"},[fi,r9]=st("YearPickerRoot");var s9=ue({__name:"YearPickerRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},preventDeselect:{type:Boolean,required:!1,default:!1},calendarLabel:{type:String,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isYearDisabled:{type:Function,required:!1,default:void 0},isYearUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},yearsPerPage:{type:Number,required:!1,default:12},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,multiple:l,minValue:c,maxValue:u,preventDeselect:d,isYearDisabled:f,isYearUnavailable:p,calendarLabel:m,defaultValue:g,nextPage:y,prevPage:_,dir:v,locale:h,yearsPerPage:k}=dt(a),{primitiveElement:w,currentElement:A}=ia(),M=Ks(h),S=cn(v),P=da(void 0,"reka-year-picker-heading"),D=ht(a,"modelValue",n,{defaultValue:g.value,passive:a.modelValue===void 0}),H=ei({defaultPlaceholder:a.placeholder,defaultValue:D.value,locale:a.locale}),Q=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??H.copy(),passive:a.placeholder===void 0});function G(O){Q.value=O.copy()}const{fullCalendarLabel:V,headingValue:R,isYearDisabled:L,isYearUnavailable:z,isNextButtonDisabled:le,isPrevButtonDisabled:K,nextPage:ce,prevPage:Y,formatter:ve,grid:ie}=y_({locale:M,placeholder:Q,minValue:c,maxValue:u,disabled:r,yearsPerPage:k,isYearDisabled:f,isYearUnavailable:p,calendarLabel:m,nextPage:y,prevPage:_}),{isInvalid:ye,isYearSelected:de}=t9({date:D,isYearDisabled:L,isYearUnavailable:z});Pe(D,O=>{if(Array.isArray(O)&&O.length){const W=O.at(-1);W&&!It(Q.value,W)&&G(W)}else!Array.isArray(O)&&O&&!It(Q.value,O)&&G(O)});function he(O,W){return W?O.copy().set({month:W.month,day:W.day}):O.copy()}function ge(O){if(l.value){if(!D.value)D.value=[he(O,Q.value)];else if(Array.isArray(D.value)){const W=D.value.findIndex(j=>It(j,O));if(W===-1)D.value=[...D.value,he(O,Q.value)];else if(!d.value){const j=D.value.filter(J=>!It(J,O));if(!j.length){Q.value=he(O,D.value[W]),D.value=void 0;return}D.value=j.map(J=>J.copy())}}}else{if(!D.value){D.value=he(O,Q.value);return}!d.value&&It(D.value,O)?(Q.value=he(O,D.value),D.value=void 0):D.value=he(O,D.value)}}return Ke(()=>{o.value&&ti(A.value)}),r9({isYearUnavailable:z,dir:S,isYearDisabled:L,locale:M,formatter:ve,modelValue:D,placeholder:Q,disabled:r,initialFocus:o,grid:ie,multiple:l,readonly:s,preventDeselect:d,fullCalendarLabel:V,headingValue:R,headingId:P,isInvalid:ye,isYearSelected:de,isNextButtonDisabled:le,isPrevButtonDisabled:K,nextPage:ce,prevPage:Y,parentElement:A,onPlaceholderChange:G,onYearChange:ge,minValue:c,maxValue:u,yearsPerPage:k}),(O,W)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:w,as:O.as,"as-child":O.asChild,"aria-label":i(V),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(ye)?"":void 0,dir:i(S)},{default:T(()=>[Z(O.$slots,"default",{date:i(Q),grid:i(ie),locale:i(M),modelValue:i(D)}),b("div",a9,[b("div",n9,C(i(V)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),o9=s9,i9=ue({__name:"YearPickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=fi();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isYearSelected(a.date)?!0:void 0,"aria-disabled":i(t).isYearDisabled(a.date)||i(t).isYearUnavailable?.(a.date),"data-disabled":i(t).isYearDisabled(a.date)?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),l9=i9,c9=ue({__name:"YearPickerCellTrigger",props:{year:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=Kn(),n=fi(),{primitiveElement:r}=ia(),s=$(()=>(n.locale.value,n.formatter.fullYear(Gt(t.year)))),o=$(()=>(n.locale.value,n.formatter.custom(Gt(t.year),{year:"numeric"}))),l=$(()=>n.isYearUnavailable?.(t.year)??!1),c=$(()=>{const y=ua(Ws(Mn()),t.year.calendar);return It(t.year,y)}),u=$(()=>n.isYearDisabled(t.year)),d=$(()=>!n.disabled.value&&It(t.year,n.placeholder.value)),f=$(()=>n.isYearSelected(t.year));function p(y){n.readonly.value||n.isYearDisabled(y)||n.isYearUnavailable?.(y)||n.onYearChange(y)}function m(){u.value||p(t.year)}function g(y){if(u.value)return;y.preventDefault(),y.stopPropagation();const _=n.parentElement.value,v=n.dir.value==="rtl"?-1:1;switch(y.code){case a.ARROW_RIGHT:h(t.year,v);break;case a.ARROW_LEFT:h(t.year,-v);break;case a.ARROW_UP:h(t.year,-4);break;case a.ARROW_DOWN:h(t.year,4);break;case a.PAGE_UP:k(-1);break;case a.PAGE_DOWN:k(1);break;case a.ENTER:case a.SPACE_CODE:p(t.year)}function h(w,A,M=0){if(M>48)return;const S=w.add({years:A});if(n.minValue.value&&Ls(S).compare(n.minValue.value)<0||n.maxValue.value&&gr(S).compare(n.maxValue.value)>0)return;const P=_.querySelector(`[data-value='${S.toString()}']`);if(!P){if(A>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{h(w,A,M+1)});return}if(P&&P.hasAttribute("data-disabled"))return h(S,A,M+1);n.onPlaceholderChange(S),P?.focus()}function k(w){const A=n.yearsPerPage.value,M=t.year.add({years:w*A});if(!(n.minValue.value&&Ls(M).compare(n.minValue.value)<0||n.maxValue.value&&gr(M).compare(n.maxValue.value)>0)){if(w>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{const S=_.querySelector(`[data-value='${M.toString()}']`);if(S&&!S.hasAttribute("data-disabled")){n.onPlaceholderChange(M),S?.focus();return}(!S||S.hasAttribute("data-disabled"))&&h(M,w>0?1:-1,1)})}}}return(y,_)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-year-picker-cell-trigger":"","aria-disabled":u.value||l.value?!0:void 0,"data-selected":f.value?"":void 0,"data-value":y.year.toString(),"data-disabled":u.value?"":void 0,"data-unavailable":l.value?"":void 0,"data-today":c.value?"":void 0,"data-focused":d.value?"":void 0,tabindex:d.value?0:u.value?void 0:-1,onClick:m,onKeydown:[ta(g,["up","down","left","right","space","enter","page-up","page-down"]),_[0]||(_[0]=ta(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[Z(y.$slots,"default",{yearValue:s.value,disabled:u.value,today:c.value,selected:f.value,unavailable:l.value},()=>[pe(C(s.value),1)])]),_:3},8,["as","as-child","aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-focused","tabindex"]))}}),u9=c9,d9=ue({__name:"YearPickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=fi(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-labelledby":i(a).headingId,"aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&""}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-labelledby","aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),f9=d9,p9=ue({__name:"YearPickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),m9=p9,g9=ue({__name:"YearPickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{role:"row"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),h9=g9,v9=ue({__name:"YearPickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),y9=v9,b9=ue({__name:"YearPickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=fi();return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).headingId,role:"heading","aria-level":"2","data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["id","data-disabled"]))}}),x9=b9,_9=ue({__name:"YearPickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=fi(),n=$(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage));function r(){n.value||a.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),w9=_9,k9=ue({__name:"YearPickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=fi(),n=$(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage));function r(){n.value||a.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{"aria-label":"Previous page",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),C9=k9;function S9(e){const t=$(()=>e.start.value?!!e.isYearDisabled(e.start.value):!1),a=$(()=>e.end.value?!!e.isYearDisabled(e.end.value):!1),n=$(()=>!!(t.value||a.value||e.start.value&&e.end.value&&e.end.value.year<e.start.value.year)),r=f=>e.start.value?It(e.start.value,f):!1,s=f=>e.end.value?It(e.end.value,f):!1,o=f=>e.start.value&&It(e.start.value,f)||e.end.value&&It(e.end.value,f)?!0:e.end.value&&e.start.value?f.year>e.start.value.year&&f.year<e.end.value.year:!1,l=f=>{if(e.isYearDisabled(f))return!0;if(e.maximumYears?.value){const p=e.maximumYears.value;if(e.start.value&&e.end.value){if(e.fixedDate.value){const m=yA(e.start.value,e.end.value);if(m<=p){const v=p-m,h=e.start.value.subtract({years:v}),k=e.end.value.add({years:v});return f.year<h.year||f.year>k.year}const g=e.fixedDate.value==="start"?e.start.value:e.end.value,y=g.add({years:p-1}),_=g.subtract({years:p-1});return f.year<_.year||f.year>y.year}return!1}if(e.start.value){const m=e.start.value.add({years:p-1}),g=e.start.value.subtract({years:p-1});return f.year<g.year||f.year>m.year}}return!1},c=$(()=>{if(e.start.value&&e.end.value&&!e.fixedDate.value||!e.start.value||!e.focusedValue.value)return null;const f=e.start.value.year<e.focusedValue.value.year,p=f?e.start.value:e.focusedValue.value,m=f?e.focusedValue.value:e.start.value;if(It(p,m))return{start:p,end:m};if(e.maximumYears?.value&&!e.end.value){const y=e.maximumYears.value,_=e.start.value,v=e.focusedValue.value;if(v.year>=_.year){const h=_.add({years:y-1}),k=v.year>h.year?h:v;return{start:_,end:k}}else{const h=_.subtract({years:y-1});return{start:v.year<h.year?h:v,end:_}}}return xA(p,m,e.allowNonContiguousRanges.value?()=>!1:e.isYearUnavailable,l)?{start:p,end:m}:null});return{isInvalid:n,isSelected:o,highlightedRange:c,isSelectionStart:r,isSelectionEnd:s,isHighlightedStart:f=>c.value?.start?It(c.value.start,f):!1,isHighlightedEnd:f=>c.value?.end?It(c.value.end,f):!1,isYearDisabled:l}}const M9={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},$9={role:"heading","aria-level":"2"},[pi,A9]=st("YearRangePickerRoot");var I9=ue({__name:"YearRangePickerRoot",props:{defaultPlaceholder:{type:null,required:!1},defaultValue:{type:Object,required:!1,default:()=>({start:void 0,end:void 0})},modelValue:{type:[Object,null],required:!1},placeholder:{type:null,required:!1,default:void 0},allowNonContiguousRanges:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},maximumYears:{type:Number,required:!1,default:void 0},calendarLabel:{type:String,required:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isYearDisabled:{type:Function,required:!1,default:void 0},isYearUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},fixedDate:{type:String,required:!1},yearsPerPage:{type:Number,required:!1,default:12},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder","update:startValue"],setup(e,{emit:t}){const a=e,n=t,{disabled:r,readonly:s,initialFocus:o,preventDeselect:l,isYearUnavailable:c,isYearDisabled:u,calendarLabel:d,maxValue:f,minValue:p,dir:m,locale:g,nextPage:y,prevPage:_,allowNonContiguousRanges:v,fixedDate:h,maximumYears:k,yearsPerPage:w}=dt(a),{primitiveElement:A,currentElement:M}=ia(),S=cn(m),P=Ks(g),D=da(void 0,"reka-year-range-picker-heading"),H=E(),Q=E(),G=E(!1),V=ht(a,"modelValue",n,{defaultValue:a.defaultValue??{start:void 0,end:void 0},passive:a.modelValue===void 0}),R=ee=>ee??{start:void 0,end:void 0},L=$(()=>R(V.value)),z=E(R(V.value)),le=ei({defaultPlaceholder:a.placeholder,defaultValue:R(V.value).start,locale:a.locale}),K=E(R(V.value).start),ce=E(R(V.value).end),Y=ht(a,"placeholder",n,{defaultValue:a.defaultPlaceholder??le.copy(),passive:a.placeholder===void 0});function ve(ee){Y.value=ee.copy()}const{fullCalendarLabel:ie,headingValue:ye,isYearDisabled:de,isYearUnavailable:he,isNextButtonDisabled:ge,isPrevButtonDisabled:O,grid:W,nextPage:j,prevPage:J,formatter:ne}=y_({locale:P,placeholder:Y,minValue:p,maxValue:f,disabled:r,yearsPerPage:w,isYearDisabled:u,isYearUnavailable:c,calendarLabel:d,nextPage:y,prevPage:_}),{isInvalid:U,isSelected:q,highlightedRange:oe,isSelectionStart:_e,isSelectionEnd:me,isHighlightedStart:be,isHighlightedEnd:B,isYearDisabled:X}=S9({start:K,end:ce,isYearDisabled:de,isYearUnavailable:he,focusedValue:Q,allowNonContiguousRanges:v,fixedDate:h,maximumYears:k});Pe(V,ee=>{const Me=R(ee);!Me.start&&!K.value||Me.start&&K.value&&It(Me.start,K.value)||(K.value=Me.start?.copy?.()),!Me.end&&!ce.value||Me.end&&ce.value&&It(Me.end,ce.value)||(ce.value=Me.end?.copy?.())}),Pe(K,ee=>{ee&&!It(ee,Y.value)&&ve(ee),n("update:startValue",ee)}),Pe([K,ce],([ee,Me])=>{const ae=V.value;if(!(ae&&ae.start&&ae.end&&ee&&Me&&It(ae.start,ee)&&It(ae.end,Me)))if(G.value=!0,Me&&ee){const re=Me.year<ee.year?{start:Me.copy(),end:ee.copy()}:{start:ee.copy(),end:Me.copy()};V.value={start:re.start,end:re.end},G.value=!1,z.value={start:re.start.copy(),end:re.end.copy()}}else V.value=ee?{start:ee.copy(),end:void 0}:{start:Me?.copy(),end:void 0}});const te=Kn();return ba(M,"keydown",ee=>{ee.key===te.ESCAPE&&G.value&&(K.value=z.value.start?.copy(),ce.value=z.value.end?.copy())}),A9({isYearUnavailable:he,startValue:K,endValue:ce,formatter:ne,modelValue:L,placeholder:Y,disabled:r,initialFocus:o,grid:W,readonly:s,preventDeselect:l,fullCalendarLabel:ie,headingValue:ye,headingId:D,isInvalid:U,isYearDisabled:X,allowNonContiguousRanges:v,highlightedRange:oe,focusedValue:Q,lastPressedDateValue:H,isSelected:q,isSelectionEnd:me,isSelectionStart:_e,isNextButtonDisabled:ge,isPrevButtonDisabled:O,nextPage:j,prevPage:J,parentElement:M,onPlaceholderChange:ve,locale:P,dir:S,isHighlightedStart:be,isHighlightedEnd:B,fixedDate:h,maximumYears:k,minValue:p,maxValue:f,yearsPerPage:w}),Ke(()=>{o.value&&ti(M.value)}),(ee,Me)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:A,as:ee.as,"as-child":ee.asChild,"aria-label":i(ie),"data-readonly":i(s)?"":void 0,"data-disabled":i(r)?"":void 0,"data-invalid":i(U)?"":void 0,dir:i(S)},{default:T(()=>[b("div",M9,[b("div",$9,C(i(ie)),1)]),Z(ee.$slots,"default",{date:i(Y),grid:i(W),locale:i(P),modelValue:L.value})]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),T9=I9,P9=ue({__name:"YearRangePickerCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(e){const t=pi();return(a,n)=>(x(),N(i(Te),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":i(t).isSelected(a.date)?!0:void 0,"aria-disabled":i(t).isYearDisabled(a.date)||i(t).isYearUnavailable?.(a.date),"data-disabled":i(t).isYearDisabled(a.date)?"":void 0},{default:T(()=>[Z(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),D9=P9,E9=ue({__name:"YearRangePickerCellTrigger",props:{year:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=Kn(),n=pi(),{primitiveElement:r}=ia(),s=$(()=>(n.locale.value,n.formatter.fullYear(Gt(t.year)))),o=$(()=>(n.locale.value,n.formatter.custom(Gt(t.year),{year:"numeric"}))),l=$(()=>n.isYearUnavailable?.(t.year)??!1),c=$(()=>{const M=ua(Ws(Mn()),t.year.calendar);return It(t.year,M)}),u=$(()=>n.isYearDisabled(t.year)),d=$(()=>!n.disabled.value&&It(t.year,n.placeholder.value)),f=$(()=>n.isSelected(t.year)),p=$(()=>n.isSelectionStart(t.year)),m=$(()=>n.isSelectionEnd(t.year)),g=$(()=>n.isHighlightedStart(t.year)),y=$(()=>n.isHighlightedEnd(t.year)),_=$(()=>n.highlightedRange.value?hA(t.year,n.highlightedRange.value.start,n.highlightedRange.value.end):!1),v=$(()=>n.allowNonContiguousRanges.value);function h(M,S){if(!n.readonly.value&&!(n.isYearDisabled(S)||n.isYearUnavailable?.(S))){if(n.startValue.value&&n.highlightedRange.value===null){if(It(S,n.startValue.value)&&!n.preventDeselect.value&&!n.endValue.value){n.startValue.value=void 0,n.onPlaceholderChange(S),n.lastPressedDateValue.value=S.copy();return}else if(!n.endValue.value){M.preventDefault(),n.lastPressedDateValue.value&&It(n.lastPressedDateValue.value,S)&&(n.startValue.value=S.copy()),n.lastPressedDateValue.value=S.copy();return}}if(n.lastPressedDateValue.value=S.copy(),n.startValue.value&&n.endValue.value&&It(n.startValue.value,n.endValue.value)&&It(n.startValue.value,S)&&!n.preventDeselect.value){n.startValue.value=void 0,n.endValue.value=void 0,n.onPlaceholderChange(S);return}n.startValue.value?n.endValue.value?n.endValue.value&&n.startValue.value&&(n.fixedDate.value?n.fixedDate.value==="start"?S.compare(n.startValue.value)<0?n.startValue.value=S.copy():n.endValue.value=S.copy():n.fixedDate.value==="end"&&(S.compare(n.endValue.value)>0?n.endValue.value=S.copy():n.startValue.value=S.copy()):(n.endValue.value=void 0,n.startValue.value=S.copy())):n.endValue.value=S.copy():n.startValue.value=S.copy()}}function k(M){u.value||h(M,t.year)}function w(){u.value||n.isYearUnavailable?.(t.year)||(n.focusedValue.value=t.year.copy())}function A(M){if(u.value)return;M.preventDefault(),M.stopPropagation();const S=n.parentElement.value,P=n.dir.value==="rtl"?-1:1;switch(M.code){case a.ARROW_RIGHT:D(t.year,P);break;case a.ARROW_LEFT:D(t.year,-P);break;case a.ARROW_UP:D(t.year,-4);break;case a.ARROW_DOWN:D(t.year,4);break;case a.PAGE_UP:H(-1);break;case a.PAGE_DOWN:H(1);break;case a.ENTER:case a.SPACE_CODE:h(M,t.year)}function D(Q,G,V=0){if(V>48)return;const R=Q.add({years:G});if(n.minValue.value&&Ls(R).compare(n.minValue.value)<0||n.maxValue.value&&gr(R).compare(n.maxValue.value)>0)return;const L=S.querySelector(`[data-value='${R.toString()}']`);if(!L){if(G>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{D(Q,G,V+1)});return}if(L&&L.hasAttribute("data-disabled"))return D(R,G,V+1);n.onPlaceholderChange(R),L?.focus()}function H(Q){const G=n.yearsPerPage.value,V=t.year.add({years:Q*G});if(!(n.minValue.value&&Ls(V).compare(n.minValue.value)<0||n.maxValue.value&&gr(V).compare(n.maxValue.value)>0)){if(Q>0){if(n.isNextButtonDisabled())return;n.nextPage()}else{if(n.isPrevButtonDisabled())return;n.prevPage()}je(()=>{const R=S.querySelector(`[data-value='${V.toString()}']`);if(R&&!R.hasAttribute("data-disabled")){n.onPlaceholderChange(V),R?.focus();return}(!R||R.hasAttribute("data-disabled"))&&D(V,Q>0?1:-1,1)})}}}return(M,S)=>(x(),N(i(Te),{ref_key:"primitiveElement",ref:r,as:t.as,"as-child":t.asChild,role:"button","aria-label":o.value,"data-reka-year-range-picker-cell-trigger":"","aria-pressed":f.value&&(v.value||!l.value)?!0:void 0,"aria-disabled":u.value||l.value?!0:void 0,"data-highlighted":_.value&&(v.value||!l.value)?"":void 0,"data-selection-start":p.value?!0:void 0,"data-selection-end":m.value?!0:void 0,"data-highlighted-start":g.value?!0:void 0,"data-highlighted-end":y.value?!0:void 0,"data-selected":f.value&&(v.value||!l.value)?!0:void 0,"data-value":M.year.toString(),"data-disabled":u.value?"":void 0,"data-unavailable":l.value?"":void 0,"data-today":c.value?"":void 0,"data-focused":d.value?"":void 0,tabindex:d.value?0:u.value?void 0:-1,onClick:k,onFocusin:w,onMouseenter:w,onKeydown:[ta(A,["up","down","left","right","space","enter","page-up","page-down"]),S[0]||(S[0]=ta(ut(()=>{},["prevent"]),["enter"]))]},{default:T(()=>[Z(M.$slots,"default",{yearValue:s.value,disabled:u.value,today:c.value,selected:f.value,unavailable:l.value,highlighted:_.value&&(v.value||!l.value),highlightedStart:g.value,highlightedEnd:y.value,selectionStart:p.value,selectionEnd:m.value},()=>[pe(C(s.value),1)])]),_:3},8,["as","as-child","aria-label","aria-pressed","aria-disabled","data-highlighted","data-selection-start","data-selection-end","data-highlighted-start","data-highlighted-end","data-selected","data-value","data-disabled","data-unavailable","data-today","data-focused","tabindex"]))}}),R9=E9,O9=ue({__name:"YearRangePickerGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(e){const t=e,a=pi(),n=$(()=>a.disabled.value?!0:void 0),r=$(()=>a.readonly.value?!0:void 0);return(s,o)=>(x(),N(i(Te),$e(t,{tabindex:"-1",role:"application","aria-labelledby":i(a).headingId,"aria-readonly":r.value,"aria-disabled":n.value,"data-readonly":r.value&&"","data-disabled":n.value&&""}),{default:T(()=>[Z(s.$slots,"default")]),_:3},16,["aria-labelledby","aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),L9=O9,q9=ue({__name:"YearRangePickerGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),N9=q9,F9=ue({__name:"YearRangePickerGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),$e(t,{role:"row"}),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),V9=F9,B9=ue({__name:"YearRangePickerHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e;return(a,n)=>(x(),N(i(Te),He(Ge(t)),{default:T(()=>[Z(a.$slots,"default")]),_:3},16))}}),z9=B9,H9=ue({__name:"YearRangePickerHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,a=pi();return(n,r)=>(x(),N(i(Te),$e(t,{id:i(a).headingId,role:"heading","aria-level":"2","data-disabled":i(a).disabled.value?"":void 0}),{default:T(()=>[Z(n.$slots,"default",{headingValue:i(a).headingValue.value},()=>[pe(C(i(a).headingValue.value),1)])]),_:3},16,["id","data-disabled"]))}}),U9=H9,j9=ue({__name:"YearRangePickerNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=pi(),n=$(()=>a.disabled.value||a.isNextButtonDisabled(t.nextPage));function r(){n.value||a.nextPage(t.nextPage)}return(s,o)=>(x(),N(i(Te),{as:t.as,"as-child":t.asChild,"aria-label":"Next page",type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),W9=j9,K9=ue({__name:"YearRangePickerPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,a=pi(),n=$(()=>a.disabled.value||a.isPrevButtonDisabled(t.prevPage));function r(){n.value||a.prevPage(t.prevPage)}return(s,o)=>(x(),N(i(Te),{"aria-label":"Previous page",as:t.as,"as-child":t.asChild,type:t.as==="button"?"button":void 0,"aria-disabled":n.value||void 0,"data-disabled":n.value||void 0,disabled:n.value,onClick:r},{default:T(()=>[Z(s.$slots,"default",{disabled:n.value},()=>[o[0]||(o[0]=pe(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),G9=K9;const b_=Symbol("nuxt-ui.portal-target");function Qs(e){const t=Ct(b_,void 0),a=$(()=>e.value===!0?t?.value:e.value),n=$(()=>typeof a.value=="boolean"?!a.value:!1),r=$(()=>typeof a.value=="boolean"?"body":a.value);return $(()=>({to:r.value,disabled:n.value}))}const[Y9]=st("UTheme","RootContext"),X9={defaults:$(()=>({}))};function J9(e=X9){return Y9(e)}function Q9(e){return e.replace(/-(\w)/g,(t,a)=>a.toUpperCase())}function Z9(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function eO(e,t){return!e||!e.props?!1:e.props[Q9(t)]!==void 0||e.props[Z9(t)]!==void 0}function zt(e,t){const a=Rt(),{defaults:n}=J9(),r=kt();return new Proxy(t,{get(s,o,l){if(o==="__v_isReactive")return!0;if(o==="__v_raw")return s;const c=Reflect.get(s,o,l);if(typeof o!="string")return c;const u=e.includes(".")?$t(n.value,e):n.value[e];if(o==="ui"){const m=u?.ui;return!c&&!m?c:za(c??{},m??{})}if(a&&eO(a.vnode,o))return c;const d=u?.[o];if(d!==void 0)return d;const f=a?.type?.props?.[o];return f&&Object.prototype.hasOwnProperty.call(f,"default")?c:(e.includes(".")?$t(r.ui??{},e):r.ui?.[e])?.defaultVariants?.[o]},has:(s,o)=>Reflect.has(s,o),ownKeys:s=>Reflect.ownKeys(s),getOwnPropertyDescriptor:(s,o)=>Reflect.getOwnPropertyDescriptor(s,o)})}function Ma(e,t){const a=t?Pr(t):{};return $(()=>{const n=at(e)?e.value:e,r={...a};for(const s in n){const o=n[s];o!==void 0&&(r[s]=o)}return r})}const x_=Symbol("nuxt-ui.toast-max");function __(){const e=I4("toasts",()=>[]),t=Ct(x_,void 0),a=E(!1),n=[],r=()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`;async function s(){if(!(a.value||n.length===0)){for(a.value=!0;n.length>0;){const d=n.shift();await je(),e.value=[...e.value,d].slice(-(t?.value??5))}a.value=!1}}function o(d){const f={id:r(),open:!0,...d},p=e.value.findIndex(m=>m.id===f.id);return p!==-1?(e.value[p]={...e.value[p],...f,_duplicate:(e.value[p]._duplicate||0)+1},f):(n.push(f),s(),f)}function l(d,f){const p=e.value.findIndex(m=>m.id===d);p!==-1&&(e.value[p]={...e.value[p],...f,duration:f.duration,open:!0,_updated:!0},je(()=>{const m=e.value.findIndex(g=>g.id===d);m!==-1&&e.value[m]._updated&&(e.value[m]={...e.value[m],_updated:void 0})}))}function c(d){const f=e.value.findIndex(p=>p.id===d);f!==-1&&e.value[f]._updated||(f!==-1&&(e.value[f]={...e.value[f],open:!1}),setTimeout(()=>{e.value=e.value.filter(p=>p.id!==d)},200))}function u(){e.value=[]}return{toasts:e,add:o,update:l,remove:c,clear:u}}var tO=/\s+/g,aO=e=>typeof e!="string"||!e?e:e.replace(tO," ").trim(),Mu=(...e)=>{const t=[],a=n=>{if(!n&&n!==0&&n!==0n)return;if(Array.isArray(n)){for(let s=0,o=n.length;s<o;s++)a(n[s]);return}const r=typeof n;if(r==="string"||r==="number"||r==="bigint"){if(r==="number"&&n!==n)return;t.push(String(n))}else if(r==="object"){const s=Object.keys(n);for(let o=0,l=s.length;o<l;o++){const c=s[o];n[c]&&t.push(c)}}};for(let n=0,r=e.length;n<r;n++){const s=e[n];s!=null&&a(s)}return t.length>0?aO(t.join(" ")):void 0},m0=e=>e===!1?"false":e===!0?"true":e===0?"0":e,Fa=e=>{if(!e||typeof e!="object")return!0;for(const t in e)return!1;return!0},nO=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;const a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(let r=0;r<a.length;r++){const s=a[r];if(!n.includes(s)||e[s]!==t[s])return!1}return!0},rO=(e,t)=>{for(const a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const n=t[a];a in e?e[a]=Mu(e[a],n):e[a]=n}return e},w_=(e,t)=>{for(let a=0;a<e.length;a++){const n=e[a];Array.isArray(n)?w_(n,t):n&&t.push(n)}},k_=(...e)=>{const t=[];w_(e,t);const a=[];for(let n=0;n<t.length;n++)t[n]&&a.push(t[n]);return a},Np=(e,t)=>{const a={};for(const n in e){const r=e[n];if(n in t){const s=t[n];Array.isArray(r)||Array.isArray(s)?a[n]=k_(s,r):typeof r=="object"&&typeof s=="object"&&r&&s?a[n]=Np(r,s):a[n]=s+" "+r}else a[n]=r}for(const n in t)n in e||(a[n]=t[n]);return a},sO={twMerge:!0,twMergeConfig:{}};function oO(){let e=null,t={},a=!1;return{get cachedTwMerge(){return e},set cachedTwMerge(n){e=n},get cachedTwMergeConfig(){return t},set cachedTwMergeConfig(n){t=n},get didTwMergeConfigChange(){return a},set didTwMergeConfigChange(n){a=n},reset(){e=null,t={},a=!1}}}var rr=oO(),iO=e=>{const t=(n,r)=>{const{extend:s=null,slots:o={},variants:l={},compoundVariants:c=[],compoundSlots:u=[],defaultVariants:d={}}=n,f={...sO,...r},p=s?.base?Mu(s.base,n?.base):n?.base,m=s?.variants&&!Fa(s.variants)?Np(l,s.variants):l,g=s?.defaultVariants&&!Fa(s.defaultVariants)?{...s.defaultVariants,...d}:d;!Fa(f.twMergeConfig)&&!nO(f.twMergeConfig,rr.cachedTwMergeConfig)&&(rr.didTwMergeConfigChange=!0,rr.cachedTwMergeConfig=f.twMergeConfig);const y=Fa(s?.slots),_=Fa(o)?{}:{base:Mu(n?.base,y&&s?.base),...o},v=y?_:rO({...s?.slots},Fa(_)?{base:n?.base}:_),h=Fa(s?.compoundVariants)?c:k_(s?.compoundVariants,c),k=A=>{if(Fa(m)&&Fa(o)&&y)return e(p,A?.class,A?.className)(f);if(h&&!Array.isArray(h))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof h}`);if(u&&!Array.isArray(u))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof u}`);const M=(R,L=m,z=null,le=null)=>{const K=L[R];if(!K||Fa(K))return null;const ce=le?.[R]??A?.[R];if(ce===null)return null;const Y=m0(ce);if(typeof Y=="object")return null;const ve=g?.[R],ie=Y??m0(ve);return K[ie||"false"]},S=()=>{if(!m)return null;const R=Object.keys(m),L=[];for(let z=0;z<R.length;z++){const le=M(R[z],m);le&&L.push(le)}return L},P=(R,L)=>{if(!m||typeof m!="object")return null;const z=[];for(const le in m){const K=M(le,m,R,L),ce=R==="base"&&typeof K=="string"?K:K&&K[R];ce&&z.push(ce)}return z},D={};for(const R in A){const L=A[R];L!==void 0&&(D[R]=L)}const H=(R,L)=>{const z=typeof A?.[R]=="object"?{[R]:A[R]?.initial}:{};return{...g,...D,...z,...L}},Q=(R=[],L)=>{const z=[],le=R.length;for(let K=0;K<le;K++){const{class:ce,className:Y,...ve}=R[K];let ie=!0;const ye=H(null,L);for(const de in ve){const he=ve[de],ge=ye[de];if(Array.isArray(he)){if(!he.includes(ge)){ie=!1;break}}else{if((he==null||he===!1)&&(ge==null||ge===!1))continue;if(ge!==he){ie=!1;break}}}ie&&(ce&&z.push(ce),Y&&z.push(Y))}return z},G=R=>{const L=Q(h,R);if(!Array.isArray(L))return L;const z={},le=e;for(let K=0;K<L.length;K++){const ce=L[K];if(typeof ce=="string")z.base=le(z.base,ce)(f);else if(typeof ce=="object")for(const Y in ce)z[Y]=le(z[Y],ce[Y])(f)}return z},V=R=>{if(u.length<1)return null;const L={},z=H(null,R);for(let le=0;le<u.length;le++){const{slots:K=[],class:ce,className:Y,...ve}=u[le];if(!Fa(ve)){let ie=!0;for(const ye in ve){const de=z[ye],he=ve[ye];if(de===void 0||(Array.isArray(he)?!he.includes(de):he!==de)){ie=!1;break}}if(!ie)continue}for(let ie=0;ie<K.length;ie++){const ye=K[ie];L[ye]||(L[ye]=[]),L[ye].push([ce,Y])}}return L};if(!Fa(o)||!y){const R={};if(typeof v=="object"&&!Fa(v)){const L=e;for(const z in v)R[z]=le=>{const K=G(le),ce=V(le);return L(v[z],P(z,le),K?K[z]:void 0,ce?ce[z]:void 0,le?.class,le?.className)(f)}}return R}return e(p,S(),Q(h),A?.class,A?.className)(f)},w=()=>{if(!(!m||typeof m!="object"))return Object.keys(m)};return k.variantKeys=w(),k.extend=s,k.base=p,k.slots=v,k.variants=m,k.defaultVariants=g,k.compoundSlots=u,k.compoundVariants=h,k};return{tv:t,createTV:n=>(r,s)=>t(r,s?Np(n,s):n)}};const lO=(e,t)=>{const a=new Array(e.length+t.length);for(let n=0;n<e.length;n++)a[n]=e[n];for(let n=0;n<t.length;n++)a[e.length+n]=t[n];return a},cO=(e,t)=>({classGroupId:e,validator:t}),C_=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),$u="-",g0=[],uO="arbitrary..",dO=e=>{const t=pO(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:o=>{if(o.startsWith("[")&&o.endsWith("]"))return fO(o);const l=o.split($u),c=l[0]===""&&l.length>1?1:0;return S_(l,c,t)},getConflictingClassGroupIds:(o,l)=>{if(l){const c=n[o],u=a[o];return c?u?lO(u,c):c:u||g0}return a[o]||g0}}},S_=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;const r=e[t],s=a.nextPart.get(r);if(s){const u=S_(e,t+1,s);if(u)return u}const o=a.validators;if(o===null)return;const l=t===0?e.join($u):e.slice(t).join($u),c=o.length;for(let u=0;u<c;u++){const d=o[u];if(d.validator(l))return d.classGroupId}},fO=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),a=t.indexOf(":"),n=t.slice(0,a);return n?uO+n:void 0})(),pO=e=>{const{theme:t,classGroups:a}=e;return mO(a,t)},mO=(e,t)=>{const a=C_();for(const n in e){const r=e[n];dg(r,a,n,t)}return a},dg=(e,t,a,n)=>{const r=e.length;for(let s=0;s<r;s++){const o=e[s];gO(o,t,a,n)}},gO=(e,t,a,n)=>{if(typeof e=="string"){hO(e,t,a);return}if(typeof e=="function"){vO(e,t,a,n);return}yO(e,t,a,n)},hO=(e,t,a)=>{const n=e===""?t:M_(t,e);n.classGroupId=a},vO=(e,t,a,n)=>{if(bO(e)){dg(e(n),t,a,n);return}t.validators===null&&(t.validators=[]),t.validators.push(cO(a,e))},yO=(e,t,a,n)=>{const r=Object.entries(e),s=r.length;for(let o=0;o<s;o++){const[l,c]=r[o];dg(c,M_(t,l),a,n)}},M_=(e,t)=>{let a=e;const n=t.split($u),r=n.length;for(let s=0;s<r;s++){const o=n[s];let l=a.nextPart.get(o);l||(l=C_(),a.nextPart.set(o,l)),a=l}return a},bO=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,xO=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),n=Object.create(null);const r=(s,o)=>{a[s]=o,t++,t>e&&(t=0,n=a,a=Object.create(null))};return{get(s){let o=a[s];if(o!==void 0)return o;if((o=n[s])!==void 0)return r(s,o),o},set(s,o){s in a?a[s]=o:r(s,o)}}},Fp="!",h0=":",_O=[],v0=(e,t,a,n,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:n,isExternal:r}),wO=e=>{const{prefix:t,experimentalParseClassName:a}=e;let n=r=>{const s=[];let o=0,l=0,c=0,u;const d=r.length;for(let y=0;y<d;y++){const _=r[y];if(o===0&&l===0){if(_===h0){s.push(r.slice(c,y)),c=y+1;continue}if(_==="/"){u=y;continue}}_==="["?o++:_==="]"?o--:_==="("?l++:_===")"&&l--}const f=s.length===0?r:r.slice(c);let p=f,m=!1;f.endsWith(Fp)?(p=f.slice(0,-1),m=!0):f.startsWith(Fp)&&(p=f.slice(1),m=!0);const g=u&&u>c?u-c:void 0;return v0(s,m,p,g)};if(t){const r=t+h0,s=n;n=o=>o.startsWith(r)?s(o.slice(r.length)):v0(_O,!1,o,void 0,!0)}if(a){const r=n;n=s=>a({className:s,parseClassName:r})}return n},kO=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((a,n)=>{t.set(a,1e6+n)}),a=>{const n=[];let r=[];for(let s=0;s<a.length;s++){const o=a[s],l=o[0]==="[",c=t.has(o);l||c?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(o)):r.push(o)}return r.length>0&&(r.sort(),n.push(...r)),n}},CO=e=>({cache:xO(e.cacheSize),parseClassName:wO(e),sortModifiers:kO(e),postfixLookupClassGroupIds:SO(e),...dO(e)}),SO=e=>{const t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let n=0;n<a.length;n++)t[a[n]]=!0;return t},MO=/\s+/,$O=(e,t)=>{const{parseClassName:a,getClassGroupId:n,getConflictingClassGroupIds:r,sortModifiers:s,postfixLookupClassGroupIds:o}=t,l=[],c=e.trim().split(MO);let u="";for(let d=c.length-1;d>=0;d-=1){const f=c[d],{isExternal:p,modifiers:m,hasImportantModifier:g,baseClassName:y,maybePostfixModifierPosition:_}=a(f);if(p){u=f+(u.length>0?" "+u:u);continue}let v=!!_,h;if(v){const S=y.substring(0,_);h=n(S);const P=h&&o[h]?n(y):void 0;P&&P!==h&&(h=P,v=!1)}else h=n(y);if(!h){if(!v){u=f+(u.length>0?" "+u:u);continue}if(h=n(y),!h){u=f+(u.length>0?" "+u:u);continue}v=!1}const k=m.length===0?"":m.length===1?m[0]:s(m).join(":"),w=g?k+Fp:k,A=w+h;if(l.indexOf(A)>-1)continue;l.push(A);const M=r(h,v);for(let S=0;S<M.length;++S){const P=M[S];l.push(w+P)}u=f+(u.length>0?" "+u:u)}return u},AO=(...e)=>{let t=0,a,n,r="";for(;t<e.length;)(a=e[t++])&&(n=$_(a))&&(r&&(r+=" "),r+=n);return r},$_=e=>{if(typeof e=="string")return e;let t,a="";for(let n=0;n<e.length;n++)e[n]&&(t=$_(e[n]))&&(a&&(a+=" "),a+=t);return a},Vp=(e,...t)=>{let a,n,r,s;const o=c=>{const u=t.reduce((d,f)=>f(d),e());return a=CO(u),n=a.cache.get,r=a.cache.set,s=l,l(c)},l=c=>{const u=n(c);if(u)return u;const d=$O(c,a);return r(c,d),d};return s=o,(...c)=>s(AO(...c))},IO=[],na=e=>{const t=a=>a[e]||IO;return t.isThemeGetter=!0,t},A_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,I_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,TO=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,PO=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,DO=/\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$/,EO=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,RO=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,OO=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Vr=e=>TO.test(e),it=e=>!!e&&!Number.isNaN(Number(e)),Tn=e=>!!e&&Number.isInteger(Number(e)),xf=e=>e.endsWith("%")&&it(e.slice(0,-1)),Qn=e=>PO.test(e),T_=()=>!0,LO=e=>DO.test(e)&&!EO.test(e),fg=()=>!1,qO=e=>RO.test(e),NO=e=>OO.test(e),FO=e=>!ze(e)&&!Ue(e),VO=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),BO=e=>ss(e,E_,fg),ze=e=>A_.test(e),bs=e=>ss(e,R_,LO),y0=e=>ss(e,YO,it),zO=e=>ss(e,L_,T_),HO=e=>ss(e,O_,fg),b0=e=>ss(e,P_,fg),UO=e=>ss(e,D_,NO),mc=e=>ss(e,q_,qO),Ue=e=>I_.test(e),Ii=e=>Zs(e,R_),jO=e=>Zs(e,O_),x0=e=>Zs(e,P_),WO=e=>Zs(e,E_),KO=e=>Zs(e,D_),gc=e=>Zs(e,q_,!0),GO=e=>Zs(e,L_,!0),ss=(e,t,a)=>{const n=A_.exec(e);return n?n[1]?t(n[1]):a(n[2]):!1},Zs=(e,t,a=!1)=>{const n=I_.exec(e);return n?n[1]?t(n[1]):a:!1},P_=e=>e==="position"||e==="percentage",D_=e=>e==="image"||e==="url",E_=e=>e==="length"||e==="size"||e==="bg-size",R_=e=>e==="length",YO=e=>e==="number",O_=e=>e==="family-name",L_=e=>e==="number"||e==="weight",q_=e=>e==="shadow",Bp=()=>{const e=na("color"),t=na("font"),a=na("text"),n=na("font-weight"),r=na("tracking"),s=na("leading"),o=na("breakpoint"),l=na("container"),c=na("spacing"),u=na("radius"),d=na("shadow"),f=na("inset-shadow"),p=na("text-shadow"),m=na("drop-shadow"),g=na("blur"),y=na("perspective"),_=na("aspect"),v=na("ease"),h=na("animate"),k=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...w(),Ue,ze],M=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],P=()=>[Ue,ze,c],D=()=>[Vr,"full","auto",...P()],H=()=>[Tn,"none","subgrid",Ue,ze],Q=()=>["auto",{span:["full",Tn,Ue,ze]},Tn,Ue,ze],G=()=>[Tn,"auto",Ue,ze],V=()=>["auto","min","max","fr",Ue,ze],R=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],L=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...P()],le=()=>[Vr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...P()],K=()=>[Vr,"screen","full","dvw","lvw","svw","min","max","fit",...P()],ce=()=>[Vr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...P()],Y=()=>[e,Ue,ze],ve=()=>[...w(),x0,b0,{position:[Ue,ze]}],ie=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ye=()=>["auto","cover","contain",WO,BO,{size:[Ue,ze]}],de=()=>[xf,Ii,bs],he=()=>["","none","full",u,Ue,ze],ge=()=>["",it,Ii,bs],O=()=>["solid","dashed","dotted","double"],W=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],j=()=>[it,xf,x0,b0],J=()=>["","none",g,Ue,ze],ne=()=>["none",it,Ue,ze],U=()=>["none",it,Ue,ze],q=()=>[it,Ue,ze],oe=()=>[Vr,"full",...P()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Qn],breakpoint:[Qn],color:[T_],container:[Qn],"drop-shadow":[Qn],ease:["in","out","in-out"],font:[FO],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Qn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Qn],shadow:[Qn],spacing:["px",it],text:[Qn],"text-shadow":[Qn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Vr,ze,Ue,_]}],container:["container"],"container-type":[{"@container":["","normal","size",Ue,ze]}],"container-named":[VO],columns:[{columns:[it,ze,Ue,l]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"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:A()}],overflow:[{overflow:M()}],"overflow-x":[{"overflow-x":M()}],"overflow-y":[{"overflow-y":M()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{"inset-s":D(),start:D()}],end:[{"inset-e":D(),end:D()}],"inset-bs":[{"inset-bs":D()}],"inset-be":[{"inset-be":D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[Tn,"auto",Ue,ze]}],basis:[{basis:[Vr,"full","auto",l,...P()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[it,Vr,"auto","initial","none",ze]}],grow:[{grow:["",it,Ue,ze]}],shrink:[{shrink:["",it,Ue,ze]}],order:[{order:[Tn,"first","last","none",Ue,ze]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:Q()}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:Q()}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:P()}],"gap-x":[{"gap-x":P()}],"gap-y":[{"gap-y":P()}],"justify-content":[{justify:[...R(),"normal"]}],"justify-items":[{"justify-items":[...L(),"normal"]}],"justify-self":[{"justify-self":["auto",...L()]}],"align-content":[{content:["normal",...R()]}],"align-items":[{items:[...L(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...L(),{baseline:["","last"]}]}],"place-content":[{"place-content":R()}],"place-items":[{"place-items":[...L(),"baseline"]}],"place-self":[{"place-self":["auto",...L()]}],p:[{p:P()}],px:[{px:P()}],py:[{py:P()}],ps:[{ps:P()}],pe:[{pe:P()}],pbs:[{pbs:P()}],pbe:[{pbe:P()}],pt:[{pt:P()}],pr:[{pr:P()}],pb:[{pb:P()}],pl:[{pl:P()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mbs:[{mbs:z()}],mbe:[{mbe:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":P()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":P()}],"space-y-reverse":["space-y-reverse"],size:[{size:le()}],"inline-size":[{inline:["auto",...K()]}],"min-inline-size":[{"min-inline":["auto",...K()]}],"max-inline-size":[{"max-inline":["none",...K()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[l,"screen",...le()]}],"min-w":[{"min-w":[l,"screen","none",...le()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[o]},...le()]}],h:[{h:["screen","lh",...le()]}],"min-h":[{"min-h":["screen","lh","none",...le()]}],"max-h":[{"max-h":["screen","lh",...le()]}],"font-size":[{text:["base",a,Ii,bs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,GO,zO]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",xf,ze]}],"font-family":[{font:[jO,HO,t]}],"font-features":[{"font-features":[ze]}],"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,Ue,ze]}],"line-clamp":[{"line-clamp":[it,"none",Ue,y0]}],leading:[{leading:[s,...P()]}],"list-image":[{"list-image":["none",Ue,ze]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ue,ze]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Y()}],"text-color":[{text:Y()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[it,"from-font","auto",Ue,bs]}],"text-decoration-color":[{decoration:Y()}],"underline-offset":[{"underline-offset":[it,"auto",Ue,ze]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"tab-size":[{tab:[Tn,Ue,ze]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ue,ze]}],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",Ue,ze]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ve()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ye()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Tn,Ue,ze],radial:["",Ue,ze],conic:[Tn,Ue,ze]},KO,UO]}],"bg-color":[{bg:Y()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:Y()}],"gradient-via":[{via:Y()}],"gradient-to":[{to:Y()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:ge()}],"border-w-x":[{"border-x":ge()}],"border-w-y":[{"border-y":ge()}],"border-w-s":[{"border-s":ge()}],"border-w-e":[{"border-e":ge()}],"border-w-bs":[{"border-bs":ge()}],"border-w-be":[{"border-be":ge()}],"border-w-t":[{"border-t":ge()}],"border-w-r":[{"border-r":ge()}],"border-w-b":[{"border-b":ge()}],"border-w-l":[{"border-l":ge()}],"divide-x":[{"divide-x":ge()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ge()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:Y()}],"border-color-x":[{"border-x":Y()}],"border-color-y":[{"border-y":Y()}],"border-color-s":[{"border-s":Y()}],"border-color-e":[{"border-e":Y()}],"border-color-bs":[{"border-bs":Y()}],"border-color-be":[{"border-be":Y()}],"border-color-t":[{"border-t":Y()}],"border-color-r":[{"border-r":Y()}],"border-color-b":[{"border-b":Y()}],"border-color-l":[{"border-l":Y()}],"divide-color":[{divide:Y()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[it,Ue,ze]}],"outline-w":[{outline:["",it,Ii,bs]}],"outline-color":[{outline:Y()}],shadow:[{shadow:["","none",d,gc,mc]}],"shadow-color":[{shadow:Y()}],"inset-shadow":[{"inset-shadow":["none",f,gc,mc]}],"inset-shadow-color":[{"inset-shadow":Y()}],"ring-w":[{ring:ge()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Y()}],"ring-offset-w":[{"ring-offset":[it,bs]}],"ring-offset-color":[{"ring-offset":Y()}],"inset-ring-w":[{"inset-ring":ge()}],"inset-ring-color":[{"inset-ring":Y()}],"text-shadow":[{"text-shadow":["none",p,gc,mc]}],"text-shadow-color":[{"text-shadow":Y()}],opacity:[{opacity:[it,Ue,ze]}],"mix-blend":[{"mix-blend":[...W(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":W()}],"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":[it]}],"mask-image-linear-from-pos":[{"mask-linear-from":j()}],"mask-image-linear-to-pos":[{"mask-linear-to":j()}],"mask-image-linear-from-color":[{"mask-linear-from":Y()}],"mask-image-linear-to-color":[{"mask-linear-to":Y()}],"mask-image-t-from-pos":[{"mask-t-from":j()}],"mask-image-t-to-pos":[{"mask-t-to":j()}],"mask-image-t-from-color":[{"mask-t-from":Y()}],"mask-image-t-to-color":[{"mask-t-to":Y()}],"mask-image-r-from-pos":[{"mask-r-from":j()}],"mask-image-r-to-pos":[{"mask-r-to":j()}],"mask-image-r-from-color":[{"mask-r-from":Y()}],"mask-image-r-to-color":[{"mask-r-to":Y()}],"mask-image-b-from-pos":[{"mask-b-from":j()}],"mask-image-b-to-pos":[{"mask-b-to":j()}],"mask-image-b-from-color":[{"mask-b-from":Y()}],"mask-image-b-to-color":[{"mask-b-to":Y()}],"mask-image-l-from-pos":[{"mask-l-from":j()}],"mask-image-l-to-pos":[{"mask-l-to":j()}],"mask-image-l-from-color":[{"mask-l-from":Y()}],"mask-image-l-to-color":[{"mask-l-to":Y()}],"mask-image-x-from-pos":[{"mask-x-from":j()}],"mask-image-x-to-pos":[{"mask-x-to":j()}],"mask-image-x-from-color":[{"mask-x-from":Y()}],"mask-image-x-to-color":[{"mask-x-to":Y()}],"mask-image-y-from-pos":[{"mask-y-from":j()}],"mask-image-y-to-pos":[{"mask-y-to":j()}],"mask-image-y-from-color":[{"mask-y-from":Y()}],"mask-image-y-to-color":[{"mask-y-to":Y()}],"mask-image-radial":[{"mask-radial":[Ue,ze]}],"mask-image-radial-from-pos":[{"mask-radial-from":j()}],"mask-image-radial-to-pos":[{"mask-radial-to":j()}],"mask-image-radial-from-color":[{"mask-radial-from":Y()}],"mask-image-radial-to-color":[{"mask-radial-to":Y()}],"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":w()}],"mask-image-conic-pos":[{"mask-conic":[it]}],"mask-image-conic-from-pos":[{"mask-conic-from":j()}],"mask-image-conic-to-pos":[{"mask-conic-to":j()}],"mask-image-conic-from-color":[{"mask-conic-from":Y()}],"mask-image-conic-to-color":[{"mask-conic-to":Y()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ve()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ye()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ue,ze]}],filter:[{filter:["","none",Ue,ze]}],blur:[{blur:J()}],brightness:[{brightness:[it,Ue,ze]}],contrast:[{contrast:[it,Ue,ze]}],"drop-shadow":[{"drop-shadow":["","none",m,gc,mc]}],"drop-shadow-color":[{"drop-shadow":Y()}],grayscale:[{grayscale:["",it,Ue,ze]}],"hue-rotate":[{"hue-rotate":[it,Ue,ze]}],invert:[{invert:["",it,Ue,ze]}],saturate:[{saturate:[it,Ue,ze]}],sepia:[{sepia:["",it,Ue,ze]}],"backdrop-filter":[{"backdrop-filter":["","none",Ue,ze]}],"backdrop-blur":[{"backdrop-blur":J()}],"backdrop-brightness":[{"backdrop-brightness":[it,Ue,ze]}],"backdrop-contrast":[{"backdrop-contrast":[it,Ue,ze]}],"backdrop-grayscale":[{"backdrop-grayscale":["",it,Ue,ze]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[it,Ue,ze]}],"backdrop-invert":[{"backdrop-invert":["",it,Ue,ze]}],"backdrop-opacity":[{"backdrop-opacity":[it,Ue,ze]}],"backdrop-saturate":[{"backdrop-saturate":[it,Ue,ze]}],"backdrop-sepia":[{"backdrop-sepia":["",it,Ue,ze]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":P()}],"border-spacing-x":[{"border-spacing-x":P()}],"border-spacing-y":[{"border-spacing-y":P()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ue,ze]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[it,"initial",Ue,ze]}],ease:[{ease:["linear","initial",v,Ue,ze]}],delay:[{delay:[it,Ue,ze]}],animate:[{animate:["none",h,Ue,ze]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,Ue,ze]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:ne()}],"rotate-x":[{"rotate-x":ne()}],"rotate-y":[{"rotate-y":ne()}],"rotate-z":[{"rotate-z":ne()}],scale:[{scale:U()}],"scale-x":[{"scale-x":U()}],"scale-y":[{"scale-y":U()}],"scale-z":[{"scale-z":U()}],"scale-3d":["scale-3d"],skew:[{skew:q()}],"skew-x":[{"skew-x":q()}],"skew-y":[{"skew-y":q()}],transform:[{transform:[Ue,ze,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:oe()}],"translate-x":[{"translate-x":oe()}],"translate-y":[{"translate-y":oe()}],"translate-z":[{"translate-z":oe()}],"translate-none":["translate-none"],zoom:[{zoom:[Tn,Ue,ze]}],accent:[{accent:Y()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Y()}],"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",Ue,ze]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":Y()}],"scrollbar-track-color":[{"scrollbar-track":Y()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mbs":[{"scroll-mbs":P()}],"scroll-mbe":[{"scroll-mbe":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pbs":[{"scroll-pbs":P()}],"scroll-pbe":[{"scroll-pbe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"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",Ue,ze]}],fill:[{fill:["none",...Y()]}],"stroke-w":[{stroke:[it,Ii,bs,y0]}],stroke:[{stroke:["none",...Y()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},XO=(e,{cacheSize:t,prefix:a,experimentalParseClassName:n,extend:r={},override:s={}})=>(go(e,"cacheSize",t),go(e,"prefix",a),go(e,"experimentalParseClassName",n),hc(e.theme,s.theme),hc(e.classGroups,s.classGroups),hc(e.conflictingClassGroups,s.conflictingClassGroups),hc(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),go(e,"postfixLookupClassGroups",s.postfixLookupClassGroups),go(e,"orderSensitiveModifiers",s.orderSensitiveModifiers),vc(e.theme,r.theme),vc(e.classGroups,r.classGroups),vc(e.conflictingClassGroups,r.conflictingClassGroups),vc(e.conflictingClassGroupModifiers,r.conflictingClassGroupModifiers),zp(e,r,"postfixLookupClassGroups"),zp(e,r,"orderSensitiveModifiers"),e),go=(e,t,a)=>{a!==void 0&&(e[t]=a)},hc=(e,t)=>{if(t)for(const a in t)go(e,a,t[a])},vc=(e,t)=>{if(t)for(const a in t)zp(e,t,a)},zp=(e,t,a)=>{const n=t[a];n!==void 0&&(e[a]=e[a]?e[a].concat(n):n)},JO=(e,...t)=>typeof e=="function"?Vp(Bp,e,...t):Vp(()=>XO(Bp(),e),...t),QO=Vp(Bp);var ZO=e=>Fa(e)?QO:JO({...e,extend:{theme:e.theme,classGroups:e.classGroups,conflictingClassGroupModifiers:e.conflictingClassGroupModifiers,conflictingClassGroups:e.conflictingClassGroups,...e.extend}}),eL=(e,t)=>{const a=Mu(e);return!a||!(t?.twMerge??!0)?a:((!rr.cachedTwMerge||rr.didTwMergeConfigChange)&&(rr.didTwMergeConfigChange=!1,rr.cachedTwMerge=ZO(rr.cachedTwMergeConfig)),rr.cachedTwMerge(a)||void 0)},N_=(...e)=>t=>eL(e,t),{createTV:tL}=iO(N_);const aL=x2,F_=aL.ui?.tv,nL=tL(F_);function fl(e){if(typeof e=="function")return e;if(Array.isArray(e))for(let t=e.length-1;t>=0;t--){const a=fl(e[t]);if(a)return a}}function Hp(e){return Array.isArray(e)?e.flatMap(t=>Hp(t)):typeof e=="function"?[]:[e]}function V_(e,t,a){return N_(e(a()),...Hp(t.class),...Hp(t.className))(F_)??""}function rL(e,t){return new Proxy(e,{get(a,n){const r=a[n];return typeof r!="function"?r:(s={})=>{const o=fl(s.class)??fl(s.className)??t?.[n];return o?V_(o,s,()=>r({...s,class:void 0,className:void 0})):r(s)}}})}function sL(e){if(!e||typeof e!="object")return{config:e};let t=e,a;typeof e.base=="function"&&(a={base:e.base},t={...t,base:""});const n=e.slots;if(n&&typeof n=="object"){const r=Object.entries(n).filter(([,s])=>typeof s=="function");if(r.length){a??={};const s={...n};for(const[o,l]of r)a[o]=l,s[o]="";t={...t,slots:s}}}return{config:t,directives:a}}const tt=(e=>{const{config:t,directives:a}=sL(e),n=nL(t);return new Proxy(n,{apply(r,s,o){const l=Reflect.apply(r,s,o);if(l&&typeof l=="object")return rL(l,a);if(typeof l=="string"){const c=o[0]??{},u=fl(c.class)??fl(c.className)??a?.base;if(u)return V_(u,c,()=>Reflect.apply(r,s,[{...c,class:void 0,className:void 0}]))}return l}})}),Xe={__name:"Icon",props:{name:{type:null,required:!0},mode:{type:String,required:!1},size:{type:[String,Number],required:!1},customize:{type:[Function,Boolean,null],required:!1}},setup(e){const t=e,a=kt();function n(l,c){if(l!==!1)return l===!0||l===null?c:l}const r=$(()=>{const l=t.mode||a.icon?.mode;return l==="css"?"style":l}),s=$(()=>t.size||a.icon?.size),o=$(()=>n(t.customize,a.icon?.customize));return(l,c)=>typeof e.name=="string"?(x(),N(i(US),{key:0,icon:e.name.replace(/^i-/,""),mode:r.value,width:s.value,height:s.value,customise:o.value},null,8,["icon","mode","width","height","customise"])):(x(),N(sa(e.name),{key:1}))}},oL="img",_0=Symbol("nuxt-ui.avatar-group");function B_(e){const t=Ct(_0,void 0),a=$(()=>e.size??t?.value.size),n=$(()=>e.color??t?.value.color);return on(_0,$(()=>({size:a.value,color:n.value}))),{size:a,color:n}}const iL={slots:{root:"relative inline-flex items-center justify-center shrink-0",base:"rounded-full ring ring-bg flex items-center justify-center text-inverted font-medium whitespace-nowrap"},variants:{color:{primary:"bg-primary",secondary:"bg-secondary",success:"bg-success",info:"bg-info",warning:"bg-warning",error:"bg-error",neutral:"bg-inverted"},size:{"3xs":"h-[4px] min-w-[4px] text-[4px]","2xs":"h-[5px] min-w-[5px] text-[5px]",xs:"h-[6px] min-w-[6px] text-[6px]",sm:"h-[7px] min-w-[7px] text-[7px]",md:"h-[8px] min-w-[8px] text-[8px]",lg:"h-[9px] min-w-[9px] text-[9px]",xl:"h-[10px] min-w-[10px] text-[10px]","2xl":"h-[11px] min-w-[11px] text-[11px]","3xl":"h-[12px] min-w-[12px] text-[12px]"},position:{"top-right":"top-0 right-0","bottom-right":"bottom-0 right-0","top-left":"top-0 left-0","bottom-left":"bottom-0 left-0"},inset:{false:""},standalone:{false:"absolute"}},compoundVariants:[{position:"top-right",inset:!1,class:"-translate-y-1/2 translate-x-1/2 transform"},{position:"bottom-right",inset:!1,class:"translate-y-1/2 translate-x-1/2 transform"},{position:"top-left",inset:!1,class:"-translate-y-1/2 -translate-x-1/2 transform"},{position:"bottom-left",inset:!1,class:"translate-y-1/2 -translate-x-1/2 transform"}],defaultVariants:{size:"md",color:"primary",position:"top-right"}},z_=Object.assign({inheritAttrs:!1},{__name:"Chip",props:wr({as:{type:null,required:!1},text:{type:[String,Number],required:!1},color:{type:null,required:!1},size:{type:null,required:!1},position:{type:null,required:!1},inset:{type:Boolean,required:!1,default:!1},standalone:{type:Boolean,required:!1,default:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{show:{type:Boolean,default:!0},showModifiers:{}}),emits:["update:show"],setup(e){const t=e,a=zt("chip",t),n=Tl(e,"show",{type:Boolean,default:!0}),{size:r}=B_(t),s=kt(),o=$(()=>tt({extend:tt(iL),...s.ui?.chip||{}})({color:a.color,size:r.value??a.size,position:a.position,inset:a.inset,standalone:a.standalone}));return(l,c)=>(x(),N(i(Te),{as:i(a).as,"data-slot":"root",class:xe(o.value.root({class:[i(a).ui?.root,i(a).class]}))},{default:T(()=>[I(i(Vs),He(Ge(l.$attrs)),{default:T(()=>[Z(l.$slots,"default")]),_:3},16),n.value?(x(),F("span",{key:0,"data-slot":"base",class:xe(o.value.base({class:i(a).ui?.base}))},[Z(l.$slots,"content",{},()=>[pe(C(i(a).text),1)])],2)):se("",!0)]),_:3},8,["as","class"]))}}),lL={slots:{root:"inline-flex items-center justify-center shrink-0 select-none rounded-full align-middle",image:"h-full w-full rounded-[inherit] object-cover",fallback:"font-medium truncate",icon:"shrink-0"},variants:{color:{primary:{root:"bg-primary/10",fallback:"text-primary",icon:"text-primary"},secondary:{root:"bg-secondary/10",fallback:"text-secondary",icon:"text-secondary"},success:{root:"bg-success/10",fallback:"text-success",icon:"text-success"},info:{root:"bg-info/10",fallback:"text-info",icon:"text-info"},warning:{root:"bg-warning/10",fallback:"text-warning",icon:"text-warning"},error:{root:"bg-error/10",fallback:"text-error",icon:"text-error"},neutral:{root:"bg-elevated",fallback:"text-muted",icon:"text-muted"}},size:{"3xs":{root:"size-4 text-[8px]"},"2xs":{root:"size-5 text-[10px]"},xs:{root:"size-6 text-xs"},sm:{root:"size-7 text-sm"},md:{root:"size-8 text-base"},lg:{root:"size-9 text-lg"},xl:{root:"size-10 text-xl"},"2xl":{root:"size-11 text-[22px]"},"3xl":{root:"size-12 text-2xl"}}},defaultVariants:{size:"md",color:"neutral"}},Mr=Object.assign({inheritAttrs:!1},{__name:"Avatar",props:{as:{type:null,required:!1},src:{type:String,required:!1},alt:{type:String,required:!1},icon:{type:null,required:!1},text:{type:String,required:!1},size:{type:null,required:!1},color:{type:null,required:!1},chip:{type:[Boolean,Object],required:!1},class:{type:null,required:!1},style:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){const t=e,a=zt("avatar",t),n=$(()=>typeof a.as=="string"||typeof a.as?.render=="function"?{root:a.as}:za(a.as,{root:"span"})),r=$(()=>a.text||(a.alt||"").split(" ").map(m=>m.charAt(0)).join("").substring(0,2)),s=kt(),{size:o,color:l}=B_(t),c=$(()=>tt({extend:tt(lL),...s.ui?.avatar||{}})({size:o.value??a.size,color:l.value??a.color})),u=$(()=>c.value.root({class:[a.ui?.root,a.class]})),d=$(()=>{const m=(u.value||"").split(" ").find(g=>/^size-\d+$/.test(g));if(m){const g=Number.parseFloat(m.split("-")[1]??"");if(!Number.isNaN(g))return g*4}return null}),f=E(!1);Pe(()=>a.src,()=>{f.value&&(f.value=!1)});function p(){f.value=!0}return(m,g)=>(x(),N(sa(i(a).chip?z_:i(Te)),$e({as:n.value.root},i(a).chip?typeof i(a).chip=="object"?{inset:!0,...i(a).chip}:{inset:!0}:{},{"data-slot":"root",class:u.value,style:i(a).style}),{default:T(()=>[i(a).src&&!f.value?(x(),N(sa(n.value.img||i(oL)),$e({key:0,src:i(a).src,alt:i(a).alt,width:d.value,height:d.value},m.$attrs,{"data-slot":"image",class:c.value.image({class:i(a).ui?.image}),onError:p}),null,16,["src","alt","width","height","class"])):(x(),N(i(Vs),He($e({key:1},m.$attrs)),{default:T(()=>[Z(m.$slots,"default",{},()=>[i(a).icon?(x(),N(Xe,{key:0,name:i(a).icon,"data-slot":"icon",class:xe(c.value.icon({class:i(a).ui?.icon}))},null,8,["name","class"])):(x(),F("span",{key:1,"data-slot":"fallback",class:xe(c.value.fallback({class:i(a).ui?.fallback}))},C(r.value||" "),3))])]),_:3},16))]),_:3},16,["as","class","style"]))}});function _d(e){const t=kt(),a=$(()=>Ze(e)),n=$(()=>a.value.icon&&a.value.leading||a.value.icon&&!a.value.trailing||a.value.loading&&!a.value.trailing||!!a.value.leadingIcon),r=$(()=>a.value.icon&&a.value.trailing||a.value.loading&&a.value.trailing||!!a.value.trailingIcon&&a.value.trailing!==!1),s=$(()=>a.value.loading?a.value.loadingIcon||t.ui.icons.loading:a.value.leadingIcon||a.value.icon),o=$(()=>a.value.loading&&!n.value?a.value.loadingIcon||t.ui.icons.loading:a.value.trailingIcon||a.value.icon);return{isLeading:n,isTrailing:r,leadingIconName:s,trailingIconName:o}}const H_=Symbol("nuxt-ui.field-group");function Ul(e){const t=Ct(H_,void 0);return{orientation:$(()=>t?.value.orientation),size:$(()=>e?.size??t?.value.size)}}const mi=ue({name:"FieldGroupReset",setup(e,{slots:t}){return on(H_,$(()=>({size:void 0,orientation:void 0}))),()=>t.default?.()}}),cL=Symbol("nuxt-ui.form-options"),uL=Symbol("nuxt-ui.form-events"),w0=Symbol("nuxt-ui.form-field"),dL=Symbol("nuxt-ui.input-id"),U_e=Symbol("nuxt-ui.form-inputs"),fL=Symbol("nuxt-ui.form-loading"),j_e=Symbol("nuxt-ui.form-errors");function gi(e,t){const a=Ct(cL,void 0),n=Ct(uL,void 0),r=Ct(w0,void 0),s=Ct(dL,void 0);on(w0,void 0),r&&s&&(t?.bind===!1?s.value=void 0:e?.id&&(s.value=e?.id));function o(f,p,m){n&&r&&p&&n.emit({type:f,name:p,eager:m})}function l(){o("blur",r?.value.name)}function c(){o("focus",r?.value.name)}function u(){o("change",r?.value.name)}const d=W3(()=>{o("input",r?.value.name,!t?.deferInputValidation||r?.value.eagerValidation)},r?.value.validateOnInputDelay??a?.value.validateOnInputDelay??0);return{id:$(()=>e?.id??s?.value),name:$(()=>e?.name??r?.value.name),size:$(()=>e?.size??r?.value.size),color:$(()=>r?.value.error?"error":e?.color),highlight:$(()=>r?.value.error?!0:e?.highlight),disabled:$(()=>a?.value.disabled||e?.disabled),emitFormBlur:l,emitFormInput:d,emitFormChange:u,emitFormFocus:c,ariaAttrs:$(()=>{if(!r?.value)return;const f=["error","hint","description","help"].filter(m=>r?.value?.[m]).map(m=>`${r?.value.ariaId}-${m}`)||[],p={"aria-invalid":!!r?.value.error};return f.length>0&&(p["aria-describedby"]=f.join(" ")),p})}}const pL=["active","activeClass","ariaCurrentValue","as","disabled","download","exact","exactActiveClass","exactHash","exactQuery","external","form","formaction","formenctype","formmethod","formnovalidate","formtarget","href","hreflang","inactiveClass","locale","media","noPrefetch","noRel","onClick","ping","prefetch","prefetchOn","prefetchedClass","referrerpolicy","rel","replace","target","title","to","trailingSlash","type","viewTransition"];function U_(e){const t=Object.keys(e),a=t.filter(s=>s.startsWith("aria-")),n=t.filter(s=>s.startsWith("data-")),r=[...pL,...a,...n];return xa(e,...r)}function mL(e,t){const a=b4(e,t).reduce((s,o)=>(o.type==="added"&&s.add(o.key),s),new Set),n=Object.fromEntries(Object.entries(e).filter(([s])=>!a.has(s))),r=Object.fromEntries(Object.entries(t).filter(([s])=>!a.has(s)));return es(n,r)}const Au={__name:"LinkBase",props:{as:{type:String,required:!1,default:"button"},type:{type:String,required:!1,default:"button"},disabled:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},href:{type:[String,null],required:!1},navigate:{type:Function,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},active:{type:Boolean,required:!1},isExternal:{type:Boolean,required:!1}},setup(e){const t=e;function a(n){if(t.disabled){n.stopPropagation(),n.preventDefault();return}if(t.onClick)for(const r of Array.isArray(t.onClick)?t.onClick:[t.onClick])r(n);t.href&&t.navigate&&!t.isExternal&&t.navigate(n)}return(n,r)=>(x(),N(i(Te),$e(e.href?{as:"a",href:e.disabled?void 0:e.href,"aria-disabled":e.disabled?"true":void 0,role:e.disabled?"link":void 0,tabindex:e.disabled?-1:void 0}:e.as==="button"?{as:e.as,type:e.type,disabled:e.disabled}:{as:e.as},{rel:e.rel,target:e.target,onClick:a}),{default:T(()=>[Z(n.$slots,"default")]),_:3},16,["rel","target"]))}},gL={base:"outline-primary/25 focus-visible:outline-3 rounded-md",variants:{active:{true:"text-primary",false:"text-muted"},disabled:{true:"cursor-not-allowed opacity-75"}},compoundVariants:[{active:!1,disabled:!1,class:["hover:text-default","transition-colors"]}]},j_=Object.assign({inheritAttrs:!1},{__name:"Link",props:{as:{type:null,required:!1,default:"button"},href:{type:null,required:!1},external:{type:Boolean,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},noRel:{type:Boolean,required:!1},type:{type:null,required:!1,default:"button"},disabled:{type:Boolean,required:!1},active:{type:Boolean,required:!1,default:void 0},exact:{type:Boolean,required:!1},exactQuery:{type:[Boolean,String],required:!1},exactHash:{type:Boolean,required:!1},inactiveClass:{type:String,required:!1},custom:{type:Boolean,required:!1},raw:{type:Boolean,required:!1},class:{type:null,required:!1},activeClass:{type:String,required:!1},exactActiveClass:{type:String,required:!1},ariaCurrentValue:{type:String,required:!1,default:"page"},viewTransition:{type:Boolean,required:!1},to:{type:null,required:!1},replace:{type:Boolean,required:!1}},setup(e){const t=e,a=Ol(),n=kt(),r=$n(Us(t,"as","type","disabled","active","exact","exactQuery","exactHash","activeClass","inactiveClass","to","href","raw","custom","class","noRel")),s=$(()=>tt({extend:tt(gL),...za({variants:{active:{true:mu(n.ui?.link?.variants?.active?.true,t.activeClass),false:mu(n.ui?.link?.variants?.active?.false,t.inactiveClass)}}},n.ui?.link||{})})),o=$(()=>t.to??t.href),l=$(()=>t.external?!0:o.value?typeof o.value=="string"&&k4(o.value,{acceptRelative:!0}):!1),c=$(()=>!!t.target&&t.target!=="_self"),u=$(()=>t.noRel?null:t.rel!==void 0?t.rel||null:l.value||c.value?"noopener noreferrer":null);function d({route:p,isActive:m,isExactActive:g}){if(t.active!==void 0)return t.active;if(!o.value)return!1;if(t.exactQuery==="partial"){if(!mL(p.query,a.query))return!1}else if(t.exactQuery===!0&&!es(p.query,a.query))return!1;return t.exactHash&&p.hash!==a.hash?!1:!!(t.exact&&g||!t.exact&&m)}function f({route:p,isActive:m,isExactActive:g}={}){const y=d({route:p,isActive:m,isExactActive:g});return t.raw?[t.class,y?t.activeClass:t.inactiveClass]:s.value({class:t.class,active:y,disabled:t.disabled})}return(p,m)=>!l.value&&o.value?(x(),N(i(Em),$e({key:0},i(r),{to:o.value,custom:""}),{default:T(({href:g,navigate:y,route:_,isActive:v,isExactActive:h})=>[e.custom?(x(),N(i(Vs),{key:0},{default:T(()=>[Z(p.$slots,"default",He(Ge({...p.$attrs,...e.exact&&h?{"aria-current":t.ariaCurrentValue}:{},as:e.as,type:e.type,disabled:e.disabled,href:g,navigate:y,rel:u.value,target:e.target,isExternal:l.value,active:d({route:_,isActive:v,isExactActive:h})})))]),_:2},1024)):(x(),N(Au,$e({key:1},{...p.$attrs,...e.exact&&h?{"aria-current":t.ariaCurrentValue}:{},as:e.as,type:e.type,disabled:e.disabled,href:g,navigate:y,rel:u.value,target:e.target,isExternal:l.value},{class:f({route:_,isActive:v,isExactActive:h})}),{default:T(()=>[Z(p.$slots,"default",{active:d({route:_,isActive:v,isExactActive:h})})]),_:2},1040,["class"]))]),_:3},16,["to"])):e.custom?(x(),N(i(Vs),{key:1},{default:T(()=>[Z(p.$slots,"default",He(Ge({...p.$attrs,as:e.as,type:e.type,disabled:e.disabled,href:o.value,rel:u.value,target:e.target,active:e.active??!1,isExternal:l.value})))]),_:3})):(x(),N(Au,$e({key:2},{...p.$attrs,as:e.as,type:e.type,disabled:e.disabled,href:o.value,rel:u.value,target:e.target,isExternal:l.value},{class:f()}),{default:T(()=>[Z(p.$slots,"default",{active:e.active??!1})]),_:3},16,["class"]))}}),hL={slots:{base:["rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75","transition-colors"],label:"truncate",leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailingIcon:"shrink-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:"",ghost:"",link:""},size:{xs:{base:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},block:{true:{base:"w-full justify-center",trailingIcon:"ms-auto"}},square:{true:""},leading:{true:""},trailing:{true:""},loading:{true:""},active:{true:{base:""},false:{base:""}}},compoundVariants:[{color:"primary",variant:"solid",class:"text-inverted bg-primary hover:bg-primary/75 active:bg-primary/75 disabled:bg-primary aria-disabled:bg-primary outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:"solid",class:"text-inverted bg-secondary hover:bg-secondary/75 active:bg-secondary/75 disabled:bg-secondary aria-disabled:bg-secondary outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:"solid",class:"text-inverted bg-success hover:bg-success/75 active:bg-success/75 disabled:bg-success aria-disabled:bg-success outline-success/25 focus-visible:outline-3"},{color:"info",variant:"solid",class:"text-inverted bg-info hover:bg-info/75 active:bg-info/75 disabled:bg-info aria-disabled:bg-info outline-info/25 focus-visible:outline-3"},{color:"warning",variant:"solid",class:"text-inverted bg-warning hover:bg-warning/75 active:bg-warning/75 disabled:bg-warning aria-disabled:bg-warning outline-warning/25 focus-visible:outline-3"},{color:"error",variant:"solid",class:"text-inverted bg-error hover:bg-error/75 active:bg-error/75 disabled:bg-error aria-disabled:bg-error outline-error/25 focus-visible:outline-3"},{color:"primary",variant:"outline",class:"ring ring-inset ring-primary/50 text-primary hover:bg-primary/10 active:bg-primary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:"outline",class:"ring ring-inset ring-secondary/50 text-secondary hover:bg-secondary/10 active:bg-secondary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:"outline",class:"ring ring-inset ring-success/50 text-success hover:bg-success/10 active:bg-success/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:"outline",class:"ring ring-inset ring-info/50 text-info hover:bg-info/10 active:bg-info/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:"outline",class:"ring ring-inset ring-warning/50 text-warning hover:bg-warning/10 active:bg-warning/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:"outline",class:"ring ring-inset ring-error/50 text-error hover:bg-error/10 active:bg-error/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:"soft",class:"text-primary bg-primary/10 hover:bg-primary/15 active:bg-primary/15 outline-primary/25 focus-visible:outline-3 disabled:bg-primary/10 aria-disabled:bg-primary/10"},{color:"secondary",variant:"soft",class:"text-secondary bg-secondary/10 hover:bg-secondary/15 active:bg-secondary/15 outline-secondary/25 focus-visible:outline-3 disabled:bg-secondary/10 aria-disabled:bg-secondary/10"},{color:"success",variant:"soft",class:"text-success bg-success/10 hover:bg-success/15 active:bg-success/15 outline-success/25 focus-visible:outline-3 disabled:bg-success/10 aria-disabled:bg-success/10"},{color:"info",variant:"soft",class:"text-info bg-info/10 hover:bg-info/15 active:bg-info/15 outline-info/25 focus-visible:outline-3 disabled:bg-info/10 aria-disabled:bg-info/10"},{color:"warning",variant:"soft",class:"text-warning bg-warning/10 hover:bg-warning/15 active:bg-warning/15 outline-warning/25 focus-visible:outline-3 disabled:bg-warning/10 aria-disabled:bg-warning/10"},{color:"error",variant:"soft",class:"text-error bg-error/10 hover:bg-error/15 active:bg-error/15 outline-error/25 focus-visible:outline-3 disabled:bg-error/10 aria-disabled:bg-error/10"},{color:"primary",variant:"subtle",class:"text-primary ring ring-inset ring-primary/25 bg-primary/10 hover:bg-primary/15 active:bg-primary/15 disabled:bg-primary/10 aria-disabled:bg-primary/10 outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:"subtle",class:"text-secondary ring ring-inset ring-secondary/25 bg-secondary/10 hover:bg-secondary/15 active:bg-secondary/15 disabled:bg-secondary/10 aria-disabled:bg-secondary/10 outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:"subtle",class:"text-success ring ring-inset ring-success/25 bg-success/10 hover:bg-success/15 active:bg-success/15 disabled:bg-success/10 aria-disabled:bg-success/10 outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:"subtle",class:"text-info ring ring-inset ring-info/25 bg-info/10 hover:bg-info/15 active:bg-info/15 disabled:bg-info/10 aria-disabled:bg-info/10 outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:"subtle",class:"text-warning ring ring-inset ring-warning/25 bg-warning/10 hover:bg-warning/15 active:bg-warning/15 disabled:bg-warning/10 aria-disabled:bg-warning/10 outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:"subtle",class:"text-error ring ring-inset ring-error/25 bg-error/10 hover:bg-error/15 active:bg-error/15 disabled:bg-error/10 aria-disabled:bg-error/10 outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:"ghost",class:"text-primary hover:bg-primary/10 active:bg-primary/10 outline-primary/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"secondary",variant:"ghost",class:"text-secondary hover:bg-secondary/10 active:bg-secondary/10 outline-secondary/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"success",variant:"ghost",class:"text-success hover:bg-success/10 active:bg-success/10 outline-success/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"info",variant:"ghost",class:"text-info hover:bg-info/10 active:bg-info/10 outline-info/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"warning",variant:"ghost",class:"text-warning hover:bg-warning/10 active:bg-warning/10 outline-warning/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"error",variant:"ghost",class:"text-error hover:bg-error/10 active:bg-error/10 outline-error/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent"},{color:"primary",variant:"link",class:"text-primary hover:text-primary/75 active:text-primary/75 disabled:text-primary aria-disabled:text-primary outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:"link",class:"text-secondary hover:text-secondary/75 active:text-secondary/75 disabled:text-secondary aria-disabled:text-secondary outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:"link",class:"text-success hover:text-success/75 active:text-success/75 disabled:text-success aria-disabled:text-success outline-success/25 focus-visible:outline-3"},{color:"info",variant:"link",class:"text-info hover:text-info/75 active:text-info/75 disabled:text-info aria-disabled:text-info outline-info/25 focus-visible:outline-3"},{color:"warning",variant:"link",class:"text-warning hover:text-warning/75 active:text-warning/75 disabled:text-warning aria-disabled:text-warning outline-warning/25 focus-visible:outline-3"},{color:"error",variant:"link",class:"text-error hover:text-error/75 active:text-error/75 disabled:text-error aria-disabled:text-error outline-error/25 focus-visible:outline-3"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted outline-inverted/25 focus-visible:outline-3"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:"soft",class:"text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 outline-inverted/25 focus-visible:outline-3 disabled:bg-elevated aria-disabled:bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:"ghost",class:"text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"},{color:"neutral",variant:"link",class:"text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted outline-inverted/25 focus-visible:outline-3"},{size:"xs",square:!0,class:"p-1"},{size:"sm",square:!0,class:"p-1.5"},{size:"md",square:!0,class:"p-1.5"},{size:"lg",square:!0,class:"p-2"},{size:"xl",square:!0,class:"p-2"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{color:"primary",variant:"solid",size:"md"}},nt={__name:"Button",props:{label:{type:String,required:!1},color:{type:null,required:!1},activeColor:{type:null,required:!1},variant:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},active:{type:Boolean,required:!1},exact:{type:Boolean,required:!1},exactQuery:{type:[Boolean,String],required:!1},exactHash:{type:Boolean,required:!1},inactiveClass:{type:String,required:!1},locale:{type:[Boolean,String],required:!1},to:{type:null,required:!1},href:{type:null,required:!1},external:{type:Boolean,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},noRel:{type:Boolean,required:!1},prefetchedClass:{type:String,required:!1},prefetch:{type:Boolean,required:!1},prefetchOn:{type:[String,Object],required:!1},noPrefetch:{type:Boolean,required:!1},trailingSlash:{type:String,required:!1},activeClass:{type:String,required:!1},exactActiveClass:{type:String,required:!1},ariaCurrentValue:{type:String,required:!1},viewTransition:{type:Boolean,required:!1},replace:{type:Boolean,required:!1}},setup(e){const t=e,a=fa(),n=zt("button",t),r=kt(),{orientation:s,size:o}=Ul(t),l=Ma(U_(n)),c=E(!1),u=Ct(fL,void 0);async function d(v){c.value=!0;const h=Array.isArray(n.onClick)?n.onClick:[n.onClick];try{await Promise.all(h.map(k=>k?.(v)))}finally{c.value=!1}}const f=$(()=>n.loading||n.loadingAuto&&(c.value||u?.value&&n.type==="submit")),{isLeading:p,isTrailing:m,leadingIconName:g,trailingIconName:y}=_d($(()=>({...n,loading:f.value}))),_=$(()=>tt({extend:tt(hL),...za({variants:{active:{true:{base:mu(r.ui?.button?.variants?.active?.true?.base,n.activeClass)},false:{base:mu(r.ui?.button?.variants?.active?.false?.base,n.inactiveClass)}}}},r.ui?.button||{})})({color:n.color,variant:n.variant,size:o.value??n.size,loading:f.value,block:n.block,square:n.square||!a.default&&!n.label,leading:p.value,trailing:m.value,fieldGroup:s.value}));return(v,h)=>(x(),N(j_,$e({type:i(n).type,disabled:i(n).disabled||f.value},i(td)(i(l),["type","disabled","onClick"]),{custom:""}),{default:T(({active:k,...w})=>[I(Au,$e(w,{"data-slot":"base",class:_.value.base({class:[i(n).ui?.base,i(n).class],active:k,...k&&i(n).activeVariant?{variant:i(n).activeVariant}:{},...k&&i(n).activeColor?{color:i(n).activeColor}:{}}),onClick:d}),{default:T(()=>[Z(v.$slots,"leading",{ui:_.value},()=>[i(p)&&i(g)?(x(),N(Xe,{key:0,name:i(g),"data-slot":"leadingIcon",class:xe(_.value.leadingIcon({class:i(n).ui?.leadingIcon,active:k}))},null,8,["name","class"])):i(n).avatar?(x(),N(Mr,$e({key:1,size:i(n).ui?.leadingAvatarSize||_.value.leadingAvatarSize()},i(n).avatar,{"data-slot":"leadingAvatar",class:_.value.leadingAvatar({class:i(n).ui?.leadingAvatar,active:k})}),null,16,["size","class"])):se("",!0)]),Z(v.$slots,"default",{ui:_.value},()=>[i(n).label!==void 0&&i(n).label!==null?(x(),F("span",{key:0,"data-slot":"label",class:xe(_.value.label({class:i(n).ui?.label,active:k}))},C(i(n).label),3)):se("",!0)]),Z(v.$slots,"trailing",{ui:_.value},()=>[i(m)&&i(y)?(x(),N(Xe,{key:0,name:i(y),"data-slot":"trailingIcon",class:xe(_.value.trailingIcon({class:i(n).ui?.trailingIcon,active:k}))},null,8,["name","class"])):se("",!0)])]),_:2},1040,["class"])]),_:3},16,["type","disabled"]))}},vL={slots:{root:"gap-2",base:"relative overflow-hidden rounded-full bg-accented",indicator:"rounded-full size-full transition-transform duration-200 ease-out",status:"flex text-dimmed transition-[width] duration-200",steps:"grid items-end",step:"truncate text-end row-start-1 col-start-1 transition-opacity"},variants:{animation:{carousel:"","carousel-inverse":"",swing:"",elastic:""},color:{primary:{indicator:"bg-primary",steps:"text-primary"},secondary:{indicator:"bg-secondary",steps:"text-secondary"},success:{indicator:"bg-success",steps:"text-success"},info:{indicator:"bg-info",steps:"text-info"},warning:{indicator:"bg-warning",steps:"text-warning"},error:{indicator:"bg-error",steps:"text-error"},neutral:{indicator:"bg-inverted",steps:"text-inverted"}},size:{"2xs":{status:"text-xs",steps:"text-xs"},xs:{status:"text-xs",steps:"text-xs"},sm:{status:"text-sm",steps:"text-sm"},md:{status:"text-sm",steps:"text-sm"},lg:{status:"text-sm",steps:"text-sm"},xl:{status:"text-base",steps:"text-base"},"2xl":{status:"text-base",steps:"text-base"}},step:{active:{step:"opacity-100"},first:{step:"opacity-100 text-muted"},other:{step:"opacity-0"},last:{step:""}},orientation:{horizontal:{root:"w-full flex flex-col",base:"w-full",status:"flex-row items-center justify-end min-w-fit"},vertical:{root:"h-full flex flex-row-reverse",base:"h-full",status:"flex-col justify-end min-h-fit"}},inverted:{true:{status:"self-end"}}},compoundVariants:[{inverted:!0,orientation:"horizontal",class:{step:"text-start",status:"flex-row-reverse"}},{inverted:!0,orientation:"vertical",class:{steps:"items-start",status:"flex-col-reverse"}},{orientation:"horizontal",size:"2xs",class:"h-px"},{orientation:"horizontal",size:"xs",class:"h-0.5"},{orientation:"horizontal",size:"sm",class:"h-1"},{orientation:"horizontal",size:"md",class:"h-2"},{orientation:"horizontal",size:"lg",class:"h-3"},{orientation:"horizontal",size:"xl",class:"h-4"},{orientation:"horizontal",size:"2xl",class:"h-5"},{orientation:"vertical",size:"2xs",class:"w-px"},{orientation:"vertical",size:"xs",class:"w-0.5"},{orientation:"vertical",size:"sm",class:"w-1"},{orientation:"vertical",size:"md",class:"w-2"},{orientation:"vertical",size:"lg",class:"w-3"},{orientation:"vertical",size:"xl",class:"w-4"},{orientation:"vertical",size:"2xl",class:"w-5"},{orientation:"horizontal",animation:"carousel",class:{indicator:"data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]"}},{orientation:"vertical",animation:"carousel",class:{indicator:"data-[state=indeterminate]:animate-[carousel-vertical_2s_ease-in-out_infinite]"}},{orientation:"horizontal",animation:"carousel-inverse",class:{indicator:"data-[state=indeterminate]:animate-[carousel-inverse_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"}},{orientation:"vertical",animation:"carousel-inverse",class:{indicator:"data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_ease-in-out_infinite]"}},{orientation:"horizontal",animation:"swing",class:{indicator:"data-[state=indeterminate]:animate-[swing_2s_ease-in-out_infinite]"}},{orientation:"vertical",animation:"swing",class:{indicator:"data-[state=indeterminate]:animate-[swing-vertical_2s_ease-in-out_infinite]"}},{orientation:"horizontal",animation:"elastic",class:{indicator:"data-[state=indeterminate]:animate-[elastic_2s_ease-in-out_infinite]"}},{orientation:"vertical",animation:"elastic",class:{indicator:"data-[state=indeterminate]:animate-[elastic-vertical_2s_ease-in-out_infinite]"}}],defaultVariants:{animation:"carousel",color:"primary",size:"md"}},pg={__name:"Progress",props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue","update:max"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("progress",a),{dir:o}=js(),l=kt(),c=Ma(xa(s,"getValueLabel","getValueText","modelValue"),n),u=$(()=>c.value.modelValue===null),d=$(()=>Array.isArray(s.max)),f=$(()=>{if(!(u.value||!s.max))return Array.isArray(s.max)?s.max.length-1:Number(s.max)}),p=$(()=>{if(!u.value)switch(!0){case c.value.modelValue<0:return 0;case c.value.modelValue>(f.value??100):return 100;default:return Math.round(c.value.modelValue/(f.value??100)*100)}}),m=$(()=>{if(p.value!==void 0)return s.orientation==="vertical"?{transform:`translateY(${s.inverted?"":"-"}${100-p.value}%)`}:o.value==="rtl"?{transform:`translateX(${s.inverted?"-":""}${100-p.value}%)`}:{transform:`translateX(${s.inverted?"":"-"}${100-p.value}%)`}}),g=$(()=>{const w=`${Math.max(p.value??0,0)}%`;return s.orientation==="vertical"?{height:w}:{width:w}});function y(w){return w===Number(s.modelValue)}function _(w){return w===0}function v(w){return w===f.value}function h(w){return w=Number(w),y(w)&&!_(w)?"active":_(w)&&y(w)?"first":v(w)&&y(w)?"last":"other"}const k=$(()=>tt({extend:tt(vL),...l.ui?.progress||{}})({animation:s.animation,size:s.size,color:s.color,orientation:s.orientation,inverted:s.inverted}));return(w,A)=>(x(),N(i(Te),{as:i(s).as,"data-orientation":i(s).orientation,"data-slot":"root",class:xe(k.value.root({class:[i(s).ui?.root,i(s).class]}))},{default:T(()=>[!u.value&&(i(s).status||r.status)?(x(),F("div",{key:0,"data-slot":"status",class:xe(k.value.status({class:i(s).ui?.status})),style:Tt(g.value)},[Z(w.$slots,"status",{percent:p.value},()=>[pe(C(p.value)+"% ",1)])],6)):se("",!0),I(i(QD),$e(i(c),{max:f.value,"data-slot":"base",class:k.value.base({class:i(s).ui?.base}),style:{transform:"translateZ(0)"}}),{default:T(()=>[I(i(eE),{"data-slot":"indicator",class:xe(k.value.indicator({class:i(s).ui?.indicator})),style:Tt(m.value)},null,8,["class","style"])]),_:1},16,["max","class"]),d.value?(x(),F("div",{key:1,"data-slot":"steps",class:xe(k.value.steps({class:i(s).ui?.steps}))},[(x(!0),F(De,null,Ye(i(s).max,(M,S)=>(x(),F("div",{key:S,"data-slot":"step",class:xe(k.value.step({class:i(s).ui?.step,step:h(S)}))},[Z(w.$slots,`step-${S}`,{step:M},()=>[pe(C(M),1)])],2))),128))],2)):se("",!0)]),_:3},8,["as","data-orientation","class"]))}},yL={slots:{root:"relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5",wrapper:"w-0 flex-1 flex flex-col",title:"text-sm font-medium text-highlighted",description:"text-sm text-muted",icon:"shrink-0 size-5",avatar:"shrink-0",avatarSize:"2xl",actions:"flex gap-1.5 shrink-0",progress:"absolute inset-x-0 bottom-0",close:"p-0"},variants:{color:{primary:{root:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary",icon:"text-primary"},secondary:{root:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary",icon:"text-secondary"},success:{root:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success",icon:"text-success"},info:{root:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info",icon:"text-info"},warning:{root:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning",icon:"text-warning"},error:{root:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error",icon:"text-error"},neutral:{root:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted",icon:"text-highlighted"}},orientation:{horizontal:{root:"items-center",actions:"items-center"},vertical:{root:"items-start",actions:"items-start mt-2.5"}},title:{true:{description:"mt-1"}}},defaultVariants:{color:"primary"}},bL={__name:"Toast",props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:"vertical"},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},duration:{type:Number,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1}},emits:["escapeKeyDown","pause","resume","swipeStart","swipeMove","swipeCancel","swipeEnd","update:open"],setup(e,{expose:t,emit:a}){const n=e,r=a,s=fa(),o=zt("toast",n),{t:l}=js(),c=kt(),u=Ma(xa(o,"as","defaultOpen","open","duration","type"),r),d=$(()=>tt({extend:tt(yL),...c.ui?.toast||{}})({color:o.color,orientation:o.orientation,title:!!o.title||!!s.title})),f=el("rootRef"),p=E(0);return Ke(()=>{f.value?.$el?.getBoundingClientRect&&(p.value=f.value.$el.getBoundingClientRect().height)}),t({height:p}),(m,g)=>(x(),N(i(DR),$e({ref_key:"rootRef",ref:f},i(u),{"data-orientation":i(o).orientation,"data-slot":"root",class:d.value.root({class:[i(o).ui?.root,i(o).class]}),style:{"--height":p.value}}),{default:T(({remaining:y,duration:_,open:v})=>[Z(m.$slots,"leading",{ui:d.value},()=>[i(o).avatar?(x(),N(Mr,$e({key:0,size:i(o).ui?.avatarSize||d.value.avatarSize()},i(o).avatar,{"data-slot":"avatar",class:d.value.avatar({class:i(o).ui?.avatar})}),null,16,["size","class"])):i(o).icon?(x(),N(Xe,{key:1,name:i(o).icon,"data-slot":"icon",class:xe(d.value.icon({class:i(o).ui?.icon}))},null,8,["name","class"])):se("",!0)]),b("div",{"data-slot":"wrapper",class:xe(d.value.wrapper({class:i(o).ui?.wrapper}))},[i(o).title||s.title?(x(),N(i(RR),{key:0,"data-slot":"title",class:xe(d.value.title({class:i(o).ui?.title}))},{default:T(()=>[Z(m.$slots,"title",{},()=>[typeof i(o).title=="function"?(x(),N(sa(i(o).title()),{key:0})):typeof i(o).title=="object"?(x(),N(sa(i(o).title),{key:1})):(x(),F(De,{key:2},[pe(C(i(o).title),1)],64))])]),_:3},8,["class"])):se("",!0),i(o).description||s.description?(x(),N(i(AR),{key:1,"data-slot":"description",class:xe(d.value.description({class:i(o).ui?.description}))},{default:T(()=>[Z(m.$slots,"description",{},()=>[typeof i(o).description=="function"?(x(),N(sa(i(o).description()),{key:0})):typeof i(o).description=="object"?(x(),N(sa(i(o).description),{key:1})):(x(),F(De,{key:2},[pe(C(i(o).description),1)],64))])]),_:3},8,["class"])):se("",!0),i(o).orientation==="vertical"&&(i(o).actions?.length||s.actions)?(x(),F("div",{key:2,"data-slot":"actions",class:xe(d.value.actions({class:i(o).ui?.actions}))},[Z(m.$slots,"actions",{},()=>[(x(!0),F(De,null,Ye(i(o).actions,(h,k)=>(x(),N(i(f0),{key:k,"alt-text":h.label||"Action","as-child":"",onClick:g[0]||(g[0]=ut(()=>{},["stop"]))},{default:T(()=>[I(nt,$e({size:"xs",color:i(o).color},{ref_for:!0},h),null,16,["color"])]),_:2},1032,["alt-text"]))),128))])],2)):se("",!0)],2),i(o).orientation==="horizontal"&&(i(o).actions?.length||s.actions)||i(o).close?(x(),F("div",{key:0,"data-slot":"actions",class:xe(d.value.actions({class:i(o).ui?.actions,orientation:"horizontal"}))},[i(o).orientation==="horizontal"&&(i(o).actions?.length||s.actions)?Z(m.$slots,"actions",{key:0},()=>[(x(!0),F(De,null,Ye(i(o).actions,(h,k)=>(x(),N(i(f0),{key:k,"alt-text":h.label||"Action","as-child":"",onClick:g[1]||(g[1]=ut(()=>{},["stop"]))},{default:T(()=>[I(nt,$e({size:"xs",color:i(o).color},{ref_for:!0},h),null,16,["color"])]),_:2},1032,["alt-text"]))),128))]):se("",!0),i(o).close||s.close?(x(),N(i(g_),{key:1,"as-child":""},{default:T(()=>[Z(m.$slots,"close",{ui:d.value},()=>[i(o).close?(x(),N(nt,$e({key:0,icon:i(o).closeIcon||i(c).ui.icons.close,color:"neutral",variant:"link","aria-label":i(l)("toast.close")},typeof i(o).close=="object"?i(o).close:{},{"data-slot":"close",class:d.value.close({class:i(o).ui?.close}),onClick:g[2]||(g[2]=ut(()=>{},["stop"]))}),null,16,["icon","aria-label","class"])):se("",!0)])]),_:3})):se("",!0)],2)):se("",!0),i(o).progress&&v&&y>0&&_?(x(),N(pg,$e({key:1,"model-value":y/_*100,color:i(o).color},typeof i(o).progress=="object"?i(o).progress:{},{size:"sm","data-slot":"progress",class:d.value.progress({class:i(o).ui?.progress})}),null,16,["model-value","color","class"])):se("",!0)]),_:3},16,["data-orientation","class","style"]))}},xL={slots:{viewport:"fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none",base:"pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-100 data-[state=closed]:animate-[toast-closed_200ms_ease-in-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-in-out] data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_300ms_ease-out] data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_300ms_ease-out] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out"},variants:{position:{"top-left":{viewport:"left-4"},"top-center":{viewport:"left-1/2 transform -translate-x-1/2"},"top-right":{viewport:"right-4"},"bottom-left":{viewport:"left-4"},"bottom-center":{viewport:"left-1/2 transform -translate-x-1/2"},"bottom-right":{viewport:"right-4"}},swipeDirection:{up:"data-[swipe=end]:animate-[toast-slide-up_200ms_ease-out]",right:"data-[swipe=end]:animate-[toast-slide-right_200ms_ease-out]",down:"data-[swipe=end]:animate-[toast-slide-down_200ms_ease-out]",left:"data-[swipe=end]:animate-[toast-slide-left_200ms_ease-out]"}},compoundVariants:[{position:["top-left","top-center","top-right"],class:{viewport:"top-4",base:"top-0 data-[state=open]:animate-[toast-slide-in-from-top_200ms_ease-in-out]"}},{position:["bottom-left","bottom-center","bottom-right"],class:{viewport:"bottom-4",base:"bottom-0 data-[state=open]:animate-[toast-slide-in-from-bottom_200ms_ease-in-out]"}},{swipeDirection:["left","right"],class:"data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=cancel]:translate-x-0"},{swipeDirection:["up","down"],class:"data-[swipe=move]:translate-y-(--reka-toast-swipe-move-y) data-[swipe=end]:translate-y-(--reka-toast-swipe-end-y) data-[swipe=cancel]:translate-y-0"}],defaultVariants:{position:"bottom-right"}},_L={name:"Toaster"},wL=Object.assign(_L,{props:{position:{type:null,required:!1},expand:{type:Boolean,required:!1,default:!0},progress:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},max:{type:Number,required:!1,default:5},class:{type:null,required:!1},ui:{type:Object,required:!1},label:{type:String,required:!1},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeThreshold:{type:Number,required:!1}},setup(e){const a=zt("toaster",e),{toasts:n,remove:r}=__(),s=kt();on(x_,_t(()=>a.max));const o=Ma(xa(a,"duration","label","swipeThreshold","disableSwipe")),l=Qs(_t(()=>a.portal)),c=$(()=>{switch(a.position){case"top-center":return"up";case"top-right":case"bottom-right":return"right";case"bottom-center":return"down";case"top-left":case"bottom-left":return"left"}return"right"}),u=$(()=>tt({extend:tt(xL),...s.ui?.toaster||{}})({position:a.position,swipeDirection:c.value}));function d(v,h){v||r(h)}const f=E(!1),p=$(()=>a.expand||f.value),m=E([]),g=$(()=>m.value.reduce((v,{height:h})=>v+h+16,0)),y=$(()=>m.value[m.value.length-1]?.height||0);function _(v){return m.value.slice(v+1).reduce((h,{height:k})=>h+k+16,0)}return(v,h)=>(x(),N(i(pR),$e({"swipe-direction":c.value},i(o)),{default:T(()=>[Z(v.$slots,"default"),(x(!0),F(De,null,Ye(i(n),(k,w)=>(x(),N(bL,$e({key:k.id,ref_for:!0,ref_key:"refs",ref:m,progress:i(a).progress},{ref_for:!0},i(td)(k,["id","close","_duplicate","_updated"]),{close:k.close,"data-expanded":p.value,"data-front":!p.value&&w===i(n).length-1,"data-pulsing":k._duplicate?k._duplicate%2===0?"even":"odd":void 0,style:{"--index":w-i(n).length+i(n).length,"--before":i(n).length-1-w,"--offset":_(w),"--scale":p.value?"1":"calc(1 - var(--before) * var(--scale-factor))","--translate":p.value?"calc(var(--offset) * var(--translate-factor))":"calc(var(--before) * var(--gap))","--transform":"translateY(var(--translate)) scale(var(--scale))"},"data-slot":"base",class:u.value.base({class:[i(a).ui?.base,k.onClick?"cursor-pointer":void 0]}),"onUpdate:open":A=>d(A,k.id),onClick:A=>k.onClick&&k.onClick(k)}),null,16,["progress","close","data-expanded","data-front","data-pulsing","style","class","onUpdate:open","onClick"]))),128)),I(i(TR),He(Ge(i(l))),{default:T(()=>[I(i(qR),{"data-expanded":p.value,"data-slot":"viewport",class:xe(u.value.viewport({class:[i(a).ui?.viewport,i(a).class]})),style:Tt({"--scale-factor":"0.05","--translate-factor":i(a).position?.startsWith("top")?"1px":"-1px","--gap":i(a).position?.startsWith("top")?"16px":"-16px","--front-height":`${y.value}px`,"--height":`${g.value}px`}),onMouseenter:h[0]||(h[0]=k=>f.value=!0),onMouseleave:h[1]||(h[1]=k=>f.value=!1)},null,8,["data-expanded","class","style"])]),_:1},16)]),_:3},16,["swipe-direction"]))}});function kL(){const e=hm([]),t=(u,d)=>{const{props:f,defaultOpen:p,destroyOnClose:m}=d||{},g=ln({id:Symbol(import.meta.dev?"useOverlay":""),isOpen:!!p,component:kl(u),isMounted:!!p,destroyOnClose:!!m,originalProps:f||{},props:{...f}});return e.push(g),{...g,open:y=>a(g.id,y),close:y=>n(g.id,y),patch:y=>o(g.id,y)}},a=(u,d)=>{const f=l(u);d?f.props={...f.originalProps,...d}:f.props={...f.originalProps},f.isOpen=!0,f.isMounted=!0;const p=new Promise(m=>f.resolvePromise=m);return Object.assign(p,{id:u,isMounted:f.isMounted,isOpen:f.isOpen,result:p})},n=(u,d)=>{const f=l(u);f.isOpen=!1,f.resolvePromise&&(f.resolvePromise(d),f.resolvePromise=void 0)},r=()=>{e.forEach(u=>n(u.id))},s=u=>{const d=l(u);if(d.isMounted=!1,d.destroyOnClose){const f=e.findIndex(p=>p.id===u);e.splice(f,1)}},o=(u,d)=>{const f=l(u);f.props={...f.props,...d}},l=u=>{const d=e.find(f=>f.id===u);if(!d)throw new Error("Overlay not found");return d};return{overlays:e,open:a,close:n,closeAll:r,create:t,patch:o,unmount:s,isOpen:u=>l(u).isOpen}}const CL=El(kL),SL={__name:"OverlayProvider",setup(e){const{overlays:t,unmount:a,close:n}=CL(),r=$(()=>t.filter(l=>l.isMounted)),s=l=>{n(l),a(l)},o=(l,c)=>{n(l,c)};return(l,c)=>(x(!0),F(De,null,Ye(r.value,u=>(x(),N(sa(u.component),$e({key:u.id},{ref_for:!0},u.props,{open:u.isOpen,"onUpdate:open":d=>u.isOpen=d,onClose:d=>o(u.id,d),"onAfter:leave":d=>s(u.id)}),null,16,["open","onUpdate:open","onClose","onAfter:leave"]))),128))}},ML={name:"App"},$L=Object.assign(ML,{props:{tooltip:{type:Object,required:!1},toaster:{type:[Object,null],required:!1},locale:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:"body"},dir:{type:String,required:!1},scrollBody:{type:[Boolean,Object],required:!1},nonce:{type:String,required:!1}},setup(e){const t=e,a=$n(xa(t,"scrollBody")),n=_t(()=>t.tooltip),r=_t(()=>t.toaster),s=_t(()=>t.locale);return on(C2,s),on(b_,_t(()=>t.portal)),(l,c)=>(x(),N(i(i$),$e({"use-id":()=>Uu(),dir:t.dir||s.value?.dir,locale:s.value?.code},i(a)),{default:T(()=>[I(i(zR),He(Ge(n.value)),{default:T(()=>[e.toaster!==null?(x(),N(wL,He($e({key:0},r.value)),{default:T(()=>[Z(l.$slots,"default")]),_:3},16)):Z(l.$slots,"default",{key:1}),I(SL)]),_:3},16)]),_:3},16,["use-id","dir","locale"]))}});function W_(e){return Jo()?(Qo(e),!0):!1}const _f=new WeakMap,AL=(...e)=>{var t;const a=e[0],n=(t=Rt())==null?void 0:t.proxy;if(n==null&&!Zo())throw new Error("injectLocal must be called in setup");return n&&_f.has(n)&&a in _f.get(n)?_f.get(n)[a]:Ct(...e)},wd=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const IL=Object.prototype.toString,TL=e=>IL.call(e)==="[object Object]",sr=()=>{},PL=DL();function DL(){var e,t;return wd&&((e=window?.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function K_(...e){if(e.length!==1)return _t(...e);const t=e[0];return typeof t=="function"?Ns(Cl(()=>({get:t,set:sr}))):E(t)}function G_(e,t){function a(...n){return new Promise((r,s)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(s)})}return a}const Y_=e=>e();function EL(e,t={}){let a,n,r=sr;const s=c=>{clearTimeout(c),r(),r=sr};let o;return c=>{const u=Ze(e),d=Ze(t.maxWait);return a&&s(a),u<=0||d!==void 0&&d<=0?(n&&(s(n),n=void 0),Promise.resolve(c())):new Promise((f,p)=>{r=t.rejectOnCancel?p:f,o=c,d&&!n&&(n=setTimeout(()=>{a&&s(a),n=void 0,f(o())},d)),a=setTimeout(()=>{n&&s(n),n=void 0,f(c())},u)})}}function RL(e=Y_,t={}){const{initialState:a="active"}=t,n=K_(a==="active");function r(){n.value=!1}function s(){n.value=!0}return{isActive:Ns(n),pause:r,resume:s,eventFilter:(...l)=>{n.value&&e(...l)}}}function OL(e){let t;function a(){return t||(t=e()),t}return a.reset=async()=>{const n=t;t=void 0,n&&await n},a}function k0(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function wf(e){return Array.isArray(e)?e:[e]}function LL(e){return Rt()}function X_(e,t=200,a={}){return G_(EL(t,a),e)}function qL(e,t,a={}){const{eventFilter:n=Y_,...r}=a;return Pe(e,G_(n,t),r)}function NL(e,t,a={}){const{eventFilter:n,initialState:r="active",...s}=a,{eventFilter:o,pause:l,resume:c,isActive:u}=RL(n,{initialState:r});return{stop:qL(e,t,{...s,eventFilter:o}),pause:l,resume:c,isActive:u}}function J_(e,t=!0,a){LL()?Ke(e,a):t?e():je(e)}function FL(e,t,a={}){const{immediate:n=!0,immediateCallback:r=!1}=a,s=pt(!1);let o;function l(){o&&(clearTimeout(o),o=void 0)}function c(){s.value=!1,l()}function u(...d){r&&e(),l(),s.value=!0,o=setTimeout(()=>{s.value=!1,o=void 0,e(...d)},Ze(t))}return n&&(s.value=!0,wd&&u()),W_(c),{isPending:Rn(s),start:u,stop:c}}function VL(e=!1,t={}){const{truthyValue:a=!0,falsyValue:n=!1}=t,r=at(e),s=pt(e);function o(l){if(arguments.length)return s.value=l,s.value;{const c=Ze(a);return s.value=s.value===c?Ze(n):c,s.value}}return r?o:[s,o]}function BL(e,t,a){return Pe(e,t,{...a,immediate:!0})}const Ko=wd?window:void 0,Q_=wd?window.navigator:void 0;function yo(e){var t;const a=Ze(e);return(t=a?.$el)!=null?t:a}function Zr(...e){const t=[],a=()=>{t.forEach(l=>l()),t.length=0},n=(l,c,u,d)=>(l.addEventListener(c,u,d),()=>l.removeEventListener(c,u,d)),r=$(()=>{const l=wf(Ze(e[0])).filter(c=>c!=null);return l.every(c=>typeof c!="string")?l:void 0}),s=BL(()=>{var l,c;return[(c=(l=r.value)==null?void 0:l.map(u=>yo(u)))!=null?c:[Ko].filter(u=>u!=null),wf(Ze(r.value?e[1]:e[0])),wf(i(r.value?e[2]:e[1])),Ze(r.value?e[3]:e[2])]},([l,c,u,d])=>{if(a(),!l?.length||!c?.length||!u?.length)return;const f=TL(d)?{...d}:d;t.push(...l.flatMap(p=>c.flatMap(m=>u.map(g=>n(p,m,g,f)))))},{flush:"post"}),o=()=>{s(),a()};return W_(a),o}let C0=!1;function zL(e,t,a={}){const{window:n=Ko,ignore:r=[],capture:s=!0,detectIframe:o=!1,controls:l=!1}=a;if(!n)return l?{stop:sr,cancel:sr,trigger:sr}:sr;if(PL&&!C0){C0=!0;const _={passive:!0};Array.from(n.document.body.children).forEach(v=>v.addEventListener("click",sr,_)),n.document.documentElement.addEventListener("click",sr,_)}let c=!0;const u=_=>Ze(r).some(v=>{if(typeof v=="string")return Array.from(n.document.querySelectorAll(v)).some(h=>h===_.target||_.composedPath().includes(h));{const h=yo(v);return h&&(_.target===h||_.composedPath().includes(h))}});function d(_){const v=Ze(_);return v&&v.$.subTree.shapeFlag===16}function f(_,v){const h=Ze(_),k=h.$.subTree&&h.$.subTree.children;return k==null||!Array.isArray(k)?!1:k.some(w=>w.el===v.target||v.composedPath().includes(w.el))}const p=_=>{const v=yo(e);if(_.target!=null&&!(!(v instanceof Element)&&d(e)&&f(e,_))&&!(!v||v===_.target||_.composedPath().includes(v))){if("detail"in _&&_.detail===0&&(c=!u(_)),!c){c=!0;return}t(_)}};let m=!1;const g=[Zr(n,"click",_=>{m||(m=!0,setTimeout(()=>{m=!1},0),p(_))},{passive:!0,capture:s}),Zr(n,"pointerdown",_=>{const v=yo(e);c=!u(_)&&!!(v&&!_.composedPath().includes(v))},{passive:!0}),o&&Zr(n,"blur",_=>{setTimeout(()=>{var v;const h=yo(e);((v=n.document.activeElement)==null?void 0:v.tagName)==="IFRAME"&&!h?.contains(n.document.activeElement)&&t(_)},0)},{passive:!0})].filter(Boolean),y=()=>g.forEach(_=>_());return l?{stop:y,cancel:()=>{c=!1},trigger:_=>{c=!0,p(_),c=!1}}:y}function HL(){const e=pt(!1),t=Rt();return t&&Ke(()=>{e.value=!0},t),e}function mg(e){const t=HL();return $(()=>(t.value,!!e()))}const UL=Symbol("vueuse-ssr-width");function jL(){const e=Zo()?AL(UL,null):null;return typeof e=="number"?e:void 0}function WL(e,t={}){const{window:a=Ko,ssrWidth:n=jL()}=t,r=mg(()=>a&&"matchMedia"in a&&typeof a.matchMedia=="function"),s=pt(typeof n=="number"),o=pt(),l=pt(!1),c=u=>{l.value=u.matches};return Bt(()=>{if(s.value){s.value=!r.value;const u=Ze(e).split(",");l.value=u.some(d=>{const f=d.includes("not all"),p=d.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),m=d.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let g=!!(p||m);return p&&g&&(g=n>=k0(p[1])),m&&g&&(g=n<=k0(m[1])),f?!g:g});return}r.value&&(o.value=a.matchMedia(Ze(e)),l.value=o.value.matches)}),Zr(o,"change",c,{passive:!0}),$(()=>l.value)}function S0(e,t={}){const{controls:a=!1,navigator:n=Q_}=t,r=mg(()=>n&&"permissions"in n),s=pt(),o=typeof e=="string"?{name:e}:e,l=pt(),c=()=>{var d,f;l.value=(f=(d=s.value)==null?void 0:d.state)!=null?f:"prompt"};Zr(s,"change",c,{passive:!0});const u=OL(async()=>{if(r.value){if(!s.value)try{s.value=await n.permissions.query(o)}catch{s.value=void 0}finally{c()}if(a)return rt(s.value)}});return u(),a?{state:l,isSupported:r,query:u}:l}function KL(e={}){const{navigator:t=Q_,read:a=!1,source:n,copiedDuring:r=1500,legacy:s=!1}=e,o=mg(()=>t&&"clipboard"in t),l=S0("clipboard-read"),c=S0("clipboard-write"),u=$(()=>o.value||s),d=pt(""),f=pt(!1),p=FL(()=>f.value=!1,r,{immediate:!1});async function m(){let h=!(o.value&&v(l.value));if(!h)try{d.value=await t.clipboard.readText()}catch{h=!0}h&&(d.value=_())}u.value&&a&&Zr(["copy","cut"],m,{passive:!0});async function g(h=Ze(n)){if(u.value&&h!=null){let k=!(o.value&&v(c.value));if(!k)try{await t.clipboard.writeText(h)}catch{k=!0}k&&y(h),d.value=h,f.value=!0,p.start()}}function y(h){const k=document.createElement("textarea");k.value=h??"",k.style.position="absolute",k.style.opacity="0",document.body.appendChild(k),k.select(),document.execCommand("copy"),k.remove()}function _(){var h,k,w;return(w=(k=(h=document?.getSelection)==null?void 0:h.call(document))==null?void 0:k.toString())!=null?w:""}function v(h){return h==="granted"||h==="prompt"}return{isSupported:u,text:d,copied:f,copy:g}}const yc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},bc="__vueuse_ssr_handlers__",GL=YL();function YL(){return bc in yc||(yc[bc]=yc[bc]||{}),yc[bc]}function Z_(e,t){return GL[e]||t}function XL(e){return WL("(prefers-color-scheme: dark)",e)}function JL(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const QL={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},M0="vueuse-storage";function ZL(e,t,a,n={}){var r;const{flush:s="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:f=Ko,eventFilter:p,onError:m=R=>{console.error(R)},initOnMounted:g}=n,y=(d?pt:E)(typeof t=="function"?t():t),_=$(()=>Ze(e));if(!a)try{a=Z_("getDefaultStorage",()=>{var R;return(R=Ko)==null?void 0:R.localStorage})()}catch(R){m(R)}if(!a)return y;const v=Ze(t),h=JL(v),k=(r=n.serializer)!=null?r:QL[h],{pause:w,resume:A}=NL(y,R=>H(R),{flush:s,deep:o,eventFilter:p});Pe(_,()=>G(),{flush:s});let M=!1;const S=R=>{g&&!M||G(R)},P=R=>{g&&!M||V(R)};f&&l&&(a instanceof Storage?Zr(f,"storage",S,{passive:!0}):Zr(f,M0,P)),g?J_(()=>{M=!0,G()}):G();function D(R,L){if(f){const z={key:_.value,oldValue:R,newValue:L,storageArea:a};f.dispatchEvent(a instanceof Storage?new StorageEvent("storage",z):new CustomEvent(M0,{detail:z}))}}function H(R){try{const L=a.getItem(_.value);if(R==null)D(L,null),a.removeItem(_.value);else{const z=k.write(R);L!==z&&(a.setItem(_.value,z),D(L,z))}}catch(L){m(L)}}function Q(R){const L=R?R.newValue:a.getItem(_.value);if(L==null)return c&&v!=null&&a.setItem(_.value,k.write(v)),v;if(!R&&u){const z=k.read(L);return typeof u=="function"?u(z,v):h==="object"&&!Array.isArray(z)?{...v,...z}:z}else return typeof L!="string"?L:k.read(L)}function G(R){if(!(R&&R.storageArea!==a)){if(R&&R.key==null){y.value=v;return}if(!(R&&R.key!==_.value)){w();try{const L=k.write(y.value);(R===void 0||R?.newValue!==L)&&(y.value=Q(R))}catch(L){m(L)}finally{R?je(A):A()}}}}function V(R){G(R.detail)}return y}const eq="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function gg(e={}){const{selector:t="html",attribute:a="class",initialValue:n="auto",window:r=Ko,storage:s,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},p=XL({window:r}),m=$(()=>p.value?"dark":"light"),g=c||(o==null?K_(n):ZL(o,n,s,{window:r,listenToStorageChanges:l})),y=$(()=>g.value==="auto"?m.value:g.value),_=Z_("updateHTMLAttrs",(w,A,M)=>{const S=typeof w=="string"?r?.document.querySelector(w):yo(w);if(!S)return;const P=new Set,D=new Set;let H=null;if(A==="class"){const G=M.split(/\s/g);Object.values(f).flatMap(V=>(V||"").split(/\s/g)).filter(Boolean).forEach(V=>{G.includes(V)?P.add(V):D.add(V)})}else H={key:A,value:M};if(P.size===0&&D.size===0&&H===null)return;let Q;d&&(Q=r.document.createElement("style"),Q.appendChild(document.createTextNode(eq)),r.document.head.appendChild(Q));for(const G of P)S.classList.add(G);for(const G of D)S.classList.remove(G);H&&S.setAttribute(H.key,H.value),d&&(r.getComputedStyle(Q).opacity,document.head.removeChild(Q))});function v(w){var A;_(t,a,(A=f[w])!=null?A:w)}function h(w){e.onChanged?e.onChanged(w,v):v(w)}Pe(y,h,{flush:"post",immediate:!0}),J_(()=>h(y.value));const k=$({get(){return u?g.value:y.value},set(w){g.value=w}});return Object.assign(k,{store:g,system:m,state:y})}function tq(e={}){const{valueDark:t="dark",valueLight:a=""}=e,n=gg({...e,onChanged:(o,l)=>{var c;e.onChanged?(c=e.onChanged)==null||c.call(e,o==="dark",l,o):l(o)},modes:{dark:t,light:a}}),r=$(()=>n.system.value);return $({get(){return n.value==="dark"},set(o){const l=o?"dark":"light";r.value===l?n.value="auto":n.value=l}})}function aq(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Iu=typeof window<"u",os=(e,t=!1)=>t?Symbol.for(e):Symbol(e),nq=(e,t,a)=>rq({l:e,k:t,s:a}),rq=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Qt=e=>typeof e=="number"&&isFinite(e),sq=e=>hg(e)==="[object Date]",Go=e=>hg(e)==="[object RegExp]",kd=e=>ct(e)&&Object.keys(e).length===0,oa=Object.assign,oq=Object.create,St=(e=null)=>oq(e);let $0;const As=()=>$0||($0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:St());function A0(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\//g,"&#x2F;").replace(/=/g,"&#x3D;")}function I0(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function iq(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${I0(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${I0(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1&#111;n$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript&#58;")}),e}const lq=Object.prototype.hasOwnProperty;function vn(e,t){return lq.call(e,t)}const Kt=Array.isArray,Et=e=>typeof e=="function",Be=e=>typeof e=="string",gt=e=>typeof e=="boolean",vt=e=>e!==null&&typeof e=="object",cq=e=>vt(e)&&Et(e.then)&&Et(e.catch),ew=Object.prototype.toString,hg=e=>ew.call(e),ct=e=>hg(e)==="[object Object]",uq=e=>e==null?"":Kt(e)||ct(e)&&e.toString===ew?JSON.stringify(e,null,2):String(e);function vg(e,t=""){return e.reduce((a,n,r)=>r===0?a+n:a+t+n,"")}const xc=e=>!vt(e)||Kt(e);function zc(e,t){if(xc(e)||xc(t))throw new Error("Invalid value");const a=[{src:e,des:t}];for(;a.length;){const{src:n,des:r}=a.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(vt(n[s])&&!vt(r[s])&&(r[s]=Array.isArray(n[s])?[]:St()),xc(r[s])||xc(n[s])?r[s]=n[s]:a.push({src:n[s],des:r[s]}))})}}function dq(e,t,a){return{line:e,column:t,offset:a}}function Up(e,t,a){return{start:e,end:t}}const bt={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},fq=17;function Cd(e,t,a={}){const{domain:n,messages:r,args:s}=a,o=e,l=new SyntaxError(String(o));return l.code=e,t&&(l.location=t),l.domain=n,l}function pq(e){throw e}const Pn=" ",mq="\r",wa=`
31
+ `,gq="\u2028",hq="\u2029";function vq(e){const t=e;let a=0,n=1,r=1,s=0;const o=S=>t[S]===mq&&t[S+1]===wa,l=S=>t[S]===wa,c=S=>t[S]===hq,u=S=>t[S]===gq,d=S=>o(S)||l(S)||c(S)||u(S),f=()=>a,p=()=>n,m=()=>r,g=()=>s,y=S=>o(S)||c(S)||u(S)?wa:t[S],_=()=>y(a),v=()=>y(a+s);function h(){return s=0,d(a)&&(n++,r=0),o(a)&&a++,a++,r++,t[a]}function k(){return o(a+s)&&s++,s++,t[a+s]}function w(){a=0,n=1,r=1,s=0}function A(S=0){s=S}function M(){const S=a+s;for(;S!==a;)h();s=0}return{index:f,line:p,column:m,peekOffset:g,charAt:y,currentChar:_,currentPeek:v,next:h,peek:k,reset:w,resetPeek:A,skipToPeek:M}}const Zn=void 0,yq=".",T0="'",bq="tokenizer";function xq(e,t={}){const a=t.location!==!1,n=vq(e),r=()=>n.index(),s=()=>dq(n.line(),n.column(),n.index()),o=s(),l=r(),c={currentType:13,offset:l,startLoc:o,endLoc:o,lastType:13,lastOffset:l,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},u=()=>c,{onError:d}=t;function f(B,X,te,...ee){const Me=u();if(X.column+=te,X.offset+=te,d){const ae=a?Up(Me.startLoc,X):null,re=Cd(B,ae,{domain:bq,args:ee});d(re)}}function p(B,X,te){B.endLoc=s(),B.currentType=X;const ee={type:X};return a&&(ee.loc=Up(B.startLoc,B.endLoc)),te!=null&&(ee.value=te),ee}const m=B=>p(B,13);function g(B,X){return B.currentChar()===X?(B.next(),X):(f(bt.EXPECTED_TOKEN,s(),0,X),"")}function y(B){let X="";for(;B.currentPeek()===Pn||B.currentPeek()===wa;)X+=B.currentPeek(),B.peek();return X}function _(B){const X=y(B);return B.skipToPeek(),X}function v(B){if(B===Zn)return!1;const X=B.charCodeAt(0);return X>=97&&X<=122||X>=65&&X<=90||X===95}function h(B){if(B===Zn)return!1;const X=B.charCodeAt(0);return X>=48&&X<=57}function k(B,X){const{currentType:te}=X;if(te!==2)return!1;y(B);const ee=v(B.currentPeek());return B.resetPeek(),ee}function w(B,X){const{currentType:te}=X;if(te!==2)return!1;y(B);const ee=B.currentPeek()==="-"?B.peek():B.currentPeek(),Me=h(ee);return B.resetPeek(),Me}function A(B,X){const{currentType:te}=X;if(te!==2)return!1;y(B);const ee=B.currentPeek()===T0;return B.resetPeek(),ee}function M(B,X){const{currentType:te}=X;if(te!==7)return!1;y(B);const ee=B.currentPeek()===".";return B.resetPeek(),ee}function S(B,X){const{currentType:te}=X;if(te!==8)return!1;y(B);const ee=v(B.currentPeek());return B.resetPeek(),ee}function P(B,X){const{currentType:te}=X;if(!(te===7||te===11))return!1;y(B);const ee=B.currentPeek()===":";return B.resetPeek(),ee}function D(B,X){const{currentType:te}=X;if(te!==9)return!1;const ee=()=>{const ae=B.currentPeek();return ae==="{"?v(B.peek()):ae==="@"||ae==="|"||ae===":"||ae==="."||ae===Pn||!ae?!1:ae===wa?(B.peek(),ee()):Q(B,!1)},Me=ee();return B.resetPeek(),Me}function H(B){y(B);const X=B.currentPeek()==="|";return B.resetPeek(),X}function Q(B,X=!0){const te=(Me=!1,ae="")=>{const re=B.currentPeek();return re==="{"||re==="@"||!re?Me:re==="|"?!(ae===Pn||ae===wa):re===Pn?(B.peek(),te(!0,Pn)):re===wa?(B.peek(),te(!0,wa)):!0},ee=te();return X&&B.resetPeek(),ee}function G(B,X){const te=B.currentChar();return te===Zn?Zn:X(te)?(B.next(),te):null}function V(B){const X=B.charCodeAt(0);return X>=97&&X<=122||X>=65&&X<=90||X>=48&&X<=57||X===95||X===36}function R(B){return G(B,V)}function L(B){const X=B.charCodeAt(0);return X>=97&&X<=122||X>=65&&X<=90||X>=48&&X<=57||X===95||X===36||X===45}function z(B){return G(B,L)}function le(B){const X=B.charCodeAt(0);return X>=48&&X<=57}function K(B){return G(B,le)}function ce(B){const X=B.charCodeAt(0);return X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102}function Y(B){return G(B,ce)}function ve(B){let X="",te="";for(;X=K(B);)te+=X;return te}function ie(B){let X="";for(;;){const te=B.currentChar();if(te==="{"||te==="}"||te==="@"||te==="|"||!te)break;if(te===Pn||te===wa)if(Q(B))X+=te,B.next();else{if(H(B))break;X+=te,B.next()}else X+=te,B.next()}return X}function ye(B){_(B);let X="",te="";for(;X=z(B);)te+=X;const ee=B.currentChar();if(ee&&ee!=="}"&&ee!==Zn&&ee!==Pn&&ee!==wa&&ee!==" "){const Me=J(B);return f(bt.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,te+Me),te+Me}return B.currentChar()===Zn&&f(bt.UNTERMINATED_CLOSING_BRACE,s(),0),te}function de(B){_(B);let X="";return B.currentChar()==="-"?(B.next(),X+=`-${ve(B)}`):X+=ve(B),B.currentChar()===Zn&&f(bt.UNTERMINATED_CLOSING_BRACE,s(),0),X}function he(B){return B!==T0&&B!==wa}function ge(B){_(B),g(B,"'");let X="",te="";for(;X=G(B,he);)X==="\\"?te+=O(B):te+=X;const ee=B.currentChar();return ee===wa||ee===Zn?(f(bt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),ee===wa&&(B.next(),g(B,"'")),te):(g(B,"'"),te)}function O(B){const X=B.currentChar();switch(X){case"\\":case"'":return B.next(),`\\${X}`;case"u":return W(B,X,4);case"U":return W(B,X,6);default:return f(bt.UNKNOWN_ESCAPE_SEQUENCE,s(),0,X),""}}function W(B,X,te){g(B,X);let ee="";for(let Me=0;Me<te;Me++){const ae=Y(B);if(!ae){f(bt.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${X}${ee}${B.currentChar()}`);break}ee+=ae}return`\\${X}${ee}`}function j(B){return B!=="{"&&B!=="}"&&B!==Pn&&B!==wa}function J(B){_(B);let X="",te="";for(;X=G(B,j);)te+=X;return te}function ne(B){let X="",te="";for(;X=R(B);)te+=X;return te}function U(B){const X=te=>{const ee=B.currentChar();return ee==="{"||ee==="@"||ee==="|"||ee==="("||ee===")"||!ee||ee===Pn?te:(te+=ee,B.next(),X(te))};return X("")}function q(B){_(B);const X=g(B,"|");return _(B),X}function oe(B,X){let te=null;switch(B.currentChar()){case"{":return X.braceNest>=1&&f(bt.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),B.next(),te=p(X,2,"{"),_(B),X.braceNest++,te;case"}":return X.braceNest>0&&X.currentType===2&&f(bt.EMPTY_PLACEHOLDER,s(),0),B.next(),te=p(X,3,"}"),X.braceNest--,X.braceNest>0&&_(B),X.inLinked&&X.braceNest===0&&(X.inLinked=!1),te;case"@":return X.braceNest>0&&f(bt.UNTERMINATED_CLOSING_BRACE,s(),0),te=_e(B,X)||m(X),X.braceNest=0,te;default:{let Me=!0,ae=!0,re=!0;if(H(B))return X.braceNest>0&&f(bt.UNTERMINATED_CLOSING_BRACE,s(),0),te=p(X,1,q(B)),X.braceNest=0,X.inLinked=!1,te;if(X.braceNest>0&&(X.currentType===4||X.currentType===5||X.currentType===6))return f(bt.UNTERMINATED_CLOSING_BRACE,s(),0),X.braceNest=0,me(B,X);if(Me=k(B,X))return te=p(X,4,ye(B)),_(B),te;if(ae=w(B,X))return te=p(X,5,de(B)),_(B),te;if(re=A(B,X))return te=p(X,6,ge(B)),_(B),te;if(!Me&&!ae&&!re)return te=p(X,12,J(B)),f(bt.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,te.value),_(B),te;break}}return te}function _e(B,X){const{currentType:te}=X;let ee=null;const Me=B.currentChar();switch((te===7||te===8||te===11||te===9)&&(Me===wa||Me===Pn)&&f(bt.INVALID_LINKED_FORMAT,s(),0),Me){case"@":return B.next(),ee=p(X,7,"@"),X.inLinked=!0,ee;case".":return _(B),B.next(),p(X,8,".");case":":return _(B),B.next(),p(X,9,":");default:return H(B)?(ee=p(X,1,q(B)),X.braceNest=0,X.inLinked=!1,ee):M(B,X)||P(B,X)?(_(B),_e(B,X)):S(B,X)?(_(B),p(X,11,ne(B))):D(B,X)?(_(B),Me==="{"?oe(B,X)||ee:p(X,10,U(B))):(te===7&&f(bt.INVALID_LINKED_FORMAT,s(),0),X.braceNest=0,X.inLinked=!1,me(B,X))}}function me(B,X){let te={type:13};if(X.braceNest>0)return oe(B,X)||m(X);if(X.inLinked)return _e(B,X)||m(X);switch(B.currentChar()){case"{":return oe(B,X)||m(X);case"}":return f(bt.UNBALANCED_CLOSING_BRACE,s(),0),B.next(),p(X,3,"}");case"@":return _e(B,X)||m(X);default:{if(H(B))return te=p(X,1,q(B)),X.braceNest=0,X.inLinked=!1,te;if(Q(B))return p(X,0,ie(B));break}}return te}function be(){const{currentType:B,offset:X,startLoc:te,endLoc:ee}=c;return c.lastType=B,c.lastOffset=X,c.lastStartLoc=te,c.lastEndLoc=ee,c.offset=r(),c.startLoc=s(),n.currentChar()===Zn?p(c,13):me(n,c)}return{nextToken:be,currentOffset:r,currentPosition:s,context:u}}const _q="parser",wq=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function kq(e,t,a){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||a,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Cq(e={}){const t=e.location!==!1,{onError:a}=e;function n(v,h,k,w,...A){const M=v.currentPosition();if(M.offset+=w,M.column+=w,a){const S=t?Up(k,M):null,P=Cd(h,S,{domain:_q,args:A});a(P)}}function r(v,h,k){const w={type:v};return t&&(w.start=h,w.end=h,w.loc={start:k,end:k}),w}function s(v,h,k,w){t&&(v.end=h,v.loc&&(v.loc.end=k))}function o(v,h){const k=v.context(),w=r(3,k.offset,k.startLoc);return w.value=h,s(w,v.currentOffset(),v.currentPosition()),w}function l(v,h){const k=v.context(),{lastOffset:w,lastStartLoc:A}=k,M=r(5,w,A);return M.index=parseInt(h,10),v.nextToken(),s(M,v.currentOffset(),v.currentPosition()),M}function c(v,h){const k=v.context(),{lastOffset:w,lastStartLoc:A}=k,M=r(4,w,A);return M.key=h,v.nextToken(),s(M,v.currentOffset(),v.currentPosition()),M}function u(v,h){const k=v.context(),{lastOffset:w,lastStartLoc:A}=k,M=r(9,w,A);return M.value=h.replace(wq,kq),v.nextToken(),s(M,v.currentOffset(),v.currentPosition()),M}function d(v){const h=v.nextToken(),k=v.context(),{lastOffset:w,lastStartLoc:A}=k,M=r(8,w,A);return h.type!==11?(n(v,bt.UNEXPECTED_EMPTY_LINKED_MODIFIER,k.lastStartLoc,0),M.value="",s(M,w,A),{nextConsumeToken:h,node:M}):(h.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Dn(h)),M.value=h.value||"",s(M,v.currentOffset(),v.currentPosition()),{node:M})}function f(v,h){const k=v.context(),w=r(7,k.offset,k.startLoc);return w.value=h,s(w,v.currentOffset(),v.currentPosition()),w}function p(v){const h=v.context(),k=r(6,h.offset,h.startLoc);let w=v.nextToken();if(w.type===8){const A=d(v);k.modifier=A.node,w=A.nextConsumeToken||v.nextToken()}switch(w.type!==9&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(w)),w=v.nextToken(),w.type===2&&(w=v.nextToken()),w.type){case 10:w.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(w)),k.key=f(v,w.value||"");break;case 4:w.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(w)),k.key=c(v,w.value||"");break;case 5:w.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(w)),k.key=l(v,w.value||"");break;case 6:w.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(w)),k.key=u(v,w.value||"");break;default:{n(v,bt.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const A=v.context(),M=r(7,A.offset,A.startLoc);return M.value="",s(M,A.offset,A.startLoc),k.key=M,s(k,A.offset,A.startLoc),{nextConsumeToken:w,node:k}}}return s(k,v.currentOffset(),v.currentPosition()),{node:k}}function m(v){const h=v.context(),k=h.currentType===1?v.currentOffset():h.offset,w=h.currentType===1?h.endLoc:h.startLoc,A=r(2,k,w);A.items=[];let M=null;do{const D=M||v.nextToken();switch(M=null,D.type){case 0:D.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(D)),A.items.push(o(v,D.value||""));break;case 5:D.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(D)),A.items.push(l(v,D.value||""));break;case 4:D.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(D)),A.items.push(c(v,D.value||""));break;case 6:D.value==null&&n(v,bt.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Dn(D)),A.items.push(u(v,D.value||""));break;case 7:{const H=p(v);A.items.push(H.node),M=H.nextConsumeToken||null;break}}}while(h.currentType!==13&&h.currentType!==1);const S=h.currentType===1?h.lastOffset:v.currentOffset(),P=h.currentType===1?h.lastEndLoc:v.currentPosition();return s(A,S,P),A}function g(v,h,k,w){const A=v.context();let M=w.items.length===0;const S=r(1,h,k);S.cases=[],S.cases.push(w);do{const P=m(v);M||(M=P.items.length===0),S.cases.push(P)}while(A.currentType!==13);return M&&n(v,bt.MUST_HAVE_MESSAGES_IN_PLURAL,k,0),s(S,v.currentOffset(),v.currentPosition()),S}function y(v){const h=v.context(),{offset:k,startLoc:w}=h,A=m(v);return h.currentType===13?A:g(v,k,w,A)}function _(v){const h=xq(v,oa({},e)),k=h.context(),w=r(0,k.offset,k.startLoc);return t&&w.loc&&(w.loc.source=v),w.body=y(h),e.onCacheKey&&(w.cacheKey=e.onCacheKey(v)),k.currentType!==13&&n(h,bt.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,v[k.offset]||""),s(w,h.currentOffset(),h.currentPosition()),w}return{parse:_}}function Dn(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Sq(e,t={}){const a={ast:e,helpers:new Set};return{context:()=>a,helper:s=>(a.helpers.add(s),s)}}function P0(e,t){for(let a=0;a<e.length;a++)yg(e[a],t)}function yg(e,t){switch(e.type){case 1:P0(e.cases,t),t.helper("plural");break;case 2:P0(e.items,t);break;case 6:{yg(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function Mq(e,t={}){const a=Sq(e);a.helper("normalize"),e.body&&yg(e.body,a);const n=a.context();e.helpers=Array.from(n.helpers)}function $q(e){const t=e.body;return t.type===2?D0(t):t.cases.forEach(a=>D0(a)),e}function D0(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let a=0;a<e.items.length;a++){const n=e.items[a];if(!(n.type===3||n.type===9)||n.value==null)break;t.push(n.value)}if(t.length===e.items.length){e.static=vg(t);for(let a=0;a<e.items.length;a++){const n=e.items[a];(n.type===3||n.type===9)&&delete n.value}}}}function ho(e){switch(e.t=e.type,e.type){case 0:{const t=e;ho(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,a=t.cases;for(let n=0;n<a.length;n++)ho(a[n]);t.c=a,delete t.cases;break}case 2:{const t=e,a=t.items;for(let n=0;n<a.length;n++)ho(a[n]);t.i=a,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;ho(t.key),t.k=t.key,delete t.key,t.modifier&&(ho(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function Aq(e,t){const{filename:a,breakLineCode:n,needIndent:r}=t,s=t.location!==!1,o={filename:a,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:r,indentLevel:0};s&&e.loc&&(o.source=e.loc.source);const l=()=>o;function c(y,_){o.code+=y}function u(y,_=!0){const v=_?n:"";c(r?v+" ".repeat(y):v)}function d(y=!0){const _=++o.indentLevel;y&&u(_)}function f(y=!0){const _=--o.indentLevel;y&&u(_)}function p(){u(o.indentLevel)}return{context:l,push:c,indent:d,deindent:f,newline:p,helper:y=>`_${y}`,needIndent:()=>o.needIndent}}function Iq(e,t){const{helper:a}=e;e.push(`${a("linked")}(`),Yo(e,t.key),t.modifier?(e.push(", "),Yo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Tq(e,t){const{helper:a,needIndent:n}=e;e.push(`${a("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s<r&&(Yo(e,t.items[s]),s!==r-1);s++)e.push(", ");e.deindent(n()),e.push("])")}function Pq(e,t){const{helper:a,needIndent:n}=e;if(t.cases.length>1){e.push(`${a("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s<r&&(Yo(e,t.cases[s]),s!==r-1);s++)e.push(", ");e.deindent(n()),e.push("])")}}function Dq(e,t){t.body?Yo(e,t.body):e.push("null")}function Yo(e,t){const{helper:a}=e;switch(t.type){case 0:Dq(e,t);break;case 1:Pq(e,t);break;case 2:Tq(e,t);break;case 6:Iq(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${a("interpolate")}(${a("list")}(${t.index}))`,t);break;case 4:e.push(`${a("interpolate")}(${a("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break}}const Eq=(e,t={})=>{const a=Be(t.mode)?t.mode:"normal",n=Be(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:a==="arrow"?";":`
32
+ `,s=t.needIndent?t.needIndent:a!=="arrow",o=e.helpers||[],l=Aq(e,{filename:n,breakLineCode:r,needIndent:s});l.push(a==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),o.length>0&&(l.push(`const { ${vg(o.map(d=>`${d}: _${d}`),", ")} } = ctx`),l.newline()),l.push("return "),Yo(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:c,map:u}=l.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function Rq(e,t={}){const a=oa({},t),n=!!a.jit,r=!!a.minify,s=a.optimize==null?!0:a.optimize,l=Cq(a).parse(e);return n?(s&&$q(l),r&&ho(l),{ast:l,code:""}):(Mq(l,a),Eq(l,a))}function Oq(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(As().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(As().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function zn(e){return vt(e)&&bg(e)===0&&(vn(e,"b")||vn(e,"body"))}const tw=["b","body"];function Lq(e){return is(e,tw)}const aw=["c","cases"];function qq(e){return is(e,aw,[])}const nw=["s","static"];function Nq(e){return is(e,nw)}const rw=["i","items"];function Fq(e){return is(e,rw,[])}const sw=["t","type"];function bg(e){return is(e,sw)}const ow=["v","value"];function _c(e,t){const a=is(e,ow);if(a!=null)return a;throw pl(t)}const iw=["m","modifier"];function Vq(e){return is(e,iw)}const lw=["k","key"];function Bq(e){const t=is(e,lw);if(t)return t;throw pl(6)}function is(e,t,a){for(let n=0;n<t.length;n++){const r=t[n];if(vn(e,r)&&e[r]!=null)return e[r]}return a}const cw=[...tw,...aw,...nw,...rw,...lw,...iw,...ow,...sw];function pl(e){return new Error(`unhandled node type: ${e}`)}function kf(e){return a=>zq(a,e)}function zq(e,t){const a=Lq(t);if(a==null)throw pl(0);if(bg(a)===1){const s=qq(a);return e.plural(s.reduce((o,l)=>[...o,E0(e,l)],[]))}else return E0(e,a)}function E0(e,t){const a=Nq(t);if(a!=null)return e.type==="text"?a:e.normalize([a]);{const n=Fq(t).reduce((r,s)=>[...r,jp(e,s)],[]);return e.normalize(n)}}function jp(e,t){const a=bg(t);switch(a){case 3:return _c(t,a);case 9:return _c(t,a);case 4:{const n=t;if(vn(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(vn(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw pl(a)}case 5:{const n=t;if(vn(n,"i")&&Qt(n.i))return e.interpolate(e.list(n.i));if(vn(n,"index")&&Qt(n.index))return e.interpolate(e.list(n.index));throw pl(a)}case 6:{const n=t,r=Vq(n),s=Bq(n);return e.linked(jp(e,s),r?jp(e,r):void 0,e.type)}case 7:return _c(t,a);case 8:return _c(t,a);default:throw new Error(`unhandled node on format message part: ${a}`)}}const Hq=e=>e;let wc=St();function Uq(e,t={}){let a=!1;const n=t.onError||pq;return t.onError=r=>{a=!0,n(r)},{...Rq(e,t),detectError:a}}function jq(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&Be(e)){gt(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Hq)(e),r=wc[n];if(r)return r;const{ast:s,detectError:o}=Uq(e,{...t,location:!1,jit:!0}),l=kf(s);return o?l:wc[n]=l}else{const a=e.cacheKey;if(a){const n=wc[a];return n||(wc[a]=kf(e))}else return kf(e)}}let ml=null;function Wq(e){ml=e}function Kq(e,t,a){ml&&ml.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:a})}const Gq=Yq("function:translate");function Yq(e){return t=>ml&&ml.emit(e,t)}const pr={INVALID_ARGUMENT:fq,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},Xq=24;function mr(e){return Cd(e,null,void 0)}function xg(e,t){return t.locale!=null?R0(t.locale):R0(e.locale)}let Cf;function R0(e){if(Be(e))return e;if(Et(e)){if(e.resolvedOnce&&Cf!=null)return Cf;if(e.constructor.name==="Function"){const t=e();if(cq(t))throw mr(pr.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Cf=t}else throw mr(pr.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw mr(pr.NOT_SUPPORT_LOCALE_TYPE)}function Jq(e,t,a){return[...new Set([a,...Kt(t)?t:vt(t)?Object.keys(t):Be(t)?[t]:[a]])]}function uw(e,t,a){const n=Be(a)?a:gl,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let o=[a];for(;Kt(o);)o=O0(s,o,t);const l=Kt(t)||!ct(t)?t:t.default?t.default:null;o=Be(l)?[l]:l,Kt(o)&&O0(s,o,!1),r.__localeChainCache.set(n,s)}return s}function O0(e,t,a){let n=!0;for(let r=0;r<t.length&&gt(n);r++){const s=t[r];Be(s)&&(n=Qq(e,t[r],a))}return n}function Qq(e,t,a){let n;const r=t.split("-");do{const s=r.join("-");n=Zq(e,s,a),r.splice(-1,1)}while(r.length&&n===!0);return n}function Zq(e,t,a){let n=!1;if(!e.includes(t)&&(n=!0,t)){n=t[t.length-1]!=="!";const r=t.replace(/!/g,"");e.push(r),(Kt(a)||ct(a))&&a[r]&&(n=a[r])}return n}const ls=[];ls[0]={w:[0],i:[3,0],"[":[4],o:[7]};ls[1]={w:[1],".":[2],"[":[4],o:[7]};ls[2]={w:[2],i:[3,0],0:[3,0]};ls[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};ls[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};ls[5]={"'":[4,0],o:8,l:[5,0]};ls[6]={'"':[4,0],o:8,l:[6,0]};const eN=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function tN(e){return eN.test(e)}function aN(e){const t=e.charCodeAt(0),a=e.charCodeAt(e.length-1);return t===a&&(t===34||t===39)?e.slice(1,-1):e}function nN(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function rN(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:tN(t)?aN(t):"*"+t}function sN(e){const t=[];let a=-1,n=0,r=0,s,o,l,c,u,d,f;const p=[];p[0]=()=>{o===void 0?o=l:o+=l},p[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},p[2]=()=>{p[0](),r++},p[3]=()=>{if(r>0)r--,n=4,p[0]();else{if(r=0,o===void 0||(o=rN(o),o===!1))return!1;p[1]()}};function m(){const g=e[a+1];if(n===5&&g==="'"||n===6&&g==='"')return a++,l="\\"+g,p[0](),!0}for(;n!==null;)if(a++,s=e[a],!(s==="\\"&&m())){if(c=nN(s),f=ls[n],u=f[c]||f.l||8,u===8||(n=u[0],u[1]!==void 0&&(d=p[u[1]],d&&(l=s,d()===!1))))return;if(n===7)return t}}const L0=new Map;function oN(e,t){return vt(e)?e[t]:null}function iN(e,t){if(!vt(e))return null;let a=L0.get(t);if(a||(a=sN(t),a&&L0.set(t,a)),!a)return null;const n=a.length;let r=e,s=0;for(;s<n;){const o=a[s];if(cw.includes(o)&&zn(r))return null;const l=r[o];if(l===void 0||Et(r))return null;r=l,s++}return r}const lN="11.2.8",Sd=-1,gl="en-US",q0="",N0=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function cN(){return{upper:(e,t)=>t==="text"&&Be(e)?e.toUpperCase():t==="vnode"&&vt(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Be(e)?e.toLowerCase():t==="vnode"&&vt(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Be(e)?N0(e):t==="vnode"&&vt(e)&&"__v_isVNode"in e?N0(e.children):e}}let dw;function uN(e){dw=e}let fw;function dN(e){fw=e}let pw;function fN(e){pw=e}let mw=null;const pN=e=>{mw=e},mN=()=>mw;let gw=null;const F0=e=>{gw=e},gN=()=>gw;let V0=0;function hN(e={}){const t=Et(e.onWarn)?e.onWarn:aq,a=Be(e.version)?e.version:lN,n=Be(e.locale)||Et(e.locale)?e.locale:gl,r=Et(n)?gl:n,s=Kt(e.fallbackLocale)||ct(e.fallbackLocale)||Be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,o=ct(e.messages)?e.messages:Sf(r),l=ct(e.datetimeFormats)?e.datetimeFormats:Sf(r),c=ct(e.numberFormats)?e.numberFormats:Sf(r),u=oa(St(),e.modifiers,cN()),d=e.pluralRules||St(),f=Et(e.missing)?e.missing:null,p=gt(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,m=gt(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,g=!!e.fallbackFormat,y=!!e.unresolving,_=Et(e.postTranslation)?e.postTranslation:null,v=ct(e.processor)?e.processor:null,h=gt(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,w=Et(e.messageCompiler)?e.messageCompiler:dw,A=Et(e.messageResolver)?e.messageResolver:fw||oN,M=Et(e.localeFallbacker)?e.localeFallbacker:pw||Jq,S=vt(e.fallbackContext)?e.fallbackContext:void 0,P=e,D=vt(P.__datetimeFormatters)?P.__datetimeFormatters:new Map,H=vt(P.__numberFormatters)?P.__numberFormatters:new Map,Q=vt(P.__meta)?P.__meta:{};V0++;const G={version:a,cid:V0,locale:n,fallbackLocale:s,messages:o,modifiers:u,pluralRules:d,missing:f,missingWarn:p,fallbackWarn:m,fallbackFormat:g,unresolving:y,postTranslation:_,processor:v,warnHtmlMessage:h,escapeParameter:k,messageCompiler:w,messageResolver:A,localeFallbacker:M,fallbackContext:S,onWarn:t,__meta:Q};return G.datetimeFormats=l,G.numberFormats=c,G.__datetimeFormatters=D,G.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&Kq(G,a,Q),G}const Sf=e=>({[e]:St()});function _g(e,t,a,n,r){const{missing:s,onWarn:o}=e;if(s!==null){const l=s(e,a,t,r);return Be(l)?l:t}else return t}function Ti(e,t,a){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,a,t)}function vN(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function yN(e,t){const a=t.indexOf(e);if(a===-1)return!1;for(let n=a+1;n<t.length;n++)if(vN(e,t[n]))return!0;return!1}function B0(e,...t){const{datetimeFormats:a,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:o}=e,{__datetimeFormatters:l}=e,[c,u,d,f]=Wp(...t),p=gt(d.missingWarn)?d.missingWarn:e.missingWarn;gt(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const m=!!d.part,g=xg(e,d),y=o(e,r,g);if(!Be(c)||c==="")return new Intl.DateTimeFormat(g,f).format(u);let _={},v,h=null;const k="datetime format";for(let M=0;M<y.length&&(v=y[M],_=a[v]||{},h=_[c],!ct(h));M++)_g(e,c,v,p,k);if(!ct(h)||!Be(v))return n?Sd:c;let w=`${v}__${c}`;kd(f)||(w=`${w}__${JSON.stringify(f)}`);let A=l.get(w);return A||(A=new Intl.DateTimeFormat(v,oa({},h,f)),l.set(w,A)),m?A.formatToParts(u):A.format(u)}const hw=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Wp(...e){const[t,a,n,r]=e,s=St();let o=St(),l;if(Be(t)){const c=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!c)throw mr(pr.INVALID_ISO_DATE_ARGUMENT);const u=c[3]?c[3].trim().startsWith("T")?`${c[1].trim()}${c[3].trim()}`:`${c[1].trim()}T${c[3].trim()}`:c[1].trim();l=new Date(u);try{l.toISOString()}catch{throw mr(pr.INVALID_ISO_DATE_ARGUMENT)}}else if(sq(t)){if(isNaN(t.getTime()))throw mr(pr.INVALID_DATE_ARGUMENT);l=t}else if(Qt(t))l=t;else throw mr(pr.INVALID_ARGUMENT);return Be(a)?s.key=a:ct(a)&&Object.keys(a).forEach(c=>{hw.includes(c)?o[c]=a[c]:s[c]=a[c]}),Be(n)?s.locale=n:ct(n)&&(o=n),ct(r)&&(o=r),[s.key||"",l,s,o]}function z0(e,t,a){const n=e;for(const r in a){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function H0(e,...t){const{numberFormats:a,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:o}=e,{__numberFormatters:l}=e,[c,u,d,f]=Kp(...t),p=gt(d.missingWarn)?d.missingWarn:e.missingWarn;gt(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const m=!!d.part,g=xg(e,d),y=o(e,r,g);if(!Be(c)||c==="")return new Intl.NumberFormat(g,f).format(u);let _={},v,h=null;const k="number format";for(let M=0;M<y.length&&(v=y[M],_=a[v]||{},h=_[c],!ct(h));M++)_g(e,c,v,p,k);if(!ct(h)||!Be(v))return n?Sd:c;let w=`${v}__${c}`;kd(f)||(w=`${w}__${JSON.stringify(f)}`);let A=l.get(w);return A||(A=new Intl.NumberFormat(v,oa({},h,f)),l.set(w,A)),m?A.formatToParts(u):A.format(u)}const vw=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Kp(...e){const[t,a,n,r]=e,s=St();let o=St();if(!Qt(t))throw mr(pr.INVALID_ARGUMENT);const l=t;return Be(a)?s.key=a:ct(a)&&Object.keys(a).forEach(c=>{vw.includes(c)?o[c]=a[c]:s[c]=a[c]}),Be(n)?s.locale=n:ct(n)&&(o=n),ct(r)&&(o=r),[s.key||"",l,s,o]}function U0(e,t,a){const n=e;for(const r in a){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}const bN=e=>e,xN=e=>"",_N="text",wN=e=>e.length===0?"":vg(e),kN=uq;function j0(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function CN(e){const t=Qt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Qt(e.named.count)||Qt(e.named.n))?Qt(e.named.count)?e.named.count:Qt(e.named.n)?e.named.n:t:t}function SN(e,t){t.count||(t.count=e),t.n||(t.n=e)}function MN(e={}){const t=e.locale,a=CN(e),n=vt(e.pluralRules)&&Be(t)&&Et(e.pluralRules[t])?e.pluralRules[t]:j0,r=vt(e.pluralRules)&&Be(t)&&Et(e.pluralRules[t])?j0:void 0,s=v=>v[n(a,v.length,r)],o=e.list||[],l=v=>o[v],c=e.named||St();Qt(e.pluralIndex)&&SN(a,c);const u=v=>c[v];function d(v,h){const k=Et(e.messages)?e.messages(v,!!h):vt(e.messages)?e.messages[v]:!1;return k||(e.parent?e.parent.message(v):xN)}const f=v=>e.modifiers?e.modifiers[v]:bN,p=ct(e.processor)&&Et(e.processor.normalize)?e.processor.normalize:wN,m=ct(e.processor)&&Et(e.processor.interpolate)?e.processor.interpolate:kN,g=ct(e.processor)&&Be(e.processor.type)?e.processor.type:_N,_={list:l,named:u,plural:s,linked:(v,...h)=>{const[k,w]=h;let A="text",M="";h.length===1?vt(k)?(M=k.modifier||M,A=k.type||A):Be(k)&&(M=k||M):h.length===2&&(Be(k)&&(M=k||M),Be(w)&&(A=w||A));const S=d(v,!0)(_),P=A==="vnode"&&Kt(S)&&M?S[0]:S;return M?f(M)(P,A):P},message:d,type:g,interpolate:m,normalize:p,values:oa(St(),o,c)};return _}const W0=()=>"",rn=e=>Et(e);function K0(e,...t){const{fallbackFormat:a,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:o,messages:l}=e,[c,u]=Gp(...t),d=gt(u.missingWarn)?u.missingWarn:e.missingWarn,f=gt(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,p=gt(u.escapeParameter)?u.escapeParameter:e.escapeParameter,m=!!u.resolvedMessage,g=Be(u.default)||gt(u.default)?gt(u.default)?s?c:()=>c:u.default:a?s?c:()=>c:null,y=a||g!=null&&(Be(g)||Et(g)),_=xg(e,u);p&&$N(u);let[v,h,k]=m?[c,_,l[_]||St()]:yw(e,c,_,o,f,d),w=v,A=c;if(!m&&!(Be(w)||zn(w)||rn(w))&&y&&(w=g,A=w),!m&&(!(Be(w)||zn(w)||rn(w))||!Be(h)))return r?Sd:c;let M=!1;const S=()=>{M=!0},P=rn(w)?w:bw(e,c,h,w,A,S);if(M)return w;const D=TN(e,h,k,u),H=MN(D),Q=AN(e,P,H);let G=n?n(Q,c):Q;if(p&&Be(G)&&(G=iq(G)),__INTLIFY_PROD_DEVTOOLS__){const V={timestamp:Date.now(),key:Be(c)?c:rn(w)?w.key:"",locale:h||(rn(w)?w.locale:""),format:Be(w)?w:rn(w)?w.source:"",message:G};V.meta=oa({},e.__meta,mN()||{}),Gq(V)}return G}function $N(e){Kt(e.list)?e.list=e.list.map(t=>Be(t)?A0(t):t):vt(e.named)&&Object.keys(e.named).forEach(t=>{Be(e.named[t])&&(e.named[t]=A0(e.named[t]))})}function yw(e,t,a,n,r,s){const{messages:o,onWarn:l,messageResolver:c,localeFallbacker:u}=e,d=u(e,n,a);let f=St(),p,m=null;const g="translate";for(let y=0;y<d.length&&(p=d[y],f=o[p]||St(),(m=c(f,t))===null&&(m=f[t]),!(Be(m)||zn(m)||rn(m)));y++)if(!yN(p,d)){const _=_g(e,t,p,s,g);_!==t&&(m=_)}return[m,p,f]}function bw(e,t,a,n,r,s){const{messageCompiler:o,warnHtmlMessage:l}=e;if(rn(n)){const u=n;return u.locale=u.locale||a,u.key=u.key||t,u}if(o==null){const u=(()=>n);return u.locale=a,u.key=t,u}const c=o(n,IN(e,a,r,n,l,s));return c.locale=a,c.key=t,c.source=n,c}function AN(e,t,a){return t(a)}function Gp(...e){const[t,a,n]=e,r=St();if(!Be(t)&&!Qt(t)&&!rn(t)&&!zn(t))throw mr(pr.INVALID_ARGUMENT);const s=Qt(t)?String(t):(rn(t),t);return Qt(a)?r.plural=a:Be(a)?r.default=a:ct(a)&&!kd(a)?r.named=a:Kt(a)&&(r.list=a),Qt(n)?r.plural=n:Be(n)?r.default=n:ct(n)&&oa(r,n),[s,r]}function IN(e,t,a,n,r,s){return{locale:t,key:a,warnHtmlMessage:r,onError:o=>{throw s&&s(o),o},onCacheKey:o=>nq(t,a,o)}}function TN(e,t,a,n){const{modifiers:r,pluralRules:s,messageResolver:o,fallbackLocale:l,fallbackWarn:c,missingWarn:u,fallbackContext:d}=e,p={locale:t,modifiers:r,pluralRules:s,messages:(m,g)=>{let y=o(a,m);if(y==null&&(d||g)){const[,,_]=yw(d||e,m,t,l,c,u);y=o(_,m)}if(Be(y)||zn(y)){let _=!1;const h=bw(e,m,t,y,m,()=>{_=!0});return _?W0:h}else return rn(y)?y:W0}};return e.processor&&(p.processor=e.processor),n.list&&(p.list=n.list),n.named&&(p.named=n.named),Qt(n.plural)&&(p.pluralIndex=n.plural),p}Oq();const PN="11.2.8";function DN(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(As().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(As().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(As().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(As().__INTLIFY_PROD_DEVTOOLS__=!1)}const ja={UNEXPECTED_RETURN_TYPE:Xq,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function en(e,...t){return Cd(e,null,void 0)}const Yp=os("__translateVNode"),Xp=os("__datetimeParts"),Jp=os("__numberParts"),xw=os("__setPluralRules"),_w=os("__injectWithOption"),Qp=os("__dispose");function hl(e){if(!vt(e)||zn(e))return e;for(const t in e)if(vn(e,t))if(!t.includes("."))vt(e[t])&&hl(e[t]);else{const a=t.split("."),n=a.length-1;let r=e,s=!1;for(let o=0;o<n;o++){if(a[o]==="__proto__")throw new Error(`unsafe key: ${a[o]}`);if(a[o]in r||(r[a[o]]=St()),!vt(r[a[o]])){s=!0;break}r=r[a[o]]}if(s||(zn(r)?cw.includes(a[n])||delete e[t]:(r[a[n]]=e[t],delete e[t])),!zn(r)){const o=r[a[n]];vt(o)&&hl(o)}}return e}function wg(e,t){const{messages:a,__i18n:n,messageResolver:r,flatJson:s}=t,o=ct(a)?a:Kt(n)?St():{[e]:St()};if(Kt(n)&&n.forEach(l=>{if("locale"in l&&"resource"in l){const{locale:c,resource:u}=l;c?(o[c]=o[c]||St(),zc(u,o[c])):zc(u,o)}else Be(l)&&zc(JSON.parse(l),o)}),r==null&&s)for(const l in o)vn(o,l)&&hl(o[l]);return o}function ww(e){return e.type}function kw(e,t,a){let n=vt(t.messages)?t.messages:St();"__i18nGlobal"in a&&(n=wg(e.locale.value,{messages:n,__i18n:a.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(vt(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(vt(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function G0(e){return I(Pl,null,e,0)}function vl(){return Rt()}const Y0="__INTLIFY_META__",X0=()=>[],EN=()=>!1;let J0=0;function Q0(e){return((t,a,n,r)=>e(a,n,vl()||void 0,r))}const RN=()=>{const e=vl();let t=null;return e&&(t=ww(e)[Y0])?{[Y0]:t}:null};function kg(e={}){const{__root:t,__injectWithOption:a}=e,n=t===void 0,r=e.flatJson,s=Iu?E:pt;let o=gt(e.inheritLocale)?e.inheritLocale:!0;const l=s(t&&o?t.locale.value:Be(e.locale)?e.locale:gl),c=s(t&&o?t.fallbackLocale.value:Be(e.fallbackLocale)||Kt(e.fallbackLocale)||ct(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),u=s(wg(l.value,e)),d=s(ct(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),f=s(ct(e.numberFormats)?e.numberFormats:{[l.value]:{}});let p=t?t.missingWarn:gt(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,m=t?t.fallbackWarn:gt(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,g=t?t.fallbackRoot:gt(e.fallbackRoot)?e.fallbackRoot:!0,y=!!e.fallbackFormat,_=Et(e.missing)?e.missing:null,v=Et(e.missing)?Q0(e.missing):null,h=Et(e.postTranslation)?e.postTranslation:null,k=t?t.warnHtmlMessage:gt(e.warnHtmlMessage)?e.warnHtmlMessage:!0,w=!!e.escapeParameter;const A=t?t.modifiers:ct(e.modifiers)?e.modifiers:{};let M=e.pluralRules||t&&t.pluralRules,S;S=(()=>{n&&F0(null);const re={version:PN,locale:l.value,fallbackLocale:c.value,messages:u.value,modifiers:A,pluralRules:M,missing:v===null?void 0:v,missingWarn:p,fallbackWarn:m,fallbackFormat:y,unresolving:!0,postTranslation:h===null?void 0:h,warnHtmlMessage:k,escapeParameter:w,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};re.datetimeFormats=d.value,re.numberFormats=f.value,re.__datetimeFormatters=ct(S)?S.__datetimeFormatters:void 0,re.__numberFormatters=ct(S)?S.__numberFormatters:void 0;const fe=hN(re);return n&&F0(fe),fe})(),Ti(S,l.value,c.value);function D(){return[l.value,c.value,u.value,d.value,f.value]}const H=$({get:()=>l.value,set:re=>{S.locale=re,l.value=re}}),Q=$({get:()=>c.value,set:re=>{S.fallbackLocale=re,c.value=re,Ti(S,l.value,re)}}),G=$(()=>u.value),V=$(()=>d.value),R=$(()=>f.value);function L(){return Et(h)?h:null}function z(re){h=re,S.postTranslation=re}function le(){return _}function K(re){re!==null&&(v=Q0(re)),_=re,S.missing=v}const ce=(re,fe,ke,Se,we,Ve)=>{D();let Ie;try{__INTLIFY_PROD_DEVTOOLS__,n||(S.fallbackContext=t?gN():void 0),Ie=re(S)}finally{__INTLIFY_PROD_DEVTOOLS__,n||(S.fallbackContext=void 0)}if(ke!=="translate exists"&&Qt(Ie)&&Ie===Sd||ke==="translate exists"&&!Ie){const[Ee,Ce]=fe();return t&&g?Se(t):we(Ee)}else{if(Ve(Ie))return Ie;throw en(ja.UNEXPECTED_RETURN_TYPE)}};function Y(...re){return ce(fe=>Reflect.apply(K0,null,[fe,...re]),()=>Gp(...re),"translate",fe=>Reflect.apply(fe.t,fe,[...re]),fe=>fe,fe=>Be(fe))}function ve(...re){const[fe,ke,Se]=re;if(Se&&!vt(Se))throw en(ja.INVALID_ARGUMENT);return Y(fe,ke,oa({resolvedMessage:!0},Se||{}))}function ie(...re){return ce(fe=>Reflect.apply(B0,null,[fe,...re]),()=>Wp(...re),"datetime format",fe=>Reflect.apply(fe.d,fe,[...re]),()=>q0,fe=>Be(fe)||Kt(fe))}function ye(...re){return ce(fe=>Reflect.apply(H0,null,[fe,...re]),()=>Kp(...re),"number format",fe=>Reflect.apply(fe.n,fe,[...re]),()=>q0,fe=>Be(fe)||Kt(fe))}function de(re){return re.map(fe=>Be(fe)||Qt(fe)||gt(fe)?G0(String(fe)):fe)}const ge={normalize:de,interpolate:re=>re,type:"vnode"};function O(...re){return ce(fe=>{let ke;const Se=fe;try{Se.processor=ge,ke=Reflect.apply(K0,null,[Se,...re])}finally{Se.processor=null}return ke},()=>Gp(...re),"translate",fe=>fe[Yp](...re),fe=>[G0(fe)],fe=>Kt(fe))}function W(...re){return ce(fe=>Reflect.apply(H0,null,[fe,...re]),()=>Kp(...re),"number format",fe=>fe[Jp](...re),X0,fe=>Be(fe)||Kt(fe))}function j(...re){return ce(fe=>Reflect.apply(B0,null,[fe,...re]),()=>Wp(...re),"datetime format",fe=>fe[Xp](...re),X0,fe=>Be(fe)||Kt(fe))}function J(re){M=re,S.pluralRules=M}function ne(re,fe){return ce(()=>{if(!re)return!1;const ke=Be(fe)?fe:l.value,Se=oe(ke),we=S.messageResolver(Se,re);return zn(we)||rn(we)||Be(we)},()=>[re],"translate exists",ke=>Reflect.apply(ke.te,ke,[re,fe]),EN,ke=>gt(ke))}function U(re){let fe=null;const ke=uw(S,c.value,l.value);for(let Se=0;Se<ke.length;Se++){const we=u.value[ke[Se]]||{},Ve=S.messageResolver(we,re);if(Ve!=null){fe=Ve;break}}return fe}function q(re){const fe=U(re);return fe??(t?t.tm(re)||{}:{})}function oe(re){return u.value[re]||{}}function _e(re,fe){if(r){const ke={[re]:fe};for(const Se in ke)vn(ke,Se)&&hl(ke[Se]);fe=ke[re]}u.value[re]=fe,S.messages=u.value}function me(re,fe){u.value[re]=u.value[re]||{};const ke={[re]:fe};if(r)for(const Se in ke)vn(ke,Se)&&hl(ke[Se]);fe=ke[re],zc(fe,u.value[re]),S.messages=u.value}function be(re){return d.value[re]||{}}function B(re,fe){d.value[re]=fe,S.datetimeFormats=d.value,z0(S,re,fe)}function X(re,fe){d.value[re]=oa(d.value[re]||{},fe),S.datetimeFormats=d.value,z0(S,re,fe)}function te(re){return f.value[re]||{}}function ee(re,fe){f.value[re]=fe,S.numberFormats=f.value,U0(S,re,fe)}function Me(re,fe){f.value[re]=oa(f.value[re]||{},fe),S.numberFormats=f.value,U0(S,re,fe)}J0++,t&&Iu&&(Pe(t.locale,re=>{o&&(l.value=re,S.locale=re,Ti(S,l.value,c.value))}),Pe(t.fallbackLocale,re=>{o&&(c.value=re,S.fallbackLocale=re,Ti(S,l.value,c.value))}));const ae={id:J0,locale:H,fallbackLocale:Q,get inheritLocale(){return o},set inheritLocale(re){o=re,re&&t&&(l.value=t.locale.value,c.value=t.fallbackLocale.value,Ti(S,l.value,c.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:G,get modifiers(){return A},get pluralRules(){return M||{}},get isGlobal(){return n},get missingWarn(){return p},set missingWarn(re){p=re,S.missingWarn=p},get fallbackWarn(){return m},set fallbackWarn(re){m=re,S.fallbackWarn=m},get fallbackRoot(){return g},set fallbackRoot(re){g=re},get fallbackFormat(){return y},set fallbackFormat(re){y=re,S.fallbackFormat=y},get warnHtmlMessage(){return k},set warnHtmlMessage(re){k=re,S.warnHtmlMessage=re},get escapeParameter(){return w},set escapeParameter(re){w=re,S.escapeParameter=re},t:Y,getLocaleMessage:oe,setLocaleMessage:_e,mergeLocaleMessage:me,getPostTranslationHandler:L,setPostTranslationHandler:z,getMissingHandler:le,setMissingHandler:K,[xw]:J};return ae.datetimeFormats=V,ae.numberFormats=R,ae.rt=ve,ae.te=ne,ae.tm=q,ae.d=ie,ae.n=ye,ae.getDateTimeFormat=be,ae.setDateTimeFormat=B,ae.mergeDateTimeFormat=X,ae.getNumberFormat=te,ae.setNumberFormat=ee,ae.mergeNumberFormat=Me,ae[_w]=a,ae[Yp]=O,ae[Xp]=j,ae[Jp]=W,ae}function ON(e){const t=Be(e.locale)?e.locale:gl,a=Be(e.fallbackLocale)||Kt(e.fallbackLocale)||ct(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Et(e.missing)?e.missing:void 0,r=gt(e.silentTranslationWarn)||Go(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=gt(e.silentFallbackWarn)||Go(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=gt(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,c=ct(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,d=Et(e.postTranslation)?e.postTranslation:void 0,f=Be(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,p=!!e.escapeParameterHtml,m=gt(e.sync)?e.sync:!0;let g=e.messages;if(ct(e.sharedMessages)){const A=e.sharedMessages;g=Object.keys(A).reduce((S,P)=>{const D=S[P]||(S[P]={});return oa(D,A[P]),S},g||{})}const{__i18n:y,__root:_,__injectWithOption:v}=e,h=e.datetimeFormats,k=e.numberFormats,w=e.flatJson;return{locale:t,fallbackLocale:a,messages:g,flatJson:w,datetimeFormats:h,numberFormats:k,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:o,fallbackFormat:l,modifiers:c,pluralRules:u,postTranslation:d,warnHtmlMessage:f,escapeParameter:p,messageResolver:e.messageResolver,inheritLocale:m,__i18n:y,__root:_,__injectWithOption:v}}function Zp(e={}){const t=kg(ON(e)),{__extender:a}=e,n={id:t.id,get locale(){return t.locale.value},set locale(r){t.locale.value=r},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(r){t.fallbackLocale.value=r},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(r){t.setMissingHandler(r)},get silentTranslationWarn(){return gt(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(r){t.missingWarn=gt(r)?!r:r},get silentFallbackWarn(){return gt(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(r){t.fallbackWarn=gt(r)?!r:r},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(r){t.fallbackFormat=r},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(r){t.setPostTranslationHandler(r)},get sync(){return t.inheritLocale},set sync(r){t.inheritLocale=r},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){t.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(r){t.escapeParameter=r},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...r){return Reflect.apply(t.t,t,[...r])},rt(...r){return Reflect.apply(t.rt,t,[...r])},te(r,s){return t.te(r,s)},tm(r){return t.tm(r)},getLocaleMessage(r){return t.getLocaleMessage(r)},setLocaleMessage(r,s){t.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){t.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(t.d,t,[...r])},getDateTimeFormat(r){return t.getDateTimeFormat(r)},setDateTimeFormat(r,s){t.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){t.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(t.n,t,[...r])},getNumberFormat(r){return t.getNumberFormat(r)},setNumberFormat(r,s){t.setNumberFormat(r,s)},mergeNumberFormat(r,s){t.mergeNumberFormat(r,s)}};return n.__extender=a,n}function LN(e,t,a){return{beforeCreate(){const n=vl();if(!n)throw en(ja.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=Z0(e,s);else{s.__injectWithOption=!0,s.__extender=a.__vueI18nExtend,this.$i18n=Zp(s);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Z0(e,r);else{this.$i18n=Zp({__i18n:r.__i18n,__injectWithOption:!0,__extender:a.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&kw(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$te=(s,o)=>this.$i18n.te(s,o),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),a.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=vl();if(!n)throw en(ja.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),a.__deleteInstance(n),delete this.$i18n}}}function Z0(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[xw](t.pluralizationRules||e.pluralizationRules);const a=wg(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(a).forEach(n=>e.mergeLocaleMessage(n,a[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Cg={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qN({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===De?r.children:[r]],[]):t.reduce((a,n)=>{const r=e[n];return r&&(a[n]=r()),a},St())}function Cw(){return De}const NN=ue({name:"i18n-t",props:oa({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Qt(e)||!isNaN(e)}},Cg),setup(e,t){const{slots:a,attrs:n}=t,r=e.i18n||ot({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(a).filter(f=>f[0]!=="_"),o=St();e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=Be(e.plural)?+e.plural:e.plural);const l=qN(t,s),c=r[Yp](e.keypath,l,o),u=oa(St(),n),d=Be(e.tag)||vt(e.tag)?e.tag:Cw();return Za(d,u,c)}}}),ey=NN;function FN(e){return Kt(e)&&!Be(e[0])}function Sw(e,t,a,n){const{slots:r,attrs:s}=t;return()=>{const o={part:!0};let l=St();e.locale&&(o.locale=e.locale),Be(e.format)?o.key=e.format:vt(e.format)&&(Be(e.format.key)&&(o.key=e.format.key),l=Object.keys(e.format).reduce((p,m)=>a.includes(m)?oa(St(),p,{[m]:e.format[m]}):p,St()));const c=n(e.value,o,l);let u=[o.key];Kt(c)?u=c.map((p,m)=>{const g=r[p.type],y=g?g({[p.type]:p.value,index:m,parts:c}):[p.value];return FN(y)&&(y[0].key=`${p.type}-${m}`),y}):Be(c)&&(u=[c]);const d=oa(St(),s),f=Be(e.tag)||vt(e.tag)?e.tag:Cw();return Za(f,d,u)}}const VN=ue({name:"i18n-n",props:oa({value:{type:Number,required:!0},format:{type:[String,Object]}},Cg),setup(e,t){const a=e.i18n||ot({useScope:e.scope,__useComponent:!0});return Sw(e,t,vw,(...n)=>a[Jp](...n))}}),ty=VN;function BN(e,t){const a=e;if(e.mode==="composition")return a.__getInstance(t)||e.global;{const n=a.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function zN(e){const t=o=>{const{instance:l,value:c}=o;if(!l||!l.$)throw en(ja.UNEXPECTED_ERROR);const u=BN(e,l.$),d=ay(c);return[Reflect.apply(u.t,u,[...ny(d)]),u]};return{created:(o,l)=>{const[c,u]=t(l);Iu&&e.global===u&&(o.__i18nWatcher=Pe(u.locale,()=>{l.instance&&l.instance.$forceUpdate()})),o.__composer=u,o.textContent=c},unmounted:o=>{Iu&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:l})=>{if(o.__composer){const c=o.__composer,u=ay(l);o.textContent=Reflect.apply(c.t,c,[...ny(u)])}},getSSRProps:o=>{const[l]=t(o);return{textContent:l}}}}function ay(e){if(Be(e))return{path:e};if(ct(e)){if(!("path"in e))throw en(ja.REQUIRED_VALUE,"path");return e}else throw en(ja.INVALID_VALUE)}function ny(e){const{path:t,locale:a,args:n,choice:r,plural:s}=e,o={},l=n||{};return Be(a)&&(o.locale=a),Qt(r)&&(o.plural=r),Qt(s)&&(o.plural=s),[t,l,o]}function HN(e,t,...a){const n=ct(a[0])?a[0]:{};(!gt(n.globalInstall)||n.globalInstall)&&([ey.name,"I18nT"].forEach(s=>e.component(s,ey)),[ty.name,"I18nN"].forEach(s=>e.component(s,ty)),[sy.name,"I18nD"].forEach(s=>e.component(s,sy))),e.directive("t",zN(t))}const UN=os("global-vue-i18n");function jN(e={}){const t=__VUE_I18N_LEGACY_API__&&gt(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,a=gt(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=WN(e,t),o=os("");function l(f){return n.get(f)||null}function c(f,p){n.set(f,p)}function u(f){n.delete(f)}const d={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},async install(f,...p){if(f.__VUE_I18N_SYMBOL__=o,f.provide(f.__VUE_I18N_SYMBOL__,d),ct(p[0])){const y=p[0];d.__composerExtend=y.__composerExtend,d.__vueI18nExtend=y.__vueI18nExtend}let m=null;!t&&a&&(m=eF(f,d.global)),__VUE_I18N_FULL_INSTALL__&&HN(f,d,...p),__VUE_I18N_LEGACY_API__&&t&&f.mixin(LN(s,s.__composer,d));const g=f.unmount;f.unmount=()=>{m&&m(),d.dispose(),g()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:l,__setInstance:c,__deleteInstance:u};return d}function ot(e={}){const t=vl();if(t==null)throw en(ja.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw en(ja.NOT_INSTALLED);const a=KN(t),n=YN(a),r=ww(t),s=GN(e,r);if(s==="global")return kw(n,e,r),n;if(s==="parent"){let c=XN(a,t,e.__useComponent);return c==null&&(c=n),c}const o=a;let l=o.__getInstance(t);if(l==null){const c=oa({},e);"__i18n"in r&&(c.__i18n=r.__i18n),n&&(c.__root=n),l=kg(c),o.__composerExtend&&(l[Qp]=o.__composerExtend(l)),QN(o,t,l),o.__setInstance(t,l)}return l}function WN(e,t){const a=wl(),n=__VUE_I18N_LEGACY_API__&&t?a.run(()=>Zp(e)):a.run(()=>kg(e));if(n==null)throw en(ja.UNEXPECTED_ERROR);return[a,n]}function KN(e){const t=Ct(e.isCE?UN:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw en(e.isCE?ja.NOT_INSTALLED_WITH_PROVIDE:ja.UNEXPECTED_ERROR);return t}function GN(e,t){return kd(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function YN(e){return e.mode==="composition"?e.global:e.global.__composer}function XN(e,t,a=!1){let n=null;const r=t.root;let s=JN(t,a);for(;s!=null;){const o=e;if(e.mode==="composition")n=o.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=o.__getInstance(s);l!=null&&(n=l.__composer,a&&n&&!n[_w]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function JN(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function QN(e,t,a){Ke(()=>{},t),Ft(()=>{const n=a;e.__deleteInstance(t);const r=n[Qp];r&&(r(),delete n[Qp])},t)}const ZN=["locale","fallbackLocale","availableLocales"],ry=["t","rt","d","n","tm","te"];function eF(e,t){const a=Object.create(null);return ZN.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw en(ja.UNEXPECTED_ERROR);const o=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(a,r,o)}),e.config.globalProperties.$i18n=a,ry.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw en(ja.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ry.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}const tF=ue({name:"i18n-d",props:oa({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Cg),setup(e,t){const a=e.i18n||ot({useScope:e.scope,__useComponent:!0});return Sw(e,t,hw,(...n)=>a[Xp](...n))}}),sy=tF;DN();uN(jq);dN(iN);fN(uw);if(__INTLIFY_PROD_DEVTOOLS__){const e=As();e.__INTLIFY__=!0,Wq(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const aF={class:"title-bar"},nF={key:0,class:"traffic-light-spacer"},rF={key:1,class:"window-controls"},sF={key:0,width:"10",height:"10",viewBox:"0 0 10 10"},oF={key:1,width:"10",height:"10",viewBox:"0 0 10 10"},iF=ue({__name:"TitleBar",setup(e){const t=E(!1),a=E(!1),n=E(!1);Ke(()=>{t.value=navigator.platform.toLowerCase().includes("mac"),n.value=navigator.platform.toLowerCase().includes("win"),window.electron?.ipcRenderer?.on("windowState",(l,c)=>{a.value=c})});function r(){window.electron?.ipcRenderer?.send("window-min")}function s(){window.electron?.ipcRenderer?.send("window-maxOrRestore")}function o(){window.electron?.ipcRenderer?.send("window-close")}return(l,c)=>(x(),F("div",aF,[t.value?(x(),F("div",nF)):se("",!0),c[4]||(c[4]=b("div",{class:"drag-region"},null,-1)),!t.value&&!n.value?(x(),F("div",rF,[b("button",{class:"control-btn",onClick:r},[...c[0]||(c[0]=[b("svg",{width:"10",height:"1",viewBox:"0 0 10 1"},[b("path",{d:"M0 0h10v1H0z",fill:"currentColor"})],-1)])]),b("button",{class:"control-btn",onClick:s},[a.value?(x(),F("svg",oF,[...c[2]||(c[2]=[b("path",{d:"M2 0v2H0v8h8V8h2V0H2zm1 3h5v5H1V3h2z",fill:"currentColor"},null,-1)])])):(x(),F("svg",sF,[...c[1]||(c[1]=[b("path",{d:"M0 0v10h10V0H0zm1 1h8v8H1V1z",fill:"currentColor"},null,-1)])]))]),b("button",{class:"control-btn control-btn-close",onClick:o},[...c[3]||(c[3]=[b("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},[b("path",{d:"M1.41 0L0 1.41 3.59 5 0 8.59 1.41 10 5 6.41 8.59 10 10 8.59 6.41 5 10 1.41 8.59 0 5 3.59z",fill:"currentColor"})],-1)])])])):se("",!0)]))}}),cs=(e,t)=>{const a=e.__vccOpts||e;for(const[n,r]of t)a[n]=r;return a},lF=cs(iF,[["__scopeId","data-v-26ce777c"]]);function Sg(e,t={}){const a=e.detail.originalEvent,n=a.target;if(!n?.isConnected){e.preventDefault();return}t.scrollable&&(a.offsetX>n.clientWidth||a.offsetY>n.clientHeight)&&e.preventDefault()}const cF={slots:{overlay:"fixed inset-0",content:"bg-default divide-y divide-default flex flex-col focus:outline-none",header:"flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)",wrapper:"",body:"flex-1 p-4 sm:p-6",footer:"flex items-center gap-1.5 p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",close:"absolute top-4 end-4"},variants:{transition:{true:{overlay:"data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]",content:"data-[state=open]:animate-[scale-in_200ms_ease-out] data-[state=closed]:animate-[scale-out_200ms_ease-in]"}},fullscreen:{true:{content:"inset-0"},false:{content:"w-[calc(100vw-2rem)] max-w-lg rounded-lg shadow-lg ring ring-default"}},overlay:{true:{overlay:"bg-elevated/75"}},scrollable:{true:{overlay:"overflow-y-auto",content:"relative"},false:{content:"fixed",body:"overflow-y-auto"}}},compoundVariants:[{scrollable:!0,fullscreen:!1,class:{overlay:"grid place-items-center p-4 sm:py-8"}},{scrollable:!1,fullscreen:!1,class:{content:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden"}}]},$a={__name:"Modal",props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},scrollable:{type:Boolean,required:!1},transition:{type:Boolean,required:!1,default:!0},fullscreen:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["leave","after:leave","enter","after:enter","close:prevent","update:open"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("modal",a),{t:o}=js(),l=kt(),c=Ma(xa(s,"open","defaultOpen","modal"),n),u=Qs(_t(()=>s.portal)),d=_t(()=>s.content),f=$(()=>s.dismissible?{pointerDownOutside:y=>Sg(y,{scrollable:s.scrollable})}:["interactOutside","escapeKeyDown"].reduce((_,v)=>(_[v]=h=>{h.preventDefault(),n("close:prevent")},_),{})),[p,m]=h2(),g=$(()=>tt({extend:tt(cF),...l.ui?.modal||{}})({transition:s.transition,fullscreen:s.fullscreen,overlay:s.overlay,scrollable:s.scrollable}));return(y,_)=>(x(),N(i(px),He(Ge(i(c))),{default:T(({open:v,close:h})=>[I(i(p),null,{default:T(()=>[I(i(vx),$e({"data-slot":"content",class:g.value.content({class:[!r.default&&i(s).class,i(s).ui?.content]})},d.value,{onEnter:_[0]||(_[0]=k=>n("enter")),onAfterEnter:_[1]||(_[1]=k=>n("after:enter")),onLeave:_[2]||(_[2]=k=>n("leave")),onAfterLeave:_[3]||(_[3]=k=>n("after:leave"))},Wu(f.value)),{default:T(()=>[!i(s).title&&!r.title||!i(s).description&&!r.description||r.content?(x(),N(i(Ys),{key:0},{default:T(()=>[!i(s).title&&!r.title?(x(),N(i(Io),{key:0})):r.content?(x(),N(i(Io),{key:1},{default:T(()=>[Z(y.$slots,"title",{},()=>[pe(C(i(s).title),1)])]),_:3})):se("",!0),!i(s).description&&!r.description?(x(),N(i(Ao),{key:2})):r.content?(x(),N(i(Ao),{key:3},{default:T(()=>[Z(y.$slots,"description",{},()=>[pe(C(i(s).description),1)])]),_:3})):se("",!0)]),_:3})):se("",!0),Z(y.$slots,"content",{close:h},()=>[r.header||i(s).title||r.title||i(s).description||r.description||i(s).close||r.close?(x(),F("div",{key:0,"data-slot":"header",class:xe(g.value.header({class:i(s).ui?.header}))},[Z(y.$slots,"header",{close:h},()=>[i(s).title||r.title||i(s).description||r.description?(x(),F("div",{key:0,"data-slot":"wrapper",class:xe(g.value.wrapper({class:i(s).ui?.wrapper}))},[i(s).title||r.title?(x(),N(i(Io),{key:0,"data-slot":"title",class:xe(g.value.title({class:i(s).ui?.title}))},{default:T(()=>[Z(y.$slots,"title",{},()=>[pe(C(i(s).title),1)])]),_:3},8,["class"])):se("",!0),i(s).description||r.description?(x(),N(i(Ao),{key:1,"data-slot":"description",class:xe(g.value.description({class:i(s).ui?.description}))},{default:T(()=>[Z(y.$slots,"description",{},()=>[pe(C(i(s).description),1)])]),_:3},8,["class"])):se("",!0)],2)):se("",!0),Z(y.$slots,"actions"),i(s).close||r.close?(x(),N(i(zA),{key:1,"as-child":""},{default:T(()=>[Z(y.$slots,"close",{ui:g.value},()=>[i(s).close?(x(),N(nt,$e({key:0,icon:i(s).closeIcon||i(l).ui.icons.close,color:"neutral",variant:"ghost","aria-label":i(o)("modal.close")},typeof i(s).close=="object"?i(s).close:{},{"data-slot":"close",class:g.value.close({class:i(s).ui?.close})}),null,16,["icon","aria-label","class"])):se("",!0)])]),_:2},1024)):se("",!0)])],2)):se("",!0),r.body?(x(),F("div",{key:1,"data-slot":"body",class:xe(g.value.body({class:i(s).ui?.body}))},[Z(y.$slots,"body",{close:h})],2)):se("",!0),r.footer?(x(),F("div",{key:2,"data-slot":"footer",class:xe(g.value.footer({class:i(s).ui?.footer}))},[Z(y.$slots,"footer",{close:h})],2)):se("",!0)])]),_:2},1040,["class"])]),_:2},1024),r.default?(x(),N(i(bx),{key:0,"as-child":"",class:xe(i(s).class)},{default:T(()=>[Z(y.$slots,"default",{open:v})]),_:2},1032,["class"])):se("",!0),I(i(yx),He(Ge(i(u))),{default:T(()=>[I(i(mi),null,{default:T(()=>[i(s).scrollable?(x(),N(i($p),{key:0,"data-slot":"overlay",class:xe(g.value.overlay({class:i(s).ui?.overlay}))},{default:T(()=>[I(i(m))]),_:1},8,["class"])):(x(),F(De,{key:1},[i(s).overlay?(x(),N(i($p),{key:0,"data-slot":"overlay",class:xe(g.value.overlay({class:i(s).ui?.overlay}))},null,8,["class"])):se("",!0),I(i(m))],64))]),_:1})]),_:1},16)]),_:3},16))}},uF={Root:aT,Header:yT,Heading:xT,Grid:lT,Cell:rT,HeadCell:hT,Next:wT,Prev:CT,GridHead:fT,GridBody:uT,GridRow:mT,CellTrigger:oT},fn={Root:Zx,Trigger:e_,Portal:p6,Content:n6,Arrow:JP,Item:i6,Group:s6,Separator:b6,CheckboxItem:ZP,ItemIndicator:c6,Label:d6,RadioGroup:g6,RadioItem:v6,Sub:_6,SubContent:k6,SubTrigger:S6},dF={Root:S8,Trigger:R8,Portal:D8,Content:T8,Arrow:w8},fF={Root:B8,Header:Z8,Heading:tD,Grid:K8,Cell:H8,Next:nD,Prev:sD,GridBody:Y8,GridRow:J8,CellTrigger:j8},pF={Root:dD,Header:kD,Heading:SD,Grid:vD,Cell:pD,Next:$D,Prev:ID,GridBody:bD,GridRow:_D,CellTrigger:gD},mF={Root:I6,Trigger:W6,Portal:U6,Content:z6,Arrow:E6,Close:O6,Anchor:P6},gF={Root:Q6,Header:m8,Heading:h8,Grid:r8,Cell:e8,HeadCell:f8,Next:y8,Prev:x8,GridHead:l8,GridBody:o8,GridRow:u8,CellTrigger:a8},hF={Root:o9,Header:y9,Heading:x9,Grid:f9,Cell:l9,Next:w9,Prev:C9,GridBody:m9,GridRow:h9,CellTrigger:u9},vF={Root:T9,Header:z9,Heading:U9,Grid:L9,Cell:D9,Next:W9,Prev:G9,GridBody:N9,GridRow:V9,CellTrigger:R9},yF={base:"inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase",variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},size:{sm:"h-4 min-w-[16px] text-[10px]",md:"h-5 min-w-[20px] text-[11px]",lg:"h-6 min-w-[24px] text-[12px]"}},compoundVariants:[{color:"primary",variant:"solid",class:"text-inverted bg-primary"},{color:"secondary",variant:"solid",class:"text-inverted bg-secondary"},{color:"success",variant:"solid",class:"text-inverted bg-success"},{color:"info",variant:"solid",class:"text-inverted bg-info"},{color:"warning",variant:"solid",class:"text-inverted bg-warning"},{color:"error",variant:"solid",class:"text-inverted bg-error"},{color:"primary",variant:"outline",class:"ring ring-inset ring-primary/50 text-primary"},{color:"secondary",variant:"outline",class:"ring ring-inset ring-secondary/50 text-secondary"},{color:"success",variant:"outline",class:"ring ring-inset ring-success/50 text-success"},{color:"info",variant:"outline",class:"ring ring-inset ring-info/50 text-info"},{color:"warning",variant:"outline",class:"ring ring-inset ring-warning/50 text-warning"},{color:"error",variant:"outline",class:"ring ring-inset ring-error/50 text-error"},{color:"primary",variant:"soft",class:"text-primary bg-primary/10"},{color:"secondary",variant:"soft",class:"text-secondary bg-secondary/10"},{color:"success",variant:"soft",class:"text-success bg-success/10"},{color:"info",variant:"soft",class:"text-info bg-info/10"},{color:"warning",variant:"soft",class:"text-warning bg-warning/10"},{color:"error",variant:"soft",class:"text-error bg-error/10"},{color:"primary",variant:"subtle",class:"text-primary ring ring-inset ring-primary/25 bg-primary/10"},{color:"secondary",variant:"subtle",class:"text-secondary ring ring-inset ring-secondary/25 bg-secondary/10"},{color:"success",variant:"subtle",class:"text-success ring ring-inset ring-success/25 bg-success/10"},{color:"info",variant:"subtle",class:"text-info ring ring-inset ring-info/25 bg-info/10"},{color:"warning",variant:"subtle",class:"text-warning ring ring-inset ring-warning/25 bg-warning/10"},{color:"error",variant:"subtle",class:"text-error ring ring-inset ring-error/25 bg-error/10"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default"},{color:"neutral",variant:"soft",class:"text-default bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated"}],defaultVariants:{variant:"outline",color:"neutral",size:"md"}},Mw={__name:"Kbd",props:{as:{type:null,required:!1,default:"kbd"},value:{type:null,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){const a=zt("kbd",e),{getKbdKey:n}=g4(),r=kt(),s=$(()=>tt({extend:tt(yF),...r.ui?.kbd||{}}));return(o,l)=>(x(),N(i(Te),{as:i(a).as,class:xe(s.value({class:[i(a).ui?.base,i(a).class],color:i(a).color,variant:i(a).variant,size:i(a).size}))},{default:T(()=>[Z(o.$slots,"default",{},()=>[pe(C(i(n)(i(a).value)),1)])]),_:3},8,["as","class"]))}},$w={__name:"ContextMenuContent",props:{items:{type:null,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0},sub:{type:Boolean,required:!1},labelKey:{type:null,required:!0},descriptionKey:{type:null,required:!0},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0},class:{type:null,required:!1},ui:{type:null,required:!0},uiOverride:{type:null,required:!1},loop:{type:Boolean,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const a=e,n=t,r=fa(),{dir:s}=js(),o=kt(),l=Qs(_t(()=>a.portal)),c=Ka(Us(a,"sub","items","portal","labelKey","descriptionKey","checkedIcon","loadingIcon","externalIcon","class","ui","uiOverride"),n),u=()=>td(r,["default"]),[d,f]=h2(),p=$(()=>s.value==="rtl"?o.ui.icons.chevronLeft:o.ui.icons.chevronRight),m=$(()=>a.items?.length?k2(a.items)?a.items:[a.items]:[]);return(g,y)=>(x(),F(De,null,[I(i(d),null,{default:T(({item:_,active:v,index:h})=>[Z(g.$slots,_.slot||"item",{item:_,index:h,ui:e.ui},()=>[Z(g.$slots,_.slot?`${_.slot}-leading`:"item-leading",{item:_,active:v,index:h,ui:e.ui},()=>[_.loading?(x(),N(Xe,{key:0,name:e.loadingIcon||i(o).ui.icons.loading,"data-slot":"itemLeadingIcon",class:xe(e.ui.itemLeadingIcon({class:[e.uiOverride?.itemLeadingIcon,_.ui?.itemLeadingIcon],color:_?.color,loading:!0}))},null,8,["name","class"])):_.icon?(x(),N(Xe,{key:1,name:_.icon,"data-slot":"itemLeadingIcon",class:xe(e.ui.itemLeadingIcon({class:[e.uiOverride?.itemLeadingIcon,_.ui?.itemLeadingIcon],color:_?.color,active:v}))},null,8,["name","class"])):_.avatar?(x(),N(Mr,$e({key:2,size:_.ui?.itemLeadingAvatarSize||e.uiOverride?.itemLeadingAvatarSize||e.ui.itemLeadingAvatarSize()},_.avatar,{"data-slot":"itemLeadingAvatar",class:e.ui.itemLeadingAvatar({class:[e.uiOverride?.itemLeadingAvatar,_.ui?.itemLeadingAvatar],active:v})}),null,16,["size","class"])):se("",!0)]),i($t)(_,a.labelKey)||r[_.slot?`${_.slot}-label`:"item-label"]||i($t)(_,a.descriptionKey)||r[_.slot?`${_.slot}-description`:"item-description"]?(x(),F("span",{key:0,"data-slot":"itemWrapper",class:xe(e.ui.itemWrapper({class:[e.uiOverride?.itemWrapper,_.ui?.itemWrapper]}))},[b("span",{"data-slot":"itemLabel",class:xe(e.ui.itemLabel({class:[e.uiOverride?.itemLabel,_.ui?.itemLabel],active:v}))},[Z(g.$slots,_.slot?`${_.slot}-label`:"item-label",{item:_,active:v,index:h},()=>[pe(C(i($t)(_,a.labelKey)),1)]),_.target==="_blank"&&e.externalIcon!==!1?(x(),N(Xe,{key:0,name:typeof e.externalIcon=="string"?e.externalIcon:i(o).ui.icons.external,"data-slot":"itemLabelExternalIcon",class:xe(e.ui.itemLabelExternalIcon({class:[e.uiOverride?.itemLabelExternalIcon,_.ui?.itemLabelExternalIcon],color:_?.color,active:v}))},null,8,["name","class"])):se("",!0)],2),i($t)(_,a.descriptionKey)||r[_.slot?`${_.slot}-description`:"item-description"]?(x(),F("span",{key:0,"data-slot":"itemDescription",class:xe(e.ui.itemDescription({class:[e.uiOverride?.itemDescription,_.ui?.itemDescription]}))},[Z(g.$slots,_.slot?`${_.slot}-description`:"item-description",{item:_,active:v,index:h},()=>[pe(C(i($t)(_,a.descriptionKey)),1)])],2)):se("",!0)],2)):se("",!0),b("span",{"data-slot":"itemTrailing",class:xe(e.ui.itemTrailing({class:[e.uiOverride?.itemTrailing,_.ui?.itemTrailing]}))},[Z(g.$slots,_.slot?`${_.slot}-trailing`:"item-trailing",{item:_,active:v,index:h,ui:e.ui},()=>[_.children?.length?(x(),N(Xe,{key:0,name:p.value,"data-slot":"itemTrailingIcon",class:xe(e.ui.itemTrailingIcon({class:[e.uiOverride?.itemTrailingIcon,_.ui?.itemTrailingIcon],color:_?.color,active:v}))},null,8,["name","class"])):_.kbds?.length?(x(),F("span",{key:1,"data-slot":"itemTrailingKbds",class:xe(e.ui.itemTrailingKbds({class:[e.uiOverride?.itemTrailingKbds,_.ui?.itemTrailingKbds]}))},[(x(!0),F(De,null,Ye(_.kbds,(k,w)=>(x(),N(Mw,$e({key:w,size:_.ui?.itemTrailingKbdsSize||e.uiOverride?.itemTrailingKbdsSize||e.ui.itemTrailingKbdsSize()},{ref_for:!0},typeof k=="string"?{value:k}:k),null,16,["size"]))),128))],2)):se("",!0)]),I(i(fn).ItemIndicator,{"as-child":""},{default:T(()=>[I(Xe,{name:e.checkedIcon||i(o).ui.icons.check,"data-slot":"itemTrailingIcon",class:xe(e.ui.itemTrailingIcon({class:[e.uiOverride?.itemTrailingIcon,_.ui?.itemTrailingIcon],color:_?.color}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:3}),I(i(fn).Portal,He(Ge(i(l))),{default:T(()=>[I(i(mi),null,{default:T(()=>[(x(),N(sa(e.sub?i(fn).SubContent:i(fn).Content),$e({"data-slot":"content",class:e.ui.content({class:[e.uiOverride?.content,a.class]})},i(c)),{default:T(()=>[Z(g.$slots,"content-top",{sub:e.sub??!1}),b("div",{role:"presentation","data-slot":"viewport",class:xe(e.ui.viewport({class:e.uiOverride?.viewport}))},[(x(!0),F(De,null,Ye(m.value,(_,v)=>(x(),N(i(fn).Group,{key:`group-${v}`,"data-slot":"group",class:xe(e.ui.group({class:e.uiOverride?.group}))},{default:T(()=>[(x(!0),F(De,null,Ye(_,(h,k)=>(x(),F(De,{key:`group-${v}-${k}`},[h.type==="label"?(x(),N(i(fn).Label,{key:0,"data-slot":"label",class:xe(e.ui.label({class:[e.uiOverride?.label,h.ui?.label,h.class]}))},{default:T(()=>[I(i(f),{item:h,index:k},null,8,["item","index"])]),_:2},1032,["class"])):h.type==="separator"?(x(),N(i(fn).Separator,{key:1,"data-slot":"separator",class:xe(e.ui.separator({class:[e.uiOverride?.separator,h.ui?.separator,h.class]}))},null,8,["class"])):h?.children?.length?(x(),N(i(fn).Sub,{key:2,open:h.open,"default-open":h.defaultOpen},{default:T(()=>[I(i(fn).SubTrigger,{as:"button",type:"button",disabled:h.disabled,"text-value":i($t)(h,a.labelKey),"data-slot":"item",class:xe(e.ui.item({class:[e.uiOverride?.item,h.ui?.item,h.class],color:h?.color}))},{default:T(()=>[I(i(f),{item:h,index:k},null,8,["item","index"])]),_:2},1032,["disabled","text-value","class"]),I($w,$e({sub:"",class:h.ui?.content,ui:e.ui,"ui-override":e.uiOverride,portal:e.portal,items:h.children,"align-offset":-4,"label-key":e.labelKey,"description-key":e.descriptionKey,"checked-icon":e.checkedIcon,"loading-icon":e.loadingIcon,"external-icon":e.externalIcon},{ref_for:!0},h.content),Il({_:2},[Ye(u(),(w,A)=>({name:A,fn:T(M=>[Z(g.$slots,A,$e({ref_for:!0},M))])}))]),1040,["class","ui","ui-override","portal","items","label-key","description-key","checked-icon","loading-icon","external-icon"])]),_:2},1032,["open","default-open"])):h.type==="checkbox"?(x(),N(i(fn).CheckboxItem,{key:3,"model-value":h.checked,disabled:h.disabled,"text-value":i($t)(h,a.labelKey),"data-slot":"item",class:xe(e.ui.item({class:[e.uiOverride?.item,h.ui?.item,h.class],color:h?.color})),"onUpdate:modelValue":h.onUpdateChecked,onSelect:h.onSelect},{default:T(()=>[I(i(f),{item:h,index:k},null,8,["item","index"])]),_:2},1032,["model-value","disabled","text-value","class","onUpdate:modelValue","onSelect"])):(x(),N(j_,$e({key:4,ref_for:!0},i(U_)(h),{custom:""}),{default:T(({active:w,...A})=>[I(i(fn).Item,{"as-child":"",disabled:h.disabled,"text-value":i($t)(h,a.labelKey),onSelect:h.onSelect},{default:T(()=>[I(Au,$e({ref_for:!0},A,{"data-slot":"item",class:e.ui.item({class:[e.uiOverride?.item,h.ui?.item,h.class],active:w,color:h?.color})}),{default:T(()=>[I(i(f),{item:h,active:w,index:k},null,8,["item","active","index"])]),_:2},1040,["class"])]),_:2},1032,["disabled","text-value","onSelect"])]),_:2},1040))],64))),128))]),_:2},1032,["class"]))),128))],2),Z(g.$slots,"default"),Z(g.$slots,"content-bottom",{sub:e.sub??!1})]),_:3},16,["class"]))]),_:3})]),_:3},16)],64))}},bF={slots:{content:"min-w-32 max-h-(--reka-context-menu-content-available-height) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-context-menu-content-transform-origin) flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",label:"w-full flex items-center font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:"group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75",itemLeadingIcon:"shrink-0",itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemTrailingKbds:"hidden lg:inline-flex items-center shrink-0",itemTrailingKbdsSize:"",itemWrapper:"flex-1 flex flex-col text-start min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted",itemLabelExternalIcon:"inline-block size-3 align-top text-dimmed"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},active:{true:{item:"text-highlighted before:bg-elevated",itemLeadingIcon:"text-default"},false:{item:["text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default","transition-colors"]}},loading:{true:{itemLeadingIcon:"animate-spin"}},size:{xs:{label:"p-1 text-xs gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemTrailingIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},sm:{label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemTrailingIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},md:{label:"p-1.5 text-sm gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemTrailingIcon:"size-5",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"md"},lg:{label:"p-2 text-sm gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemTrailingIcon:"size-5",itemTrailingKbds:"gap-1",itemTrailingKbdsSize:"md"},xl:{label:"p-2 text-base gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemTrailingIcon:"size-6",itemTrailingKbds:"gap-1",itemTrailingKbdsSize:"lg"}}},compoundVariants:[{color:"primary",active:!1,class:{item:"text-primary data-highlighted:text-primary data-highlighted:before:bg-primary/10 data-[state=open]:before:bg-primary/10",itemLeadingIcon:"text-primary/75 group-data-highlighted:text-primary group-data-[state=open]:text-primary"}},{color:"secondary",active:!1,class:{item:"text-secondary data-highlighted:text-secondary data-highlighted:before:bg-secondary/10 data-[state=open]:before:bg-secondary/10",itemLeadingIcon:"text-secondary/75 group-data-highlighted:text-secondary group-data-[state=open]:text-secondary"}},{color:"success",active:!1,class:{item:"text-success data-highlighted:text-success data-highlighted:before:bg-success/10 data-[state=open]:before:bg-success/10",itemLeadingIcon:"text-success/75 group-data-highlighted:text-success group-data-[state=open]:text-success"}},{color:"info",active:!1,class:{item:"text-info data-highlighted:text-info data-highlighted:before:bg-info/10 data-[state=open]:before:bg-info/10",itemLeadingIcon:"text-info/75 group-data-highlighted:text-info group-data-[state=open]:text-info"}},{color:"warning",active:!1,class:{item:"text-warning data-highlighted:text-warning data-highlighted:before:bg-warning/10 data-[state=open]:before:bg-warning/10",itemLeadingIcon:"text-warning/75 group-data-highlighted:text-warning group-data-[state=open]:text-warning"}},{color:"error",active:!1,class:{item:"text-error data-highlighted:text-error data-highlighted:before:bg-error/10 data-[state=open]:before:bg-error/10",itemLeadingIcon:"text-error/75 group-data-highlighted:text-error group-data-[state=open]:text-error"}},{color:"primary",active:!0,class:{item:"text-primary before:bg-primary/10",itemLeadingIcon:"text-primary"}},{color:"secondary",active:!0,class:{item:"text-secondary before:bg-secondary/10",itemLeadingIcon:"text-secondary"}},{color:"success",active:!0,class:{item:"text-success before:bg-success/10",itemLeadingIcon:"text-success"}},{color:"info",active:!0,class:{item:"text-info before:bg-info/10",itemLeadingIcon:"text-info"}},{color:"warning",active:!0,class:{item:"text-warning before:bg-warning/10",itemLeadingIcon:"text-warning"}},{color:"error",active:!0,class:{item:"text-error before:bg-error/10",itemLeadingIcon:"text-error"}}],defaultVariants:{size:"md"}},xF={__name:"ContextMenu",props:{size:{type:null,required:!1},items:{type:null,required:!1},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},content:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},disabled:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},pressOpenDelay:{type:Number,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("contextMenu",a),o=kt(),l=Ma(xa(s,"modal"),n),c=_t(()=>s.content),u=()=>td(r,["default"]),d=$(()=>tt({extend:tt(bF),...o.ui?.contextMenu||{}})({size:s.size}));return(f,p)=>(x(),N(i(Zx),He(Ge(i(l))),{default:T(()=>[r.default?(x(),N(i(e_),{key:0,"as-child":"",disabled:i(s).disabled,class:xe(i(s).class)},{default:T(()=>[Z(f.$slots,"default")]),_:3},8,["disabled","class"])):se("",!0),I($w,$e({class:d.value.content({class:[!r.default&&i(s).class,i(s).ui?.content]}),ui:d.value,"ui-override":i(s).ui},c.value,{items:i(s).items,portal:i(s).portal,"label-key":i(s).labelKey,"description-key":i(s).descriptionKey,"checked-icon":i(s).checkedIcon,"loading-icon":i(s).loadingIcon,"external-icon":i(s).externalIcon}),Il({_:2},[Ye(u(),(m,g)=>({name:g,fn:T(y=>[Z(f.$slots,g,He(Ge(y)))])}))]),1040,["class","ui","ui-override","items","portal","label-key","description-key","checked-icon","loading-icon","external-icon"])]),_:3},16))}},_F={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-sm/4 gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-sm/4 gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-base/5 gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-base/5 gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},wF=["id","type","value","name","placeholder","disabled","required","autocomplete"],pa=Object.assign({inheritAttrs:!1},{__name:"Input",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},type:{type:null,required:!1,default:"text"},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autocomplete:{type:[String,Object],required:!1,default:"off"},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(e,{expose:t,emit:a}){const n=e,r=a,s=fa(),o=zt("input",n),l=b2(o,"modelValue",r,{defaultValue:o.defaultValue}),c=kt(),{emitFormBlur:u,emitFormInput:d,emitFormChange:f,size:p,color:m,id:g,name:y,highlight:_,disabled:v,emitFormFocus:h,ariaAttrs:k}=gi(n,{deferInputValidation:!0}),{orientation:w,size:A}=Ul(n),{isLeading:M,isTrailing:S,leadingIconName:P,trailingIconName:D}=_d(o),H=$(()=>A.value||p.value),Q=$(()=>tt({extend:tt(_F),...c.ui?.input||{}})({type:o.type,color:m.value??o.color,variant:o.variant,size:H?.value??o.size,loading:o.loading,highlight:_.value??o.highlight,fixed:o.fixed,leading:M.value||!!o.avatar||!!s.leading,trailing:S.value||!!s.trailing,fieldGroup:w.value})),G=el("inputRef");function V(K){o.modelModifiers?.trim&&(typeof K=="string"||K===null||K===void 0)&&(K=K?.trim()??null),(o.modelModifiers?.number||o.type==="number")&&(K=w2(K)),o.modelModifiers?.nullable&&(K||=null),o.modelModifiers?.optional&&!o.modelModifiers?.nullable&&K!==null&&(K||=void 0),l.value=K,d()}function R(K){o.modelModifiers?.lazy||V(K.target.value)}function L(K){const ce=K.target.value;o.modelModifiers?.lazy&&V(ce),o.modelModifiers?.trim&&(K.target.value=ce.trim()),f(),r("change",K)}function z(K){u(),r("blur",K)}function le(){o.autofocus&&G.value?.focus()}return Ke(()=>{setTimeout(()=>{le()},o.autofocusDelay)}),t({inputRef:G}),(K,ce)=>(x(),N(i(Te),{as:i(o).as,"data-slot":"root",class:xe(Q.value.root({class:[i(o).ui?.root,i(o).class]}))},{default:T(()=>[b("input",$e({id:i(g),ref_key:"inputRef",ref:G,type:i(o).type,value:i(l),name:i(y),placeholder:i(o).placeholder,"data-slot":"base",class:Q.value.base({class:i(o).ui?.base}),disabled:i(v),required:i(o).required,autocomplete:i(o).autocomplete},{...K.$attrs,...i(k)},{onInput:R,onBlur:z,onChange:L,onFocus:ce[0]||(ce[0]=(...Y)=>i(h)&&i(h)(...Y))}),null,16,wF),Z(K.$slots,"default",{ui:Q.value}),i(M)||i(o).avatar||s.leading?(x(),F("span",{key:0,"data-slot":"leading",class:xe(Q.value.leading({class:i(o).ui?.leading}))},[Z(K.$slots,"leading",{ui:Q.value},()=>[i(M)&&i(P)?(x(),N(Xe,{key:0,name:i(P),"data-slot":"leadingIcon",class:xe(Q.value.leadingIcon({class:i(o).ui?.leadingIcon}))},null,8,["name","class"])):i(o).avatar?(x(),N(Mr,$e({key:1,size:i(o).ui?.leadingAvatarSize||Q.value.leadingAvatarSize()},i(o).avatar,{"data-slot":"leadingAvatar",class:Q.value.leadingAvatar({class:i(o).ui?.leadingAvatar})}),null,16,["size","class"])):se("",!0)])],2)):se("",!0),i(S)||s.trailing?(x(),F("span",{key:1,"data-slot":"trailing",class:xe(Q.value.trailing({class:i(o).ui?.trailing}))},[Z(K.$slots,"trailing",{ui:Q.value},()=>[i(D)?(x(),N(Xe,{key:0,name:i(D),"data-slot":"trailingIcon",class:xe(Q.value.trailingIcon({class:i(o).ui?.trailingIcon}))},null,8,["name","class"])):se("",!0)])],2)):se("",!0)]),_:3},8,["as","class"]))}}),kF={slots:{content:"flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto",arrow:"fill-bg stroke-default",text:"truncate",kbds:"hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5",kbdsSize:"sm"}},hi={__name:"Tooltip",props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("tooltip",a),o=kt(),l=Hl(),c=Ma(xa(s,"defaultOpen","open","delayDuration","disableHoverableContent","disableClosingTrigger","ignoreNonKeyboardFocus"),n),u=Qs(_t(()=>s.portal)),d=_t(()=>za(s.content,l.content.value,{side:"bottom",sideOffset:8,collisionPadding:8})),f=_t(()=>za(s.arrow,{rounded:!0})),p=$(()=>tt({extend:tt(kF),...o.ui?.tooltip||{}})({side:d.value.side}));return(m,g)=>(x(),N(i(jR),$e(i(c),{disabled:!(i(s).text||i(s).kbds?.length||r.content)||i(s).disabled}),{default:T(({open:y})=>[r.default||i(s).reference?(x(),N(i(e9),$e({key:0},m.$attrs,{"as-child":"",reference:i(s).reference,class:i(s).class}),{default:T(()=>[Z(m.$slots,"default",{open:y})]),_:2},1040,["reference","class"])):se("",!0),I(i(QR),He(Ge(i(u))),{default:T(()=>[I(i(mi),null,{default:T(()=>[I(i(XR),$e(d.value,{"data-slot":"content",class:p.value.content({class:[!r.default&&i(s).class,i(s).ui?.content]})}),{default:T(()=>[Z(m.$slots,"content",{ui:p.value},()=>[i(s).text?(x(),F("span",{key:0,"data-slot":"text",class:xe(p.value.text({class:i(s).ui?.text}))},C(i(s).text),3)):se("",!0),i(s).kbds?.length?(x(),F("span",{key:1,"data-slot":"kbds",class:xe(p.value.kbds({class:i(s).ui?.kbds}))},[(x(!0),F(De,null,Ye(i(s).kbds,(_,v)=>(x(),N(Mw,$e({key:v,size:i(s).ui?.kbdsSize||p.value.kbdsSize()},{ref_for:!0},typeof _=="string"?{value:_}:_),null,16,["size"]))),128))],2)):se("",!0)]),i(s).arrow?(x(),N(i(FR),$e({key:0},f.value,{"data-slot":"arrow",class:p.value.arrow({class:i(s).ui?.arrow})}),null,16,["class"])):se("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["disabled"]))}};function io(e,t,a){let n=a.initialDeps??[],r,s=!0;function o(){var l,c,u;let d;a.key&&((l=a.debug)!=null&&l.call(a))&&(d=Date.now());const f=e();if(!(f.length!==n.length||f.some((g,y)=>n[y]!==g)))return r;n=f;let m;if(a.key&&((c=a.debug)!=null&&c.call(a))&&(m=Date.now()),r=t(...f),a.key&&((u=a.debug)!=null&&u.call(a))){const g=Math.round((Date.now()-d)*100)/100,y=Math.round((Date.now()-m)*100)/100,_=y/16,v=(h,k)=>{for(h=String(h);h.length<k;)h=" "+h;return h};console.info(`%c⏱ ${v(y,5)} /${v(g,5)} ms`,`
33
+ font-size: .6rem;
34
+ font-weight: bold;
35
+ color: hsl(${Math.max(0,Math.min(120-120*_,120))}deg 100% 31%);`,a?.key)}return a?.onChange&&!(s&&a.skipInitialOnChange)&&a.onChange(r),s=!1,r}return o.updateDeps=l=>{n=l},o}function oy(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const CF=(e,t)=>Math.abs(e-t)<1.01,SF=(e,t,a)=>{let n;return function(...r){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,r),a)}},iy=e=>{const{offsetWidth:t,offsetHeight:a}=e;return{width:t,height:a}},MF=e=>e,$F=e=>{const t=Math.max(e.startIndex-e.overscan,0),a=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let r=t;r<=a;r++)n.push(r);return n},AF=(e,t)=>{const a=e.scrollElement;if(!a)return;const n=e.targetWindow;if(!n)return;const r=o=>{const{width:l,height:c}=o;t({width:Math.round(l),height:Math.round(c)})};if(r(iy(a)),!n.ResizeObserver)return()=>{};const s=new n.ResizeObserver(o=>{const l=()=>{const c=o[0];if(c?.borderBoxSize){const u=c.borderBoxSize[0];if(u){r({width:u.inlineSize,height:u.blockSize});return}}r(iy(a))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()});return s.observe(a,{box:"border-box"}),()=>{s.unobserve(a)}},ly={passive:!0},cy=typeof window>"u"?!0:"onscrollend"in window,IF=(e,t)=>{const a=e.scrollElement;if(!a)return;const n=e.targetWindow;if(!n)return;let r=0;const s=e.options.useScrollendEvent&&cy?()=>{}:SF(n,()=>{t(r,!1)},e.options.isScrollingResetDelay),o=d=>()=>{const{horizontal:f,isRtl:p}=e.options;r=f?a.scrollLeft*(p&&-1||1):a.scrollTop,s(),t(r,d)},l=o(!0),c=o(!1);a.addEventListener("scroll",l,ly);const u=e.options.useScrollendEvent&&cy;return u&&a.addEventListener("scrollend",c,ly),()=>{a.removeEventListener("scroll",l),u&&a.removeEventListener("scrollend",c)}},TF=(e,t,a)=>{if(t?.borderBoxSize){const n=t.borderBoxSize[0];if(n)return Math.round(n[a.options.horizontal?"inlineSize":"blockSize"])}return e[a.options.horizontal?"offsetWidth":"offsetHeight"]},PF=(e,{adjustments:t=0,behavior:a},n)=>{var r,s;const o=e+t;(s=(r=n.scrollElement)==null?void 0:r.scrollTo)==null||s.call(r,{[n.options.horizontal?"left":"top"]:o,behavior:a})};class DF{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let a=null;const n=()=>a||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:a=new this.targetWindow.ResizeObserver(r=>{r.forEach(s=>{const o=()=>{this._measureElement(s.target,s)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})}));return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),a=null},observe:r=>{var s;return(s=n())==null?void 0:s.observe(r,{box:"border-box"})},unobserve:r=>{var s;return(s=n())==null?void 0:s.unobserve(r)}}})(),this.range=null,this.setOptions=a=>{Object.entries(a).forEach(([n,r])=>{typeof r>"u"&&delete a[n]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:MF,rangeExtractor:$F,onChange:()=>{},measureElement:TF,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...a}},this.notify=a=>{var n,r;(r=(n=this.options).onChange)==null||r.call(n,this,a)},this.maybeNotify=io(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),a=>{this.notify(a)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(a=>a()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var a;const n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((a=this.scrollElement)==null?void 0:a.window)??null,this.elementsCache.forEach(r=>{this.observer.observe(r)}),this.unsubs.push(this.options.observeElementRect(this,r=>{this.scrollRect=r,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(r,s)=>{this.scrollAdjustments=0,this.scrollDirection=s?this.getScrollOffset()<r?"forward":"backward":null,this.scrollOffset=r,this.isScrolling=s,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(a,n)=>{const r=new Map,s=new Map;for(let o=n-1;o>=0;o--){const l=a[o];if(r.has(l.lane))continue;const c=s.get(l.lane);if(c==null||l.end>c.end?s.set(l.lane,l):l.end<c.end&&r.set(l.lane,!0),r.size===this.options.lanes)break}return s.size===this.options.lanes?Array.from(s.values()).sort((o,l)=>o.end===l.end?o.index-l.index:o.end-l.end)[0]:void 0},this.getMeasurementOptions=io(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(a,n,r,s,o,l)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMeasuredCacheIndexes=[],{count:a,paddingStart:n,scrollMargin:r,getItemKey:s,enabled:o,lanes:l}),{key:!1}),this.getMeasurements=io(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:a,paddingStart:n,scrollMargin:r,getItemKey:s,enabled:o,lanes:l},c)=>{if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>a)for(const p of this.laneAssignments.keys())p>=a&&this.laneAssignments.delete(p);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(p=>{this.itemSizeCache.set(p.key,p.size)}));const u=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===a&&(this.lanesSettling=!1);const d=this.measurementsCache.slice(0,u),f=new Array(l).fill(void 0);for(let p=0;p<u;p++){const m=d[p];m&&(f[m.lane]=p)}for(let p=u;p<a;p++){const m=s(p),g=this.laneAssignments.get(p);let y,_;if(g!==void 0&&this.options.lanes>1){y=g;const w=f[y],A=w!==void 0?d[w]:void 0;_=A?A.end+this.options.gap:n+r}else{const w=this.options.lanes===1?d[p-1]:this.getFurthestMeasurement(d,p);_=w?w.end+this.options.gap:n+r,y=w?w.lane:p%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(p,y)}const v=c.get(m),h=typeof v=="number"?v:this.options.estimateSize(p),k=_+h;d[p]={index:p,start:_,size:h,end:k,key:m,lane:y},f[y]=p}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=io(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(a,n,r,s)=>this.range=a.length>0&&n>0?EF({measurements:a,outerSize:n,scrollOffset:r,lanes:s}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=io(()=>{let a=null,n=null;const r=this.calculateRange();return r&&(a=r.startIndex,n=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,a,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,a,n]},(a,n,r,s,o)=>s===null||o===null?[]:a({startIndex:s,endIndex:o,overscan:n,count:r}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=a=>{const n=this.options.indexAttribute,r=a.getAttribute(n);return r?parseInt(r,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this._measureElement=(a,n)=>{const r=this.indexFromElement(a),s=this.measurementsCache[r];if(!s)return;const o=s.key,l=this.elementsCache.get(o);l!==a&&(l&&this.observer.unobserve(l),this.observer.observe(a),this.elementsCache.set(o,a)),a.isConnected&&this.resizeItem(r,this.options.measureElement(a,n,this))},this.resizeItem=(a,n)=>{const r=this.measurementsCache[a];if(!r)return;const s=this.itemSizeCache.get(r.key)??r.size,o=n-s;o!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(r,o,this):r.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(r.index),this.itemSizeCache=new Map(this.itemSizeCache.set(r.key,n)),this.notify(!1))},this.measureElement=a=>{if(!a){this.elementsCache.forEach((n,r)=>{n.isConnected||(this.observer.unobserve(n),this.elementsCache.delete(r))});return}this._measureElement(a,void 0)},this.getVirtualItems=io(()=>[this.getVirtualIndexes(),this.getMeasurements()],(a,n)=>{const r=[];for(let s=0,o=a.length;s<o;s++){const l=a[s],c=n[l];r.push(c)}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=a=>{const n=this.getMeasurements();if(n.length!==0)return oy(n[Aw(0,n.length-1,r=>oy(n[r]).start,a)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const a=this.scrollElement.document.documentElement;return this.options.horizontal?a.scrollWidth-this.scrollElement.innerWidth:a.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(a,n,r=0)=>{if(!this.scrollElement)return 0;const s=this.getSize(),o=this.getScrollOffset();n==="auto"&&(n=a>=o+s?"end":"start"),n==="center"?a+=(r-s)/2:n==="end"&&(a-=s);const l=this.getMaxScrollOffset();return Math.max(Math.min(l,a),0)},this.getOffsetForIndex=(a,n="auto")=>{a=Math.max(0,Math.min(a,this.options.count-1));const r=this.measurementsCache[a];if(!r)return;const s=this.getSize(),o=this.getScrollOffset();if(n==="auto")if(r.end>=o+s-this.options.scrollPaddingEnd)n="end";else if(r.start<=o+this.options.scrollPaddingStart)n="start";else return[o,n];if(n==="end"&&a===this.options.count-1)return[this.getMaxScrollOffset(),n];const l=n==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,n,r.size),n]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(a,{align:n="start",behavior:r}={})=>{r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(a,n),{adjustments:void 0,behavior:r})},this.scrollToIndex=(a,{align:n="auto",behavior:r}={})=>{r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),a=Math.max(0,Math.min(a,this.options.count-1)),this.currentScrollToIndex=a;let s=0;const o=10,l=u=>{if(!this.targetWindow)return;const d=this.getOffsetForIndex(a,u);if(!d){console.warn("Failed to get offset for index:",a);return}const[f,p]=d;this._scrollToOffset(f,{adjustments:void 0,behavior:r}),this.targetWindow.requestAnimationFrame(()=>{const m=()=>{if(this.currentScrollToIndex!==a)return;const g=this.getScrollOffset(),y=this.getOffsetForIndex(a,p);if(!y){console.warn("Failed to get offset for index:",a);return}CF(y[0],g)||c(p)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(m):m()})},c=u=>{this.targetWindow&&this.currentScrollToIndex===a&&(s++,s<o?this.targetWindow.requestAnimationFrame(()=>l(u)):console.warn(`Failed to scroll to index ${a} after ${o} attempts.`))};l(n)},this.scrollBy=(a,{behavior:n}={})=>{n==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+a,{adjustments:void 0,behavior:n})},this.getTotalSize=()=>{var a;const n=this.getMeasurements();let r;if(n.length===0)r=this.options.paddingStart;else if(this.options.lanes===1)r=((a=n[n.length-1])==null?void 0:a.end)??0;else{const s=Array(this.options.lanes).fill(null);let o=n.length-1;for(;o>=0&&s.some(l=>l===null);){const l=n[o];s[l.lane]===null&&(s[l.lane]=l.end),o--}r=Math.max(...s.filter(l=>l!==null))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(a,{adjustments:n,behavior:r})=>{this.options.scrollToFn(a,{behavior:r,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}}const Aw=(e,t,a,n)=>{for(;e<=t;){const r=(e+t)/2|0,s=a(r);if(s<n)e=r+1;else if(s>n)t=r-1;else return r}return e>0?e-1:0};function EF({measurements:e,outerSize:t,scrollOffset:a,lanes:n}){const r=e.length-1,s=c=>e[c].start;if(e.length<=n)return{startIndex:0,endIndex:r};let o=Aw(0,r,s,a),l=o;if(n===1)for(;l<r&&e[l].end<a+t;)l++;else if(n>1){const c=Array(n).fill(0);for(;l<r&&c.some(d=>d<a+t);){const d=e[l];c[d.lane]=d.end,l++}const u=Array(n).fill(a+t);for(;o>=0&&u.some(d=>d>=a);){const d=e[o];u[d.lane]=d.start,o--}o=Math.max(0,o-o%n),l=Math.min(r,l+(n-1-l%n))}return{startIndex:o,endIndex:l}}function RF(e){const t=new DF(i(e)),a=pt(t),n=t._didMount();return Pe(()=>i(e).getScrollElement(),r=>{r&&t._willUpdate()},{immediate:!0}),Pe(()=>i(e),r=>{t.setOptions({...r,onChange:(s,o)=>{var l;jf(a),(l=r.onChange)==null||l.call(r,s,o)}}),t._willUpdate(),jf(a)},{immediate:!0}),Qo(n),a}function Md(e){return RF($(()=>({observeElementRect:AF,observeElementOffset:IF,scrollToFn:PF,...i(e)})))}const OF=[{tag:"n",name:"名词",description:"普通名词",meaningful:!0},{tag:"nr",name:"人名",description:"人名",meaningful:!0},{tag:"ns",name:"地名",description:"地名",meaningful:!0},{tag:"nt",name:"机构名",description:"机构团体名",meaningful:!0},{tag:"nz",name:"其他专名",description:"其他专有名词",meaningful:!0},{tag:"nw",name:"作品名",description:"作品名",meaningful:!0},{tag:"v",name:"动词",description:"普通动词",meaningful:!1},{tag:"vn",name:"动名词",description:"动名词",meaningful:!0},{tag:"vd",name:"副动词",description:"副动词",meaningful:!1},{tag:"vg",name:"动语素",description:"动词性语素",meaningful:!1},{tag:"a",name:"形容词",description:"普通形容词",meaningful:!0},{tag:"an",name:"名形词",description:"名形词",meaningful:!0},{tag:"ad",name:"副形词",description:"副形词",meaningful:!0},{tag:"ag",name:"形语素",description:"形容词性语素",meaningful:!0},{tag:"i",name:"成语",description:"成语",meaningful:!0},{tag:"l",name:"习用语",description:"习用语",meaningful:!0},{tag:"j",name:"简称",description:"简称略语",meaningful:!0},{tag:"d",name:"副词",description:"副词",meaningful:!1},{tag:"p",name:"介词",description:"介词",meaningful:!1},{tag:"c",name:"连词",description:"连词",meaningful:!1},{tag:"u",name:"助词",description:"助词",meaningful:!1},{tag:"r",name:"代词",description:"代词",meaningful:!1},{tag:"m",name:"数词",description:"数词",meaningful:!1},{tag:"q",name:"量词",description:"量词",meaningful:!1},{tag:"f",name:"方位词",description:"方位词",meaningful:!1},{tag:"t",name:"时间词",description:"时间词",meaningful:!1},{tag:"e",name:"叹词",description:"叹词",meaningful:!1},{tag:"y",name:"语气词",description:"语气词",meaningful:!1},{tag:"o",name:"拟声词",description:"拟声词",meaningful:!1},{tag:"x",name:"非语素字",description:"非语素字",meaningful:!1},{tag:"w",name:"标点符号",description:"标点符号",meaningful:!1}];new Set(OF.filter(e=>e.meaningful).map(e=>e.tag));var Ht=(e=>(e[e.TEXT=0]="TEXT",e[e.IMAGE=1]="IMAGE",e[e.VOICE=2]="VOICE",e[e.VIDEO=3]="VIDEO",e[e.FILE=4]="FILE",e[e.EMOJI=5]="EMOJI",e[e.LINK=7]="LINK",e[e.LOCATION=8]="LOCATION",e[e.RED_PACKET=20]="RED_PACKET",e[e.TRANSFER=21]="TRANSFER",e[e.POKE=22]="POKE",e[e.CALL=23]="CALL",e[e.SHARE=24]="SHARE",e[e.REPLY=25]="REPLY",e[e.FORWARD=26]="FORWARD",e[e.CONTACT=27]="CONTACT",e[e.SYSTEM=80]="SYSTEM",e[e.RECALL=81]="RECALL",e[e.OTHER=99]="OTHER",e))(Ht||{});const LF=["general_cn","general_tw","general_en","general_ja"],qF="general_cn";function Hc(e){return e?.startsWith("zh-TW")?"general_tw":e?.startsWith("en")?"general_en":e?.startsWith("ja")?"general_ja":qF}function W_e(e){return LF.some(t=>t===e)}const K_e=["1y","2y","3y","5y","all"];Ht.SYSTEM,Ht.RECALL;const NF=5,FF=1;function VF(e){return e.groupSessionCount>=FF||e.privateSessionCount>=NF}Ht.TEXT+"",Ht.IMAGE+"",Ht.VOICE+"",Ht.VIDEO+"",Ht.FILE+"",Ht.EMOJI+"",Ht.LINK+"",Ht.LOCATION+"",Ht.RED_PACKET+"",Ht.TRANSFER+"",Ht.POKE+"",Ht.CALL+"",Ht.SHARE+"",Ht.REPLY+"",Ht.FORWARD+"",Ht.CONTACT+"",Ht.SYSTEM+"",Ht.RECALL+"",Ht.OTHER+"";function BF(e){const t=e.trim().replace(/^v/i,""),a=/^(\d+)\.(\d+)\.(\d+)$/.exec(t);return a?Iw(a):null}function zF(e){const t=e.trim().replace(/^v/i,""),a=/^(\d+)\.(\d+)\.(\d+)(-[0-9A-Za-z.-]+)?$/.exec(t);return a?{...Iw(a),prerelease:!!a[4]}:null}function Iw(e){return{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3])}}function HF(e,t){const a=BF(e),n=zF(t);return!a||!n?!1:a.major!==n.major?a.major>n.major:a.minor!==n.minor?a.minor>n.minor:a.patch!==n.patch?a.patch>n.patch:n.prerelease}const Pi="chart_runtime";function qe(e){return{...e,builtin:!0,editable:!1}}qe({id:"gpt-5.4-pro",providerId:"openai",name:"GPT-5.4 Pro",description:"Latest flagship, best reasoning & coding",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gpt-5.4",providerId:"openai",name:"GPT-5.4",description:"GPT-5.4 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gpt-5.2-pro",providerId:"openai",name:"GPT-5.2 Pro",description:"GPT-5.2 Pro",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-5.2",providerId:"openai",name:"GPT-5.2",description:"GPT-5.2 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-5.1",providerId:"openai",name:"GPT-5.1",description:"GPT-5.1",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-5-pro",providerId:"openai",name:"GPT-5 Pro",description:"GPT-5 Pro",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-5",providerId:"openai",name:"GPT-5",description:"GPT-5 standard",contextWindow:1e6,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-4.1",providerId:"openai",name:"GPT-4.1",description:"Best at coding & instruction following",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gpt-4.1-mini",providerId:"openai",name:"GPT-4.1 Mini",description:"Cost-effective",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gpt-4.1-nano",providerId:"openai",name:"GPT-4.1 Nano",description:"Fastest and most affordable",contextWindow:1047576,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-4o",providerId:"openai",name:"GPT-4o",description:"Multimodal flagship model",contextWindow:128e3,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"gpt-4o-mini",providerId:"openai",name:"GPT-4o Mini",description:"Lightweight multimodal model",contextWindow:128e3,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"o3",providerId:"openai",name:"o3",description:"Advanced reasoning model",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"o4-mini",providerId:"openai",name:"o4-mini",description:"Efficient reasoning model",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"text-embedding-3-small",providerId:"openai",name:"Text Embedding 3 Small",description:"Efficient embedding model",contextWindow:8191,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"}),qe({id:"text-embedding-3-large",providerId:"openai",name:"Text Embedding 3 Large",description:"High-precision embedding model",contextWindow:8191,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});qe({id:"claude-opus-4-6",providerId:"anthropic",name:"Claude Opus 4.6",description:"Latest flagship, adaptive thinking",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"claude-sonnet-4-6",providerId:"anthropic",name:"Claude Sonnet 4.6",description:"Cost-effective, adaptive thinking",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"claude-opus-4-5",providerId:"anthropic",name:"Claude Opus 4.5",description:"Previous generation flagship",contextWindow:2e5,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"claude-sonnet-4-5",providerId:"anthropic",name:"Claude Sonnet 4.5",description:"Previous generation cost-effective",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"claude-haiku-4-5",providerId:"anthropic",name:"Claude Haiku 4.5",description:"Fast and lightweight",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"claude-sonnet-4-20250514",providerId:"anthropic",name:"Claude Sonnet 4",description:"Sonnet 4 snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"claude-opus-4-20250514",providerId:"anthropic",name:"Claude Opus 4",description:"Opus 4 snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"claude-haiku-3-5-20241022",providerId:"anthropic",name:"Claude 3.5 Haiku",description:"3.5 Haiku snapshot",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"});qe({id:"gemini-3.1-pro-preview",providerId:"gemini",name:"Gemini 3.1 Pro",description:"Latest Gemini 3.1 Pro preview",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"preview"}),qe({id:"gemini-3-pro-preview",providerId:"gemini",name:"Gemini 3 Pro",description:"Gemini 3 Pro preview",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"preview"}),qe({id:"gemini-2.5-flash",providerId:"gemini",name:"Gemini 2.5 Flash",description:"Cost-effective, low latency, adaptive thinking",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gemini-2.5-pro",providerId:"gemini",name:"Gemini 2.5 Pro",description:"Deep reasoning and complex tasks",contextWindow:1048576,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"gemini-2.0-flash",providerId:"gemini",name:"Gemini 2.0 Flash",description:"Previous generation fast model",contextWindow:1048576,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"text-embedding-004",providerId:"gemini",name:"Text Embedding 004",description:"Google embedding model",contextWindow:2048,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});qe({id:"deepseek-v4-pro",providerId:"deepseek",name:"DeepSeek V4 Pro",description:"Flagship model, 1M context, thinking & non-thinking",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"deepseek-v4-flash",providerId:"deepseek",name:"DeepSeek V4 Flash",description:"Fast model, 1M context, thinking & non-thinking",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"});qe({id:"qwen3.5-plus",providerId:"qwen",name:"Qwen3.5 Plus",description:"Latest Qwen3.5 flagship",contextWindow:262144,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"qwen3.5-flash",providerId:"qwen",name:"Qwen3.5 Flash",description:"Qwen3.5 fast version",contextWindow:262144,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"qwen3-max",providerId:"qwen",name:"Qwen3 Max",description:"Qwen3 massive-scale",contextWindow:262144,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"qwen-max",providerId:"qwen",name:"Qwen Max",description:"Massive-scale language model",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"qwen-plus",providerId:"qwen",name:"Qwen Plus",description:"Good quality, suitable for most scenarios",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"qwen-turbo",providerId:"qwen",name:"Qwen Turbo",description:"Fast and cost-effective",contextWindow:1e6,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"qwen-long",providerId:"qwen",name:"Qwen Long",description:"Ultra-long context model",contextWindow:262144,capabilities:["chat"],recommendedFor:[],status:"stable"}),qe({id:"text-embedding-v3",providerId:"qwen",name:"Text Embedding V3",description:"Qwen embedding model",contextWindow:8192,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});qe({id:"glm-5",providerId:"glm",name:"GLM-5",description:"Latest flagship model",contextWindow:2e5,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"glm-4.7",providerId:"glm",name:"GLM-4.7",description:"GLM-4.7 high performance",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"glm-4.6v",providerId:"glm",name:"GLM-4.6V",description:"4.6 multimodal model",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"glm-4.6v-flash",providerId:"glm",name:"GLM-4.6V Flash",description:"4.6V free multimodal",contextWindow:2e5,capabilities:["chat","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"glm-4.5",providerId:"glm",name:"GLM-4.5",description:"GLM-4.5 standard",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"glm-4.5-flash",providerId:"glm",name:"GLM-4.5 Flash",description:"4.5 free model",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"glm-4-plus",providerId:"glm",name:"GLM-4 Plus",description:"Previous generation flagship",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"glm-4-flash",providerId:"glm",name:"GLM-4 Flash",description:"Fast model",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"embedding-3",providerId:"glm",name:"Embedding-3",description:"Zhipu embedding model",contextWindow:8192,capabilities:["embedding"],recommendedFor:["embedding"],status:"stable"});qe({id:"kimi-k2.5",providerId:"kimi",name:"Kimi K2.5",description:"Latest flagship with vision support",contextWindow:262144,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"kimi-k2-thinking",providerId:"kimi",name:"Kimi K2 Thinking",description:"K2 deep reasoning",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"kimi-k2-thinking-turbo",providerId:"kimi",name:"Kimi K2 Thinking Turbo",description:"K2 fast reasoning",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"kimi-k2-0905-Preview",providerId:"kimi",name:"Kimi K2 Preview",description:"K2 preview",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"preview"}),qe({id:"moonshot-v1-auto",providerId:"kimi",name:"Moonshot V1 Auto",description:"Auto-select context length",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});qe({id:"doubao-seed-2-0-pro-260215",providerId:"doubao",name:"Doubao Seed 2.0 Pro",description:"Latest flagship model",contextWindow:256e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"doubao-seed-2-0-lite-260215",providerId:"doubao",name:"Doubao Seed 2.0 Lite",description:"Seed 2.0 lightweight",contextWindow:256e3,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"doubao-seed-2-0-mini-260215",providerId:"doubao",name:"Doubao Seed 2.0 Mini",description:"Seed 2.0 ultra-fast",contextWindow:256e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"doubao-seed-1-8-251228",providerId:"doubao",name:"Doubao Seed 1.8",description:"Previous generation flagship",contextWindow:128e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"doubao-seed-1-6-251015",providerId:"doubao",name:"Doubao Seed 1.6",description:"High-performance general model",contextWindow:128e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"doubao-seed-1-6-lite-251015",providerId:"doubao",name:"Doubao Seed 1.6 Lite",description:"Lightweight and cost-effective",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});qe({id:"deepseek-ai/DeepSeek-V3.2",providerId:"siliconflow",name:"DeepSeek V3.2",description:"DeepSeek V3.2 on SiliconFlow",contextWindow:128e3,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"deepseek-ai/DeepSeek-R1",providerId:"siliconflow",name:"DeepSeek R1",description:"DeepSeek R1 reasoning model",contextWindow:65536,capabilities:["chat","reasoning"],recommendedFor:["chat"],status:"stable"}),qe({id:"Qwen/Qwen3-8B",providerId:"siliconflow",name:"Qwen3 8B",description:"Qwen3 8B lightweight model",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"});qe({id:"llama3-70b-8192",providerId:"groq",name:"LLaMA3 70B",description:"Meta LLaMA3 70B ultra-fast inference",contextWindow:8192,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"llama3-8b-8192",providerId:"groq",name:"LLaMA3 8B",description:"Meta LLaMA3 8B lightweight ultra-fast",contextWindow:8192,capabilities:["chat"],recommendedFor:["chat"],status:"stable"}),qe({id:"mistral-saba-24b",providerId:"groq",name:"Mistral Saba 24B",description:"Mistral Saba 24B",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"}),qe({id:"gemma-9b-it",providerId:"groq",name:"Gemma 9B",description:"Google Gemma 9B",contextWindow:8192,capabilities:["chat"],recommendedFor:[],status:"stable"});qe({id:"deepseek/deepseek-v4-pro",providerId:"openrouter",name:"DeepSeek V4 Pro",description:"DeepSeek V4 Pro via OpenRouter",contextWindow:1e6,capabilities:["chat","reasoning","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"google/gemini-2.5-flash-preview",providerId:"openrouter",name:"Gemini 2.5 Flash",description:"Google Gemini 2.5 Flash via OpenRouter",contextWindow:1048576,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"mistralai/mistral-7b-instruct:free",providerId:"openrouter",name:"Mistral 7B (Free)",description:"Mistral 7B free tier",contextWindow:32768,capabilities:["chat"],recommendedFor:[],status:"stable"});qe({id:"grok-4",providerId:"xai",name:"Grok 4",description:"Latest flagship model",contextWindow:256e3,capabilities:["chat","reasoning","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"grok-3",providerId:"xai",name:"Grok 3",description:"Grok 3 standard",contextWindow:131072,capabilities:["chat","vision","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"grok-3-fast",providerId:"xai",name:"Grok 3 Fast",description:"Grok 3 fast version",contextWindow:131072,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"grok-3-mini",providerId:"xai",name:"Grok 3 Mini",description:"Grok 3 small reasoning model",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"grok-3-mini-fast",providerId:"xai",name:"Grok 3 Mini Fast",description:"Grok 3 Mini fast version",contextWindow:131072,capabilities:["chat","reasoning","function_calling"],recommendedFor:[],status:"stable"});qe({id:"MiniMax-M2.7",providerId:"minimax",name:"MiniMax M2.7",description:"Latest flagship model",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"MiniMax-M2.7-highspeed",providerId:"minimax",name:"MiniMax M2.7 HS",description:"M2.7 high-speed",contextWindow:2e5,capabilities:["chat","function_calling"],recommendedFor:["chat"],status:"stable"}),qe({id:"MiniMax-M2.5",providerId:"minimax",name:"MiniMax M2.5",description:"M2.5 standard",contextWindow:204800,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"}),qe({id:"MiniMax-M2.5-highspeed",providerId:"minimax",name:"MiniMax M2.5 HS",description:"M2.5 high-speed",contextWindow:204800,capabilities:["chat","function_calling"],recommendedFor:[],status:"stable"});const UF=4e3,jF=`
36
+ …[truncated]`;function uy(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dy(e){return!uy(e)||!Array.isArray(e.content)?"":e.content.map(t=>uy(t)&&t.type==="text"&&typeof t.text=="string"?t.text:"").filter(t=>t.length>0).join(`
37
+ `)}function fy(e,t=UF){return e.length<=t?e:e.slice(0,t)+jF}function WF(e,t,a={}){let n=!1,r=null;const s=()=>{n||(n=!0,t(),r?.disconnect(),r=null)};return typeof IntersectionObserver>"u"?(s(),()=>{}):(r=new IntersectionObserver(o=>{o.some(l=>l.isIntersecting||l.intersectionRatio>0)&&s()},{rootMargin:"160px 0px",threshold:0,...a}),r.observe(e),()=>{r?.disconnect(),r=null})}const KF=["src","alt"],Tw=ue({__name:"LazyAvatar",props:{src:{default:null},alt:{},text:{},rootClass:{default:"h-8 w-8 shrink-0"},imageClass:{default:"h-8 w-8 rounded-full object-cover"},fallbackClass:{default:"flex h-8 w-8 items-center justify-center rounded-full text-[10px] font-bold"},rootMargin:{default:"160px 0px"}},setup(e){const t=e,a=E(null),n=E(!1);let r=null;const s=$(()=>!!t.src);function o(){r?.(),r=null}function l(){o(),n.value=!1,!(!t.src||!a.value)&&(r=WF(a.value,()=>{n.value=!0},{rootMargin:t.rootMargin}))}return Ke(l),Pe(()=>t.src,()=>{l()}),Hs(o),(c,u)=>(x(),F("div",{ref_key:"avatarRoot",ref:a,class:xe(e.rootClass)},[s.value&&n.value?(x(),F("img",{key:0,src:e.src,alt:e.alt,class:xe(e.imageClass),loading:"lazy",decoding:"async"},null,10,KF)):(x(),F("div",{key:1,class:xe(e.fallbackClass)},C(e.text),3))],2))}}),Er=Wn("layout",()=>{const e=E(!1),t=E(!1),a=E(null),n=E(!1),r=E(null),s=E(!1),o=E(!1),l=E("header"),c=E(!1),u=E(!1),d=E("settings"),f=E(null);function p(){e.value=!e.value}function m(M){a.value=M,t.value=!0}function g(){t.value=!1,setTimeout(()=>{a.value=null},300)}function y(M){r.value=M,n.value=!0}function _(){n.value=!1,setTimeout(()=>{r.value=null},300)}function v(){s.value=!s.value}function h(){c.value=!c.value}function k(M,S){d.value=M||"settings",f.value=S||null,u.value=!0}function w(){u.value=!1}function A(){o.value=!o.value,o.value&&(s.value=!1)}return{isSidebarCollapsed:e,isToolsPanelLocked:s,isToolsPanelMini:o,toolsPanelPosition:l,isToolsPanelOpen:c,showScreenCaptureModal:t,screenCaptureImage:a,showChatRecordDrawer:n,chatRecordQuery:r,showSettings:u,settingsTab:d,settingsSubTab:f,toggleSidebar:p,toggleToolsPanelLock:v,toggleToolsPanelOpen:h,toggleToolsPanelMini:A,openScreenCaptureModal:m,closeScreenCaptureModal:g,openChatRecordDrawer:y,closeChatRecordDrawer:_,openSettings:k,closeSettings:w}},{persist:[{pick:["isSidebarCollapsed","isToolsPanelLocked","isToolsPanelMini","toolsPanelPosition"],storage:localStorage}]}),GF={key:0,class:"absolute -left-2 top-1/2 h-4.5 w-[3px] -translate-y-1/2 rounded-r-full bg-primary-500"},YF={key:0,class:"absolute -left-2 top-1/2 h-4.5 w-[3px] -translate-y-1/2 rounded-r-full bg-primary-500"},XF={class:"truncate text-xs font-medium"},Uc=ue({__name:"SidebarButton",props:{icon:{},title:{},active:{type:Boolean,default:!1},tooltip:{type:[String,Boolean],default:""},iconClass:{default:""}},setup(e){const t=Er(),{isSidebarCollapsed:a}=aa(t);return(n,r)=>{const s=Xe,o=hi,l=nt;return i(a)?(x(),N(o,{key:0,text:e.tooltip===!1?"":e.tooltip||e.title,disabled:e.tooltip===!1,content:{side:"right"}},{default:T(()=>[b("div",{class:xe(["relative mx-auto flex h-10 w-10 cursor-pointer items-center justify-center rounded-lg transition-all duration-200",[e.active?"text-primary-600 dark:text-primary-400":"text-gray-600 dark:text-gray-300 hover:bg-gray-200/20 dark:hover:bg-white/[0.04]"]])},[e.active?(x(),F("span",GF)):se("",!0),I(s,{name:e.icon,class:xe(["h-5 w-5 shrink-0",e.iconClass])},null,8,["name","class"])],2)]),_:1},8,["text","disabled"])):(x(),N(l,{key:1,class:xe(["relative h-10 w-full cursor-pointer justify-start rounded-xl pl-2.5 transition-all duration-200 hover:bg-gray-200/20 active:bg-gray-200/20 dark:hover:bg-white/[0.04] dark:active:bg-white/[0.04]",[e.active?"text-primary-600 font-medium dark:text-primary-400":"text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-white"]]),color:"neutral",variant:"ghost"},{default:T(()=>[e.active?(x(),F("span",YF)):se("",!0),I(s,{name:e.icon,class:xe(["mr-2.5 h-5 w-5 shrink-0",e.iconClass])},null,8,["name","class"]),b("span",XF,C(e.title),1)]),_:1},8,["class"]))}}}),JF={class:"mb-2 space-y-2 px-2 py-2 dark:border-gray-800"},QF=ue({__name:"SidebarFooter",setup(e){const{t}=ot(),a=Er(),{showSettings:n}=aa(a);return(r,s)=>(x(),F("div",JF,[I(Uc,{icon:"i-heroicons-cog-6-tooth",title:i(t)("layout.footer.settings"),active:i(n),tooltip:!1,onClick:s[0]||(s[0]=o=>i(a).openSettings())},null,8,["title","active"])]))}}),ZF={slots:{content:"bg-default shadow-lg rounded-md ring ring-default data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-popover-content-transform-origin) focus:outline-none pointer-events-auto",arrow:"fill-bg stroke-default"}},Pw={__name:"Popover",props:{mode:{type:null,required:!1,default:"click"},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:null,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},modal:{type:Boolean,required:!1},openDelay:{type:Number,required:!1,default:0},closeDelay:{type:Number,required:!1,default:0}},emits:["close:prevent","update:open"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("popover",a),o=kt(),l=s.mode==="hover"?xa(s,"defaultOpen","open","openDelay","closeDelay"):xa(s,"defaultOpen","open","modal"),c=Ma(l,n),u=Qs(_t(()=>s.portal)),d=_t(()=>za(s.content,{side:"bottom",sideOffset:8,collisionPadding:8})),f=$(()=>s.dismissible?{pointerDownOutside:Sg}:["interactOutside","escapeKeyDown"].reduce((_,v)=>(_[v]=h=>{h.preventDefault(),n("close:prevent")},_),{})),p=_t(()=>za(s.arrow,{rounded:!0})),m=$(()=>tt({extend:tt(ZF),...o.ui?.popover||{}})({side:d.value.side})),g=$(()=>s.mode==="hover"?dF:mF);return(y,_)=>(x(),N(i(g).Root,He(Ge(i(c))),{default:T(({open:v,close:h})=>[r.default?(x(),N(i(g).Trigger,{key:0,"as-child":"",class:xe(i(s).class)},{default:T(()=>[Z(y.$slots,"default",{open:v})]),_:2},1032,["class"])):se("",!0),"Anchor"in g.value&&r.anchor?(x(),N(i(g).Anchor,{key:1,"as-child":""},{default:T(()=>[Z(y.$slots,"anchor",He(Ge(h?{close:h}:{})))]),_:2},1024)):se("",!0),I(i(g).Portal,He(Ge(i(u))),{default:T(()=>[I(i(mi),null,{default:T(()=>[I(i(g).Content,$e(d.value,{reference:i(s).reference??i(s).content?.reference,"data-slot":"content",class:m.value.content({class:[!r.default&&i(s).class,i(s).ui?.content]})},Wu(f.value)),{default:T(()=>[Z(y.$slots,"content",He(Ge(h?{close:h}:{}))),i(s).arrow?(x(),N(i(g).Arrow,$e({key:0},p.value,{"data-slot":"arrow",class:m.value.arrow({class:i(s).ui?.arrow})}),null,16,["class"])):se("",!0)]),_:2},1040,["reference","class"])]),_:2},1024)]),_:2},1040)]),_:3},16))}},jt=!1;let Hn="/_web",Dw="",em,yl;function Ew(e){e.baseUrl!==void 0&&(Hn=e.baseUrl),e.token!==void 0&&(Dw=e.token),e.getToken!==void 0&&(em=e.getToken??void 0),e.on401!==void 0&&(yl=e.on401??void 0)}function Rw(){return em?em():Dw}function vi(){const e=Rw();return e?{Authorization:`Bearer ${e}`}:{}}function eV(){return Hn}function tV(e){if(!Hn.startsWith("http://")&&!Hn.startsWith("https://")||e.startsWith("http://")||e.startsWith("https://"))return e;try{return`${new URL(Hn).origin}${e}`}catch{return e}}async function ur(e,t){const a=new Headers(t?.headers),n=Rw();n&&!a.has("Authorization")&&a.set("Authorization",`Bearer ${n}`);const r=tV(e),s=await fetch(r,{...t,headers:a});return s.status===401&&yl&&yl(),s}function jl(e){e.status===401&&yl&&yl()}async function Ki(e,t){const a=await fetch(`${Hn}${e}`,{headers:vi(),signal:t});if(jl(a),!a.ok){const n=await a.text().catch(()=>"");throw new Error(`HTTP ${a.status}: ${n}`)}return a.json()}async function qs(e,t,a){const n=t!==void 0,r=await fetch(`${Hn}${e}`,{method:"POST",headers:{...vi(),...n&&{"Content-Type":"application/json"}},...n&&{body:JSON.stringify(t)},signal:a});if(jl(r),!r.ok){const s=await r.text().catch(()=>"");throw new Error(`HTTP ${r.status}: ${s}`)}return r.json()}let Gi=new AbortController;function aV(){Gi.abort(),Gi=new AbortController}function nV(e){return e instanceof Error&&e.name==="AbortError"}function py(){return new Promise(()=>{})}function Mg(e){const t=Gi;return e(t.signal).then(a=>t===Gi?a:py()).catch(a=>{if(t!==Gi||nV(a))return py();throw a})}function rV(e){return Mg(t=>Ki(e,t))}function sV(e,t){return Mg(a=>qs(e,t,a))}async function oV(e){const t=await fetch(`${Hn}${e}`,{method:"DELETE",headers:vi()});if(jl(t),!t.ok){const a=await t.text().catch(()=>"");throw new Error(`HTTP ${t.status}: ${a}`)}return t.json()}async function Ow(e,t){const a=t!==void 0,n=await fetch(`${Hn}${e}`,{method:"PUT",headers:{...vi(),...a&&{"Content-Type":"application/json"}},...a&&{body:JSON.stringify(t)}});if(jl(n),!n.ok){const r=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status}: ${r}`)}return n.json()}async function iV(e,t){const a=t!==void 0,n=await fetch(`${Hn}${e}`,{method:"PATCH",headers:{...vi(),...a&&{"Content-Type":"application/json"}},...a&&{body:JSON.stringify(t)}});if(jl(n),!n.ok){const r=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status}: ${r}`)}return n.json()}const lV=Object.freeze(Object.defineProperty({__proto__:null,abortAnalyticsRequests:aV,analyticsGet:rV,analyticsPost:sV,configureHttpClient:Ew,del:oV,fetchWithAuth:ur,get:Ki,getAuthHeaders:vi,getBaseUrl:eV,patch:iV,post:qs,put:Ow,withAnalyticsRequestEpoch:Mg},Symbol.toStringTag,{value:"Module"})),Lw=new Map;let my=!1;function pn(e,t){Lw.set(e,t)}function An(e){const t=Lw.get(e);if(!t)throw new Error(`[services] Adapter "${e}" not registered. Call initServices() first.`);return t}async function cV(e={}){my||(await uV(),my=!0)}async function uV(){const{FetchDataAdapter:e}=await Mt(async()=>{const{FetchDataAdapter:f}=await import("./fetch-80O3EH4a.js");return{FetchDataAdapter:f}},__vite__mapDeps([0,1]));pn("data",new e);const{FetchImportAdapter:t}=await Mt(async()=>{const{FetchImportAdapter:f}=await import("./fetch-CtyVktRW.js");return{FetchImportAdapter:f}},__vite__mapDeps([2,1]));pn("import",new t);const{FetchSessionIndexAdapter:a}=await Mt(async()=>{const{FetchSessionIndexAdapter:f}=await import("./fetch-C0HHT1Yn.js");return{FetchSessionIndexAdapter:f}},__vite__mapDeps([3,1]));pn("session-index",new a);const{FetchMessageAdapter:n}=await Mt(async()=>{const{FetchMessageAdapter:f}=await import("./fetch-DGi_9my2.js");return{FetchMessageAdapter:f}},__vite__mapDeps([4,1]));pn("message",new n);const{CliWebPlatformAdapter:r}=await Mt(async()=>{const{CliWebPlatformAdapter:f}=await import("./cli-web-B5VYO-Dh.js");return{CliWebPlatformAdapter:f}},__vite__mapDeps([5,1]));pn("platform",new r);const{FetchAIAdapter:s}=await Mt(async()=>{const{FetchAIAdapter:f}=await import("./fetch-J67jyI2k.js");return{FetchAIAdapter:f}},__vite__mapDeps([6,1]));pn("ai",new s);const{FetchPreferencesAdapter:o}=await Mt(async()=>{const{FetchPreferencesAdapter:f}=await import("./fetch-Dr41uuXL.js");return{FetchPreferencesAdapter:f}},__vite__mapDeps([7,1]));pn("preferences",new o);const{FetchLLMAdapter:l}=await Mt(async()=>{const{FetchLLMAdapter:f}=await import("./fetch-B1km2u3N.js");return{FetchLLMAdapter:f}},__vite__mapDeps([8,1]));pn("llm",new l);const{FetchAssistantAdapter:c}=await Mt(async()=>{const{FetchAssistantAdapter:f}=await import("./fetch-BuWxo6oK.js");return{FetchAssistantAdapter:f}},__vite__mapDeps([9,1]));pn("assistant-crud",new c);const{FetchSkillAdapter:u}=await Mt(async()=>{const{FetchSkillAdapter:f}=await import("./fetch-BFDKzf1P.js");return{FetchSkillAdapter:f}},__vite__mapDeps([10,1]));pn("skill-crud",new u);const{FetchCacheAdapter:d}=await Mt(async()=>{const{FetchCacheAdapter:f}=await import("./fetch-CXIdj2-_.js");return{FetchCacheAdapter:f}},__vite__mapDeps([11,1]));pn("cache",new d),await dV()}async function dV(){fV()}function fV(e){const t=new Map,a=s=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s),n=s=>t.get(s)??s;async function r(s,o){if(!s.ok){const l=await s.text().catch(()=>"");throw new Error(`[mergeApi] ${o} failed (${s.status}): ${l}`)}}window.mergeApi={exportSessionsToTempFiles:async s=>{try{const o=await ur("/_web/sessions/export-for-merge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionIds:s})});await r(o,"exportSessionsToTempFiles");const l=await o.json();return l.success?{success:!0,tempFiles:l.handles.map(u=>u.handle)}:{success:!1,tempFiles:[],error:l.error}}catch(o){return{success:!1,tempFiles:[],error:o instanceof Error?o.message:String(o)}}},cleanupTempExportFiles:async s=>{try{for(const o of s){const l=n(o);await ur("/_web/merge/clear",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handle:l})}),t.delete(o)}return{success:!0}}catch(o){return{success:!1,error:o instanceof Error?o.message:String(o)}}},parseFileInfo:async s=>a(s)||t.has(s)?{name:"",format:"",platform:"",messageCount:0,memberCount:0,fileSize:0}:{name:"",format:"",platform:"",messageCount:0,memberCount:0,fileSize:0},checkConflicts:async s=>{const o=s.map(n),l=await ur("/_web/merge/conflicts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handles:o})});return await r(l,"checkConflicts"),await l.json()},mergeFiles:async s=>{try{const o=s.filePaths.map(n),l=await ur("/_web/merge/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handles:o,outputName:s.outputName,format:s.outputFormat||"json",andImport:s.andAnalyze??!1})});await r(l,"mergeFiles");const c=await l.json();for(const u of s.filePaths)t.delete(u);return c}catch(o){return{success:!1,error:o instanceof Error?o.message:String(o)}}},clearCache:async s=>{try{const o=s?n(s):void 0;return await ur("/_web/merge/clear",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handle:o})}),s?t.delete(s):t.clear(),!0}catch{return!1}}}}function Va(){return An("data")}function gy(){return An("import")}function Sa(){return An("session-index")}const Ur="/ai/semantic-index";function lo(e){return async t=>(await qs(`${Ur}/${e}`,{sessionId:t})).status}const pV={getConfig:()=>Ki(`${Ur}/config`),setConfig:(e,t)=>Ow(`${Ur}/config`,{config:e,apiKey:t}),listEnabled:async()=>(await Ki(`${Ur}/enabled`)).sessions,status:async e=>(await Ki(`${Ur}/status?sessionId=${encodeURIComponent(e)}`)).status,statusForSessions:async e=>(await qs(`${Ur}/status`,{sessionIds:e})).sessions,enable:lo("enable"),remove:lo("remove"),build:lo("build"),pause:lo("pause"),cancel:lo("cancel"),rebuild:lo("rebuild"),buildPending:async()=>(await qs(`${Ur}/build-pending`)).sessions,cleanup:()=>qs(`${Ur}/cleanup`)};function qw(){return pV}function co(){return An("message")}function sn(){return An("platform")}function an(){return An("ai")}function jc(){return An("preferences")}function ga(){return An("llm")}function Na(){return An("assistant-crud")}function er(){return An("skill-crud")}const Xo=E({default_session_tab:"overview",session_gap_threshold:1800,summary_strategy:"standard"});function hy(){return Xo.value}function mV(e){Xo.value=e}function vy(e){Xo.value={...Xo.value,...e}}function Is(){return Xo.value.session_gap_threshold}function $g(){return Xo.value.summary_strategy??"standard"}const Ja=Wn("session",()=>{const e=E([]),t=E(null),a=E(!1),n=E(null),r=E(!1),s=E(!1),o=E([]),l=E(!1),c=E(null),u=E(!1),d=E([]),f=E("parsing"),p=E(null),m=E(null),g=$(()=>t.value&&e.value.find(j=>j.id===t.value)||null),y=E(!1),_=E(0),v=E([]),h=E(!1);async function k(){return{needsMigration:!1,count:0,currentVersion:0,pendingMigrations:[]}}async function w(){h.value=!0;try{const j=await window.chatApi.runMigration();return j.success&&(y.value=!1,_.value=0),j}catch(j){return console.error("执行迁移失败:",j),{success:!1,error:String(j)}}finally{h.value=!1}}async function A(j={}){try{const J=await Va().getSessions();e.value=J,t.value&&!J.find(ne=>ne.id===t.value)&&(t.value=null),r.value=!0}catch(J){if(console.error("加载会话列表失败:",J),j.throwOnError)throw r.value=!1,J;r.value=!0}}async function M(){try{const j=await sn().showOpenDialog({properties:["openFile"],filters:[{name:"Chat Files",extensions:["json","jsonl","txt"]},{name:"All Files",extensions:["*"]}]});return j.canceled||j.filePaths.length===0?{success:!1,error:"error.no_file_selected"}:await S(j.filePaths[0])}catch(j){return{success:!1,error:String(j)}}}async function S(j){try{a.value=!0,n.value={stage:"detecting",progress:0,message:""};const J=[];let ne=!1,U="reading",q=Date.now();const oe=1e3,_e=async()=>{if(!ne){for(ne=!0;J.length>0;){const B=J[0];if(B.stage!==U){const X=Date.now()-q;X<oe&&await new Promise(te=>setTimeout(te,oe-X)),U=B.stage,q=Date.now()}n.value=J.shift()}ne=!1}},me=await gy().importFile(j,void 0,B=>{B.stage!=="done"&&(J.push(B),_e())});for(;J.length>0||ne;)await new Promise(B=>setTimeout(B,100));const be=Date.now()-q;if(be<oe&&await new Promise(B=>setTimeout(B,oe-be)),n.value&&(n.value.progress=100),await new Promise(B=>setTimeout(B,300)),me.success&&me.sessionId){if(await A(),t.value=me.sessionId,me.importMode==="created")try{await Sa().generate(me.sessionId,Is())}catch(B){console.error("自动生成会话索引失败:",B)}return await ve(me.sessionId),{success:!0,diagnostics:me.diagnostics,importMode:me.importMode,matchedBy:me.matchedBy,createReason:me.createReason,newMessageCount:me.newMessageCount,duplicateCount:me.duplicateCount}}else return{success:!1,error:me.error||"error.import_failed",diagnostics:me.diagnostics}}catch(J){return{success:!1,error:String(J)}}finally{a.value=!1,setTimeout(()=>{n.value=null},500)}}async function P(j){if(j.length===0)return{total:0,success:0,failed:0,cancelled:0,files:[]};const J=j.map(me=>typeof me=="string"?{source:me,path:me,name:me.split("/").pop()||me.split("\\").pop()||me}:{source:me,path:me.webkitRelativePath||me.name,name:me.name});s.value=!0,l.value=!1,c.value=null,o.value=J.map(({path:me,name:be})=>({path:me,name:be,status:"pending"}));let ne=0,U=0,q=0;const oe=me=>{for(let be=me;be<o.value.length;be++)o.value[be].status==="pending"&&(o.value[be].status="cancelled",q++)};for(let me=0;me<o.value.length;me++){if(l.value){oe(me);break}const be=o.value[me];be.status="importing",be.progress={stage:"detecting",progress:0,message:""};try{const B=[];let X=!1,te="reading",ee=Date.now();const Me=300,ae=async()=>{if(!X){for(X=!0;B.length>0;){if(l.value){B.length=0;break}const ke=B[0];if(ke.stage!==te){const Se=Date.now()-ee;Se<Me&&await new Promise(we=>setTimeout(we,Me-Se)),te=ke.stage,ee=Date.now()}be.progress=B.shift()}X=!1}},re=await gy().importFile(J[me].source,void 0,ke=>{ke.stage!=="done"&&(B.push(ke),ae())});let fe=0;for(;(B.length>0||X)&&!l.value&&fe<100;)await new Promise(ke=>setTimeout(ke,30)),fe++;if(l.value){if(re.success&&re.sessionId){if(be.status="success",be.sessionId=re.sessionId,be.importMode=re.importMode,be.matchedBy=re.matchedBy,be.createReason=re.createReason,be.newMessageCount=re.newMessageCount,be.duplicateCount=re.duplicateCount,ne++,re.importMode==="created")try{await Sa().generate(re.sessionId,Is())}catch(ke){console.error("自动生成会话索引失败:",ke)}await ve(re.sessionId)}else be.status="failed",be.error=re.error||"error.import_failed",U++;oe(me+1);break}if(re.success&&re.sessionId){if(be.status="success",be.sessionId=re.sessionId,be.importMode=re.importMode,be.matchedBy=re.matchedBy,be.createReason=re.createReason,be.newMessageCount=re.newMessageCount,be.duplicateCount=re.duplicateCount,ne++,!l.value&&re.importMode==="created")try{await Sa().generate(re.sessionId,Is())}catch(ke){console.error("自动生成会话索引失败:",ke)}await ve(re.sessionId)}else be.status="failed",be.error=re.error||"error.import_failed",U++}catch(B){be.status="failed",be.error=String(B),U++}}await A();const _e={total:j.length,success:ne,failed:U,cancelled:q,files:[...o.value]};return c.value=_e,s.value=!1,_e}function D(){l.value=!0}function H(){c.value=null,o.value=[]}async function Q(j){if(j.length<2)return{success:!1,error:"合并导入至少需要2个文件"};const J=800;u.value=!0,p.value=null,m.value=null,f.value="parsing",d.value=j.map(U=>({path:U,name:U.split("/").pop()||U.split("\\").pop()||U,status:"pending"}));let ne=Date.now();try{for(let B=0;B<d.value.length;B++){const X=d.value[B],te=Date.now();X.status="parsing";try{const ee=await window.mergeApi.parseFileInfo(X.path);X.info=ee;const Me=Date.now()-te,ae=Math.max(300,J/j.length);Me<ae&&await new Promise(re=>setTimeout(re,ae-Me)),X.status="done"}catch(ee){throw new Error(`解析文件失败: ${X.name} - ${ee instanceof Error?ee.message:String(ee)}`)}}const U=Date.now()-ne;U<J&&await new Promise(B=>setTimeout(B,J-U)),ne=Date.now(),f.value="merging";const q=d.value.map(B=>B.info?.name).filter(Boolean),oe=[...new Set(q)],_e=oe.length===1?oe[0]:q[0]||"合并记录",me=await window.mergeApi.mergeFiles({filePaths:j,outputName:_e,conflictResolutions:[],andAnalyze:!0});if(!me.success)throw new Error(me.error||"合并失败");await window.mergeApi.clearCache();const be=Date.now()-ne;if(be<J&&await new Promise(B=>setTimeout(B,J-be)),f.value="done",m.value={success:!0,sessionId:me.sessionId},await A(),me.sessionId)try{await Sa().generate(me.sessionId,Is())}catch(B){console.error("自动生成会话索引失败:",B)}return{success:!0,sessionId:me.sessionId}}catch(U){f.value="error";const q=U instanceof Error?U.message:String(U);return p.value=q,m.value={success:!1,error:q},await window.mergeApi.clearCache(),{success:!1,error:q}}}function G(){u.value=!1,d.value=[],m.value=null,p.value=null}function V(j){t.value=j}async function R(j){try{const J=await Va().deleteSession(j);if(J){const ne=e.value.findIndex(U=>U.id===j);ne!==-1&&e.value.splice(ne,1),t.value===j&&(t.value=null),await A()}return J}catch(J){return console.error("删除会话失败:",J),!1}}async function L(j,J){try{const ne=await Va().renameSession(j,J);if(ne){const U=e.value.find(q=>q.id===j);U&&(U.name=J)}return ne}catch(ne){return console.error("重命名会话失败:",ne),!1}}function z(){t.value=null}async function le(j,J){try{const ne=await Va().updateSessionOwnerId(j,J);if(ne){const U=e.value.find(q=>q.id===j);U&&(U.ownerId=J,U.ownerName=null,U.ownerStatus=J?"unresolved":"missing")}return ne}catch(ne){return console.error("更新会话所有者失败:",ne),!1}}async function K(j,J){const ne=await Va().setOwnerAndApplyProfile(j,J);for(const U of[j,...ne.updatedSessionIds]){const q=e.value.find(oe=>oe.id===U);q&&(q.ownerId=ne.updatedSessionOwnerIds[U]??ne.ownerId,q.ownerName=q.ownerId,q.ownerStatus="resolved")}return ne}async function ce(j){const J=await Va().tryApplyOwnerProfile(j);if(J.applied&&J.ownerId){const ne=e.value.find(U=>U.id===j);ne&&(ne.ownerId=J.ownerId,ne.ownerName=J.ownerId,ne.ownerStatus="resolved")}return J}function Y(j){return Va().dismissOwnerPrompt(j)}async function ve(j){try{await ce(j)}catch(J){console.warn("导入后应用 owner profile 失败:",J)}}const ie=E([]),ye=E("all"),de=E("importedAt"),he=E("desc"),ge=$(()=>{let j=e.value;ye.value!=="all"&&(j=j.filter(U=>U.type===ye.value));const J=new Map(ie.value.map((U,q)=>[U,q])),ne=he.value==="desc"?-1:1;return[...j].sort((U,q)=>{const oe=J.get(U.id),_e=J.get(q.id),me=oe!==void 0,be=_e!==void 0;if(me&&be)return _e-oe;if(me&&!be)return-1;if(!me&&be)return 1;const B=de.value,X=U[B]??0,te=q[B]??0;return X!==te?(X-te)*ne:0})});function O(j){const J=ie.value.indexOf(j);J!==-1?ie.value.splice(J,1):ie.value.push(j)}function W(j){return ie.value.includes(j)}return{sessions:e,sortedSessions:ge,pinnedSessionIds:ie,filterType:ye,sortField:de,sortOrder:he,currentSessionId:t,isImporting:a,importProgress:n,isInitialized:r,currentSession:g,migrationNeeded:y,migrationCount:_,pendingMigrations:v,isMigrating:h,checkMigration:k,runMigration:w,loadSessions:A,importFile:M,importFileFromPath:S,selectSession:V,deleteSession:R,renameSession:L,clearSelection:z,updateSessionOwnerId:le,setOwnerAndApplyProfile:K,tryApplyOwnerProfile:ce,dismissOwnerPrompt:Y,togglePinSession:O,isPinned:W,isBatchImporting:s,batchFiles:o,batchImportCancelled:l,batchImportResult:c,importFiles:P,cancelBatchImport:D,clearBatchImportResult:H,isMergeImporting:u,mergeFiles:d,mergeStage:f,mergeError:p,mergeResult:m,mergeImportFiles:Q,clearMergeImportResult:G}},{persist:[{pick:["currentSessionId"],storage:sessionStorage},{pick:["filterType","sortField","sortOrder"],storage:localStorage}],backendPersist:{pick:["pinnedSessionIds"]}}),gV={class:"w-48 p-1.5 flex flex-col space-y-0.5"},hV={class:"px-2 pb-2 pt-1 text-xs font-semibold text-gray-500 dark:text-gray-400"},vV=["onClick"],yV=ue({__name:"SidebarSortPopover",setup(e){const{t}=ot(),a=Ja(),{sortField:n,sortOrder:r}=aa(a),s=E(!1),o=[{value:"importedAt",labelKey:"layout.sort.importedAt"},{value:"lastMessageTs",labelKey:"layout.sort.lastMessageTs"},{value:"messageCount",labelKey:"layout.sort.messageCount"}];function l(c){n.value===c?r.value=r.value==="desc"?"asc":"desc":(n.value=c,r.value="desc"),s.value=!1}return(c,u)=>{const d=nt,f=hi,p=Xe,m=Pw;return x(),N(m,{open:s.value,"onUpdate:open":u[0]||(u[0]=g=>s.value=g),ui:{content:"z-50 p-0"}},{content:T(()=>[b("div",gV,[b("div",hV,C(i(t)("layout.tooltip.sort")),1),(x(),F(De,null,Ye(o,g=>b("button",{key:g.value,class:xe(["flex w-full items-center justify-between rounded-md px-2.5 py-2 text-sm transition-colors",i(n)===g.value?"bg-gray-100 text-gray-900 dark:bg-white/10 dark:text-white font-medium":"text-gray-600 hover:bg-gray-50 dark:text-gray-300 dark:hover:bg-white/5"]),onClick:y=>l(g.value)},[b("span",null,C(i(t)(g.labelKey)),1),i(n)===g.value?(x(),N(p,{key:0,name:i(r)==="desc"?"i-heroicons-bars-arrow-down":"i-heroicons-bars-arrow-up",class:"h-4 w-4 opacity-70"},null,8,["name"])):se("",!0)],10,vV)),64))])]),default:T(()=>[I(f,{text:i(t)("layout.tooltip.sort"),content:{side:"bottom"}},{default:T(()=>[I(d,{icon:i(r)==="desc"?"i-heroicons-bars-arrow-down":"i-heroicons-bars-arrow-up",color:"neutral",variant:"ghost",size:"xs"},null,8,["icon"])]),_:1},8,["text"])]),_:1},8,["open"])}}});function bV(e){const t=e.latestVersion||"";return{latestVersion:t,currentVersion:e.currentVersion,hasUpdate:typeof e.serverHasUpdate=="boolean"?e.serverHasUpdate:!!(t&&HF(t,e.currentVersion))}}function xV(e,t=Date.now()){return e?{lastCheckTime:t,latestVersion:e.latestVersion,hasUpdate:e.hasUpdate,currentVersion:e.currentVersion}:null}const _V={class:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-center xl:justify-between"},wV=["aria-label"],kV={class:"flex w-max items-center gap-0.5"},CV={key:0,class:"flex w-full min-w-0 shrink-0 flex-wrap items-center xl:w-auto xl:justify-end"},SV=ue({__name:"PageTabs",props:{modelValue:{},items:{},ariaLabel:{default:void 0}},emits:["update:modelValue","change"],setup(e,{emit:t}){const a=e,n=t;function r(s){s.to||s.id===a.modelValue||(n("update:modelValue",s.id),n("change",s.id))}return(s,o)=>{const l=Xe;return x(),F("div",_V,[b("nav",{class:"min-w-0 overflow-x-auto scrollbar-hide","aria-label":e.ariaLabel},[b("div",kV,[(x(!0),F(De,null,Ye(e.items,c=>(x(),N(sa(c.to?i(Em):"button"),{key:c.id,to:c.to,type:c.to?void 0:"button",class:xe(["flex shrink-0 items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-semibold whitespace-nowrap transition-colors",e.modelValue===c.id?"bg-primary-500 text-white dark:bg-primary-900/30 dark:text-primary-400":"text-gray-600 hover:bg-primary-50 dark:text-gray-400 dark:hover:bg-primary-900/20"]),"aria-pressed":c.to?void 0:e.modelValue===c.id,onClick:u=>r(c)},{default:T(()=>[c.icon?(x(),N(l,{key:0,name:c.icon,class:"h-3.5 w-3.5"},null,8,["name"])):se("",!0),b("span",null,C(c.label),1)]),_:2},1032,["to","type","class","aria-pressed","onClick"]))),128))])],8,wV),s.$slots.right?(x(),F("div",CV,[Z(s.$slots,"right")])):se("",!0)])}}}),MV=["onClick"],$V={key:0,class:"flex grow items-center justify-end"},Nw=ue({__name:"NavigationTabsBase",props:{modelValue:{},items:{},persistKey:{},orientation:{default:"horizontal"},size:{default:"md"},bordered:{type:Boolean},mode:{}},emits:["update:modelValue","change"],setup(e,{emit:t}){const a=e,n=t,r=Ol(),s=Rl(),o=$(()=>a.orientation==="vertical"),l=E({}),c=E(null),u=E({}),d=$({get:()=>a.modelValue,set:m=>{n("update:modelValue",m),n("change",m)}});function f(){const m=l.value[d.value];if(!m||!c.value)return;const g=c.value.getBoundingClientRect(),y=m.getBoundingClientRect();u.value=o.value?{top:`${y.top-g.top}px`,height:`${y.height}px`,right:"0px",width:"2px"}:{left:`${y.left-g.left}px`,width:`${y.width}px`,bottom:"0px",height:"2px"}}function p(m,g){l.value[m]=g}return Ke(()=>{if(a.persistKey){const m=r.query[a.persistKey];m&&a.items.some(g=>g.id===m)&&(d.value=m)}je(f)}),Pe(()=>a.modelValue,m=>{a.persistKey&&m&&s.replace({query:{...r.query,[a.persistKey]:m}}),je(f)}),Pe(()=>a.items,()=>je(f),{deep:!0}),(m,g)=>{const y=Xe;return x(),F("div",{class:xe([o.value?["h-full",e.bordered!==!1?"border-r border-gray-200/50 dark:border-gray-700/50":""]:["flex justify-between overflow-x-auto",e.bordered!==!1?"border-b border-gray-200/50 dark:border-gray-800/50":"",e.mode==="section"?"flex-wrap items-center gap-y-2 pl-7 pr-6 pt-3":["items-center",e.size==="sm"?"px-3":"px-6"]]])},[b("div",{ref_key:"containerRef",ref:c,class:xe(["relative",[o.value?"flex flex-col gap-1":"flex shrink-0 gap-4 pb-1"]])},[(x(!0),F(De,null,Ye(e.items,_=>(x(),F("button",{key:_.id,ref_for:!0,ref:v=>p(_.id,v),type:"button",class:xe(["flex shrink-0 items-center whitespace-nowrap font-medium transition-colors",[o.value?"justify-start gap-2 px-3 py-2 text-sm":e.size==="sm"?"gap-1.5 px-1 py-1.5 text-xs":"gap-2 px-1 py-3 text-sm",d.value===_.id?"text-primary-600 dark:text-primary-400":"text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"]]),onClick:v=>d.value=_.id},[_.icon?(x(),N(y,{key:0,name:_.icon,class:xe(e.size==="sm"?"h-3.5 w-3.5":"h-4 w-4")},null,8,["name","class"])):se("",!0),pe(" "+C(_.label),1)],10,MV))),128)),b("div",{class:"absolute bg-primary-500 transition-all duration-300 ease-out",style:Tt(u.value)},null,4)],2),!o.value&&m.$slots.right?(x(),F(De,{key:0},[e.mode==="section"?(x(),F("div",$V,[Z(m.$slots,"right")])):Z(m.$slots,"right",{key:1})],64)):se("",!0)],2)}}}),AV=ue({__name:"SectionTabs",props:wr({items:{},persistKey:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:wr(["change"],["update:modelValue"]),setup(e,{emit:t}){const a=Tl(e,"modelValue"),n=t;return(r,s)=>(x(),N(Nw,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=o=>a.value=o),items:e.items,"persist-key":e.persistKey,mode:"section",size:"sm",bordered:!1,onChange:s[1]||(s[1]=o=>n("change",o))},Il({_:2},[r.$slots.right?{name:"right",fn:T(()=>[Z(r.$slots,"right")]),key:"0"}:void 0]),1032,["modelValue","items","persist-key"]))}}),Fw=ue({__name:"CompactTabs",props:wr({items:{},persistKey:{},orientation:{default:"horizontal"},size:{default:"md"},bordered:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:wr(["change"],["update:modelValue"]),setup(e,{emit:t}){const a=Tl(e,"modelValue"),n=t;return(r,s)=>(x(),N(Nw,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=o=>a.value=o),items:e.items,"persist-key":e.persistKey,orientation:e.orientation,size:e.size,bordered:e.bordered,mode:"compact",onChange:s[1]||(s[1]=o=>n("change",o))},Il({_:2},[r.$slots.right?{name:"right",fn:T(()=>[Z(r.$slots,"right")]),key:"0"}:void 0]),1032,["modelValue","items","persist-key","orientation","size","bordered"]))}}),yy="/assets/logo-DXIuG_WE.svg";function IV(e,t={}){const a=e?.inputRef;return a?(a.focus(),t.select&&a.select(),!0):!1}const TV={key:0,class:"ml-2 flex items-center"},PV=["src"],DV={class:"ml-2 flex items-baseline gap-2"},EV={class:"text-xl font-black tracking-tight text-pink-500"},RV={class:"text-xs text-gray-400"},OV=["src"],LV={class:"space-y-1"},qV={class:"flex-1 relative min-h-0 flex flex-col"},NV={key:0,class:"mb-2"},FV={class:"flex items-center gap-0.5"},VV={key:0,class:"mt-2 px-4"},BV={key:0,class:"py-8 text-center text-sm text-gray-500"},zV={key:1,class:"py-8 text-center text-sm text-gray-500"},HV=["onClick"],UV={key:0,class:"min-w-0 flex-1"},jV={class:"flex items-center justify-between gap-1.5"},WV={class:"truncate text-xs font-medium"},KV={class:"truncate text-[10px] text-gray-400 dark:text-gray-500 mt-0.5 leading-none"},GV={class:"p-4"},YV={class:"mb-3 font-semibold text-gray-900 dark:text-white"},XV={class:"flex justify-end gap-2"},JV={class:"p-4"},QV={class:"mb-3 font-semibold text-gray-900 dark:text-white"},ZV={class:"mb-4 text-sm text-gray-600 dark:text-gray-400"},eB={class:"flex justify-end gap-2"},tB={class:"p-4"},aB={class:"mb-3 flex items-center gap-2"},nB={class:"flex h-8 w-8 items-center justify-center rounded-lg bg-red-50 text-red-500 dark:bg-red-950/30"},rB={class:"font-semibold text-gray-900 dark:text-white"},sB={class:"text-sm text-gray-600 dark:text-gray-400"},oB={class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},iB={key:0,class:"mt-3 rounded-md border border-gray-200 bg-gray-50 px-3 py-2 font-mono text-xs text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200"},lB={class:"mt-4 flex justify-end gap-2"},cB="chatlab:latest-version-check:v2",uB=44,dB=32,fB=ue({__name:"Sidebar",props:{backendFeatures:{type:Boolean}},setup(e){const t=e,{t:a}=ot(),n=jt,r=Ja(),s=Er(),{sessions:o,sortedSessions:l,filterType:c}=aa(r),{isSidebarCollapsed:u}=aa(s),{toggleSidebar:d}=s,f=Rl(),p=Ol(),m=$(()=>p.path==="/"),g=$(()=>String(p.name??"").startsWith("people-")),y=$(()=>o.value.filter(ke=>ke.type==="private").length),_=$(()=>o.value.filter(ke=>ke.type==="group").length),v=$(()=>VF({privateSessionCount:y.value,groupSessionCount:_.value})),h=$(()=>String(p.name??"").startsWith("insight-")),k=E(!1),w=E(null),A=E(""),M=E(null),S=E(!1),P=E(null),D=E(""),H=E(""),Q=E(!1),G=E(!1),V=E(!1),R=E(!1),L=E(""),z=E(null),le=$(()=>[{id:"all",label:a("layout.filter.all")},{id:"private",label:a("layout.filter.private")},{id:"group",label:a("layout.filter.group")}]),K=$(()=>{if(!L.value.trim())return l.value;const ke=L.value.toLowerCase().trim();return l.value.filter(Se=>Se.name.toLowerCase().includes(ke))}),ce=Md($(()=>({count:K.value.length,getScrollElement:()=>z.value,estimateSize:()=>uB,overscan:8,getItemKey:ke=>K.value[ke]?.id??ke}))),Y=$(()=>ce.value.getVirtualItems()),ve=$(()=>ce.value.getTotalSize()+dB);function ie(ke){return K.value[ke]}function ye(){R.value=!R.value,R.value||(L.value="")}Ke(async()=>{r.loadSessions();try{D.value=await sn().getVersion(),t.backendFeatures&&J()}catch(ke){console.error("Failed to get version",ke)}}),Ft(()=>{});function de(){f.push("/")}function he(){f.push({name:"people-contacts"})}function ge(ke){f.push({name:ee(ke),params:{id:ke.id},query:p.query})}function O(ke){const Se=xV(ke);if(Se)try{window.localStorage.setItem(cB,JSON.stringify(Se))}catch{}}function W(ke){H.value=ke?.latestVersion??"",Q.value=ke?.hasUpdate??!1}async function j(){const Se=await sn().checkUpdate();return!Se||Se.error?null:bV({latestVersion:Se.latestVersion,currentVersion:Se.currentVersion,serverHasUpdate:Se.hasUpdate})}async function J(){try{const ke=await j();if(!ke){W(null);return}W(ke)}catch(ke){W(null),console.debug("Update notice check failed:",ke)}}function ne(){G.value=!0}async function U(){{G.value=!1;return}}function q(ke){w.value=ke,A.value=ke.name,k.value=!0,je(()=>{IV(M.value,{select:!0})})}async function oe(){if(!w.value||!A.value.trim())return;await r.renameSession(w.value.id,A.value.trim())&&(k.value=!1,w.value=null,A.value="")}function _e(){k.value=!1,w.value=null,A.value=""}function me(ke){P.value=ke,S.value=!0}async function be(){if(!P.value)return;const ke=P.value.id,Se=p.params.id===ke;await r.deleteSession(ke),S.value=!1,P.value=null,Se&&f.push("/")}function B(){S.value=!1,P.value=null}async function X(ke){try{await navigator.clipboard.writeText(ke)}catch(Se){console.error("Failed to copy session id:",Se)}}function te(ke){const Se=r.isPinned(ke.id);return[[{label:a(Se?"layout.contextMenu.unpin":"layout.contextMenu.pin"),class:"p-2",onSelect:()=>r.togglePinSession(ke.id)},{label:a("layout.contextMenu.rename"),class:"p-2",onSelect:()=>q(ke)},{label:a("layout.contextMenu.copyId"),class:"p-2",onSelect:()=>X(ke.id)},{label:a("layout.contextMenu.delete"),color:"error",class:"p-2",onSelect:()=>me(ke)}]]}function ee(ke){return ke.type==="private"?"private-chat":"group-chat"}function Me(ke){return ke.type==="private"}function ae(ke){const Se=ke.name||"";return Se?Me(ke)?Se.slice(-1):Se.slice(0,1):"?"}function re(ke){return Me(ke)?ke.memberAvatar||null:ke.groupAvatar||null}function fe(ke,Se){if(Se)return"bg-primary-50 text-primary-600 dark:bg-primary-500/10 dark:text-primary-400";const we=[{bg:"bg-pink-50 dark:bg-pink-950/20",text:"text-pink-600 dark:text-pink-400"},{bg:"bg-blue-50 dark:bg-blue-950/20",text:"text-blue-600 dark:text-blue-400"},{bg:"bg-emerald-50 dark:bg-emerald-950/20",text:"text-emerald-600 dark:text-emerald-400"},{bg:"bg-purple-50 dark:bg-purple-950/20",text:"text-purple-600 dark:text-purple-400"},{bg:"bg-amber-50 dark:bg-amber-950/20",text:"text-amber-600 dark:text-amber-400"}],Ve=ke.id||"";let Ie=0;for(let Ce=0;Ce<Ve.length;Ce++)Ie=Ve.charCodeAt(Ce)+((Ie<<5)-Ie);const Ee=Math.abs(Ie)%we.length;return`${we[Ee].bg} ${we[Ee].text}`}return(ke,Se)=>{const we=Xe,Ve=nt,Ie=hi,Ee=pa,Ce=xF,Oe=$a;return x(),F("div",{class:xe(["flex h-full shrink-0 flex-col overflow-hidden rounded-lg bg-white transition-all duration-300 ease-in-out dark:bg-sidebar-dark",i(u)?"w-14":"w-72"])},[b("div",{class:xe(["flex flex-col px-2 pb-4",i(n)?"pt-8":"pt-5"])},[b("div",{class:xe(["mb-2 flex items-center",[i(u)?"justify-center":"justify-between"]]),style:{"-webkit-app-region":"drag"}},[i(u)?(x(),F("div",{key:1,class:"group relative flex h-9 w-9 cursor-pointer items-center justify-center rounded-full hover:bg-gray-200/60 dark:hover:bg-white/[0.06]",style:{"-webkit-app-region":"no-drag"},onClick:Se[0]||(Se[0]=(...Ae)=>i(d)&&i(d)(...Ae))},[b("img",{src:i(yy),alt:"ChatLab",class:"size-5 select-none pointer-events-none group-hover:hidden"},null,8,OV),I(we,{name:"i-lucide-panel-right-open",class:"size-4 hidden group-hover:block scale-x-[-1]"})])):(x(),F("div",TV,[b("img",{src:i(yy),alt:"ChatLab",class:"h-6 w-6 select-none pointer-events-none"},null,8,PV),b("div",DV,[b("div",EV,C(i(a)("layout.brand")),1),b("span",RV,"v"+C(D.value),1)]),Q.value?(x(),F("button",{key:0,type:"button",class:"ml-1.5 rounded-full bg-red-500 px-1.5 py-0.5 text-[10px] font-bold leading-none text-white shadow-sm shadow-red-500/20 transition hover:bg-red-600",style:{"-webkit-app-region":"no-drag"},onClick:ne},C(i(a)("layout.updateNotice.tag")),1)):se("",!0)])),i(u)?se("",!0):(x(),N(Ve,{key:2,color:"neutral",variant:"ghost",size:"sm",class:"group flex h-9 w-9 cursor-pointer items-center justify-center rounded-full hover:bg-gray-200/60 dark:hover:bg-white/[0.06]",style:{"-webkit-app-region":"no-drag"},onClick:i(d)},{default:T(()=>[I(we,{name:"i-lucide-panel-right",class:"size-4 group-hover:hidden scale-x-[-1]"}),I(we,{name:"i-lucide-panel-right-close",class:"size-4 hidden group-hover:block scale-x-[-1]"})]),_:1},8,["onClick"]))],2),b("div",LV,[I(Uc,{icon:"i-heroicons-plus",title:i(a)("layout.newAnalysis"),active:m.value,onClick:de},null,8,["title","active"]),t.backendFeatures?(x(),N(Uc,{key:0,icon:"i-heroicons-presentation-chart-bar",title:i(a)("layout.insight"),active:h.value,onClick:Se[1]||(Se[1]=Ae=>i(f).push("/insight"))},null,8,["title","active"])):se("",!0),t.backendFeatures&&v.value?(x(),N(Uc,{key:1,icon:"i-lucide-users","icon-class":"scale-90",title:i(a)("layout.relationships"),active:g.value,onClick:he},null,8,["title","active"])):se("",!0)])],2),b("div",qV,[!i(u)&&i(o).length>0?(x(),F("div",NV,[I(i(Fw),{modelValue:i(c),"onUpdate:modelValue":Se[3]||(Se[3]=Ae=>at(c)?c.value=Ae:null),items:le.value,size:"sm",bordered:!1},{right:T(()=>[b("div",FV,[I(Ie,{text:i(a)("layout.tooltip.search"),content:{side:"bottom"}},{default:T(()=>[I(Ve,{icon:R.value?"i-heroicons-x-mark":"i-heroicons-magnifying-glass",color:"neutral",variant:"ghost",size:"xs",onClick:ye},null,8,["icon"])]),_:1},8,["text"]),I(yV),t.backendFeatures?(x(),N(Ie,{key:0,text:i(a)("layout.manage"),content:{side:"bottom"}},{default:T(()=>[I(Ve,{icon:"i-heroicons-rectangle-stack",color:"neutral",variant:"ghost",size:"xs",onClick:Se[2]||(Se[2]=Ae=>i(s).openSettings("data"))})]),_:1},8,["text"])):se("",!0)])]),_:1},8,["modelValue","items"]),R.value?(x(),F("div",VV,[I(Ee,{modelValue:L.value,"onUpdate:modelValue":Se[4]||(Se[4]=Ae=>L.value=Ae),placeholder:i(a)("layout.searchPlaceholder"),icon:"i-heroicons-magnifying-glass",size:"sm",autofocus:""},null,8,["modelValue","placeholder"])])):se("",!0)])):se("",!0),b("div",{ref_key:"sessionListRef",ref:z,class:"session-list flex-1 overflow-y-auto"},[i(o).length===0&&!i(u)?(x(),F("div",BV,C(i(a)("layout.noRecords")),1)):K.value.length===0&&L.value.trim()&&!i(u)?(x(),F("div",zV,C(i(a)("layout.noSearchResult")),1)):(x(),F("div",{key:2,class:"relative",style:Tt({height:`${ve.value}px`})},[(x(!0),F(De,null,Ye(Y.value,Ae=>(x(),F("div",{key:String(Ae.key),class:"absolute left-2 right-2",style:Tt({transform:`translateY(${Ae.start}px)`})},[I(Ce,{items:te(ie(Ae.index))},{default:T(()=>[I(Ie,{text:ie(Ae.index).name,disabled:!i(u)||!ie(Ae.index).name,content:{side:"right"}},{default:T(()=>[b("div",{class:xe(["group relative flex items-center text-left transition-all duration-200 cursor-pointer",[i(p).params.id===ie(Ae.index).id?"text-primary-600 font-medium dark:text-primary-400":"text-gray-600 dark:text-gray-300 hover:bg-gray-200/20 dark:hover:bg-white/[0.04]",i(u)?"justify-center h-10 w-10 rounded-lg mx-auto":"h-10 w-full rounded-xl p-1.5 px-2.5 pl-1.5"]]),onClick:Re=>ge(ie(Ae.index))},[b("div",{class:xe(["absolute -left-2 top-1/2 w-[3px] -translate-y-1/2 rounded-r-full bg-primary-500 transition-all duration-200",[i(p).params.id===ie(Ae.index).id?"h-4.5 opacity-100":"h-0 opacity-0 group-hover:h-2.5 group-hover:opacity-40"]])},null,2),I(Tw,{src:re(ie(Ae.index)),alt:ie(Ae.index).name,text:ae(ie(Ae.index)),"root-class":["h-7 w-7 min-w-7 shrink-0",i(u)?"":"mr-2.5"],"image-class":"h-7 w-7 rounded-lg object-cover","fallback-class":["flex h-7 w-7 items-center justify-center rounded-lg text-xs font-semibold select-none",fe(ie(Ae.index),i(p).params.id===ie(Ae.index).id)]},null,8,["src","alt","text","root-class","fallback-class"]),i(u)?se("",!0):(x(),F("div",UV,[b("div",jV,[b("p",WV,C(ie(Ae.index).name),1),i(r).isPinned(ie(Ae.index).id)?(x(),N(we,{key:0,name:"i-lucide-pin",class:"h-3 w-3 shrink-0 text-gray-400/80 rotate-45"})):se("",!0)]),b("p",KV,C(i(a)("layout.sessionInfo",{count:ie(Ae.index).messageCount})),1)]))],10,HV)]),_:2},1032,["text","disabled"])]),_:2},1032,["items"])],4))),128))],4))],512),Se[10]||(Se[10]=b("div",{class:"pointer-events-none absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white to-transparent dark:from-[#202024]"},null,-1))]),I(Oe,{open:k.value,"onUpdate:open":Se[6]||(Se[6]=Ae=>k.value=Ae),ui:{content:"z-50"}},{content:T(()=>[b("div",GV,[b("h3",YV,C(i(a)("layout.renameModal.title")),1),I(Ee,{ref_key:"renameInputRef",ref:M,modelValue:A.value,"onUpdate:modelValue":Se[5]||(Se[5]=Ae=>A.value=Ae),placeholder:i(a)("layout.renameModal.placeholder"),class:"mb-4 w-100",onKeydown:ta(oe,["enter"])},null,8,["modelValue","placeholder"]),b("div",XV,[I(Ve,{variant:"soft",onClick:_e},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1}),I(Ve,{color:"primary",disabled:!A.value.trim(),onClick:oe},{default:T(()=>[pe(C(i(a)("common.confirm")),1)]),_:1},8,["disabled"])])])]),_:1},8,["open"]),I(Oe,{open:S.value,"onUpdate:open":Se[7]||(Se[7]=Ae=>S.value=Ae),ui:{content:"z-50"}},{content:T(()=>[b("div",JV,[b("h3",QV,C(i(a)("layout.deleteModal.title")),1),b("p",ZV,C(i(a)("layout.deleteModal.message",{name:P.value?.name})),1),b("div",eB,[I(Ve,{variant:"soft",onClick:B},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1}),I(Ve,{color:"error",onClick:be},{default:T(()=>[pe(C(i(a)("common.delete")),1)]),_:1})])])]),_:1},8,["open"]),I(Oe,{open:G.value,"onUpdate:open":Se[9]||(Se[9]=Ae=>G.value=Ae),ui:{content:"z-50"}},{content:T(()=>[b("div",tB,[b("div",aB,[b("div",nB,[I(we,{name:"i-lucide-sparkles",class:"h-4 w-4"})]),b("h3",rB,C(i(a)("layout.updateNotice.title")),1)]),b("p",sB,C(i(a)("layout.updateNotice.message",{version:H.value})),1),b("p",oB,C(i(jt)?i(a)("layout.updateNotice.desktopHint"):i(a)("layout.updateNotice.cliHint")),1),i(jt)?se("",!0):(x(),F("div",iB," clb update ")),b("div",lB,[I(Ve,{variant:"soft",disabled:V.value,onClick:Se[8]||(Se[8]=Ae=>G.value=!1)},{default:T(()=>[pe(C(i(a)("layout.updateNotice.later")),1)]),_:1},8,["disabled"]),i(jt)?(x(),N(Ve,{key:0,color:"primary",loading:V.value,onClick:U},{default:T(()=>[pe(C(i(a)("layout.updateNotice.updateNow")),1)]),_:1},8,["loading"])):se("",!0)])])]),_:1},8,["open"]),t.backendFeatures?(x(),N(QF,{key:0})):se("",!0)],2)}}}),pB=cs(fB,[["__scopeId","data-v-4409b0fb"]]),mB={class:"flex flex-col"},gB={class:"flex items-center justify-between border-b border-gray-200 px-6 py-4 dark:border-gray-700"},hB={class:"flex items-center gap-3"},vB={class:"flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-pink-400 to-pink-600"},yB={class:"bg-gray-100 p-4 dark:bg-gray-800"},bB={class:"mx-auto max-h-[60vh] overflow-auto rounded-lg bg-white shadow-overlay dark:bg-page-dark"},xB=["src"],_B=ue({__name:"ScreenCaptureModal",props:{open:{type:Boolean},imageData:{}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,r=$({get:()=>a.open,set:o=>n("update:open",o)});function s(){r.value=!1}return(o,l)=>{const c=Xe,u=nt,d=$a;return x(),N(d,{open:r.value,"onUpdate:open":l[0]||(l[0]=f=>r.value=f),ui:{content:"max-w-4xl z-100"}},{content:T(()=>[b("div",mB,[b("div",gB,[b("div",hB,[b("div",vB,[I(c,{name:"i-heroicons-camera",class:"h-5 w-5 text-white"})]),l[1]||(l[1]=b("div",null,[b("h2",{class:"text-lg font-semibold text-gray-900 dark:text-white"},"截图预览")],-1))]),I(u,{icon:"i-heroicons-x-mark",variant:"ghost",color:"neutral",size:"sm",onClick:s})]),b("div",yB,[b("div",bB,[e.imageData?(x(),F("img",{key:0,src:e.imageData,alt:"截图预览",class:"block w-full"},null,8,xB)):se("",!0)])])])]),_:1},8,["open"])}}}),wB={slots:{base:"font-medium inline-flex items-center",label:"truncate",leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailingIcon:"shrink-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},size:{xs:{base:"text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},sm:{base:"text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},md:{base:"text-xs px-2 py-1 gap-1 rounded-md",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},lg:{base:"text-sm px-2 py-1 gap-1.5 rounded-md",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"text-base px-2.5 py-1 gap-1.5 rounded-md",leadingIcon:"size-6",leadingAvatarSize:"2xs",trailingIcon:"size-6"}},square:{true:""}},compoundVariants:[{color:"primary",variant:"solid",class:"bg-primary text-inverted"},{color:"secondary",variant:"solid",class:"bg-secondary text-inverted"},{color:"success",variant:"solid",class:"bg-success text-inverted"},{color:"info",variant:"solid",class:"bg-info text-inverted"},{color:"warning",variant:"solid",class:"bg-warning text-inverted"},{color:"error",variant:"solid",class:"bg-error text-inverted"},{color:"primary",variant:"outline",class:"text-primary ring ring-inset ring-primary/50"},{color:"secondary",variant:"outline",class:"text-secondary ring ring-inset ring-secondary/50"},{color:"success",variant:"outline",class:"text-success ring ring-inset ring-success/50"},{color:"info",variant:"outline",class:"text-info ring ring-inset ring-info/50"},{color:"warning",variant:"outline",class:"text-warning ring ring-inset ring-warning/50"},{color:"error",variant:"outline",class:"text-error ring ring-inset ring-error/50"},{color:"primary",variant:"soft",class:"bg-primary/10 text-primary"},{color:"secondary",variant:"soft",class:"bg-secondary/10 text-secondary"},{color:"success",variant:"soft",class:"bg-success/10 text-success"},{color:"info",variant:"soft",class:"bg-info/10 text-info"},{color:"warning",variant:"soft",class:"bg-warning/10 text-warning"},{color:"error",variant:"soft",class:"bg-error/10 text-error"},{color:"primary",variant:"subtle",class:"bg-primary/10 text-primary ring ring-inset ring-primary/25"},{color:"secondary",variant:"subtle",class:"bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"},{color:"success",variant:"subtle",class:"bg-success/10 text-success ring ring-inset ring-success/25"},{color:"info",variant:"subtle",class:"bg-info/10 text-info ring ring-inset ring-info/25"},{color:"warning",variant:"subtle",class:"bg-warning/10 text-warning ring ring-inset ring-warning/25"},{color:"error",variant:"subtle",class:"bg-error/10 text-error ring ring-inset ring-error/25"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default"},{color:"neutral",variant:"soft",class:"text-default bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated"},{size:"xs",square:!0,class:"p-0.5"},{size:"sm",square:!0,class:"p-1"},{size:"md",square:!0,class:"p-1"},{size:"lg",square:!0,class:"p-1"},{size:"xl",square:!0,class:"p-1"}],defaultVariants:{color:"primary",variant:"solid",size:"md"}},yi={__name:"Badge",props:{as:{type:null,required:!1,default:"span"},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(e){const t=e,a=fa(),n=zt("badge",t),r=kt(),{orientation:s,size:o}=Ul(t),{isLeading:l,isTrailing:c,leadingIconName:u,trailingIconName:d}=_d(n),f=$(()=>tt({extend:tt(wB),...r.ui?.badge||{}})({color:n.color,variant:n.variant,size:o.value??n.size,square:n.square||!a.default&&!n.label,fieldGroup:s.value}));return(p,m)=>(x(),N(i(Te),{as:i(n).as,"data-slot":"base",class:xe(f.value.base({class:[i(n).ui?.base,i(n).class]}))},{default:T(()=>[Z(p.$slots,"leading",{ui:f.value},()=>[i(l)&&i(u)?(x(),N(Xe,{key:0,name:i(u),"data-slot":"leadingIcon",class:xe(f.value.leadingIcon({class:i(n).ui?.leadingIcon}))},null,8,["name","class"])):i(n).avatar?(x(),N(Mr,$e({key:1,size:i(n).ui?.leadingAvatarSize||f.value.leadingAvatarSize()},i(n).avatar,{"data-slot":"leadingAvatar",class:f.value.leadingAvatar({class:i(n).ui?.leadingAvatar})}),null,16,["size","class"])):se("",!0)]),Z(p.$slots,"default",{ui:f.value},()=>[i(n).label!==void 0&&i(n).label!==null?(x(),F("span",{key:0,"data-slot":"label",class:xe(f.value.label({class:i(n).ui?.label}))},C(i(n).label),3)):se("",!0)]),Z(p.$slots,"trailing",{ui:f.value},()=>[i(c)&&i(d)?(x(),N(Xe,{key:0,name:i(d),"data-slot":"trailingIcon",class:xe(f.value.trailingIcon({class:i(n).ui?.trailingIcon}))},null,8,["name","class"])):se("",!0)])]),_:3},8,["as","class"]))}},Wl=Wn("llm",()=>{const e=E([]),t=E([]),a=E(null),n=E(null),r=E(!1),s=E(!1),o=E([]),l=E([]),c=$(()=>e.value.find(M=>M.id===a.value?.configId)||null),u=$(()=>e.value.find(M=>M.id===n.value?.configId)||null),d=$(()=>!!a.value),f=$(()=>e.value.length>=99);function p(M){return o.value.find(S=>S.id===M)}function m(M){return l.value.filter(S=>S.providerId===M)}function g(M,S){return l.value.find(P=>P.providerId===M&&P.id===S)}function y(M){return l.value.find(S=>S.id===M)}async function _(){s.value||(await v(),s.value=!0)}async function v(){r.value=!0;try{const M=ga(),[S,P,D,H,Q,G]=await Promise.all([M.getProviders(),M.getProviderRegistry(),M.getModelCatalog(),M.getConfigStore(),M.getDefaultAssistantSlot(),M.getFastModelSlot()]);t.value=S,o.value=P,l.value=D,e.value=H.configs,a.value=Q,n.value=G}catch(M){console.error("[LLM Store] 加载配置失败:",M)}finally{r.value=!1}}async function h(M,S){try{const P=await ga().setDefaultAssistantModel(M,S);return P.success?(a.value={configId:M,modelId:S},!0):(console.error("[LLM Store] 设置默认助手模型失败:",P.error),!1)}catch(P){return console.error("[LLM Store] 设置默认助手模型失败:",P),!1}}async function k(M){try{const S=await ga().setFastModel(M);return S.success?(n.value=M,!0):(console.error("[LLM Store] 设置快速模型失败:",S.error),!1)}catch(S){return console.error("[LLM Store] 设置快速模型失败:",S),!1}}async function w(){await v()}function A(M){const S=o.value.find(P=>P.id===M);return S?S.name:t.value.find(P=>P.id===M)?.name||M}return{configs:e,providers:t,providerRegistry:o,modelCatalog:l,defaultAssistant:a,fastModel:n,isLoading:r,isInitialized:s,defaultAssistantConfig:c,fastModelConfig:u,hasConfig:d,isMaxConfigs:f,init:_,loadConfigs:v,setDefaultAssistantModel:h,setFastModel:k,refreshConfigs:w,getProviderName:A,getProviderById:p,getModelsByProviderId:m,getModelById:g,findModelAcrossProviders:y}}),kB={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"w-full rounded-md focus-visible:outline-3"},variants:{color:{primary:{content:"outline-primary/25"},secondary:{content:"outline-secondary/25"},success:{content:"outline-success/25"},info:{content:"outline-info/25"},warning:{content:"outline-warning/25"},error:{content:"outline-error/25"},neutral:{content:"outline-inverted/25"}},variant:{pill:{list:"bg-elevated rounded-lg",trigger:["grow","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate"],indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center",trigger:"w-full justify-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary"]}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary"]}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:["data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success"]}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:["data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info"]}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning"]}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:["data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error"]}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted"]}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary"]}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary"]}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:["data-[state=active]:text-success outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success"]}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:["data-[state=active]:text-info outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info"]}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning"]}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:["data-[state=active]:text-error outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error"]}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted"]}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},eo={__name:"Tabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:"0"},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(e,{expose:t,emit:a}){const n=e,r=a,s=fa(),o=zt("tabs",n),l=kt(),c=Ma(xa(o,"as","unmountOnHide"),r),u=$(()=>tt({extend:tt(kB),...l.ui?.tabs||{}})({color:o.color,variant:o.variant,size:o.size,orientation:o.orientation})),d=E([]);function f(p,m){d.value[p]=m}return t({triggersRef:d}),(p,m)=>(x(),N(i(tR),$e(i(c),{"model-value":i(o).modelValue,"default-value":i(o).defaultValue,orientation:i(o).orientation,"activation-mode":i(o).activationMode,"data-slot":"root",class:u.value.root({class:[i(o).ui?.root,i(o).class]})}),{default:T(()=>[I(i(iR),{"data-slot":"list",class:xe(u.value.list({class:i(o).ui?.list}))},{default:T(()=>[I(i(sR),{"data-slot":"indicator",class:xe(u.value.indicator({class:i(o).ui?.indicator}))},null,8,["class"]),Z(p.$slots,"list-leading"),(x(!0),F(De,null,Ye(i(o).items,(g,y)=>(x(),N(i(cR),{key:i($t)(g,i(o).valueKey)??y,ref_for:!0,ref:_=>f(y,_),value:i($t)(g,i(o).valueKey)??String(y),disabled:g.disabled,"data-slot":"trigger",class:xe(u.value.trigger({class:[i(o).ui?.trigger,g.ui?.trigger]}))},{default:T(()=>[Z(p.$slots,"leading",{item:g,index:y,ui:u.value},()=>[g.icon?(x(),N(Xe,{key:0,name:g.icon,"data-slot":"leadingIcon",class:xe(u.value.leadingIcon({class:[i(o).ui?.leadingIcon,g.ui?.leadingIcon]}))},null,8,["name","class"])):g.avatar?(x(),N(Mr,$e({key:1,size:g.ui?.leadingAvatarSize||i(o).ui?.leadingAvatarSize||u.value.leadingAvatarSize()},{ref_for:!0},g.avatar,{"data-slot":"leadingAvatar",class:u.value.leadingAvatar({class:[i(o).ui?.leadingAvatar,g.ui?.leadingAvatar]})}),null,16,["size","class"])):se("",!0)]),i($t)(g,i(o).labelKey)||s.default?(x(),F("span",{key:0,"data-slot":"label",class:xe(u.value.label({class:[i(o).ui?.label,g.ui?.label]}))},[Z(p.$slots,"default",{item:g,index:y},()=>[pe(C(i($t)(g,i(o).labelKey)),1)])],2)):se("",!0),Z(p.$slots,"trailing",{item:g,index:y,ui:u.value},()=>[g.badge||g.badge===0?(x(),N(yi,$e({key:0,color:"neutral",variant:"outline",size:g.ui?.trailingBadgeSize||i(o).ui?.trailingBadgeSize||u.value.trailingBadgeSize()},{ref_for:!0},typeof g.badge=="string"||typeof g.badge=="number"?{label:g.badge}:g.badge,{"data-slot":"trailingBadge",class:u.value.trailingBadge({class:[i(o).ui?.trailingBadge,g.ui?.trailingBadge]})}),null,16,["size","class"])):se("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),Z(p.$slots,"list-trailing")]),_:3},8,["class"]),i(o).content?(x(!0),F(De,{key:0},Ye(i(o).items,(g,y)=>(x(),N(i(nR),{key:i($t)(g,i(o).valueKey)??y,value:i($t)(g,i(o).valueKey)??String(y),"data-slot":"content",class:xe(u.value.content({class:[i(o).ui?.content,g.ui?.content,g.class]}))},{default:T(()=>[Z(p.$slots,g.slot||"content",{item:g,index:y,ui:u.value},()=>[pe(C(g.content),1)])]),_:2},1032,["value","class"]))),128)):se("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}},CB=ue({__name:"Tabs",props:{modelValue:{},items:{},size:{}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,n=t,r=E(),s=E(),o=$({get:()=>a.modelValue,set:c=>n("update:modelValue",c)}),l=async()=>{if(await je(),!r.value||!s.value)return;const c=a.items.findIndex(v=>v.value===o.value);if(c<0)return;const f=s.value.$el.querySelectorAll('[role="tab"]')[c];if(!f)return;const p=r.value,m=p.clientWidth,g=f.offsetLeft,y=f.offsetWidth,_=g+y/2-m/2;p.scrollTo({left:Math.max(0,_),behavior:"smooth"})};return Pe(o,()=>{l()},{immediate:!1}),(c,u)=>{const d=eo;return x(),F("div",{ref_key:"scrollContainer",ref:r,class:"overflow-x-auto overflow-y-hidden scrollbar-hide"},[I(d,{ref_key:"tabsRef",ref:s,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=f=>o.value=f),size:e.size,items:e.items,content:!1,class:"min-w-max"},null,8,["modelValue","size","items"])],512)}}}),Ln=cs(CB,[["__scopeId","data-v-4a114c59"]]),SB={slots:{root:"relative overflow-hidden w-full rounded-lg p-4 flex gap-2.5",wrapper:"min-w-0 flex-1 flex flex-col",title:"text-sm font-medium",description:"text-sm opacity-90",icon:"shrink-0 size-5",avatar:"shrink-0",avatarSize:"2xl",actions:"flex flex-wrap gap-1.5 shrink-0",close:"p-0"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},orientation:{horizontal:{root:"items-center",actions:"items-center"},vertical:{root:"items-start",actions:"items-start mt-2.5"}},title:{true:{description:"mt-1"}}},compoundVariants:[{color:"primary",variant:"solid",class:{root:"bg-primary text-inverted"}},{color:"secondary",variant:"solid",class:{root:"bg-secondary text-inverted"}},{color:"success",variant:"solid",class:{root:"bg-success text-inverted"}},{color:"info",variant:"solid",class:{root:"bg-info text-inverted"}},{color:"warning",variant:"solid",class:{root:"bg-warning text-inverted"}},{color:"error",variant:"solid",class:{root:"bg-error text-inverted"}},{color:"primary",variant:"outline",class:{root:"text-primary ring ring-inset ring-primary/25"}},{color:"secondary",variant:"outline",class:{root:"text-secondary ring ring-inset ring-secondary/25"}},{color:"success",variant:"outline",class:{root:"text-success ring ring-inset ring-success/25"}},{color:"info",variant:"outline",class:{root:"text-info ring ring-inset ring-info/25"}},{color:"warning",variant:"outline",class:{root:"text-warning ring ring-inset ring-warning/25"}},{color:"error",variant:"outline",class:{root:"text-error ring ring-inset ring-error/25"}},{color:"primary",variant:"soft",class:{root:"bg-primary/10 text-primary"}},{color:"secondary",variant:"soft",class:{root:"bg-secondary/10 text-secondary"}},{color:"success",variant:"soft",class:{root:"bg-success/10 text-success"}},{color:"info",variant:"soft",class:{root:"bg-info/10 text-info"}},{color:"warning",variant:"soft",class:{root:"bg-warning/10 text-warning"}},{color:"error",variant:"soft",class:{root:"bg-error/10 text-error"}},{color:"primary",variant:"subtle",class:{root:"bg-primary/10 text-primary ring ring-inset ring-primary/25"}},{color:"secondary",variant:"subtle",class:{root:"bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"}},{color:"success",variant:"subtle",class:{root:"bg-success/10 text-success ring ring-inset ring-success/25"}},{color:"info",variant:"subtle",class:{root:"bg-info/10 text-info ring ring-inset ring-info/25"}},{color:"warning",variant:"subtle",class:{root:"bg-warning/10 text-warning ring ring-inset ring-warning/25"}},{color:"error",variant:"subtle",class:{root:"bg-error/10 text-error ring ring-inset ring-error/25"}},{color:"neutral",variant:"solid",class:{root:"text-inverted bg-inverted"}},{color:"neutral",variant:"outline",class:{root:"text-highlighted bg-default ring ring-inset ring-default"}},{color:"neutral",variant:"soft",class:{root:"text-highlighted bg-elevated/50"}},{color:"neutral",variant:"subtle",class:{root:"text-highlighted bg-elevated/50 ring ring-inset ring-accented"}}],defaultVariants:{color:"primary",variant:"solid"}},MB={__name:"Alert",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},orientation:{type:null,required:!1,default:"vertical"},actions:{type:Array,required:!1},close:{type:[Boolean,Object],required:!1},closeIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("alert",a),{t:o}=js(),l=kt(),c=$(()=>tt({extend:tt(SB),...l.ui?.alert||{}})({color:s.color,variant:s.variant,orientation:s.orientation,title:!!s.title||!!r.title}));return(u,d)=>(x(),N(i(Te),{as:i(s).as,"data-orientation":i(s).orientation,"data-slot":"root",class:xe(c.value.root({class:[i(s).ui?.root,i(s).class]}))},{default:T(()=>[Z(u.$slots,"leading",{ui:c.value},()=>[i(s).avatar?(x(),N(Mr,$e({key:0,size:i(s).ui?.avatarSize||c.value.avatarSize()},i(s).avatar,{"data-slot":"avatar",class:c.value.avatar({class:i(s).ui?.avatar})}),null,16,["size","class"])):i(s).icon?(x(),N(Xe,{key:1,name:i(s).icon,"data-slot":"icon",class:xe(c.value.icon({class:i(s).ui?.icon}))},null,8,["name","class"])):se("",!0)]),b("div",{"data-slot":"wrapper",class:xe(c.value.wrapper({class:i(s).ui?.wrapper}))},[i(s).title||r.title?(x(),F("div",{key:0,"data-slot":"title",class:xe(c.value.title({class:i(s).ui?.title}))},[Z(u.$slots,"title",{},()=>[pe(C(i(s).title),1)])],2)):se("",!0),i(s).description||r.description?(x(),F("div",{key:1,"data-slot":"description",class:xe(c.value.description({class:i(s).ui?.description}))},[Z(u.$slots,"description",{},()=>[pe(C(i(s).description),1)])],2)):se("",!0),i(s).orientation==="vertical"&&(i(s).actions?.length||r.actions)?(x(),F("div",{key:2,"data-slot":"actions",class:xe(c.value.actions({class:i(s).ui?.actions}))},[Z(u.$slots,"actions",{},()=>[(x(!0),F(De,null,Ye(i(s).actions,(f,p)=>(x(),N(nt,$e({key:p,size:"xs"},{ref_for:!0},f),null,16))),128))])],2)):se("",!0)],2),i(s).orientation==="horizontal"&&(i(s).actions?.length||r.actions)||i(s).close?(x(),F("div",{key:0,"data-slot":"actions",class:xe(c.value.actions({class:i(s).ui?.actions,orientation:"horizontal"}))},[i(s).orientation==="horizontal"&&(i(s).actions?.length||r.actions)?Z(u.$slots,"actions",{key:0},()=>[(x(!0),F(De,null,Ye(i(s).actions,(f,p)=>(x(),N(nt,$e({key:p,size:"xs"},{ref_for:!0},f),null,16))),128))]):se("",!0),Z(u.$slots,"close",{ui:c.value},()=>[i(s).close?(x(),N(nt,$e({key:0,icon:i(s).closeIcon||i(l).ui.icons.close,color:"neutral",variant:"link","aria-label":i(o)("alert.close")},typeof i(s).close=="object"?i(s).close:{},{"data-slot":"close",class:c.value.close({class:i(s).ui?.close}),onClick:d[0]||(d[0]=f=>n("update:open",!1))}),null,16,["icon","aria-label","class"])):se("",!0)])],2)):se("",!0)]),_:3},8,["as","data-orientation","class"]))}},$B=["innerHTML"],Vw=ue({__name:"AlertTips",props:{icon:{},content:{},color:{}},setup(e){return(t,a)=>{const n=MB;return x(),N(n,{color:e.color||"error",variant:"outline",icon:e.icon||"i-lucide-terminal",class:"p-2"},{title:T(()=>[b("p",{innerHTML:e.content},null,8,$B)]),_:1},8,["color","icon"])}}}),AB={key:0,class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},IB={key:0,class:"font-normal text-gray-400"},TB={class:"flex gap-2"},PB={key:1,class:"mt-1 text-xs text-gray-500"},DB={key:2,class:"mt-2"},EB={key:0,class:"flex items-center gap-1 text-sm text-green-600 dark:text-green-400"},RB={key:1,class:"flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400"},Wc=ue({__name:"ApiKeyInput",props:{modelValue:{},placeholder:{default:""},label:{default:"API Key"},optionalText:{default:""},hint:{default:""},validateLoading:{type:Boolean,default:!1},validateDisabled:{type:Boolean,default:!1},validateText:{default:""},validationResult:{default:"idle"},validationMessage:{default:""}},emits:["update:modelValue","validate"],setup(e,{emit:t}){const a=e,n=t,r=$(()=>!!a.validateText),s=E(!1);function o(l){n("update:modelValue",l)}return(l,c)=>{const u=nt,d=pa,f=Xe;return x(),F("div",null,[e.label?(x(),F("label",AB,[pe(C(e.label)+" ",1),e.optionalText?(x(),F("span",IB,C(e.optionalText),1)):se("",!0)])):se("",!0),b("div",TB,[I(d,{"model-value":e.modelValue,type:s.value?"text":"password",placeholder:e.placeholder,ui:{trailing:"pe-1"},class:"flex-1","onUpdate:modelValue":o},Il({_:2},[e.modelValue?{name:"trailing",fn:T(()=>[I(u,{color:"neutral",variant:"link",size:"sm",icon:s.value?"i-heroicons-eye-slash":"i-heroicons-eye","aria-label":s.value?"Hide":"Show","aria-pressed":s.value,onClick:c[0]||(c[0]=p=>s.value=!s.value)},null,8,["icon","aria-label","aria-pressed"])]),key:"0"}:void 0]),1032,["model-value","type","placeholder"]),r.value?(x(),N(u,{key:0,loading:e.validateLoading,disabled:e.validateDisabled,variant:"soft",onClick:c[1]||(c[1]=p=>n("validate"))},{default:T(()=>[pe(C(e.validateText),1)]),_:1},8,["loading","disabled"])):se("",!0)]),e.hint?(x(),F("p",PB,C(e.hint),1)):se("",!0),e.validationMessage?(x(),F("div",DB,[e.validationResult==="valid"?(x(),F("div",EB,[I(f,{name:"i-heroicons-check-circle",class:"h-4 w-4"}),pe(" "+C(e.validationMessage),1)])):e.validationResult==="invalid"?(x(),F("div",RB,[I(f,{name:"i-heroicons-exclamation-triangle",class:"h-4 w-4"}),pe(" "+C(e.validationMessage),1)])):se("",!0)])):se("",!0)])}}}),OB={class:"flex max-h-[80vh] min-h-[400px] flex-col p-6"},LB={class:"mb-4 flex items-center justify-between"},qB={class:"text-lg font-semibold text-gray-900 dark:text-white"},NB={class:"flex items-center gap-2"},FB={class:"min-h-0 flex-1 overflow-y-auto"},VB={key:0,class:"flex flex-col items-center justify-center py-12"},BB={class:"text-sm text-gray-500"},zB={key:1,class:"flex flex-col items-center justify-center py-12"},HB={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},UB={class:"mt-1 max-w-sm text-center text-xs text-gray-500"},jB={key:2,class:"flex flex-col items-center justify-center py-12"},WB={class:"text-sm text-gray-500"},KB={key:3,class:"space-y-1"},GB={class:"min-w-0 flex-1"},YB={class:"truncate text-sm font-medium text-gray-800 dark:text-gray-200"},XB={class:"flex items-center gap-2"},JB={key:0,class:"truncate text-xs text-gray-400"},QB={key:1,class:"shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-500 dark:bg-gray-800 dark:text-gray-400"},ZB={key:0,disabled:"",class:"ml-3 flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-xs text-green-500"},ez={class:"mt-4 flex items-center justify-between border-t border-gray-100 pt-4 dark:border-gray-800"},tz={class:"text-xs text-gray-400"},az=ue({__name:"RemoteModelBrowser",props:wr({models:{},loading:{type:Boolean},error:{},addedModelIds:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:wr(["add","addAll","refresh"],["update:open"]),setup(e,{emit:t}){const{t:a}=ot(),n=Tl(e,"open"),r=e,s=t,o=E(""),l=$(()=>{const d=o.value.toLowerCase().trim();return d?r.models.filter(f=>f.id.toLowerCase().includes(d)||f.name.toLowerCase().includes(d)||f.ownedBy&&f.ownedBy.toLowerCase().includes(d)):r.models}),c=$(()=>l.value.filter(d=>!r.addedModelIds.has(d.id)));function u(){s("addAll",c.value)}return(d,f)=>{const p=Xe,m=nt,g=pa,y=$a;return x(),N(y,{open:n.value,ui:{content:"max-w-2xl z-[102]",overlay:"z-[101]"},"onUpdate:open":f[4]||(f[4]=_=>n.value=_)},{content:T(()=>[b("div",OB,[b("div",LB,[b("h3",qB,C(i(a)("settings.aiConfig.modal.fetchModelsTitle")),1),b("div",NB,[l.value.length>0&&c.value.length>0?(x(),N(m,{key:0,size:"xs",variant:"soft",onClick:u},{default:T(()=>[I(p,{name:"i-heroicons-plus",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.addAllModels"))+" ("+C(c.value.length)+") ",1)]),_:1})):se("",!0),I(m,{size:"xs",variant:"ghost",loading:e.loading,onClick:f[0]||(f[0]=_=>s("refresh"))},{default:T(()=>[I(p,{name:"i-heroicons-arrow-path",class:"h-4 w-4"})]),_:1},8,["loading"])])]),I(g,{modelValue:o.value,"onUpdate:modelValue":f[1]||(f[1]=_=>o.value=_),placeholder:i(a)("settings.aiConfig.modal.searchModels"),class:"mb-3",ui:{leading:"pointer-events-none"}},{leading:T(()=>[I(p,{name:"i-heroicons-magnifying-glass",class:"h-4 w-4 text-gray-400"})]),_:1},8,["modelValue","placeholder"]),b("div",FB,[e.loading?(x(),F("div",VB,[I(p,{name:"i-heroicons-arrow-path",class:"mb-3 h-8 w-8 animate-spin text-gray-400"}),b("p",BB,C(i(a)("settings.aiConfig.modal.fetchModelsLoading")),1)])):e.error?(x(),F("div",zB,[I(p,{name:"i-heroicons-exclamation-triangle",class:"mb-3 h-8 w-8 text-amber-400"}),b("p",HB,C(i(a)("settings.aiConfig.modal.fetchModelsError")),1),b("p",UB,C(e.error),1),I(m,{size:"xs",variant:"soft",class:"mt-3",onClick:f[2]||(f[2]=_=>s("refresh"))},{default:T(()=>[pe(C(i(a)("common.retry")),1)]),_:1})])):l.value.length===0?(x(),F("div",jB,[I(p,{name:"i-heroicons-cube-transparent",class:"mb-3 h-8 w-8 text-gray-300"}),b("p",WB,C(o.value?i(a)("common.noResults"):i(a)("settings.aiConfig.modal.fetchModelsEmpty")),1)])):(x(),F("div",KB,[(x(!0),F(De,null,Ye(l.value,_=>(x(),F("div",{key:_.id,class:"flex items-center justify-between rounded-lg px-3 py-2 transition-colors hover:bg-gray-50 dark:hover:bg-gray-800/50"},[b("div",GB,[b("p",YB,C(_.id),1),b("div",XB,[_.ownedBy?(x(),F("span",JB,C(_.ownedBy),1)):se("",!0),_.contextWindow?(x(),F("span",QB,C(_.contextWindow>=1e6?(_.contextWindow/1048576).toFixed(1)+"M":Math.round(_.contextWindow/1024)+"K"),1)):se("",!0)])]),e.addedModelIds.has(_.id)?(x(),F("button",ZB,[I(p,{name:"i-heroicons-check",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.modelAdded")),1)])):(x(),N(m,{key:1,size:"xs",variant:"soft",class:"ml-3 shrink-0",onClick:v=>s("add",_)},{default:T(()=>[I(p,{name:"i-heroicons-plus",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("common.add")),1)]),_:1},8,["onClick"]))]))),128))]))]),b("div",ez,[b("p",tz,C(i(a)("settings.aiConfig.modal.fetchModelsCount",{total:e.models.length,shown:l.value.length})),1),I(m,{variant:"soft",onClick:f[3]||(f[3]=_=>n.value=!1)},{default:T(()=>[pe(C(i(a)("common.close")),1)]),_:1})])])]),_:1},8,["open"])}}});function Bw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kc={exports:{}},nz=Kc.exports,by;function $d(){return by||(by=1,(function(e,t){(function(a,n){e.exports=n()})(nz,(function(){var a=1e3,n=6e4,r=36e5,s="millisecond",o="second",l="minute",c="hour",u="day",d="week",f="month",p="quarter",m="year",g="date",y="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(R){var L=["th","st","nd","rd"],z=R%100;return"["+R+(L[(z-20)%10]||L[z]||L[0])+"]"}},k=function(R,L,z){var le=String(R);return!le||le.length>=L?R:""+Array(L+1-le.length).join(z)+R},w={s:k,z:function(R){var L=-R.utcOffset(),z=Math.abs(L),le=Math.floor(z/60),K=z%60;return(L<=0?"+":"-")+k(le,2,"0")+":"+k(K,2,"0")},m:function R(L,z){if(L.date()<z.date())return-R(z,L);var le=12*(z.year()-L.year())+(z.month()-L.month()),K=L.clone().add(le,f),ce=z-K<0,Y=L.clone().add(le+(ce?-1:1),f);return+(-(le+(z-K)/(ce?K-Y:Y-K))||0)},a:function(R){return R<0?Math.ceil(R)||0:Math.floor(R)},p:function(R){return{M:f,y:m,w:d,d:u,D:g,h:c,m:l,s:o,ms:s,Q:p}[R]||String(R||"").toLowerCase().replace(/s$/,"")},u:function(R){return R===void 0}},A="en",M={};M[A]=h;var S="$isDayjsObject",P=function(R){return R instanceof G||!(!R||!R[S])},D=function R(L,z,le){var K;if(!L)return A;if(typeof L=="string"){var ce=L.toLowerCase();M[ce]&&(K=ce),z&&(M[ce]=z,K=ce);var Y=L.split("-");if(!K&&Y.length>1)return R(Y[0])}else{var ve=L.name;M[ve]=L,K=ve}return!le&&K&&(A=K),K||!le&&A},H=function(R,L){if(P(R))return R.clone();var z=typeof L=="object"?L:{};return z.date=R,z.args=arguments,new G(z)},Q=w;Q.l=D,Q.i=P,Q.w=function(R,L){return H(R,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var G=(function(){function R(z){this.$L=D(z.locale,null,!0),this.parse(z),this.$x=this.$x||z.x||{},this[S]=!0}var L=R.prototype;return L.parse=function(z){this.$d=(function(le){var K=le.date,ce=le.utc;if(K===null)return new Date(NaN);if(Q.u(K))return new Date;if(K instanceof Date)return new Date(K);if(typeof K=="string"&&!/Z$/i.test(K)){var Y=K.match(_);if(Y){var ve=Y[2]-1||0,ie=(Y[7]||"0").substring(0,3);return ce?new Date(Date.UTC(Y[1],ve,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ie)):new Date(Y[1],ve,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ie)}}return new Date(K)})(z),this.init()},L.init=function(){var z=this.$d;this.$y=z.getFullYear(),this.$M=z.getMonth(),this.$D=z.getDate(),this.$W=z.getDay(),this.$H=z.getHours(),this.$m=z.getMinutes(),this.$s=z.getSeconds(),this.$ms=z.getMilliseconds()},L.$utils=function(){return Q},L.isValid=function(){return this.$d.toString()!==y},L.isSame=function(z,le){var K=H(z);return this.startOf(le)<=K&&K<=this.endOf(le)},L.isAfter=function(z,le){return H(z)<this.startOf(le)},L.isBefore=function(z,le){return this.endOf(le)<H(z)},L.$g=function(z,le,K){return Q.u(z)?this[le]:this.set(K,z)},L.unix=function(){return Math.floor(this.valueOf()/1e3)},L.valueOf=function(){return this.$d.getTime()},L.startOf=function(z,le){var K=this,ce=!!Q.u(le)||le,Y=Q.p(z),ve=function(j,J){var ne=Q.w(K.$u?Date.UTC(K.$y,J,j):new Date(K.$y,J,j),K);return ce?ne:ne.endOf(u)},ie=function(j,J){return Q.w(K.toDate()[j].apply(K.toDate("s"),(ce?[0,0,0,0]:[23,59,59,999]).slice(J)),K)},ye=this.$W,de=this.$M,he=this.$D,ge="set"+(this.$u?"UTC":"");switch(Y){case m:return ce?ve(1,0):ve(31,11);case f:return ce?ve(1,de):ve(0,de+1);case d:var O=this.$locale().weekStart||0,W=(ye<O?ye+7:ye)-O;return ve(ce?he-W:he+(6-W),de);case u:case g:return ie(ge+"Hours",0);case c:return ie(ge+"Minutes",1);case l:return ie(ge+"Seconds",2);case o:return ie(ge+"Milliseconds",3);default:return this.clone()}},L.endOf=function(z){return this.startOf(z,!1)},L.$set=function(z,le){var K,ce=Q.p(z),Y="set"+(this.$u?"UTC":""),ve=(K={},K[u]=Y+"Date",K[g]=Y+"Date",K[f]=Y+"Month",K[m]=Y+"FullYear",K[c]=Y+"Hours",K[l]=Y+"Minutes",K[o]=Y+"Seconds",K[s]=Y+"Milliseconds",K)[ce],ie=ce===u?this.$D+(le-this.$W):le;if(ce===f||ce===m){var ye=this.clone().set(g,1);ye.$d[ve](ie),ye.init(),this.$d=ye.set(g,Math.min(this.$D,ye.daysInMonth())).$d}else ve&&this.$d[ve](ie);return this.init(),this},L.set=function(z,le){return this.clone().$set(z,le)},L.get=function(z){return this[Q.p(z)]()},L.add=function(z,le){var K,ce=this;z=Number(z);var Y=Q.p(le),ve=function(de){var he=H(ce);return Q.w(he.date(he.date()+Math.round(de*z)),ce)};if(Y===f)return this.set(f,this.$M+z);if(Y===m)return this.set(m,this.$y+z);if(Y===u)return ve(1);if(Y===d)return ve(7);var ie=(K={},K[l]=n,K[c]=r,K[o]=a,K)[Y]||1,ye=this.$d.getTime()+z*ie;return Q.w(ye,this)},L.subtract=function(z,le){return this.add(-1*z,le)},L.format=function(z){var le=this,K=this.$locale();if(!this.isValid())return K.invalidDate||y;var ce=z||"YYYY-MM-DDTHH:mm:ssZ",Y=Q.z(this),ve=this.$H,ie=this.$m,ye=this.$M,de=K.weekdays,he=K.months,ge=K.meridiem,O=function(J,ne,U,q){return J&&(J[ne]||J(le,ce))||U[ne].slice(0,q)},W=function(J){return Q.s(ve%12||12,J,"0")},j=ge||function(J,ne,U){var q=J<12?"AM":"PM";return U?q.toLowerCase():q};return ce.replace(v,(function(J,ne){return ne||(function(U){switch(U){case"YY":return String(le.$y).slice(-2);case"YYYY":return Q.s(le.$y,4,"0");case"M":return ye+1;case"MM":return Q.s(ye+1,2,"0");case"MMM":return O(K.monthsShort,ye,he,3);case"MMMM":return O(he,ye);case"D":return le.$D;case"DD":return Q.s(le.$D,2,"0");case"d":return String(le.$W);case"dd":return O(K.weekdaysMin,le.$W,de,2);case"ddd":return O(K.weekdaysShort,le.$W,de,3);case"dddd":return de[le.$W];case"H":return String(ve);case"HH":return Q.s(ve,2,"0");case"h":return W(1);case"hh":return W(2);case"a":return j(ve,ie,!0);case"A":return j(ve,ie,!1);case"m":return String(ie);case"mm":return Q.s(ie,2,"0");case"s":return String(le.$s);case"ss":return Q.s(le.$s,2,"0");case"SSS":return Q.s(le.$ms,3,"0");case"Z":return Y}return null})(J)||Y.replace(":","")}))},L.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},L.diff=function(z,le,K){var ce,Y=this,ve=Q.p(le),ie=H(z),ye=(ie.utcOffset()-this.utcOffset())*n,de=this-ie,he=function(){return Q.m(Y,ie)};switch(ve){case m:ce=he()/12;break;case f:ce=he();break;case p:ce=he()/3;break;case d:ce=(de-ye)/6048e5;break;case u:ce=(de-ye)/864e5;break;case c:ce=de/r;break;case l:ce=de/n;break;case o:ce=de/a;break;default:ce=de}return K?ce:Q.a(ce)},L.daysInMonth=function(){return this.endOf(f).$D},L.$locale=function(){return M[this.$L]},L.locale=function(z,le){if(!z)return this.$L;var K=this.clone(),ce=D(z,le,!0);return ce&&(K.$L=ce),K},L.clone=function(){return Q.w(this.$d,this)},L.toDate=function(){return new Date(this.valueOf())},L.toJSON=function(){return this.isValid()?this.toISOString():null},L.toISOString=function(){return this.$d.toISOString()},L.toString=function(){return this.$d.toUTCString()},R})(),V=G.prototype;return H.prototype=V,[["$ms",s],["$s",o],["$m",l],["$H",c],["$W",u],["$M",f],["$y",m],["$D",g]].forEach((function(R){V[R[1]]=function(L){return this.$g(L,R[0],R[1])}})),H.extend=function(R,L){return R.$i||(R(L,G,H),R.$i=!0),H},H.locale=D,H.isDayjs=P,H.unix=function(R){return H(1e3*R)},H.en=M[A],H.Ls=M,H.p={},H}))})(Kc)),Kc.exports}var rz=$d();const Ba=Bw(rz);var Gc={exports:{}},sz=Gc.exports,xy;function oz(){return xy||(xy=1,(function(e,t){(function(a,n){e.exports=n($d())})(sz,(function(a){function n(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var r=n(a),s={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,l){return l==="W"?o+"周":o+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(o,l){var c=100*o+l;return c<600?"凌晨":c<900?"早上":c<1100?"上午":c<1300?"中午":c<1800?"下午":"晚上"}};return r.default.locale(s,null,!0),s}))})(Gc)),Gc.exports}oz();var Yc={exports:{}},iz=Yc.exports,_y;function lz(){return _y||(_y=1,(function(e,t){(function(a,n){e.exports=n($d())})(iz,(function(a){function n(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var r=n(a),s={name:"zh-tw",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,l){return l==="W"?o+"週":o+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"},meridiem:function(o,l){var c=100*o+l;return c<600?"凌晨":c<900?"早上":c<1100?"上午":c<1300?"中午":c<1800?"下午":"晚上"}};return r.default.locale(s,null,!0),s}))})(Yc)),Yc.exports}lz();var Xc={exports:{}},cz=Xc.exports,wy;function uz(){return wy||(wy=1,(function(e,t){(function(a,n){e.exports=n()})(cz,(function(){return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(a){var n=["th","st","nd","rd"],r=a%100;return"["+a+(n[(r-20)%10]||n[r]||n[0])+"]"}}}))})(Xc)),Xc.exports}uz();var Jc={exports:{}},dz=Jc.exports,ky;function fz(){return ky||(ky=1,(function(e,t){(function(a,n){e.exports=n($d())})(dz,(function(a){function n(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var r=n(a),s={name:"ja",weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o){return o+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiem:function(o){return o<12?"午前":"午後"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}};return r.default.locale(s,null,!0),s}))})(Jc)),Jc.exports}fz();const pz="确定",mz="取消",gz="保存",hz="编辑",vz="添加",yz="截屏",bz="关闭",xz="返回",_z="完成",wz="重试",kz="应用初始化失败",Cz="Web WASM 已在另一个标签页中打开。请关闭另一个 ChatLab Web WASM 标签页后重试。",Sz="加载中...",Mz="初始化中...",$z="无匹配结果",Az="导出成功",Iz="导出失败",Tz="生成中...",Pz="重新生成",Dz="打开目录",Ez="查看聊天记录",Rz="请先在设置中配置 AI 服务",Oz={unknown:"未知错误"},Lz={text:"文字",image:"图片",voice:"语音",video:"视频",file:"文件",emoji:"表情",link:"链接",location:"位置",redPacket:"红包",transfer:"转账",poke:"拍一拍",call:"通话",share:"分享",reply:"回复",forward:"转发",contact:"名片",system:"系统",recall:"撤回",other:"其他",unknown:"未知"},qz={mon:"周一",tue:"周二",wed:"周三",thu:"周四",fri:"周五",sat:"周六",sun:"周日"},Nz={jan:"1月",feb:"2月",mar:"3月",apr:"4月",may:"5月",jun:"6月",jul:"7月",aug:"8月",sep:"9月",oct:"10月",nov:"11月",dec:"12月"},Fz={title:"选择语言",subtitle:"请选择您偏好的界面语言",next:"下一步"},Vz={title:"隐私政策与用户协议",subtitle:"使用前请仔细阅读",disagree:"我不同意",agree:"我已阅读并同意",updateNotice:"协议内容有重要更新,请重新阅读并确认"},Bz={selectDate:"选择日期",clearDate:"清空日期"},zz={mode:{recent:"最近",quarter:"按季",year:"按年",custom:"自定义"},recent:{oneYear:"近一年",twoYears:"近两年",fiveYears:"近五年",all:"全部"},display:{recent365:"最近一年",recent730:"最近两年",recent1825:"最近五年"},quarter:{label:"{year}年 第{quarter}季度"},year:{label:"{year}年"}},Hz={allMembers:"全部成员"},Uz={placeholder:"搜索成员",noSecondary:"无其他名称"},jz={description:"此服务已开启认证保护,请输入 API Token 登录",tokenLabel:"API Token",tokenPlaceholder:"clb_xxxxxxxx",submit:"登录",hint:"Token 可在启动日志、config.toml 或 --token 启动参数中获取",errorEmpty:"请输入 Token",errorInvalid:"Token 无效,请检查后重试",errorNetwork:"网络连接失败",rememberDevice:"记住此设备",rememberWarning:"仅在可信设备上勾选,Token 将持久保存在浏览器中",logoutTitle:"账户",logoutDesc:"退出当前认证登录",logout:"退出登录"},Wz={confirm:pz,cancel:mz,delete:"删除",save:gz,edit:hz,add:vz,capture:yz,close:bz,back:xz,done:_z,retry:wz,initFailed:kz,webWasmWorkspaceBusy:Cz,loading:Sz,initializing:Mz,noResults:$z,export:"导出",exportSuccess:Az,exportFailed:Iz,generating:Tz,regenerate:Pz,openFolder:Dz,viewChatRecords:Ez,errorNoAIConfig:Rz,error:Oz,messageType:Lz,weekday:qz,month:Nz,languageSelect:Fz,agreement:Vz,datePicker:Bz,timeSelect:zz,userSelect:Hz,memberSearchSelect:Uz,login:jz},Kz="ChatLab",Gz="分析新对话",Yz="联系人",Xz="关系",Jz="足迹",Qz="实用工具",Zz="聊天对话",eH="管理",tH="暂无记录",aH="搜索对话名称",nH="未找到匹配的聊天记录",rH={rename:"重命名",pin:"置顶",unpin:"取消置顶",copyId:"复制 ID",delete:"删除"},sH={title:"重命名",placeholder:"请输入新名称"},oH={title:"确认删除",message:'确定要删除聊天记录 "{name}" 吗?此操作无法撤销。'},iH={tag:"New",title:"发现新版本",message:"最新版本是 v{version}。",desktopHint:"点击立即更新后,ChatLab 会开始检查并下载桌面端更新。",cliHint:"请在终端运行以下命令更新 CLI,更新后重启服务。",updateNow:"立即更新",later:"稍后"},lH={all:"全部",private:"私聊",group:"群聊"},cH={importedAt:"导入时间",lastMessageTs:"最近对话",messageCount:"消息数量"},uH={search:"搜索聊天记录",sort:"排序"},dH="{count} 条消息",fH={settings:"设置"},pH={brand:Kz,newAnalysis:Gz,contacts:Yz,relationships:Xz,insight:Jz,tools:Qz,chatHistory:Zz,manage:eH,noRecords:tH,searchPlaceholder:aH,noSearchResult:nH,contextMenu:rH,renameModal:sH,deleteModal:oH,updateNotice:iH,filter:lH,sort:cH,tooltip:uH,sessionInfo:dH,footer:fH},mH="设置",gH={basic:"基础设置",ai:"AI 设置",aiConfig:"模型服务",aiDefaultModel:"默认模型",semanticIndex:"语义索引",chatPreferences:"对话偏好",compression:"上下文压缩",aiPreprocess:"预处理",dataManage:"数据管理",storage:"存储管理",security:"安全",sessionManage:"会话索引",about:"关于",api:"自动化",apiSubTabs:{autoSync:"自动同步",apiService:"API 服务",mcp:"MCP"}},hH={general:{title:"常规"},preferences:{title:"偏好设置"},language:{description:"选择软件显示语言"},appearance:{title:"外观设置",themeMode:"主题模式",auto:"跟随系统",light:"浅色模式",dark:"深色模式"},defaultTab:{description:"进入聊天对话后默认显示的页面",overview:"总览",aiChat:"AI 对话"},autoLaunch:{openAtLogin:"开机自启动",openAtLoginDesc:"系统启动时自动运行 ChatLab",devModeHint:"开发模式下不可用"},toolsPanel:{positionLabel:"快捷工具入口位置",positionDesc:"选择快捷工具面板的显示位置",positionSide:"右侧",positionHeader:"顶部"},network:{title:"网络设置",proxyMode:"代理模式",proxyModeDesc:"访问网络时使用的代理方式",modeOff:"关闭",modeSystem:"跟随系统",modeManual:"手动配置",proxyAddress:"代理地址",proxyPlaceholder:"http://127.0.0.1:7890",proxyHelp:"支持 HTTP/HTTPS 代理,格式如:http://127.0.0.1:7890",testConnection:"测试连接",testing:"测试中...",connectionSuccess:"代理连接成功!",connectionFailed:"连接失败",enterProxyFirst:"请先输入代理地址",invalidProxyUrl:"请输入有效的代理地址,格式如 http://127.0.0.1:7890",onlyHttpSupported:"仅支持 http:// 或 https:// 协议",saveFailed:"保存失败"}},vH={title:"默认模型",noConfigs:"请先在「模型服务」中添加模型配置",selectProvider:"选择提供商",selectModel:"选择模型",assistantModel:{label:"默认助手模型",description:"用于 AI 对话、工具调用、SQL 助手、上下文压缩"},fastModel:{label:"快速模型",description:"用于会话摘要生成,未配置时使用默认助手模型",followAssistant:"跟随默认助手模型"}},yH={title:"模型服务",defaultModel:"默认模型",empty:{title:"还没有配置 AI 服务",description:"添加一个配置开始使用 AI 功能"},addConfig:"添加新服务",maxConfigs:"已达最大配置数量(10个)",modal:{addConfig:"添加新服务",editConfig:"编辑服务",localService:"本地服务",configName:"配置名称",optional:"(选填)",configNamePlaceholderPreset:"留空将使用服务商名称",configNamePlaceholderCustom:"留空将使用 API 端点地址",aiProvider:"AI 服务商",apiKeyPlaceholder:"输入你的 API Key",apiKeyPlaceholderEdit:"输入新的 API Key(留空保持原有)",apiKeyPlaceholderLocal:"本地服务通常不需要",apiKeyHintLocal:"如果服务设置了认证,在此输入",validate:"验证",validationSuccess:"连接验证成功",validationFailed:"连接验证失败",validationFailedTitle:"API 连接验证失败",saveAnywayHint:"验证未通过,配置信息可能有误。是否仍然保存?",saveAnyway:"仍然保存",validationError:"验证失败:",model:"模型",apiEndpoint:"API 地址",apiEndpointHint:"兼容 OpenAI 格式的 API 端点",resolvedUrl:"实际请求地址:",fetchModels:"从 API 获取",fetchModelsTitle:"浏览远程模型",fetchModelsLoading:"正在获取模型列表...",fetchModelsEmpty:"未获取到模型",fetchModelsError:"获取模型列表失败",fetchModelsCount:"共 {total} 个模型,当前显示 {shown} 个",modelAdded:"已添加",addAllModels:"全部添加",searchModels:"搜索模型...",apiEndpointOverrideHint:"默认地址已填入,可按需改为完整 URL",customService:"自定义服务",visitWebsite:"访问官网",getApiKey:"获取 API Key",presetService:"预设服务",thirdPartyService:"第三方服务",addCustomModel:"添加模型",deleteCustomModel:"删除选中",customModelId:"模型端点名",customModelIdHint:"API 调用时使用的模型标识符",customModelDisplayName:"显示名称",customModelDisplayNamePlaceholder:"自定义显示名",editModel:"编辑模型",contextWindow:"上下文窗口",contextWindowPlaceholder:"如 128000",contextWindowHint:"模型支持的最大上下文 token 数(用于上下文压缩)",contextWindowMissing:"未设置上下文窗口,将使用默认值,建议点击「编辑模型」手动填写",modelRequired:"至少添加一个模型才能保存",apiFormat:"API 接口类型",apiFormatOpenAI:"OpenAI Completions",apiFormatAnthropic:"Anthropic",apiFormatGemini:"Gemini",apiFormatOpenAIResponses:"OpenAI Responses"},providerKind:{aggregator:"聚合",custom:"自定义"}},bH={title:"本地存储管理",description:"管理 ChatLab 在本地存储的数据文件",dataLocation:{title:"数据目录位置",description:"自定义聊天数据库与向量库的存放位置",managedDescription:"此设置仅管理聊天数据库和向量库目录;AI 对话、缓存和日志仍保存在固定系统目录。",choose:"选择位置",applyPath:"应用",reset:"恢复默认",open:"打开",serverPathHint:"请输入运行 CLI 服务的机器可访问的绝对路径。",migrateHint:"检测到聊天数据库数据仍在旧位置,建议迁移至统一目录:",ignoreMigrateHint:"忽略",migrateAction:"一键迁移",restartTip:"切换目录后请重启应用,聊天数据库数据会按选择迁移",cliRestartTip:"切换目录后请重启 CLI 服务,聊天数据库数据会在服务启动前迁移",confirmTitle:"确认切换数据目录",confirmMessage:"您即将切换聊天数据库目录。选择迁移时,现有聊天数据库数据将复制到新目录。",newPath:"新目录路径",defaultPath:"默认位置",confirmWarning:"重启应用后,聊天数据库数据会迁移到新位置,旧目录将保留为备份。",cliConfirmWarning:"重启 CLI 服务后,聊天数据库数据会迁移到新位置,旧目录将保留为备份。请确保服务进程有读写权限。",pathRequired:"请输入数据目录路径",installDirForbidden:"不能将数据目录放在应用安装目录下,应用更新时该目录会被清空",cancel:"取消",confirm:"确认切换",migrationQueuedTitle:"数据迁移已登记",migrationSuccessMessage:"应用需要重启以使更改生效。",cliMigrationSuccessMessage:"请停止当前 CLI 服务并重新启动,迁移会在服务启动前执行。重启完成后再重新打开页面查看新目录。",relaunchNow:"立即重启",acknowledge:"知道了",cleanupNoticeTitle:"已切换到新的数据目录",cleanupNoticeDescription:"为避免数据丢失,原目录仍作为备份保留。请确认聊天记录完整后,再前往存储管理清理旧数据。",cleanupOldPath:"原数据目录",cleanupLater:"稍后处理",cleanupGoToStorage:"前往存储管理",cleanupTitle:"待清理的旧数据",cleanupDescription:"迁移前的数据目录仍作为备份保留。确认新目录中的聊天记录完整后,可手动删除。",cleanupDeleteAction:"删除旧数据",cleanupDeleteConfirmTitle:"永久删除旧数据?",cleanupDeleteConfirmDescription:"此操作无法恢复。请先确认新目录中的聊天记录完整,再删除以下原数据目录。",cleanupDeleteConfirmAction:"永久删除",cleanupDeleteFailed:"旧数据删除失败"},openRootDir:"打开根目录",totalUsage:"总占用:",loading:"加载中...",files:"文件",notExist:"不存在",clear:"清理",open:"打开",cache:{databases:{name:"聊天记录数据库",description:"导入的聊天记录分析数据"},ai:{name:"AI 对话数据库",description:"AI 对话历史和配置文件"},statsCache:{name:"缓存数据",description:"聊天记录的统计缓存,清理后会自动重建"},logs:{name:"日志文件",description:"软件的运行日志,包含导入、AI、错误等日志"}}},xH={session:{title:"会话索引设置",description:"会话索引将聊天记录按时间间隔自动分割为对话段落,便于AI分析和浏览",defaultThreshold:"默认分割间隔",thresholdUnit:"分钟",thresholdHelp:"超过该时间间隔的消息将被分到新的会话段落",generating:"正在生成",batchTitle:"批量生成索引",totalSessions:"共 {count} 个聊天",generatedCount:"已生成 {count} 个",notGeneratedCount:"未生成 {count} 个",loadingStatus:"加载中...",batchGenerate:"生成未索引",batchRegenerate:"全部重新生成",batchRegenerateConfirmTitle:"确认重新生成",batchRegenerateConfirmMessage:"此操作将清空所有已生成的 AI 摘要,并重新生成全部会话索引。",batchRegenerateConfirmWarning:"已有的摘要内容将被覆盖,此操作不可撤销。",summaryStrategy:"摘要详细程度",summaryStrategyHelp:"影响 AI 生成摘要时的详细程度",summaryBrief:"简要",summaryStandard:"标准"},semanticIndex:{title:"语义索引",description:"用所选向量模型为聊天记录建立索引,启用后 AI 回答时可按语义检索相关历史片段作为依据。",vectorModel:"向量模型",selectModel:"选择向量模型",switchModel:"切换模型",noModelSelected:"未选择向量模型",modelModalTitle:"配置向量模型",modeLocal:"本地模型",modeApi:"API",recommended:"推荐",approxSize:"约 {mb} MB",modelDownloadSource:"模型下载源",downloadSourceOfficial:"Hugging Face 官方",downloadSourceMirror:"HF-Mirror 国内镜像",mirrorSourceHint:"HF-Mirror 是第三方公益镜像,适合中国大陆网络环境;模型文件将从 hf-mirror.com 下载。",localDownloadHint:"保存后自动下载模型,首次下载可能需要一些时间。",apiTemplate:"服务模板",modelName:"模型名",apiKeySaved:"已保存,留空则不修改",apiKeyHint:"API Key 单独安全存储,配置文件只保存引用。",apiCostWarning:"API 模式可能产生服务商费用,请确认模型价格。",changeRebuildHint:"更换模型或 API 后,已启用对话需要重建索引。",modelDownloading:"正在下载模型,首次使用需要几分钟,请稍候…",modelError:"模型下载失败,建立索引时将重试。",searchMaxResults:{label:"单次检索片段数",hint:"AI 调用语义检索时默认返回的相关片段数(5-15)。AI 可按问题需要临时调高。"},overview:"索引概览",enabledCount:"已启用 {count} 个对话",coverage:"覆盖率 {percent}%",buildPending:"建立待处理索引",cleanup:"清理未使用索引",cleanupConfirm:"将删除已停用对话和旧模型遗留的索引数据。此操作不会删除聊天记录。",configFirst:"请先配置向量模型",selectConversations:"选择对话",enabledSessions:"已启用对话",state:{completed:"已完成",building:"建立中",pending:"待建立",needsRebuild:"需要重建",failed:"失败",paused:"已暂停"},action:{build:"建立索引",pause:"暂停",cancel:"取消",rebuild:"重建索引",remove:"移除"},session:{statusLabel:"状态",notEnabled:"未启用",coverageLabel:"覆盖率",progressLabel:"建立进度",enableHint:"启用后,AI 可以在回答此对话相关问题时检索历史聊天片段。",configFirst:"启用前需要先在 设置 > AI > 语义索引 配置向量模型。",enable:"启用索引",buildVsEnable:"启用索引:让此对话进入语义检索范围;建立索引:开始读取全部消息生成向量,可能消耗本地算力或 API 额度。",retry:"重试",continue:"继续"},picker:{title:"选择对话",all:"全部",group:"群聊",private:"私聊",searchPlaceholder:"按名称搜索",messages:"{count} 条消息",enabled:"已启用",selectedSummary:"已选择 {count} 个对话,约 {messages} 条消息",confirmRemoveTitle:"确认移除",confirmRemoveMessage:"这些对话的语义索引将被立即删除,不可恢复。"}}},_H={chatSettings:{title:"工具设置"},exportSettings:{title:"导出设置"},chatPreferences:{title:"对话偏好",enableAutoSkill:"AI 自主选择技能",enableAutoSkillDesc:"启用后,AI 会根据用户的问题自动匹配并激活合适的分析技能;关闭后仅在手动选择技能时生效",chartAutoMode:{title:"图表自动生成",description:"控制 AI 在没有手动选择绘图助手时使用图表的积极程度",explicit:"明确请求时",explicitHint:"只有你明确要求图表时,AI 才会生成图表。",suggest:"智能生成",suggestHint:"策略保守,仅在能明显帮助理解分析结果时生成图表。",aggressive:"积极生成",aggressiveHint:"AI 会更主动地在数据分析场景中生成图表。"}},maxMessages:{title:"发送条数限制",description:"每次提交给 AI 的最大消息数,数值越大 Token 消耗越多,分析也更准确(新手建议2000)"},searchContext:{title:"搜索上下文窗口",description:"搜索命中消息时自动携带前后的对话上下文,帮助 AI 理解消息背景。设为 0 则不携带上下文",before:"前",after:"后"},exportFormat:{title:"对话导出格式",description:"导出 AI 对话时使用的文件格式",txtLabel:"TXT"},sqlExportFormat:{title:"SQL Lab 导出格式",description:"导出 SQL 查询结果时使用的文件格式"},compression:{title:"上下文压缩",enable:"自动压缩上下文",enableDesc:"对话过长时自动压缩历史为摘要,保留关键信息的同时降低 Token 消耗",threshold:"压缩阈值",thresholdDesc:"上下文 Token 达到模型窗口的百分比时触发压缩",buffer:"缓冲区大小",bufferDesc:"保留最近消息原文的比例,不参与压缩",maxToolResultPercent:"工具结果上限",maxToolResultPercentDesc:"单次工具返回给 AI 的最大数据量占比(基于模型上下文窗口计算),超出部分会被智能截断"}},wH={title:"关于 ChatLab",description:"本地化的聊天记录分析工具,通过 SQL 和 AI Agent 回顾你的社交记忆。",version:"版本",checkUpdate:"检查更新",checking:"检查中...",upToDate:"已是最新版本",newVersionAvailable:"发现新版本 {version}",webUpdateHint:"请在终端运行 clb update 后重启服务。",updateCheckFailed:"检查更新失败:{error}",unknown:"未知",privacy:{title:"隐私设置",analytics:"匿名使用统计",analyticsDesc:"开启后,软件会收集版本号、操作系统版本等非敏感数据,用于帮助优化产品"},developer:{title:"开发者选项",debugMode:"DEBUG 模式",debugModeDesc:"开启后,将显示调试面板和快捷调试工具,可用于查看数据库、运行测试工具,并记录更详细的调试日志。"}},kH={title:"聊天记录预处理",description:"在聊天记录发送给 AI 前进行预处理,节省 Token 并过滤噪音。原始数据不会被修改。",dataCleaning:"数据清洗",dataCleaningDesc:"自动清理 XML 卡片消息(如分享链接、小程序等),提取有效内容,大幅节省 Token。建议保持开启。",mergeConsecutive:"合并连续发言",mergeConsecutiveDesc:"同一人在短时间内的连续消息合并为一条",mergeWindow:"合并时间窗口(秒)",denoise:"智能去噪",denoiseDesc:"过滤纯语气词、纯表情、系统占位符(如 [图片])等无意义消息",desensitize:"数据脱敏",desensitizeDesc:"根据规则将敏感信息(手机号、邮箱、证件号等)替换为占位符",desensitizeBuiltin:"预置规则",desensitizeResetBuiltin:"恢复默认",desensitizeCustom:"自定义规则",desensitizeAddCustom:"添加自定义规则",desensitizeRuleName:"规则名称",desensitizeRulePattern:"正则表达式",desensitizeRuleReplacement:"替换文本",desensitizeRuleAdd:"添加",desensitizeRuleInvalidRegex:"正则表达式语法错误",desensitizeRuleNamePlaceholder:"例如:员工工号",desensitizeRulePatternPlaceholder:"例如:EMP-\\d+",desensitizeRuleReplacementPlaceholder:"替换文本,如 [工号]",anonymizeNames:"昵称匿名化",anonymizeNamesDesc:"用编号(U1、U2…)替代真实昵称发送给 AI,减少幻觉并节省 Token",blacklist:"黑名单关键词",blacklistDesc:"包含以下任一关键词的消息将被整条过滤",blacklistPlaceholder:"输入关键词后按回车添加",blacklistAdd:"添加"},CH={groups:{credentials:"密码与 Token",credentials_desc:"API Key、Bearer Token 等凭据",global_contact:"通用联系方式",global_contact_desc:"邮箱等跨地区联系方式",global_financial:"通用金融信息",global_financial_desc:"信用卡等金融编号",global_network:"通用网络信息",global_network_desc:"URL、IP 地址等网络标识",region_cn:"中国大陆",region_cn_desc:"中国大陆电话、证件和银行卡等规则",region_us:"美国",region_us_desc:"美国电话、证件等规则",region_jp:"日本",region_jp_desc:"日本电话、个人编号等规则",region_kr:"韩国",region_kr_desc:"韩国电话、身份证号等规则"},rules:{cn_phone:"中国手机号",cn_phone_desc:"1xx xxxx xxxx 格式的 11 位号码",cn_id_card:"中国身份证号",cn_id_card_desc:"18 位,末位可含 X",cn_bank_card:"中国银行卡号",cn_bank_card_desc:"16-19 位连续数字",cn_landline:"中国座机号",cn_landline_desc:"区号-号码,如 010-12345678",us_ssn:"美国社会安全号 (SSN)",us_ssn_desc:"XXX-XX-XXXX 格式",us_phone:"美国电话号码",us_phone_desc:"+1 (XXX) XXX-XXXX 格式",us_drivers_license:"美国驾照号",us_drivers_license_desc:"字母开头 + 7-8 位数字",jp_phone:"日本电话号码",jp_phone_desc:"0x0-XXXX-XXXX 格式",jp_my_number:"日本个人编号",jp_my_number_desc:"12 位数字(マイナンバー)",kr_phone:"韩国电话号码",kr_phone_desc:"01X-XXXX-XXXX 格式",kr_rrn:"韩国身份证号",kr_rrn_desc:"XXXXXX-XXXXXXX 格式(주민번호)",api_key_prefix:"API Key / Token(已知前缀)",api_key_prefix_desc:"sk-、ghp_、AKIA 等开头的长字符串",bearer_token:"Bearer Token",bearer_token_desc:"Bearer 后的授权令牌值",email:"邮箱地址",email_desc:"user{'@'}domain.com 标准格式",credit_card:"信用卡号",credit_card_desc:"Visa / MasterCard / AmEx 等卡号",ipv4:"IPv4 地址",ipv4_desc:"如 192.168.1.1",url:"URL 链接",url_desc:"http:// 或 https:// 开头的链接"}},SH={service:{title:"API 服务",enable:"启用 API 服务",enableDesc:"开启后,外部工具可通过 HTTP API 查询、导出和导入聊天数据。仅本机可访问 (127.0.0.1)",portInUseHint:"端口被占用,请在下方修改端口或关闭占用该端口的程序后重试"},status:{running:"运行中",stopped:"已停止",starting:"启动中...",portInUse:"端口被占用",error:"启动失败"},port:{title:"端口配置",label:"监听端口",desc:"API 服务监听的本地端口号(1024-65535)",edit:"修改",save:"保存",cancel:"取消"},token:{title:"访问令牌",label:"Bearer Token",desc:"所有 API 请求需要在 Authorization 头中携带此 Token",noToken:"尚未生成 Token,请先启用服务",regenerate:"重新生成"},dataSources:{title:"数据源",desc:"配置外部数据源 URL,ChatLab 将按设定间隔自动拉取并导入聊天数据。",empty:"暂无数据源",noSessions:"暂无导入会话,点击上方「管理导入会话」添加",disabled:"已暂停",every:"每",minutes:"分钟",lastSync:"上次同步",syncing:"同步中",messages:"条消息",addBtn:"添加数据源",form:{modalTitle:"添加数据源",name:"名称",namePlaceholder:"例如:我的聊天服务器",token:"访问令牌",tokenPlaceholder:"远程 API 的 Bearer Token",interval:"拉取间隔(分钟)",pullLimit:"每次拉取消息数",pullLimitPlaceholder:"默认 1000"},discovery:{baseUrl:"服务器地址",baseUrlPlaceholder:"示例:http://127.0.0.1:2333/api/v1",found:"发现 {count} 个会话",search:"搜索",searchPlaceholder:"按会话名称搜索",selectAll:"全选",deselectAll:"取消全选",selectByType:"会话类型",typeAll:"全部",typePrivate:"私聊",typeGroup:"群聊",loadMore:"加载更多",subscribe:"订阅 {count} 个会话",messages:"条消息",error:"连接远程服务器失败",connectionCheckFailed:"无法连接到远程服务器,请检查地址和令牌是否正确"},edit:{title:"修改配置",save:"保存",cancel:"取消",editSource:"修改配置",manageSessions:"管理订阅",subscribed:"已订阅"},deleteConfirm:{title:"删除数据源",message:"确认删除数据源「{name}」?该数据源下的所有导入配置将被移除。已导入的本地对话不会被删除。"},deleteSessionConfirm:{title:"删除订阅",message:"确认删除订阅「{name}」?",keepData:"仅删除订阅",deleteData:"同时删除导入的聊天"}},usage:{title:"使用说明",desc:"启用服务后,外部工具可通过 API 查询数据,或向 ChatLab 推送聊天记录。所有请求需携带 Bearer Token 认证。",authHint:"请求头示例:",docLink:"查看完整 API 文档"}},MH={overview:{title:"MCP 概述",description:"MCP 让 AI 助手直接查询你的聊天记录。支持会话发现、关键词搜索、成员统计、时间分布等操作。",toolCount:"{count} 个工具",resourceCount:"{count} 个资源",installHint:"安装 chatlab-cli 后,在 AI 客户端中添加以下配置即可使用:"},clients:{other:"通用"},config:{title:"客户端配置",clientLabel:"MCP 客户端",copy:"复制",copied:"已复制",claudeHint:"将此配置添加到 ClaudeCode 的 MCP 配置中。",codexHint:"将此 TOML 配置添加到 ~/.codex/config.toml 文件中。",openclawHint:"将此配置添加到项目的 openclaw.json 文件中。",otherHint:"将此 JSON 配置添加到你的 MCP 客户端配置文件中。"},tips:{title:"使用提示",dataDir:"MCP 服务器读取 ~/.chatlab/ 目录下的聊天数据,与桌面应用共享同一份数据。",readOnly:"所有操作均为只读,不会修改你的聊天记录。",nodeRequired:"npx 和 CLI 方式需要 Node.js 20 或更高版本。",docs:"详细文档请访问 docs.chatlab.fun。"}},$H={lock:{title:"应用锁",desc:"使用 4 位数字密码保护 ChatLab",statusOn:"已开启",statusOff:"未开启",disableBtn:"关闭应用锁",disableConfirm:"确定关闭应用锁?关闭后将删除当前密码。",manualLock:"立即锁定"},password:{titleSetup:"设置 4 位密码并开启应用锁",titleChange:"修改密码",labelOld:"旧密码",labelNew:"输入新密码",labelConfirm:"确认新密码",btnEnable:"开启",errorInvalidPin:"密码必须是 4 位数字",errorMismatch:"两次输入的密码不一致",errorSameAsOld:"新密码不能与旧密码相同",errorFailed:"操作失败,请重试"},autoLock:{title:"自动锁定",idleLabel:"闲置超时自动锁定",startupLabel:"启动时要求解锁"},lockScreen:{titleLocked:"ChatLab 已锁定",placeholderPassword:"输入 4 位数字密码",btnUnlock:"解锁",verifying:"验证中...",errorService:"解锁失败,请重试",errorWrongPassword:"密码错误",errorTooManyAttempts:"尝试次数过多,请在 {seconds} 秒后重试"}},AH={title:mH,tabs:gH,basic:hH,defaultModel:vH,aiConfig:yH,storage:bH,ai:xH,aiPrompt:_H,about:wH,aiPreprocess:kH,desensitize:CH,api:SH,mcp:MH,security:$H},IH="探索新的聊天记忆",TH={file:"文件导入",api:"API 导入",cli:"CLI 导入",autoSyncTitle:"自动同步",autoSyncDescription:"由 ChatLab 定时从外部数据源拉取新增聊天记录。",autoSyncButton:"配置自动同步",apiPushTitle:"API 推送",apiPushDescription:"让第三方工具、插件或脚本通过本地 API 主动写入。",apiPushButton:"配置 API 服务",agentImportTitle:"使用 AI Agent 导入",agentImportDescription:"安装官方Skill,使用Skill自动导入聊天记录。",manualCliTitle:"手动使用 CLI",manualCliDescription:"适合终端操作、批处理脚本和可重复的自动化流程。",copyCommand:"复制命令",viewDocs:"查看文档"},PH={viewExample:"查看示例 Demo",downloading:"正在下载示例数据...",importing:"正在导入示例数据...",failed:"示例数据加载失败,请检查网络连接后重试"},DH={title:"数据库需要升级",description:"检测到 {count} 个数据库需要升级以支持新功能。",note:"升级过程通常只需几秒钟,不会丢失任何数据。",upgradeContent:"本次升级内容:",upgradeNow:"立即升级",upgrading:"正在升级...",failed:"迁移失败",partialFailed:"部分数据库升级失败",errorHint:"这通常是因为数据库文件损坏。建议在侧边栏中删除失败的会话,然后重新导入。",close:"关闭",retry:"重试"},EH={title:"选择要导入的聊天",scanning:"正在扫描聊天列表...",scanFailed:"扫描失败",retry:"重试",selectAll:"全选",chatCount:"共 {count} 个聊天",selected:"已选 {count} 个",messageCount:"{count} 条消息",memberCount:"{count} 位成员",empty:"空会话",import:"导入 ({count})",noChats:"未发现任何聊天"},RH={title:"选择聊天记录格式",hint:"无法自动识别此文件的格式,请手动选择对应的聊天记录格式。",manualSelect:"手动选择格式",confirm:"使用此格式导入"},OH={export:"新手引导"},LH={website:"官网",terms:"使用条款"},qH={title:"版本日志",subtitle:"查看所有版本更新内容",latest:"最新版本",current:"当前版本",total:"共 {count} 个版本",close:"关闭",loadError:"加载版本日志失败",retry:"重试",types:{feat:"新功能",fix:"问题修复",refactor:"重构优化",docs:"文档更新",chore:"其他优化",style:"样式优化",ci:"CI/构建"}},NH={tagline:IH,tabs:TH,import:{dropHint:"松开鼠标导入文件",clickHint:"点击选择或拖拽聊天记录导入",multipleHint:"支持同时选择或拖拽多个文件",selectFiles:"选择聊天记录文件",selectFolder:"选择导出文件夹",importFolder:"导入文件夹",chatRecords:"聊天记录",allFiles:"所有文件",progress:{detecting:"正在检测格式...",reading:"正在读取文件...",parsing:"正在解析消息...",saving:"正在写入数据库...",indexing:"正在构建搜索索引...",done:"导入完成",error:"导入中断"},processed:"已处理 {count} 条消息",viewLog:"查看导入日志",cannotReadPath:"无法读取文件路径",errors:{no_file_selected:"未选择文件",import_failed:"导入失败",import_in_progress:"已有导入任务正在进行,请稍后重试",unrecognized_format:"无法识别的文件格式",no_messages:"未解析到任何消息,请检查文件格式是否正确",no_chat_selected:"未选择聊天",archive_single_file_required:"压缩包需要单独选择并导入",archive_unsupported:"暂不支持此压缩包格式",archive_encrypted:"不支持加密压缩包",archive_corrupt:"压缩包已损坏或内容不完整",archive_unsafe_path:"压缩包包含不安全的文件路径",archive_limit_exceeded:"压缩包超过安全处理限制",google_chat_structure_not_found:"未找到 Google Chat 导出数据",google_chat_conversation_incomplete:"Google Chat 会话文件不完整",import_source_not_found:"导入源已不存在,请重新选择压缩包",import_source_expired:"导入源已过期,请重新选择压缩包",actionHint:"你还可以尝试下方手动匹配或查看日志:"},diagnostics:{format:"检测格式:",received:"收到消息:",written:" / 写入:",skipped:" / 跳过:"},outcome:{created:"已创建新会话",ambiguous:"发现多个可能的已有会话,未自动合并,已创建新会话",incremental:"已增量导入 {newCount} 条消息,跳过 {duplicateCount} 条重复消息",unchanged:"内容已导入,没有新增消息"},batch:{importing:"正在批量导入",progressCount:"第 {current} 个 / 共 {total} 个",cancel:"取消导入",waiting:"等待中",skipped:"已跳过",success:"导入成功",created:"已创建新会话",ambiguous:"候选会话不唯一,已创建新会话",incremental:"新增 {newCount} 条,跳过 {duplicateCount} 条重复消息",unchanged:"内容已导入,无新增消息",completed:"批量导入完成",summary:"成功 {success} 个,失败 {failed} 个,跳过 {cancelled} 个",view:"查看"},options:{mergeImport:"合并导入",mergeImportHint:"勾选后,多个文件将合并为一个聊天记录"},merge:{importing:"正在合并",parsing:"正在解析文件...",merging:"正在合并消息...",completed:"合并完成",completedHint:"{count} 个文件已合并",messageCount:"{count} 条消息",failed:"合并失败"}},demo:PH,migration:DH,chatSelector:EH,formatSelector:RH,quickStart:OH,footer:LH,changelog:qH},FH={loading:"加载分析数据...",loadError:"无法加载会话数据"},VH={loading:"加载分析数据...",loadError:"无法加载会话数据"},BH={overview:"总览",view:"洞察",ranking:"榜单",aiChat:"AI对话",memory:"记忆",lab:"实验室",debug:"Debug"},zH={sqlTables:"SQL 表格",basicTools:"基础工具",tableBrowser:{chatDb:"聊天记录 DB",aiDb:"AI 对话 DB",rowCount:"共 {count} 行",page:"第 {current} / {total} 页",refresh:"刷新",noData:"暂无数据",editRow:"编辑行",deleteRow:"删除行",confirmDelete:"确认删除这行数据?",allConversations:"全部对话",copyCell:"复制选中项",copyRow:"复制整行 (JSON)",clearDebugContext:"清除 Debug 上下文",confirmClearDebug:"确认清除所有消息的 debug_context 数据?此操作不可撤销。"}},HH={comingSoon:"正在计划中,如果你对记忆功能有什么建议,欢迎加群讨论。",joinLink:"https://chatlab.fun/cn/other/community"},UH={viewChatRecord:"查看聊天记录",semanticIndex:"语义索引",incrementalImport:"增量导入",memberManagement:"成员管理",more:"更多"},jH={title:"追加聊天记录",description:"选择要追加到「{name}」的聊天记录文件,系统会自动去重。",homeAutoImportHint:"现在首页已支持自动增量导入,有新的聊天记录时,直接拖拽新的聊天记录到首页即可。",dropHint:"点击选择或拖拽文件到此处",analyzing:"正在分析文件...",totalInFile:"文件消息数",newMessages:"新增消息",duplicates:"重复消息",noNewMessages:"文件中没有新消息,所有消息都已存在",importing:"正在导入...",import:"确认导入 {count} 条消息",success:"导入成功",successDetail:"成功追加 {count} 条新消息",failed:"导入失败"},WH={view:{typeAnalysis:"类型",timeAnalysis:"时间",topic:"话题",groupRelationships:"群关系",relationship:"关系",languagePreference:"语言偏好"},ranking:{overall:"总榜单",keyword:"关键词"},quotes:{hotRepeat:"最火复读",catchphrase:"口头禅"},groupRelationships:{mentionGraph:"{'@'} 关系图",mentionRanking:"{'@'} 排行",proximity:"发言临近度"},member:{nicknameHistory:"昵称变更"}},KH={messageTypeDistribution:"消息类型分布",memberDistribution:"成员消息占比",memberRanking:"成员排行",others:"其他人",memberComparison:"双方消息占比",statCards:{dailyAvgMessages:"日均消息",messagesCount:"{count} 条",daysCount:"共 {count} 天",imageMessages:"图片消息",imagesCount:"{count} 张",peakHour:"最活跃时段:",mostActiveWeekday:"最活跃星期",messagesOnDay:"{count} 条消息",weekendActivity:"周末活跃度",weekendRatio:"周末消息占比",mostActiveDate:"最活跃日期",consecutiveStreak:"连续打卡",daysStreak:"{count} 天",longestStreak:"最长连续活跃",activityRate:"活跃率",activeDaysRatio:"有消息的天数占比",lateNightChat:"深夜聊天",lateNightRatio:"占总消息 {ratio}%"},dailyTrend:{title:"每日消息趋势"},identity:{privateChat:"私聊",groupChat:"群聊",totalMessages:"消息总数",durationDays:"跨度天数",activeDays:"活跃天数",dailyAvgMessages:"日均消息"},tools:"常用工具"},GH={miniMode:"迷你模式",exitMini:"退出迷你模式"},YH={title:"导出聊天记录",selectOutputDir:"选择保存目录",format:"格式"},XH={timeRange:"时间范围",allTime:"全部",today:"今天",lastWeek:"近7天",lastMonth:"近1个月",last3Months:"近3个月",lastYear:"近1年",customTime:"自定义",exportSuccess:"导出成功",exportFailed:"导出失败",exportPreparing:"正在准备导出..."},JH={groupChat:FH,privateChat:VH,tabs:BH,debug:zH,memory:HH,tooltip:UH,incremental:jH,subTabs:WH,overview:KH,toolsPanel:GH,messageExport:YH,filter:XH},QH={searchPlaceholder:"搜索对话名称",searchResult:"找到 {count} / {total} 个",ownerIssues:"{count} 个会话尚未设置“我是谁”",ownerStatus:{missing:"未设置",unresolved:"需确认"},noSearchResult:"未找到匹配的聊天记录",selectAll:"全选",shiftClickHint:"按住 Shift 点击可范围多选",selected:"已选 {count} 个",empty:"暂无聊天记录",delete:"删除选中",confirmTitle:"确认删除",confirmMessage:"确定要删除选中的 {count} 个聊天记录吗?此操作不可撤销。",deleting:"正在删除...",columns:{name:"名称",platform:"平台",owner:"我是谁",messages:"消息数",summaries:"AI摘要",aiChats:"AI 对话",importedAt:"导入时间"},clickToEdit:"点击编辑名称",merge:"合并选中",mergeHint:"选择 2 个以上同聊天类型的聊天记录才能合并",mergeConfirmTitle:"合并聊天记录",mergeConfirmMessage:"将合并选中的 {count} 个聊天记录,生成一条新的合并记录。",deleteOriginalsLabel:"合并后删除原聊天记录",mergeRiskWarning:"强提醒:删除后不可恢复,且由于跨平台上下文差异,聊天语义可能出现错位或混乱。请确认你已备份原始数据并理解风险。",mergeSteps:{exporting:"正在导出聊天记录...",parsing:"正在解析文件...",checking:"正在检测冲突...",merging:"正在合并数据...",cleaning:"正在清理临时文件..."},mergeSuccess:"成功合并 {count} 个聊天记录",mergeError:"合并失败:{error}",mergedSuffix:"合并"},ZH={batchManage:QH},eU={name:"DeepSeek"},tU={name:"通义千问"},aU={name:"Gemini"},nU={name:"MiniMax"},rU={name:"GLM"},sU={name:"Kimi"},oU={name:"豆包"},iU={name:"硅基流动"},lU={name:"Groq"},cU={name:"OpenRouter"},uU={name:"xAI"},dU={deepseek:eU,qwen:tU,gemini:aU,minimax:nU,glm:rU,kimi:sU,doubao:oU,siliconflow:iU,groq:lU,openrouter:cU,xai:uU,"openai-compatible":{name:"第三方服务"}},fU={chatExplorer:"对话式探索",sqlLab:"SQL实验室"},pU={scrollToBottom:"返回底部",input:{placeholderWithSlash:"输入你的问题,或输入 / 选择技能、输入 {'@'} 选择成员...",placeholderWithActiveSkill:"已选择 /{name},请输入具体问题...",slashHint:"输入 / 选择技能",useSkill:"选择技能",mentionHint:"输入 {'@'} 选择成员",mentionEmpty:"没有匹配的成员",mentionEmptyHint:"可按昵称、别名或账号搜索",slashEmpty:"没有匹配的技能",slashEmptyHint:"打开技能管理导入内置技能,或创建一个自定义技能",manageSkills:"管理技能",previewTagsLabel:"标签",previewToolsLabel:"工具",previewUnavailable:"暂无可预览的技能提示词",quickAsk:"快速提问",editQuickAsk:"编辑快速提问",send:"发送",needMoreThanSkill:"仅选择技能还不能发送,请继续输入具体问题",needQuestion:"请输入问题后再发送"},fork:{success:"已复刻对话",failed:"复刻对话失败"},backgroundTask:{runningShort:"进行中",runningTitle:"AI 正在后台推理",runningDescription:"上一条问题仍在推理,请等待完成或先停止。",blockedAction:"当前回答仍在生成中,请先等待完成或手动停止。",return:"返回查看"},message:{copy:{tooltip:"复制 Markdown",success:"Markdown 已复制到剪贴板",failed:"复制 Markdown 失败"},process:{label:"执行过程",processing:"处理中",processed:"已处理"},toolResult:{view:"查看结果",title:"发送给 AI 的工具结果",copy:"复制结果",copySuccess:"工具结果已复制",copyFailed:"复制工具结果失败",displayTruncated:"此历史结果仅保存了截断版本;当前轮 AI 可能看到了更完整的内容。"},edit:{tooltip:"编辑并重新生成",submit:"发送",overwriteSubsequent:"覆盖后续所有对话"},fork:{tooltip:"从此处复刻对话"},chart:{expand:"打开大图",empty:"暂无数据",rows:"{count} 行数据",truncated:"已截断"},generating:"正在生成回复...",summary:{label:"上下文摘要",info:"以上对话已被压缩为摘要以节省上下文空间"},plan:{label:"分析计划",evidenceNeeded:"所需证据",suggestedTools:"建议工具",successCriteria:"完成标准",noTools:"无"},think:{labels:{think:"已思考",analysis:"分析",reasoning:"推理",reflection:"反思",planValidation:"生成计划",other:"思考({tag})"},loading:"思考中",duration:"耗时 {seconds}s"},toolParams:{keywords:"关键词",time:"时间",getMessages:"获取 {count} 条消息",limit:"限制 {count} 条",contextWithMessages:"{msgCount} 条消息的前后各 {contextSize} 条上下文",context:"前后各 {size} 条上下文",topMembers:"前 {count} 名成员",search:"搜索",getMemberList:"获取成员列表",memberId:"成员ID",timeStats:{hourly:"按小时",weekday:"按星期",daily:"按日期"}}},thinking:{processingResult:"处理结果中",called:"已调用:",analyzing:"正在分析问题...",compressing:"正在压缩上下文..."},statusBar:{model:{notConfigured:"AI 未配置"},agent:{label:"Agent",contextTokens:"上下文",phase:{compressing:"压缩上下文",preparing:"准备中",thinking:"思考中",tool_running:"调用工具",responding:"生成中",completed:"已完成",aborted:"已停止",error:"错误"},phaseShort:{compressing:"压缩",preparing:"准备",thinking:"思考",tool_running:"工具",responding:"生成",completed:"完成",aborted:"停止",error:"错误"}},thinking:{title:"思考强度",tooltip:"设置模型的思考强度",level:{default:"默认",off:"关闭",minimal:"极低",low:"低",medium:"中",high:"高",xhigh:"最高",auto:"自动"}},tokenUsageTitle:"累计 Token 使用量",cacheHit:"缓存命中",export:{label:"导出",title:"导出当前对话"},log:{label:"日志",title:"打开当前 AI 日志文件",openFailed:"打开日志失败",openFailedDesc:"请稍后重试"}},conversation:{newChat:"新对话",newConversation:"新建对话",empty:"暂无历史记录",startNew:"开始新对话",titlePlaceholder:"输入标题...",group:{last7Days:"最近 7 天",last30Days:"最近 30 天"},rename:"重命名",copyId:"复制 ID",delete:"删除",export:{createdAt:"创建时间",user:"用户",assistant:"AI 助手",noMessages:"对话没有消息"}},error:{title:"处理失败",detail:"错误详情",viewDetail:"查看详情",requestUrl:"请求路径",statusCode:"状态码",responseBody:"响应内容",responseHeaders:"响应头",requestBody:"请求体",name:"错误名称",message:"错误信息",stack:"堆栈信息",cause:"错误原因",provider:"服务商",copyAll:"复制全部",copied:"已复制到剪贴板",unknown:"未知错误"},dataSource:{title:"数据源",keywords:"关键词:",empty:"暂无数据",emptyHint:"发送问题后,相关记录会显示在这里",totalRecords:"共 {count} 条记录",loadMore:"加载更多"},evidence:{title:"依据证据",query:"问题",criteria:"判定标准",empty:"未找到明确可计入的证据",totalSources:"共 {count} 条来源",mode:{auto:"自动",hybrid:"语义 + 关键词",semantic:"语义检索",keyword:"关键词检索"},group:{included:"计入证据",excluded:"不计入",uncertain:"不确定"},warning:{criteria_missing:"未提供判定标准,分组结果较为保守",keywords_missing_for_hybrid:"未提供关键词,已退化为纯语义检索",keywords_required_for_keyword_mode:"关键词模式需要提供关键词",semantic_unavailable:"语义索引不可用,已改用关键词检索",keyword_unavailable:"关键词检索不可用",semantic_partial:"语义检索结果可能不完整"}}},mU={editor:{errorEmptySQL:"请输入 SQL 语句",placeholder:"输入 SQL 查询语句...",tip:"提示:双击左侧列名可插入到 SQL",history:"历史",generateAndRun:"生成并执行",switchToSQLMode:"切换为 SQL 输入模式",switchToPromptMode:"切换为 Prompt 输入模式",run:"运行"},schema:{tables:"数据表",doubleClickToInsert:"双击插入到 SQL",primaryKey:"主键"},result:{queryError:"查询错误",rows:"{count} 行",readableTime:"时间戳转日期",viewChat:"查看聊天记录",summarize:"总结一下",pageSize:"每页",emptyResult:"查询结果为空",initialState:"输入 SQL 语句并运行查看结果",initialHint:"仅支持只读查询(SELECT / WITH),建议添加 LIMIT 以提升性能",summaryTitle:"AI 结果总结",analyzing:"AI 正在分析结果...",errorSummary:"总结失败"},generate:{placeholder:"例如:查找发言最多的前 10 个成员、统计每天的消息数量、找出包含「买房」关键词的消息...",errorEmptyPrompt:"请输入查询需求",errorGenerate:"AI 生成失败",errorTokenLimit:"模型输出达到 token 上限,未能生成完整回复(可能思考消耗了过多 token)",aiOutput:"AI 输出",thinking:"思考中…",thinkingProcess:"思考过程",waitingAI:"等待 AI 响应...",defaultPromptPrivate:"请统计最近1年私聊中双方各自的:消息总数、消息占比、活跃天数、日均消息数(按活跃天计算)、首次发言时间、最近发言时间;按消息总数降序展示。",defaultPromptGroup:"请统计最近1年群聊中各成员的:消息总数、消息占比、活跃天数、日均消息数(按活跃天计算)、文本消息占比;显示成员名称并按消息总数降序,返回前20名。"},history:{title:"AI 生成历史",execute:"执行",empty:"暂无历史记录",justNow:"刚刚",minutesAgo:"{count} 分钟前",hoursAgo:"{count} 小时前",today:"今天"}},gU={selector:{title:"选择一个助手开始对话",heroTitlePrefix:"使用",heroTitleSuffix:"开始对话",subtitle:"每个助手擅长不同类型的分析任务,选择最适合你需求的助手",noAssistants:"当前场景暂无可用助手",manage:"管理助手",addNew:"新增助手"},config:{viewTitle:"查看配置",createTitle:"新建助手",editTitle:"助手配置",betaWarning:"当前处于测试阶段,配置逻辑后续可能调整,请备份好提示词和相关配置。",tabs:{basic:"基础配置",tools:"工具管理"},name:"名称",systemPrompt:"系统提示词",chatType:"适用聊天类型",chatTypeAll:"全部",chatTypeGroup:"群聊",chatTypePrivate:"私聊",locale:"适用语言",localeHint:"不选 = 全语言",presetQuestions:"预设问题",addQuestion:"添加新问题...",coreTools:"核心工具",coreToolsHint:"基础数据获取工具,始终启用,不可关闭",analysisTools:"分析工具",analysisToolsHint:"按需开启的分析能力,勾选后才会对 AI 可用",selectAll:"全选",deselectAll:"全不选",resetDefault:"恢复默认",create:"创建"},market:{title:"助手管理",tabs:{local:"本地助手",market:"助手市场"},localHint:"管理已导入的助手,可配置或删除",marketHint:"浏览助手市场,导入后即可使用和自由编辑",default:"默认",reimport:"重新导入",imported:"已导入",import:"导入",importing:"导入中...",importSuccess:"导入成功",importFailed:"导入失败",viewConfig:"查看配置",duplicate:"复制",addAssistant:"新增助手",noLocal:"暂无已导入的助手",noCatalog:"暂无可用助手,请检查网络连接",loading:"加载中...",loadFailed:"加载失败,请检查网络连接",retry:"重试"},fallbackName:"助手",duplicateSuffix:"(副本)",upgrade:{title:"默认助手有新版本",message:"当前默认助手基于旧版模板,并且包含你的自定义内容。ChatLab 会先将它保存为“{backupName}”,再切换到最新版本。",backupName:"{name}(旧版备份)",skipHint:"跳过后,当前模板版本将不再提醒。",skip:"跳过",skipFailed:"跳过失败",confirm:"备份并升级",success:"默认助手已升级",successDescription:"旧配置已保存为“{name}”",failed:"升级失败"},toast:{loadFailed:"加载失败",createSuccess:"创建成功",createFailed:"创建失败",saveSuccess:"保存成功",saveFailed:"保存失败",resetSuccess:"已恢复默认",resetFailed:"恢复失败",unknownError:"未知错误"},builtinToolDesc:{get_chat_overview:"获取聊天概览信息",search_messages:"搜索聊天消息",deep_search_messages:"深度搜索聊天消息",get_recent_messages:"获取最近消息",get_message_context:"获取消息上下文",get_conversation_between:"获取两人对话",get_members:"获取成员列表",get_schema:"查看数据表结构",get_member_stats:"获取成员统计",get_member_name_history:"获取成员改名历史",get_time_stats:"获取时间统计",get_segment_messages:"获取段落消息",get_segment_summaries:"获取段落摘要",message_type_breakdown:"消息类型分布",peak_chat_hours_by_member:"成员活跃时段",member_activity_trend:"成员活跃趋势",silent_members:"沉默成员检测",reply_interaction_ranking:"回复互动排行",mutual_interaction_pairs:"互动好友配对",member_message_length_stats:"消息长度统计",unanswered_messages:"未回复消息",daily_active_members:"每日活跃人数趋势",conversation_initiator_stats:"话题发起者统计",activity_heatmap:"活跃度热力图",response_time_analysis:"响应时间分析",keyword_frequency:"高频词统计",render_chart:"生成动态图表",semantic_search_current_chat:"检索聊天历史"}},hU={config:{createTitle:"新建技能",editTitle:"技能配置",chatScopeAll:"全部",chatScopeGroup:"群聊",chatScopePrivate:"私聊",rawEditorHint:"直接编辑完整的技能 Markdown 文件(含 YAML frontmatter)",create:"创建",save:"保存"},market:{title:"技能管理",tabs:{local:"本地技能",market:"技能市场"},localHint:"管理已导入的技能,可配置或删除",marketHint:"浏览技能市场,导入后即可使用和自由编辑",reimport:"重新导入",imported:"已导入",import:"导入",importing:"导入中...",importSuccess:"导入成功",importFailed:"导入失败",noLocal:"暂无已导入的技能",noCatalog:"暂无可用技能,请检查网络连接",addSkill:"新建自定义技能",loading:"加载中...",loadFailed:"加载失败,请检查网络连接",retry:"重试"},active:{label:"主动调用技能:{name}"}},vU={toolTest:{coreTools:"核心工具",analysisTools:"分析工具",parameters:"参数",arrayPlaceholder:"多个值用逗号分隔",execute:"执行",cancel:"取消",elapsed:"耗时 {ms}ms",result:"执行结果",truncated:"结果过大,已截断显示。建议减小 limit 参数以获取完整数据。"}},yU={tab:fU,chat:pU,sqlLab:mU,assistant:gU,skill:hU,lab:vU},bU={loading:"正在分析词频...",stats:{wordsLabel:"总词数",clickHint:"提示:点击词云可查看相关消息"},config:{maxWords:"显示词数",sizeScale:"字体大小",userFilter:"用户筛选",posFilter:"词性过滤",enableStopwords:"过滤停用词",dict:"分词词库"},size:{small:"小",medium:"中",large:"大",xlarge:"特大"},posFilter:{all:"全部词性",meaningful:"有意义",custom:"自定义",customHint:"自定义词性",selectMeaningful:"有意义",selectAll:"全选",clearAll:"清空"},empty:{title:"暂无词云数据",description:"当前筛选条件下没有足够的文本消息用于生成词云"},dict:{zhCN:"简体中文",zhTW:"繁体中文",download:"下载词库","download_zh-CN":"下载简体词库","download_zh-TW":"下载繁体词库",needDownload:"词云已使用内置分词结果展示。下载中文词库可提升分词准确度。",downloadHint:"~8MB",downloadSuccess:"词库下载成功",downloadFailed:"词库下载失败",promptTitle:"繁体中文词库",promptDescription:"检测到您使用繁体中文,词云分析需要繁体词库才能获得最佳效果。是否立即下载?(约 8MB)",promptDownload:"立即下载",promptLater:"稍后再说"}},xU={title:"关键词排行",description:"分析群聊关键词使用排行,这里可以自定义多种榜单",countTemplate:"共 {count} 位成员",templateLabel:"模板:",newTemplate:"+ 新建",searchPlaceholder:"输入并搜索",clear:"清空",templateHint:"* 右键模板可编辑或删除",keyword:"关键词",ranking:"排行榜",multiColorMode:"多色模式",times:"{count}次",timesWithPercent:"次 ({percent}%)",loading:"正在分析数据...",empty:"暂无数据,请尝试添加关键词或切换模板",contextMenu:{edit:"编辑",delete:"删除"},modal:{createTitle:"创建模板",editTitle:"编辑模板",templateName:"模板名称",templateNamePlaceholder:"如:正能量",keywords:"关键词",keywordPlaceholder:"输入后回车添加",update:"更新"},templates:{laugh:{name:"含笑量",keywords:"哈哈,xswl,lol,笑死,233",description:"统计群内的快乐指数"},sad:{name:"沮丧量",keywords:"想死,难受,哭了,崩溃,裂开,无语,累了",description:"统计群内的负面情绪"},praise:{name:"捧哏",keywords:"牛逼,666,厉害,强,nb,大佬,羡慕,好强",description:"统计群内最会夸人的成员"},slacker:{name:"摸鱼",keywords:"摸鱼,下班,饿了,困了,不想上班,什么时候下班",description:"统计群内最想下班的打工人"},gossip:{name:"吃瓜",keywords:"吃瓜,细说,真的假的,展开说说,尊嘟假嘟,卧槽,离谱",description:"统计群内最爱吃瓜的成员"},polite:{name:"礼貌",keywords:"谢谢,麻烦,收到,好的,辛苦,打扰,请教",description:"统计群内最客气的成员"},curious:{name:"疑问",keywords:"为什么,啥,怎么,不懂,求教",description:"统计群内问题最多的成员"}}},_U={title:"最火复读内容",loading:"正在加载复读数据...",description:"单次复读参与人数最多的内容",countTemplate:"共 {count} 条热门复读",people:"{count}人",times:"{count} 次",viewChat:"查看聊天记录",empty:"暂无复读数据"},wU={heroPrefix:"共分析了",heroMiddle:"条消息,",heroMiddleSecond:"产生了",heroSuffix:"个不同词汇",topTopicsPrefix:"你们最爱聊:",hotTopic:"热门话题",hotTopicDesc:"出现了 {count} 次",richness:"词汇丰富度",richnessValue:"{value}%",richnessDesc:"不重复词 {unique} / 总词数 {total}",chatStyle:"聊天风格",styleEncyclopedia:"百科全书型",styleEncyclopediaDesc:"名词占比高,爱聊人、地、事",styleAction:"行动派",styleActionDesc:"动词占比高,爱讨论做什么",styleExpressive:"表达派",styleExpressiveDesc:"形容词占比高,善于修饰表达",styleBalanced:"均衡型",styleBalancedDesc:"聊天内容多元,各类话题均衡",expressionStyle:"表达风格",expressionCasual:"简洁口语",expressionCasualDesc:"用词简短,轻松随意",expressionFormal:"正式书面",expressionFormalDesc:"用词考究,表达严谨",expressionMixed:"混合风格",expressionMixedDesc:"口语与书面兼顾",watermark:"话题画像 · Topic Profile",sharedTopics:"共同话题"},kU={title:"群成员口头禅",description:"看看每位成员最有代表性的重复短句",memberTitle:"{name}的口头禅",memberDescription:"按出现次数查看这位成员最常说的话",loading:"正在分析口头禅数据...",times:"{count}次",memberCount:"共 {count} 位成员",phraseCount:"共 {count} 条口头禅",viewChat:"查看相关消息",empty:{title:"暂无口头禅数据"}},CU={loading:"正在分析语言偏好...",empty:"暂无足够的文字消息进行语言分析",card:{diversityTitle:"词汇深度",diversityDesc:"不重复词汇占比",styleTitle:"聊天气质",styleDesc:"基于词性分布推导的表达风格",punctTitle:"标点性格",punctDesc:"最常用的标点风格",watermark:"语言偏好 · Language Preference",radarFactual:"事实性",radarActive:"行动感",radarDescriptive:"描述欲",radarAffable:"亲和力",radarIntense:"程度感",radarNoun:"名词",radarVerb:"动词",radarAdj:"形容词",radarModal:"语气词",radarAdv:"副词",topCatchphrases:"热门口头禅",languageProfiles:"语言画像"},catchphrasePK:{title:"口头禅 PK",sharedCount:"{count} 个共同口头禅",hint:"提示:点击可查看相关消息,粉框标记为共同口头禅"},pos:{title:"词性图谱",styleEncyclopedia:"百科全书派",styleAction:"行动派",styleExpressive:"感性派",styleBalanced:"均衡派"},modal:{title:"语气词画像",toneSoft:"软萌亲和",toneCurious:"好奇探索",toneCasual:"随和建议",toneCalm:"沉稳内敛",toneMixed:"多元风格",empty:"暂无语气词数据"},punctuation:{title:"标点性格",none:"无标点",personalityDeep:"深沉文学型",personalityPassionate:"情绪饱满型",personalityCurious:"好奇宝宝型",personalityCheerful:"心情愉悦型",personalityFreeflow:"意识流型",personalityPrecise:"严谨规范型",empty:"暂无标点数据"}},SU={wordcloud:bU,keywords:xU,hotRepeat:_U,topicProfile:wU,catchphrase:kU,languagePreference:CU},MU={title:"你是谁?",subtitle:"选择你在这个对话中的身份",description:"设置后你的消息会显示在聊天记录查看器右侧,AI 对话也能识别你的身份,分析更准确。同平台的其他对话会自动套用。",searchPlaceholder:"搜索成员",noMatch:"没有找到匹配的成员",empty:"暂无成员数据",loadError:"成员数据加载失败,请重试",later:"稍后",dontRemind:"本会话不再提醒",save:"保存",clear:"清除当前选择",saved:"已设置你的身份",appliedToOthers:"已自动应用到 {count} 个同平台会话",saveFailed:"设置身份失败",currentOwner:"我是:{name}",choose:"选择我是谁",change:"修改",helper:"设置后 AI 对话能识别你的身份,分析更准确"},$U={title:"成员管理",description:"共 {count} 位成员,可为成员添加别名备注或移除成员",searchPlaceholder:"搜索群昵称、账号名称、ID 或别名",noMatch:"没有找到匹配的成员",empty:"暂无成员数据",table:{accountName:"账号名称",groupNickname:"群昵称",messageCount:"消息数",lastMessageTime:"最后发言",customAlias:"自定义别名",actions:"操作"},aliasPlaceholder:"输入后回车添加",delete:"删除",deleteSelected:"删除选中",mergeSelected:"合并选中",selectedCount:"已选 {count} 位成员",pagination:"显示 {start} - {end} 条,共 {total} 位成员",tip:"提示:添加别名可以更好地识别聊天记录中的对话对象,别名将用于搜索和 AI 分析中。",mergeModal:{title:"确认合并成员?",content:"将成员 {source}({sourceCount} 条消息)合并到 {target}({targetCount} 条消息)下。默认保留消息更多一方的名称。",hint:"合并后不可恢复,被合并成员的消息将全部归属到保留成员。",cancel:"取消",confirm:"确认合并"},batchDeleteModal:{title:"确认批量删除成员?",content:"即将删除选中的 {count} 位成员及其 {messageCount} 条消息,此操作不可恢复。"},modal:{title:"确认删除成员?",content:"即将删除成员 {name} 及其 {count} 条消息,此操作不可恢复。",cancel:"取消",confirm:"确认删除"}},AU={note:"备注:QQ的旧版客户端支持导出聊天记录为txt版本,这个版本会获得最准确的昵称变更记录",title:"昵称变更记录",loading:"加载中...",hasChanges:"{count} 位成员曾修改过昵称",noChanges:"暂无成员修改昵称",current:"当前",empty:"该群组所有成员均未修改过昵称",loadingText:"正在加载昵称变更记录..."},IU={loading:"正在分析 {'@'} 互动数据...",rankingTitle:"{'@'} 互动排行",rankModes:{mentioners:"主动 {'@'}",mentioned:"被 {'@'}"},topMentionersDescription:"按主动 {'@'} 次数排序",topMentionedDescription:"按被 {'@'} 次数排序",times:"次",emptyTitle:"📱 {'@'} 互动分析",empty:"暂无 {'@'} 互动数据"},TU={ownerPrompt:MU,list:$U,nicknameHistory:AU,relationships:IU,private:{title:"对话成员",description:"共 {count} 位成员,可为成员添加别名备注用于搜索和 AI 分析"}},PU={title:"聊天记录查看器",loadedCount:"已加载 {count} 条消息"},DU={loading:"加载中...",noMessages:"暂无消息",tryAdjustFilter:"尝试调整筛选条件",loadingMore:"加载更多...",scrollUpForMore:"↑ 向上滚动加载更多",scrollDownForMore:"↓ 向下滚动加载更多"},EU={messageId:"消息 ID",memberPlaceholder:"成员",keywordsPlaceholder:"关键词,多个用逗号分隔,回车搜索",startDate:"起始日期",endDate:"结束日期",reset:"重置",filter:"筛选"},RU={timeline:"摘要",noSessions:"暂无摘要",generateSummary:"生成摘要",tooFewMessages:"消息太少"},OU="摘要生成失败",LU="未知错误",qU={title:"批量生成摘要",trigger:"批量生成",byRange:"按范围",byTime:"按时间",selectRange:"选择范围",rangeStart:"最早",rangeInfo:"约",sessionsUnit:"个会话",rangeEnd:"最近",timeRange:"选择时间范围",today:"今天",yesterday:"昨天",week:"最近7天",month:"最近30天",custom:"自定义",found:"找到",hasSummary:"个已有摘要",tooFewMessages:"个消息太少",pending:"待生成:",unit:"个",noPending:"没有可生成的会话",noSessions:"该时间范围内没有会话",checking:"检查中...",loading:"加载中...",progress:"进度",session:"会话",statusSuccess:"成功",statusSkipped:"跳过",statusFailed:"失败",success:"成功:",failed:"失败:",skipped:"跳过:",start:"开始生成",stop:"停止"},NU={viewContext:"查看上下文",replyTo:"回复",expandMessyContent:"展开完整内容",collapseMessyContent:"收起"},FU={drawer:PU,messageList:DU,filter:EU,timeline:RU,summaryFailed:OU,summaryUnknownError:LU,batchSummary:qU,messageItem:NU},VU={rankingView:"排行视图",memberView:"成员视图",matrixView:"矩阵视图",modelSettings:"模型参数",lookAhead:"邻居数量",lookAheadDesc:"每条消息向后看几个发言者",decaySeconds:"时间衰减(秒)",decaySecondsDesc:"值越大,远距离消息权重越高",applySettings:"应用设置",noData:"暂无数据",selectMember:"选择成员",selectMemberHint:"请从左侧选择一个成员",msgCount:"发言数",relationCount:"关系数",relationsByIntimacy:"发言临近度排行",noRelations:"暂无关系数据",intimacy:"临近度",interactionRanking:"互动排行",score:"临近度",coOccurrence:"共现",times:"次",totalMembers:"群成员",totalMessages:"消息总数",involvedMembers:"参与成员",edgeCount:"关系数"},BU={typeDistribution:"消息类型分布",hourlyDistribution:"小时分布",weekdayDistribution:"星期分布",monthlyDistribution:"月份分布",yearlyDistribution:"年份分布",timeHeatmap:"时间热力图",heatmapHint:"展示聊天时间规律",calendarHeatmap:"消息日历",calendarHint:"每日消息分布",calendarTooltipMessages:"消息",lengthDetailTitle:"短消息分布 (1-25字)",lengthDetailHint:"逐字统计",lengthGroupedTitle:"长度区间分布",lengthGroupedHint:"每5字一组",noTextMessages:"暂无文字消息",noData:"暂无数据",profile:{avgLengthUnit:"{count} 字/条",textExpression:"文字表达力",textExpressionDesc:"最长消息 {count} 字",mediaRichness:"媒体丰富度",shortMaster:"短消息达人",shortMasterDesc:"共 {count} 条 ≤5字",essayLover:"小作文爱好者",essayLoverDesc:"≥{threshold}字的消息",typeDistribution:"消息类型",heroLine1Prefix:"你们共留下了",heroLine1Suffix:"条消息"},typeCard:{watermark:"类型报告",nonTextPrefix:"除文字外,发了",nonTextImage:"图片",nonTextEmoji:"表情包",nonTextVoice:"语音",nonTextVideo:"视频",nonTextFile:"文件",nonTextLink:"链接",unitImage:"张图片",unitEmoji:"个表情包",unitVoice:"条语音",unitVideo:"个视频",unitFile:"个文件",unitLink:"个链接"},timeCard:{hourlyDistribution:"24h 分布",watermark:"时间报告",heroDaysIn:"天里有",heroDaysActive:"天在聊天",heroAvgPrefix:"平均每天",heroAvgSuffix:"条消息",personalityNightOwl:"夜猫子",personalityEarlyBird:"早起鸟",personalityLunchChat:"午间闲聊",personalityEveningChat:"晚间活跃",personalityDaytime:"白天活跃",personalityEveryday:"全勤达人",personalityWeekend:"周末活跃",personalityWeekday:"工作日活跃",peakRecord:"巅峰记录",peakRecordDesc:"单日最多 {count} 条",topHoursLabel:"最活跃时段",peakWeekdayLabel:"最活跃周几",weekendRatio:"周末占比",weekendRatioDesc:"周末消息占比"},timeAnalysis:{memberTrendTitle:"消息趋势",memberTrendHint:"各成员的月度消息量变化"},typeAnalysis:{textDepthTitle:"文字深度分析",textTotal:"文字消息总数",avgLength:"平均字数",medianLength:"中位数长度",maxLength:"最长消息",percentiles:"文字长度分位数",shortMessages:"短消息(≤5字)",essayMessages:"小作文(≥30字)"}},zU={layout:"布局",circular:"环形",force:"力导向",directed:"有向",reset:"重置",graphHint:"共 {nodes} 位成员,{links} 条互动关系",noInteraction:"暂无艾特互动数据"},HU={empty:{title:"暂无关系数据",description:"当前时间范围内没有会话记录。"},monthly:{title:"月度明细",totalSessionsPrefix:"共对话",totalSessionsSuffix:"次"},trend:{title:"主动性趋势",hint:"蓝色线为 {name} 的月度主动发起占比,50% 线为均衡基准"},hero:{totalSessionsPrefix:"你们共进行了",totalSessionsSuffix:"次对话",initiativePrefix:"其中有",initiativeByPrefix:"的开场白由",initiativeBySuffix:"发起",initiateTimes:"次发起"},initiator:"发起话题",closer:"结束话题",closerTitle:"话题终结者",closerHint:"统计话题结束时最后发言的人。",noActivity:"本月无互动",watermarkReport:"关系报告",monthFormat:"{year}年{month}月",monthShortFormat:"{month}月",iceBreaker:{title:"破冰达人",hint:"超过 24 小时沉默后主动打破僵局的次数"},responseLatency:{title:"回复速度",hint:"当对方发来消息后,平均多久回复",seconds:"{n} 秒",minutesSeconds:"{m}分{s}秒",hours:"{n} 小时",hoursMinutes:"{h} 小时 {m} 分钟"},perseverance:{title:"锲而不舍",hintWithThreshold:"对方{threshold}内还没回复就又发了一次消息的次数",thresholdMinutes:"{n}分钟"},labels:{wellMatched:"势均力敌",missingYou:"{name} 在想念",monologue:"{name} 的独白",peacefulSilence:"各自安好",fleetingThoughts:"偶尔想起"}},UU={title:"时间线视图",description:"消息时间分布、活跃周期变化趋势等可视化内容"},jU={rankListPro:{fullRanking:"完整排行",memberCount:"共 {count} 位成员"},rankList:{unit:"条"},nicknameHistory:{periodToNow:"{start} ~ 至今",periodRange:"{start} ~ {end}",current:"当前",empty:"暂无昵称记录"},listPro:{countTemplate:"共 {count} 项",fullRanking:"完整排行",empty:"暂无数据"}},WU={cluster:VU,message:BU,interaction:zU,relationship:HU,timeline:UU,charts:jU},KU="关键词过滤",GU="方案列表",YU="方案名称",XU="请输入方案名称",JU="新方案",QU="新建方案",ZU="删除方案",ej="设为默认",tj="默认方案",aj="关键词过滤",nj="不过滤",rj="管理方案",sj="添加过滤词",oj="输入词语后回车添加,支持空格或逗号分隔批量添加",ij="添加",lj="过滤词列表",cj="清空全部",uj="暂无方案,点击 + 新建",dj="暂无过滤词,在上方输入框添加",fj="选择或创建一个过滤方案",pj="已过滤 {count} 个词",mj="关闭",gj={title:KU,schemeList:GU,schemeName:YU,schemeNamePlaceholder:XU,defaultSchemeName:JU,createScheme:QU,deleteScheme:ZU,setDefault:ej,isDefault:tj,filterScheme:aj,noFilter:nj,manage:rj,addWords:sj,addWordsPlaceholder:oj,add:ij,wordList:lj,clearAll:cj,emptyScheme:uj,emptyWords:dj,selectOrCreate:fj,activeCount:pj,close:mj},hj="联系人",vj="已导入 {count} 个私聊会话",yj="当前时间范围内有效私聊会话数为 {count}。导入至少 1 个群聊,或有效私聊达到 5 个后会启用联系人。",bj="没有匹配的联系人",xj="暂无",_j="搜索联系人",wj="分数 {value}",kj={"1y":"近1年","2y":"近2年","3y":"近3年","5y":"近5年",all:"全部"},Cj={total:"联系人",friends:"好友",nonFriends:"群友"},Sj={allPools:"全部来源",friends:"好友",nonFriends:"群友"},Mj={friends:"好友",groupContacts:"群友"},$j={friend:"好友",manualFriend:"好友 · 手动标记",nonFriend:"群友"},Aj={pinned:"置顶联系人",friends:"好友",group_contacts:"群友"},Ij={contact:"联系人",status:"类型"},Tj={recompute:"重新计算",markFriend:"标记为好友",unmarkFriend:"取消标记",clearSearch:"清空搜索",clearSelection:"取消选中",openSourceSession:"前往对话",viewSourceRecords:"查看聊天记录",viewDetail:"查看 {name} 的详情"},Pj={title:"联系人详情",score:"综合分",scoreHelp:"综合分用于联系人排序。分数越高,代表互动信号越强。",lastInteraction:"最近互动",sources:"来源会话",sourceType:{private:"私聊",group:"群聊"},aliases:"别名",signals:"互动信号",emptyTitle:"选择一个联系人",emptyDescription:"点击左侧联系人后,这里会显示互动指标和来源会话。"},Dj={privateMessages:"{count} 条私聊",privateMessagesLabel:"私聊消息",activeMonths:"活跃月份",commonGroups:"共同群",lastInteractionShort:"最近",groups:"{count} 个共同群",coOccurrence:"同框次数",replies:"回复互动",groupSignals:"{count} 次同框"},Ej={title:"联系人数据可能已过期",message:"检测到聊天库发生变化,正在后台更新联系人。",inline:"联系人数据可能已过期。",later:"稍后"},Rj={running:"正在计算联系人:{current} / {total} 个会话",updating:"联系人数据可能已更新,正在重新计算。",failed:"联系人计算失败",retry:"重试"},Oj={recomputed:"联系人已重新计算",recomputeStarted:"已开始后台计算联系人",recomputeFailed:"重新计算失败",markFriendSucceeded:"已标记为好友",markFriendFailed:"标记好友失败",unmarkFriendSucceeded:"已取消标记",unmarkFriendFailed:"取消标记失败"},Lj={title:hj,subtitle:vj,disabled:yj,empty:bj,emptyValue:xj,search:_j,score:wj,timeRange:kj,stats:Cj,filters:Sj,tabs:Mj,pool:$j,group:Aj,table:Ij,actions:Tj,detail:Pj,metrics:Dj,stale:Ej,task:Rj,toast:Oj},qj="互动关系",Nj="全景关系图",Fj="关系子页面",Vj="搜索联系人",Bj="暂无关系图数据",zj="隐私模式",Hj={"3d":"3D","2d":"2D"},Uj={panorama:"全景",close:"高关联",friends:"仅好友"},jj={"1y":"近1年","2y":"近2年","3y":"近3年","5y":"近5年",all:"全部"},Wj={recompute:"重新计算",clearSearch:"清空搜索",closeDetail:"关闭详情",backToPanorama:"返回全景",fitView:"适应视图",focusConnections:"只看它的联系"},Kj={nodes:"节点",edges:"连线",communities:"相关群组",members:"人数"},Gj={friend:"好友",manualFriend:"好友 · 手动标记",nonFriend:"群友"},Yj={me:"我",type:"我自己",avatarText:"我"},Xj={running:"正在计算互动关系:{current} / {total} 个会话",updating:"关系数据可能已更新,正在重新计算。",failed:"互动关系计算失败",retry:"重试"},Jj={title:"搜索结果",offCore:"加载邻域"},Qj={title:"相关联系人",empty:"当前图中没有直接联系",connectionScore:"关联度"},Zj={rank:"排名",score:"综合分",type:"类型",community:"圈层",lastInteraction:"最近互动",privateMessages:"私聊消息",groupMessages:"群聊消息",commonGroups:"共同群",emptyValue:"暂无"},eW={recomputeStarted:"已开始后台计算互动关系",recomputeFailed:"重新计算失败",loadFailed:"互动关系加载失败",neighborhoodFailed:"邻域加载失败",threeUnavailable:"3D 渲染不可用,已切换到 2D。"},tW={label:"互动关系星系图",label3d:"3D 互动关系星系图"},aW={title:qj,subtitle:Nj,nav:Fj,search:Vj,empty:Bj,privacy:zj,viewMode:Hj,graphScope:Uj,timeRange:jj,actions:Wj,stats:Kj,pool:Gj,owner:Yj,task:Xj,searchResults:Jj,connections:Qj,detail:Zj,toast:eW,canvas:tW},nW="足迹",rW="该视图将在后续版本开放",sW={nav:"足迹视图",annualSummary:"关于我",timeInvestment:"时间投入",relationshipChanges:"关系变化"},oW="消息数",iW="{month}月",lW="当前时间范围内暂无可分析数据",cW="当前时间范围内没有文本消息",uW={messages:"发出消息",activeDays:"活跃天数",contacts:"直接互动人数",dailyMessages:"日均消息",dailyContacts:"日均互动人数"},dW={yearTitle:"{year} 年的我",recentTitle:"最近一年的我",activity:"活跃日历",activeRate:"覆盖 {rate}% 日期",keyMetrics:"关键指标",perDay:"平均每天",messagesCount:"{count} 条消息",characters:"{count} 字",textLengthDetail:"文本消息字符数",dailyContacts:"日均互动人数",peakMonth:"最活跃月份",peakDay:"最活跃日期",textRatio:"文字消息占比",medianLength:"文本长度中位数",p90Length:"文本长度 P90"},fW={overview:"年度概览",overviewDescription:"按月统计我发出的非系统消息,缺失月份按零计算",activity:"活跃节奏",activityDescription:"每天发出的消息数量,颜色越深代表当天越活跃",messageTypes:"消息类型构成",messageTypesDescription:"仅统计我发出的消息",textLength:"文本长度分布",textLengthDescription:"仅统计非空文本消息的字符数",habitsTitle:"表达习惯",habitsDescription:"我发送的消息类型构成与文本字符长度分布"},pW={median:"中位数"},mW={loading:"正在读取年度总结…",computingProgress:"正在分析会话 {processed}/{total}…",updating:"数据发生变化,正在后台更新当前结果",failed:"年度总结计算失败,可以重试",coverage:"已分析 {analyzed}/{total} 个会话",ownerIssues:"{count} 个会话尚未正确设置“我是谁”",noAnalyzableOwner:"还没有可用于足迹分析的身份,请先在会话中设置“我是谁”",noDataWithLatest:"{year} 年暂无可分析数据,最近有效数据为 {latestYear} 年"},gW={retry:"重试",openSessions:"前往会话列表",switchYear:"查看 {year} 年"},hW={title:nW,reserved:rW,tabs:sW,messages:oW,monthLabel:iW,noData:lW,noTextData:cW,kpis:uW,overviewCard:dW,sections:fW,length:pW,status:mW,actions:gW},vW="让每一段对话,都有迹可循",yW="本地存储、隐私优先,通过 AI Agent 和可视化图表,轻松回顾你的聊天记忆",bW="无需登录",xW="仅在本机处理",_W="数据不上传",wW="数据保存在当前浏览器的站点存储中。清除站点数据会一并删除已导入会话。",kW="如何导出聊天记录",CW="正在准备本地工作区",SW="首次启动需要加载 SQLite 运行时并打开浏览器存储。",MW={title:"当前浏览器无法运行本地版",description:"请使用最新版 Chrome、Edge 或其他支持 OPFS 的浏览器,并通过 localhost 或 HTTPS 打开。",missing:"缺少能力:{capabilities}"},$W={title:"本地工作区遇到问题",unsupportedFile:"暂不支持这个文件。请选择 ChatLab JSON / JSONL、WhatsApp / LINE / QQ TXT 或 Telegram JSON。"},AW={eyebrow:"本地会话",title:"你的聊天档案",description:"会话彼此隔离保存在浏览器中,可以管理会话并查看 24 小时消息分布。",count:"{count} 个会话",refresh:"刷新",emptyTitle:"还没有本地会话",emptyDescription:"从左侧导入第一份聊天记录,它会在这里出现。",messages:"{count} 条消息",members:"{count} 位成员",lastMessage:"最后消息 {date}",importedAt:"导入于 {date}",group:"群聊",private:"私聊",rename:"重命名",renameLabel:"新的会话名称",deleteTitle:"删除“{name}”?",deleteDescription:"该会话的本地数据库会被永久删除,此操作无法撤销。",busy:"正在更新会话…"},IW={open:"查看时间分布",eyebrow:"首个本地分析",title:"“{name}”的 24 小时分布",description:"统计在本地后台线程中完成,并按当前设备时区归入小时。",loading:"正在读取本地会话统计…",totalMessages:"统计消息",peakHour:"最活跃时段",activeHours:"有消息时段",hourValue:"{hour}:00",hourTooltip:"{hour}:00 · {count} 条消息",noData:"这个会话暂时没有可展示的小时数据。",runtimeNote:"本地计算 · 不上传"},TW={title:vW,subtitle:yW,noSignIn:bW,localOnly:xW,noUpload:_W,localOnlyDetail:wW,exportGuide:kW,initializing:CW,initializingDetail:SW,unsupported:MW,error:$W,import:{eyebrow:"导入",title:"添加一份聊天记录",description:"当前支持 ChatLab JSON / JSONL、WhatsApp / LINE / QQ TXT 和 Telegram JSON。每次导入会创建一个独立会话。",drop:"拖入文件,或从设备选择",dropActive:"松开即可选择这个文件",formats:".json · .jsonl · .txt",choose:"选择文件",selected:"已选择",detecting:"正在识别格式…",detected:"识别为 {format}",start:"开始本地导入",working:"正在导入",cancel:"停止导入",processed:"已处理 {count} 条消息",multiChat:{title:"选择要导入的聊天",selected:"已选 {selected} / {total}",selectAll:"全选",clearAll:"清空",messages:"{count} 条消息",empty:"空聊天",current:"第 {current} / {total} 项:{name}",importSelected:"导入选中的 {count} 项",successDetail:"已创建 {sessions} / {total} 个会话,共保存 {messages} 条消息。",failed:"{count} 项导入失败",cancelledWithCompleted:"导入已停止;已完成的 {count} 个会话已保留。"},stages:{detecting:"识别文件",reading:"读取文件",parsing:"解析消息",saving:"写入本地数据库",indexing:"建立索引",done:"完成"},successTitle:"导入完成",successDetail:"已保存 {messages} 条消息和 {members} 位成员。",cancelled:"导入已停止,没有留下未完成的会话。",another:"继续导入"},sessions:AW,analysis:IW},PW={common:Wz,layout:pH,settings:AH,home:NH,analysis:JH,tools:ZH,providers:dU,ai:yU,quotes:SU,members:TU,records:FU,views:WU,wordFilter:gj,contacts:Lj,relationships:aW,insight:hW,browser:TW},DW="OK",EW="Cancel",RW="Save",OW="Edit",LW="Add",qW="Capture",NW="Close",FW="Back",VW="Done",BW="Retry",zW="App initialization failed",HW="Web WASM is already open in another tab. Close the other ChatLab Web WASM tab and retry.",UW="Loading...",jW="Initializing...",WW="No results found",KW="Export successful",GW="Export failed",YW="Generating...",XW="Regenerate",JW="Open Folder",QW="View chat records",ZW="Please configure AI service in Settings first",eK={unknown:"Unknown error"},tK={text:"Text",image:"Image",voice:"Voice",video:"Video",file:"File",emoji:"Emoji",link:"Link",location:"Location",redPacket:"Red Packet",transfer:"Transfer",poke:"Poke",call:"Call",share:"Share",reply:"Reply",forward:"Forward",contact:"Contact",system:"System",recall:"Recalled",other:"Other",unknown:"Unknown"},aK={mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat",sun:"Sun"},nK={jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"},rK={title:"Select Language",subtitle:"Choose your preferred interface language",next:"Next"},sK={title:"Privacy Policy & User Agreement",subtitle:"Please read carefully before use",disagree:"I Disagree",agree:"I Have Read and Agree",updateNotice:"The agreement has important updates. Please read and confirm again."},oK={selectDate:"Select Date",clearDate:"Clear"},iK={mode:{recent:"Recent",quarter:"Quarter",year:"Year",custom:"Custom"},recent:{oneYear:"Last 1Y",twoYears:"Last 2Y",fiveYears:"Last 5Y",all:"All"},display:{recent365:"Last 1 year",recent730:"Last 2 years",recent1825:"Last 5 years"},quarter:{label:"{year} Q{quarter}"},year:{label:"{year}"}},lK={allMembers:"All Members"},cK={placeholder:"Search members",noSecondary:"No other names"},uK={description:"This service requires authentication. Enter your API Token to continue.",tokenLabel:"API Token",tokenPlaceholder:"clb_xxxxxxxx",submit:"Login",hint:"Find the token in the startup log, config.toml, or the --token flag",errorEmpty:"Please enter a token",errorInvalid:"Invalid token, please check and try again",errorNetwork:"Network connection failed",rememberDevice:"Remember this device",rememberWarning:"Only check on trusted devices — token will persist in the browser",logoutTitle:"Account",logoutDesc:"Sign out of the current session",logout:"Sign out"},dK={confirm:DW,cancel:EW,delete:"Delete",save:RW,edit:OW,add:LW,capture:qW,close:NW,back:FW,done:VW,retry:BW,initFailed:zW,webWasmWorkspaceBusy:HW,loading:UW,initializing:jW,noResults:WW,export:"Export",exportSuccess:KW,exportFailed:GW,generating:YW,regenerate:XW,openFolder:JW,viewChatRecords:QW,errorNoAIConfig:ZW,error:eK,messageType:tK,weekday:aK,month:nK,languageSelect:rK,agreement:sK,datePicker:oK,timeSelect:iK,userSelect:lK,memberSearchSelect:cK,login:uK},fK="ChatLab",pK="New Analysis",mK="Contacts",gK="Relationships",hK="Footprint",vK="Tools",yK="Chat History",bK="Manage",xK="No records",_K="Search conversation name",wK="No matching chat records found",kK={rename:"Rename",pin:"Pin",unpin:"Unpin",copyId:"Copy ID",delete:"Delete"},CK={title:"Rename",placeholder:"Enter new name"},SK={title:"Confirm Delete",message:'Are you sure you want to delete "{name}"? This action cannot be undone.'},MK={tag:"New",title:"Update Available",message:"The latest version is v{version}.",desktopHint:"Click Update Now to start checking and downloading the desktop update.",cliHint:"Run the following command in your terminal, then restart the service.",updateNow:"Update Now",later:"Later"},$K={all:"All",private:"Private",group:"Group"},AK={importedAt:"Import Time",lastMessageTs:"Last Message",messageCount:"Message Count"},IK={search:"Search chat records",sort:"Sort"},TK="{count} messages",PK={settings:"Settings"},DK={brand:fK,newAnalysis:pK,contacts:mK,relationships:gK,insight:hK,tools:vK,chatHistory:yK,manage:bK,noRecords:xK,searchPlaceholder:_K,noSearchResult:wK,contextMenu:kK,renameModal:CK,deleteModal:SK,updateNotice:MK,filter:$K,sort:AK,tooltip:IK,sessionInfo:TK,footer:PK},EK="Settings",RK={basic:"General",ai:"AI Settings",aiConfig:"Model Service",aiDefaultModel:"Default Model",semanticIndex:"Semantic Index",chatPreferences:"Preferences",compression:"Compression",aiPreprocess:"Preprocess",dataManage:"Data Management",storage:"Storage",security:"Security",sessionManage:"Session Index",about:"About",api:"Automation",apiSubTabs:{autoSync:"Auto Sync",apiService:"API Service",mcp:"MCP"}},OK={general:{title:"General"},preferences:{title:"Preferences"},language:{description:"Choose language"},appearance:{title:"Appearance",themeMode:"Theme Mode",auto:"System",light:"Light",dark:"Dark"},defaultTab:{description:"Default page when entering a chat conversation",overview:"Overview",aiChat:"AI Chat"},autoLaunch:{openAtLogin:"Launch at Login",openAtLoginDesc:"Automatically start ChatLab when the system boots",devModeHint:"Not available in dev mode"},toolsPanel:{positionLabel:"Tools Panel Position",positionDesc:"Choose where the quick tools panel appears",positionSide:"Side",positionHeader:"Header"},network:{title:"Network",proxyMode:"Proxy Mode",proxyModeDesc:"How to connect when accessing external services",modeOff:"Off",modeSystem:"System",modeManual:"Manual",proxyAddress:"Proxy Address",proxyPlaceholder:"http://127.0.0.1:7890",proxyHelp:"Supports HTTP/HTTPS proxy, e.g.: http://127.0.0.1:7890",testConnection:"Test Connection",testing:"Testing...",connectionSuccess:"Proxy connection successful!",connectionFailed:"Connection failed",enterProxyFirst:"Please enter proxy address first",invalidProxyUrl:"Please enter a valid proxy address, e.g. http://127.0.0.1:7890",onlyHttpSupported:"Only http:// or https:// protocols are supported",saveFailed:"Save failed"}},LK={title:"Default Model",noConfigs:'Please add a model configuration in "Model Service" first',selectProvider:"Select provider",selectModel:"Select model",assistantModel:{label:"Default Assistant Model",description:"Used for AI chat, tool calls, SQL assistant, and context compression"},fastModel:{label:"Fast Model",description:"Used for session summary generation. Falls back to the default assistant model if not set",followAssistant:"Follow default assistant model"}},qK={title:"Model Services",defaultModel:"Default Model",empty:{title:"No AI service configured",description:"Add a configuration to start using AI features"},addConfig:"Add New Service",maxConfigs:"Maximum configurations reached (10)",modal:{addConfig:"Add New Service",editConfig:"Edit Service",localService:"Local Service",configName:"Configuration Name",optional:" (Optional)",configNamePlaceholderPreset:"Leave empty to use provider name",configNamePlaceholderCustom:"Leave empty to use API endpoint",aiProvider:"AI Provider",apiKeyPlaceholder:"Enter your API Key",apiKeyPlaceholderEdit:"Enter new API Key (leave empty to keep current)",apiKeyPlaceholderLocal:"Usually not required for local services",apiKeyHintLocal:"Enter if the service requires authentication",validate:"Validate",validationSuccess:"Connection validated successfully",validationFailed:"Connection validation failed",validationFailedTitle:"API Connection Validation Failed",saveAnywayHint:"Validation did not pass. The configuration may be incorrect. Save anyway?",saveAnyway:"Save Anyway",validationError:"Validation failed: ",model:"Model",apiEndpoint:"API URL",apiEndpointHint:"OpenAI-compatible API endpoint",resolvedUrl:"Resolved URL:",fetchModels:"Fetch from API",fetchModelsTitle:"Browse Remote Models",fetchModelsLoading:"Fetching model list...",fetchModelsEmpty:"No models found",fetchModelsError:"Failed to fetch models",fetchModelsCount:"{total} models total, showing {shown}",modelAdded:"Added",addAllModels:"Add all",searchModels:"Search models...",apiEndpointOverrideHint:"Default URL is prefilled. Replace if needed",customService:"Custom Service",visitWebsite:"Visit Website",getApiKey:"Get API Key",presetService:"Preset",thirdPartyService:"Third-party",addCustomModel:"Add Model",deleteCustomModel:"Delete Selected",customModelId:"Model Endpoint Name",customModelIdHint:"The model identifier used in API calls",customModelDisplayName:"Display Name",customModelDisplayNamePlaceholder:"Custom display name",editModel:"Edit Model",contextWindow:"Context Window",contextWindowPlaceholder:"e.g. 128000",contextWindowHint:"Maximum context tokens supported by this model (used for context compression)",contextWindowMissing:'Context window not set, will use default. Click "Edit Model" to set it manually',modelRequired:"Add at least one model to save",apiFormat:"API Format",apiFormatOpenAI:"OpenAI Completions",apiFormatAnthropic:"Anthropic",apiFormatGemini:"Gemini",apiFormatOpenAIResponses:"OpenAI Responses"},providerKind:{aggregator:"Aggregator",custom:"Custom"}},NK={title:"Local Storage Management",description:"Manage data files stored locally by ChatLab",dataLocation:{title:"Data Directory",description:"Customize where chat databases and vector indexes are stored",managedDescription:"This setting only manages chat databases and vector indexes. AI chats, cache, and logs remain in the fixed system data directory.",choose:"Choose",applyPath:"Apply",reset:"Reset",open:"Open",serverPathHint:"Enter an absolute path that is accessible from the machine running the CLI server.",migrateHint:"Chat database data is still at a legacy location. Migrate to the unified directory:",ignoreMigrateHint:"Ignore",migrateAction:"Migrate Now",restartTip:"Please restart the app after switching. Chat database data will be migrated based on your choice.",cliRestartTip:"Restart the CLI server after switching. Chat database data will be migrated before the server starts.",confirmTitle:"Confirm Directory Change",confirmMessage:"You are about to change the chat database directory. If migration is selected, existing chat database data will be copied to the new directory.",newPath:"New directory path",defaultPath:"Default location",confirmWarning:"After restarting, chat database data will be migrated to the new location and the old directory will be kept as a backup.",cliConfirmWarning:"After restarting the CLI server, chat database data will be migrated to the new location and the old directory will be kept as a backup. Make sure the server process has write access.",pathRequired:"Please enter a data directory path",installDirForbidden:"Data directory cannot be placed inside the app installation directory, as it will be cleared during updates",cancel:"Cancel",confirm:"Confirm",migrationQueuedTitle:"Migration Queued",migrationSuccessMessage:"The app needs to restart for changes to take effect.",cliMigrationSuccessMessage:"Stop the current CLI server and start it again. Migration will run before the server starts. Reopen the page afterward to see the new directory.",relaunchNow:"Restart Now",acknowledge:"Got it",cleanupNoticeTitle:"Switched to the new data directory",cleanupNoticeDescription:"To prevent data loss, the original directory is still kept as a backup. Verify that your chat history is complete before removing it from Storage Management.",cleanupOldPath:"Original data directory",cleanupLater:"Later",cleanupGoToStorage:"Open Storage Management",cleanupTitle:"Old data awaiting cleanup",cleanupDescription:"The pre-migration directory is still kept as a backup. Delete it manually only after verifying the chat history in the new directory.",cleanupDeleteAction:"Delete old data",cleanupDeleteConfirmTitle:"Permanently delete old data?",cleanupDeleteConfirmDescription:"This cannot be undone. Verify that the chat history in the new directory is complete before deleting the original directory below.",cleanupDeleteConfirmAction:"Delete permanently",cleanupDeleteFailed:"Failed to delete old data"},openRootDir:"Open Root",totalUsage:"Total: ",loading:"Loading...",files:"files",notExist:"Not exist",clear:"Clear",open:"Open",cache:{databases:{name:"Chat Databases",description:"Imported chat analysis data"},ai:{name:"AI Chat Databases",description:"AI chat history and config files"},statsCache:{name:"Cache Data",description:"Statistics cache for chat records, auto-rebuilt after clearing"},logs:{name:"Log Files",description:"App logs including import, AI, error logs"}}},FK={session:{title:"Session Index Settings",description:"Session index splits chat history into conversation segments by time gaps for better AI analysis",defaultThreshold:"Default Gap Threshold",thresholdUnit:"minutes",thresholdHelp:"Messages exceeding this time gap will be split into a new session",generating:"Generating",batchTitle:"Batch Generate Index",totalSessions:"{count} chats total",generatedCount:"{count} generated",notGeneratedCount:"{count} not generated",loadingStatus:"Loading...",batchGenerate:"Generate Missing",batchRegenerate:"Regenerate All",batchRegenerateConfirmTitle:"Confirm Regeneration",batchRegenerateConfirmMessage:"This will clear all existing AI summaries and regenerate session indexes from scratch.",batchRegenerateConfirmWarning:"Existing summaries will be overwritten. This action cannot be undone.",summaryStrategy:"Summary Detail Level",summaryStrategyHelp:"Controls how detailed AI-generated summaries will be",summaryBrief:"Brief",summaryStandard:"Standard"},semanticIndex:{title:"Semantic Index",description:"Builds an index of your chats with the selected vector model. Once enabled, the AI can semantically retrieve relevant past excerpts as supporting evidence.",vectorModel:"Vector Model",selectModel:"Select Vector Model",switchModel:"Switch Model",noModelSelected:"No vector model selected",modelModalTitle:"Configure Vector Model",modeLocal:"Local Model",modeApi:"API",recommended:"Recommended",approxSize:"~{mb} MB",modelDownloadSource:"Model Download Source",downloadSourceOfficial:"Hugging Face Official",downloadSourceMirror:"HF-Mirror (China)",mirrorSourceHint:"HF-Mirror is a third-party public mirror for networks in mainland China. Model files will be downloaded from hf-mirror.com.",localDownloadHint:"The model downloads automatically after saving. The first download may take a while.",apiTemplate:"Service Template",modelName:"Model Name",apiKeySaved:"Saved; leave blank to keep",apiKeyHint:"API keys are stored separately and securely; the config keeps only a reference.",apiCostWarning:"API mode may incur provider costs. Please confirm model pricing.",changeRebuildHint:"After changing the model or API, enabled conversations need to be rebuilt.",modelError:"Model download failed. It will be retried when building the index.",modelDownloading:"Downloading model, this may take a few minutes on first use…",searchMaxResults:{label:"Excerpts per search",hint:"Default number of relevant excerpts returned when the AI runs a semantic search (5-15). The AI may raise it as needed."},overview:"Index Overview",enabledCount:"{count} conversations enabled",coverage:"Coverage {percent}%",buildPending:"Build Pending Indexes",cleanup:"Clean Up Unused Indexes",cleanupConfirm:"This deletes index data from disabled conversations and old models. It does not delete chat records.",configFirst:"Configure a vector model first",selectConversations:"Select Conversations",enabledSessions:"Enabled Conversations",state:{completed:"Completed",building:"Building",pending:"Pending",needsRebuild:"Needs Rebuild",failed:"Failed",paused:"Paused"},action:{build:"Build Index",pause:"Pause",cancel:"Cancel",rebuild:"Rebuild",remove:"Remove"},session:{statusLabel:"Status",notEnabled:"Not enabled",coverageLabel:"Coverage",progressLabel:"Build progress",enableHint:"Once enabled, the AI can retrieve past chat excerpts when answering questions about this conversation.",configFirst:"Configure a vector model under Settings > AI > Semantic Index before enabling.",enable:"Enable Index",buildVsEnable:"Enable Index: include this conversation in semantic retrieval. Build Index: read all messages and generate vectors, which may use local compute or API quota.",retry:"Retry",continue:"Continue"},picker:{title:"Select Conversations",all:"All",group:"Group",private:"Private",searchPlaceholder:"Search by name",messages:"{count} messages",enabled:"Enabled",selectedSummary:"{count} conversations selected, ~{messages} messages",confirmRemoveTitle:"Confirm Remove",confirmRemoveMessage:"The semantic index for these conversations will be permanently deleted."}}},VK={chatSettings:{title:"Tool Settings"},exportSettings:{title:"Export Settings"},chatPreferences:{title:"Conversation Preferences",enableAutoSkill:"AI Auto-Select Skills",enableAutoSkillDesc:"When enabled, AI will automatically match and activate suitable analysis skills based on user queries; when disabled, skills only take effect when manually selected",chartAutoMode:{title:"Auto Chart Generation",description:"Controls how actively AI uses charts when the Chart Assistant is not manually selected",explicit:"Explicit requests",explicitHint:"AI only generates charts when you explicitly ask for them.",suggest:"Smart generation",suggestHint:"Conservative strategy: AI only generates charts when they clearly help explain the analysis.",aggressive:"Active generation",aggressiveHint:"AI more actively adds charts in data analysis scenarios."}},maxMessages:{title:"Max Messages per Request",description:"Max number of messages sent to AI per request. Higher values consume more tokens but provide more accurate context (recommended: 2000)."},searchContext:{title:"Search Context Window",description:"Automatically include surrounding messages for each search hit to help AI understand the context. Set to 0 to disable",before:"Before",after:"After"},exportFormat:{title:"Export Format",description:"File format for exporting AI conversations",txtLabel:"TXT"},sqlExportFormat:{title:"SQL Lab Export Format",description:"File format for exporting SQL query results"},compression:{title:"Context Compression",enable:"Auto-compress context",enableDesc:"Automatically compress long conversation history into summaries to reduce token usage",threshold:"Compression threshold",thresholdDesc:"Trigger compression when context tokens reach this percentage of the model's context window",buffer:"Buffer size",bufferDesc:"Percentage of recent messages to keep uncompressed",maxToolResultPercent:"Tool result limit",maxToolResultPercentDesc:"Maximum data percentage per tool call sent to AI (based on model context window). Excess results are intelligently truncated"}},BK={title:"About ChatLab",description:"Chat records analysis tool",version:"Version",checkUpdate:"Check for Updates",checking:"Checking...",upToDate:"You are up to date",newVersionAvailable:"New version {version} available",webUpdateHint:"Run clb update in your terminal, then restart the service.",updateCheckFailed:"Update check failed: {error}",unknown:"Unknown",privacy:{title:"Privacy Settings",analytics:"Anonymous Usage Statistics",analyticsDesc:"When enabled, the app collects non-sensitive data like version number and OS version to help improve the product"},developer:{title:"Developer Options",debugMode:"DEBUG Mode",debugModeDesc:"When enabled, the debug panel and quick debugging tools will be shown. You can use them to view databases, run testing tools, and record more detailed debug logs."}},zK={title:"Chat Preprocessing",description:"Preprocess chat records before sending to AI to save tokens and filter noise. Original data is not modified.",dataCleaning:"Data Cleaning",dataCleaningDesc:"Automatically clean XML card messages (shared links, mini-programs, etc.), extracting useful content and significantly saving tokens. Recommended to keep enabled.",mergeConsecutive:"Merge Consecutive",mergeConsecutiveDesc:"Merge consecutive messages from the same sender within a short time window",mergeWindow:"Merge window (seconds)",denoise:"Smart Denoise",denoiseDesc:"Filter out meaningless messages like interjections, emojis, and system placeholders (e.g. [Image])",desensitize:"Data Masking",desensitizeDesc:"Replace sensitive information (phone numbers, emails, ID numbers, etc.) based on rules",desensitizeBuiltin:"Built-in Rules",desensitizeResetBuiltin:"Restore Defaults",desensitizeCustom:"Custom Rules",desensitizeAddCustom:"Add Custom Rule",desensitizeRuleName:"Rule Name",desensitizeRulePattern:"Regex Pattern",desensitizeRuleReplacement:"Replacement Text",desensitizeRuleAdd:"Add",desensitizeRuleInvalidRegex:"Invalid regex syntax",desensitizeRuleNamePlaceholder:"e.g. Employee ID",desensitizeRulePatternPlaceholder:"e.g. EMP-\\d+",desensitizeRuleReplacementPlaceholder:"Replacement, e.g. [EmpID]",anonymizeNames:"Anonymize Nicknames",anonymizeNamesDesc:"Replace real nicknames with IDs (U1, U2…) when sending to AI, reducing hallucinations and saving tokens",blacklist:"Blacklist Keywords",blacklistDesc:"Messages containing any of these keywords will be filtered out entirely",blacklistPlaceholder:"Type a keyword and press Enter to add",blacklistAdd:"Add"},HK={groups:{credentials:"Passwords & Tokens",credentials_desc:"Credentials such as API keys and Bearer tokens",global_contact:"Global Contact Info",global_contact_desc:"Cross-region contact details such as email addresses",global_financial:"Global Financial Info",global_financial_desc:"Financial identifiers such as credit card numbers",global_network:"Global Network Info",global_network_desc:"Network identifiers such as URLs and IP addresses",region_cn:"Mainland China",region_cn_desc:"Rules for phone numbers, IDs, and bank cards in Mainland China",region_us:"United States",region_us_desc:"Rules for phone numbers and IDs in the United States",region_jp:"Japan",region_jp_desc:"Rules for phone numbers and My Number in Japan",region_kr:"Korea",region_kr_desc:"Rules for phone numbers and resident registration numbers in Korea"},rules:{cn_phone:"China Mobile Number",cn_phone_desc:"11-digit starting with 1xx",cn_id_card:"China ID Card Number",cn_id_card_desc:"18-digit, may end with X",cn_bank_card:"China Bank Card Number",cn_bank_card_desc:"16-19 consecutive digits",cn_landline:"China Landline Number",cn_landline_desc:"Area code + number, e.g. 010-12345678",us_ssn:"US Social Security Number (SSN)",us_ssn_desc:"XXX-XX-XXXX format",us_phone:"US Phone Number",us_phone_desc:"+1 (XXX) XXX-XXXX format",us_drivers_license:"US Driver's License",us_drivers_license_desc:"Letter + 7-8 digits",jp_phone:"Japan Phone Number",jp_phone_desc:"0x0-XXXX-XXXX format",jp_my_number:"Japan My Number",jp_my_number_desc:"12-digit number (マイナンバー)",kr_phone:"Korea Phone Number",kr_phone_desc:"01X-XXXX-XXXX format",kr_rrn:"Korea Resident Registration Number",kr_rrn_desc:"XXXXXX-XXXXXXX format (주민번호)",api_key_prefix:"API Key / Token (Known Prefixes)",api_key_prefix_desc:"Strings starting with sk-, ghp_, AKIA, etc.",bearer_token:"Bearer Token",bearer_token_desc:"Authorization token after Bearer",email:"Email Address",email_desc:"Standard user{'@'}domain.com format",credit_card:"Credit Card Number",credit_card_desc:"Visa / MasterCard / AmEx card numbers",ipv4:"IPv4 Address",ipv4_desc:"e.g. 192.168.1.1",url:"URL Link",url_desc:"Links starting with http:// or https://"}},UK={service:{title:"API Service",enable:"Enable API Service",enableDesc:"When enabled, external tools can query, export, and import chat data via HTTP API. Localhost only (127.0.0.1)",portInUseHint:"Port is in use. Please change the port below or close the program using this port"},status:{running:"Running",stopped:"Stopped",starting:"Starting...",portInUse:"Port in use",error:"Failed to start"},port:{title:"Port Configuration",label:"Listen Port",desc:"Local port for the API service (1024-65535)",edit:"Edit",save:"Save",cancel:"Cancel"},token:{title:"Access Token",label:"Bearer Token",desc:"All API requests must include this token in the Authorization header",noToken:"No token generated yet. Please enable the service first",regenerate:"Regenerate"},dataSources:{title:"Data Sources",desc:"Configure external data source URLs. ChatLab will automatically pull and import chat data at the specified interval.",empty:"No data sources",noSessions:'No import sessions. Click "Manage Sessions" above to add.',disabled:"Paused",every:"Every",minutes:"min",lastSync:"Last sync",syncing:"Syncing",messages:"messages",addBtn:"Add Data Source",form:{modalTitle:"Add Data Source",name:"Name",namePlaceholder:"e.g., My Chat Server",token:"Access Token",tokenPlaceholder:"Bearer Token for the remote API",interval:"Pull Interval (minutes)",pullLimit:"Messages per Pull",pullLimitPlaceholder:"Default 1000"},discovery:{baseUrl:"Server URL",baseUrlPlaceholder:"e.g. http://127.0.0.1:2333/api/v1",found:"Found {count} sessions",search:"Search",searchPlaceholder:"Search by session name",selectAll:"Select All",deselectAll:"Deselect All",selectByType:"Session type",typeAll:"All",typePrivate:"Private",typeGroup:"Group",loadMore:"Load More",subscribe:"Subscribe {count} sessions",messages:"messages",error:"Failed to connect to remote server",connectionCheckFailed:"Cannot connect to the remote server. Please check the URL and token."},edit:{title:"Edit Data Source",save:"Save",cancel:"Cancel",editSource:"Edit Config",manageSessions:"Manage Subscriptions",subscribed:"Subscribed"},deleteConfirm:{title:"Delete Data Source",message:'Are you sure you want to delete "{name}"? All import configurations under this data source will be removed. Already imported local conversations will not be deleted.'},deleteSessionConfirm:{title:"Delete Subscription",message:'Are you sure you want to delete "{name}"?',keepData:"Remove subscription only",deleteData:"Also delete imported chats"}},usage:{title:"Usage Guide",desc:"After enabling the service, external tools can query data or push chat records to ChatLab via API. All requests require Bearer Token authentication.",authHint:"Header example:",docLink:"View full API documentation"}},jK={overview:{title:"MCP Overview",description:"MCP lets AI assistants directly query your chat records. Supports session discovery, keyword search, member stats, time distribution, and more.",toolCount:"{count} tools",resourceCount:"{count} resources",installHint:"Install chatlab-cli, then add the config below to your AI client:"},clients:{other:"Other"},config:{title:"Client Configuration",clientLabel:"MCP Client",copy:"Copy",copied:"Copied",claudeHint:"Add this config to ClaudeCode's MCP configuration.",codexHint:"Add this TOML config to your ~/.codex/config.toml file.",openclawHint:"Add this config to your project's openclaw.json file.",otherHint:"Add this JSON config to your MCP client configuration file."},tips:{title:"Tips",dataDir:"The MCP server reads chat data from ~/.chatlab/, sharing the same data as the desktop app.",readOnly:"All operations are read-only and will not modify your chat records.",nodeRequired:"npx and CLI modes require Node.js 20 or higher.",docs:"For detailed documentation, visit docs.chatlab.fun."}},WK={lock:{title:"App Lock",desc:"Protect ChatLab with a 4-digit PIN",statusOn:"Enabled",statusOff:"Disabled",disableBtn:"Disable App Lock",disableConfirm:"Disable app lock? Your current PIN will be deleted.",manualLock:"Lock Now"},password:{titleSetup:"Set PIN & Enable App Lock",titleChange:"Change PIN",labelOld:"Current PIN",labelNew:"New PIN",labelConfirm:"Confirm New PIN",btnEnable:"Enable",errorInvalidPin:"PIN must be exactly 4 digits",errorMismatch:"PINs do not match",errorSameAsOld:"New PIN must differ from current PIN",errorFailed:"Operation failed, please try again"},autoLock:{title:"Auto Lock",idleLabel:"Auto lock after idle timeout",startupLabel:"Require unlock on startup"},lockScreen:{titleLocked:"ChatLab is Locked",placeholderPassword:"Enter 4-digit PIN",btnUnlock:"Unlock",verifying:"Verifying...",errorService:"Unlock failed, please try again",errorWrongPassword:"Incorrect PIN",errorTooManyAttempts:"Too many attempts. Try again in {seconds} seconds"}},KK={title:EK,tabs:RK,basic:OK,defaultModel:LK,aiConfig:qK,storage:NK,ai:FK,aiPrompt:VK,about:BK,aiPreprocess:zK,desensitize:HK,api:UK,mcp:jK,security:WK},GK="Explore New Chat Memories",YK={file:"File Import",api:"API Import",cli:"CLI Import",autoSyncTitle:"Automatic Sync",autoSyncDescription:"Let ChatLab periodically pull new chat records from an external data source.",autoSyncButton:"Configure Sync",apiPushTitle:"API Push",apiPushDescription:"Let third-party tools, plugins, or scripts write through the local API.",apiPushButton:"Configure API",agentImportTitle:"Import with an AI Agent",agentImportDescription:"Install the official Skill to import chat records automatically.",manualCliTitle:"Use the CLI Manually",manualCliDescription:"Ideal for terminal workflows, batch scripts, and repeatable automation.",copyCommand:"Copy command",viewDocs:"View documentation"},XK={viewExample:"Try a Demo",downloading:"Downloading demo data...",importing:"Importing demo data...",failed:"Failed to load demo data. Please check your network and try again."},JK={title:"Database upgrade required",description:"{count} database(s) need to be upgraded for new features.",note:"The upgrade usually takes only a few seconds and won't lose any data.",upgradeContent:"Upgrade content:",upgradeNow:"Upgrade Now",upgrading:"Upgrading...",failed:"Migration failed",partialFailed:"Some databases failed to upgrade",errorHint:"This is usually caused by corrupted database files. Please delete the failed sessions from the sidebar and re-import them.",close:"Close",retry:"Retry"},QK={title:"Select chats to import",scanning:"Scanning chat list...",scanFailed:"Scan failed",retry:"Retry",selectAll:"Select all",chatCount:"{count} chats",selected:"{count} selected",messageCount:"{count} messages",memberCount:"{count} members",empty:"Empty chat",import:"Import ({count})",noChats:"No chats found"},ZK={title:"Select Chat Format",hint:"Unable to auto-detect the file format. Please manually select the corresponding chat format.",manualSelect:"Select format manually",confirm:"Import with this format"},eG={export:"Getting Started"},tG={website:"Website",terms:"Terms of Use"},aG={title:"Changelog",subtitle:"View all version updates",latest:"Latest",current:"Current",total:"{count} versions in total",close:"Close",loadError:"Failed to load changelog",retry:"Retry",types:{feat:"Features",fix:"Bug Fixes",refactor:"Refactors",docs:"Docs",chore:"Other",style:"Style",ci:"CI"}},nG={tagline:GK,tabs:YK,import:{dropHint:"Drop to import files",clickHint:"Click to select or drag chat records to import",multipleHint:"Multiple files can be selected or dragged at once",selectFiles:"Select chat record files",selectFolder:"Select export folder",importFolder:"Import Folder",chatRecords:"Chat Records",allFiles:"All Files",progress:{detecting:"Detecting format...",reading:"Reading file...",parsing:"Parsing messages...",saving:"Saving to database...",indexing:"Building search index...",done:"Import complete",error:"Import interrupted"},processed:"{count} messages processed",viewLog:"View import log",cannotReadPath:"Cannot read file path",errors:{no_file_selected:"No file selected",import_failed:"Import failed",import_in_progress:"Another import is already in progress. Please try again later.",unrecognized_format:"Unrecognized file format",no_messages:"No messages parsed. Please check if the file format is correct.",no_chat_selected:"No chat selected",archive_single_file_required:"Import archive files one at a time",archive_unsupported:"This archive format is not supported",archive_encrypted:"Encrypted archives are not supported",archive_corrupt:"The archive is corrupt or incomplete",archive_unsafe_path:"The archive contains an unsafe file path",archive_limit_exceeded:"The archive exceeds the safe processing limit",google_chat_structure_not_found:"No Google Chat export data was found",google_chat_conversation_incomplete:"A Google Chat conversation is missing required files",import_source_not_found:"The import source no longer exists. Select the archive again.",import_source_expired:"The import source expired. Select the archive again.",actionHint:"You can try manual format matching or view the log below:"},diagnostics:{format:"Format: ",received:"Received: ",written:" / Written: ",skipped:" / Skipped: "},outcome:{created:"New session created",ambiguous:"Multiple existing sessions matched, so they were not merged and a new session was created",incremental:"Added {newCount} messages and skipped {duplicateCount} duplicates",unchanged:"Already imported; no new messages"},batch:{importing:"Batch importing",progressCount:"{current} of {total}",cancel:"Cancel import",waiting:"Waiting",skipped:"Skipped",success:"Import successful",created:"New session created",ambiguous:"Multiple candidates matched; created a new session",incremental:"Added {newCount}; skipped {duplicateCount} duplicates",unchanged:"Already imported; no new messages",completed:"Batch import completed",summary:"{success} succeeded, {failed} failed, {cancelled} skipped",view:"View"},options:{mergeImport:"Merge Import",mergeImportHint:"Multiple files will be merged into one chat record"},merge:{importing:"Merging",parsing:"Parsing files...",merging:"Merging messages...",completed:"Merge completed",completedHint:"{count} files merged",messageCount:"{count} messages",failed:"Merge failed"}},demo:XK,migration:JK,chatSelector:QK,formatSelector:ZK,quickStart:eG,footer:tG,changelog:aG},rG={loading:"Loading analysis data...",loadError:"Unable to load session data"},sG={loading:"Loading analysis data...",loadError:"Unable to load session data"},oG={overview:"Overview",view:"Insights",ranking:"Rankings",aiChat:"AI Chat",memory:"Memory",lab:"Lab",debug:"Debug"},iG={sqlTables:"SQL Tables",basicTools:"Basic Tools",tableBrowser:{chatDb:"Chat DB",aiDb:"AI Chat DB",rowCount:"{count} rows",page:"Page {current} / {total}",refresh:"Refresh",noData:"No data",editRow:"Edit",deleteRow:"Delete Row",confirmDelete:"Are you sure you want to delete this row?",allConversations:"All Conversations",copyCell:"Copy Selected",copyRow:"Copy Row (JSON)",clearDebugContext:"Clear Debug Context",confirmClearDebug:"Clear debug_context for all messages? This cannot be undone."}},lG={comingSoon:"Memory feature coming soon, stay tuned"},cG={viewChatRecord:"View Chat History",semanticIndex:"Semantic Index",incrementalImport:"Import More",memberManagement:"Manage Member",more:"More"},uG={title:"Append Chat Records",description:'Select chat record file to append to "{name}". Duplicates will be automatically removed.',homeAutoImportHint:"The home page now supports automatic incremental imports. When you have new chat records, simply drag them onto the home page.",dropHint:"Click to select or drop file here",analyzing:"Analyzing file...",totalInFile:"Total in file",newMessages:"New messages",duplicates:"Duplicates",noNewMessages:"No new messages found, all messages already exist",importing:"Importing...",import:"Import {count} messages",success:"Import successful",successDetail:"Successfully appended {count} new messages",failed:"Import failed"},dG={view:{typeAnalysis:"Types",timeAnalysis:"Time",topic:"Topics",groupRelationships:"Relationships",relationship:"Relationship",languagePreference:"Language Preference"},ranking:{overall:"Overall",keyword:"Keywords"},quotes:{hotRepeat:"Hot Repeats",catchphrase:"Catchphrases"},groupRelationships:{mentionGraph:"Mention Graph",mentionRanking:"Mention Ranking",proximity:"Proximity"},member:{nicknameHistory:"Nickname History"}},fG={messageTypeDistribution:"Message Type Distribution",memberDistribution:"Member Activity Distribution",memberRanking:"Member Ranking",others:"Others",memberComparison:"Member Comparison",statCards:{dailyAvgMessages:"Daily Avg Messages",messagesCount:"{count} msgs",daysCount:"{count} days total",imageMessages:"Image Messages",imagesCount:"{count} images",peakHour:"Peak hour:",mostActiveWeekday:"Most Active Day",messagesOnDay:"{count} messages",weekendActivity:"Weekend Activity",weekendRatio:"Weekend message ratio",mostActiveDate:"Most Active Date",consecutiveStreak:"Streak",daysStreak:"{count} days",longestStreak:"Longest active streak",activityRate:"Activity Rate",activeDaysRatio:"Days with messages",lateNightChat:"Late Night Chat",lateNightRatio:"{ratio}% of all messages"},dailyTrend:{title:"Daily Message Trend"},identity:{privateChat:"Private",groupChat:"Group",totalMessages:"Total Messages",durationDays:"Duration Days",activeDays:"Active Days",dailyAvgMessages:"Daily Avg"},tools:"Quick Tools"},pG={miniMode:"Mini mode",exitMini:"Exit mini mode"},mG={title:"Export Records",selectOutputDir:"Select Output Directory",format:"Format"},gG={timeRange:"Time Range",allTime:"All Time",today:"Today",lastWeek:"Last 7 Days",lastMonth:"Last Month",last3Months:"Last 3 Months",lastYear:"Last Year",customTime:"Custom",exportSuccess:"Export successful",exportFailed:"Export failed",exportPreparing:"Preparing export..."},hG={groupChat:rG,privateChat:sG,tabs:oG,debug:iG,memory:lG,tooltip:cG,incremental:uG,subTabs:dG,overview:fG,toolsPanel:pG,messageExport:mG,filter:gG},vG={searchPlaceholder:"Search conversation name",searchResult:"Found {count} / {total}",ownerIssues:"{count} conversations have not set who you are",ownerStatus:{missing:"Not set",unresolved:"Needs review"},noSearchResult:"No matching chat records found",selectAll:"Select All",shiftClickHint:"Hold Shift to select a range",selected:"{count} selected",empty:"No chat records",delete:"Delete Selected",confirmTitle:"Confirm Delete",confirmMessage:"Are you sure you want to delete {count} selected chat record(s)? This action cannot be undone.",deleting:"Deleting...",columns:{name:"Name",platform:"Platform",owner:"Me",messages:"Messages",summaries:"AI Summaries",aiChats:"AI Chats",importedAt:"Imported"},clickToEdit:"Click to edit name",merge:"Merge Selected",mergeHint:"Select at least 2 chat records of the same chat type to merge",mergeConfirmTitle:"Merge Chat Records",mergeConfirmMessage:"This will merge {count} selected chat records into a new merged record.",deleteOriginalsLabel:"Delete original records after merge",mergeRiskWarning:"Critical warning: deletion cannot be undone, and cross-platform context differences may cause semantic confusion. Please back up your original data before continuing.",mergeSteps:{exporting:"Exporting chat records...",parsing:"Parsing files...",checking:"Checking conflicts...",merging:"Merging data...",cleaning:"Cleaning up temp files..."},mergeSuccess:"Successfully merged {count} chat records",mergeError:"Merge failed: {error}",mergedSuffix:"Merged"},yG={batchManage:vG},bG={name:"DeepSeek"},xG={name:"Qwen"},_G={name:"Gemini"},wG={name:"MiniMax"},kG={name:"GLM"},CG={name:"Kimi"},SG={name:"Doubao"},MG={name:"SiliconFlow"},$G={name:"Groq"},AG={name:"OpenRouter"},IG={name:"xAI"},TG={deepseek:bG,qwen:xG,gemini:_G,minimax:wG,glm:kG,kimi:CG,doubao:SG,siliconflow:MG,groq:$G,openrouter:AG,xai:IG,"openai-compatible":{name:"Third-party"}},PG={chatExplorer:"Chat Explorer",sqlLab:"SQL Lab"},DG={scrollToBottom:"Back to Bottom",input:{placeholderWithSlash:"Enter your question, or type / for skills and {'@'} for members...",placeholderWithActiveSkill:"/{name} selected. Enter your specific question...",slashHint:"Type / to pick a skill",useSkill:"Choose Skill",mentionHint:"Type {'@'} to pick a member",mentionEmpty:"No matching members",mentionEmptyHint:"Search by nickname, alias, or account",slashEmpty:"No matching skills",slashEmptyHint:"Open Skill Manager to import built-in skills or create a custom one",manageSkills:"Manage Skills",previewTagsLabel:"Tags",previewToolsLabel:"Tools",previewUnavailable:"No skill prompt available for preview",quickAsk:"Quick Ask",editQuickAsk:"Edit Quick Ask",send:"Send",needMoreThanSkill:"Selecting a skill alone is not enough. Enter a specific question.",needQuestion:"Enter a question before sending"},fork:{success:"Conversation forked",failed:"Failed to fork conversation"},backgroundTask:{runningShort:"Running",runningTitle:"AI is still thinking",runningDescription:"The previous question is still running. Please wait for it to finish or stop it first.",blockedAction:"The current answer is still being generated. Wait for it to finish or stop it first.",return:"Return"},message:{copy:{tooltip:"Copy Markdown",success:"Markdown copied to clipboard",failed:"Failed to copy Markdown"},process:{label:"Process",processing:"Processing",processed:"Processed"},toolResult:{view:"View result",title:"Tool result sent to AI",copy:"Copy result",copySuccess:"Tool result copied",copyFailed:"Failed to copy tool result",displayTruncated:"Only a truncated version of this historical result was saved; the AI may have seen more content in the original turn."},edit:{tooltip:"Edit and regenerate",submit:"Send",overwriteSubsequent:"Overwrite all subsequent messages"},fork:{tooltip:"Fork conversation from here"},chart:{expand:"Open large chart",empty:"No data",rows:"{count} rows",truncated:"Truncated"},generating:"Generating response...",summary:{label:"Context Summary",info:"Previous conversation has been compressed into a summary to save context space"},plan:{label:"Analysis Plan",evidenceNeeded:"Evidence needed",suggestedTools:"Suggested tools",successCriteria:"Success criteria",noTools:"None"},think:{labels:{think:"Thinking",analysis:"Analysis",reasoning:"Reasoning",reflection:"Reflection",planValidation:"Generate plan",other:"Thinking ({tag})"},loading:"Thinking",duration:"Took {seconds}s"},toolParams:{keywords:"Keywords",time:"Time",getMessages:"Get {count} messages",limit:"Limit {count}",contextWithMessages:"Context of {contextSize} messages around {msgCount} messages",context:"{size} messages context",topMembers:"Top {count} members",search:"Search",getMemberList:"Get member list",memberId:"Member ID",timeStats:{hourly:"Hourly",weekday:"By Weekday",daily:"Daily"}}},thinking:{processingResult:"Processing result",called:"Called:",analyzing:"Analyzing question...",compressing:"Compressing context..."},statusBar:{model:{notConfigured:"AI Not Configured"},agent:{label:"Agent",contextTokens:"Context",phase:{compressing:"Compressing",preparing:"Preparing",thinking:"Thinking",tool_running:"Running tool",responding:"Responding",completed:"Completed",aborted:"Stopped",error:"Error"},phaseShort:{compressing:"Compress",preparing:"Prep",thinking:"Think",tool_running:"Tool",responding:"Reply",completed:"Done",aborted:"Stop",error:"Err"}},thinking:{title:"Thinking level",tooltip:"Set the thinking intensity for this model",level:{default:"Default",off:"Off",minimal:"Minimal",low:"Low",medium:"Medium",high:"High",xhigh:"Max",auto:"Auto"}},tokenUsageTitle:"Total token usage",cacheHit:"Cache hit",export:{label:"Export",title:"Export current conversation"},log:{label:"Logs",title:"Open current AI log file",openFailed:"Failed to open log",openFailedDesc:"Please try again later"}},conversation:{newChat:"New Chat",newConversation:"New Chat",empty:"No history yet",startNew:"Start New Chat",titlePlaceholder:"Enter title...",group:{last7Days:"Last 7 Days",last30Days:"Last 30 Days"},rename:"Rename",copyId:"Copy ID",delete:"Delete",export:{createdAt:"Created",user:"User",assistant:"AI Assistant",noMessages:"No messages to export"}},error:{title:"Processing Failed",detail:"Error Details",viewDetail:"View Details",requestUrl:"Request URL",statusCode:"Status Code",responseBody:"Response Body",responseHeaders:"Response Headers",requestBody:"Request Body",name:"Error Name",message:"Error Message",stack:"Stack Trace",cause:"Error Cause",provider:"Provider",copyAll:"Copy All",copied:"Copied to clipboard",unknown:"Unknown error"},dataSource:{title:"Data Source",keywords:"Keywords:",empty:"No data",emptyHint:"Related records will appear here after asking questions",totalRecords:"{count} records",loadMore:"Load More"},evidence:{title:"Evidence",query:"Question",criteria:"Criteria",empty:"No conclusive evidence found",totalSources:"{count} sources",mode:{auto:"Auto",hybrid:"Semantic + Keyword",semantic:"Semantic",keyword:"Keyword"},group:{included:"Counted",excluded:"Excluded",uncertain:"Uncertain"},warning:{criteria_missing:"No criteria provided; grouping is conservative",keywords_missing_for_hybrid:"No keywords provided; fell back to semantic-only search",keywords_required_for_keyword_mode:"Keyword mode requires keywords",semantic_unavailable:"Semantic index unavailable; used keyword search instead",keyword_unavailable:"Keyword search unavailable",semantic_partial:"Semantic results may be incomplete"}}},EG={editor:{errorEmptySQL:"Please enter an SQL statement",placeholder:"Enter SQL query...",tip:"Tip: Double-click column names to insert into SQL",history:"History",generateAndRun:"Generate and Run",switchToSQLMode:"Switch to SQL Mode",switchToPromptMode:"Switch to Prompt Mode",run:"Run"},schema:{tables:"Tables",doubleClickToInsert:"Double-click to insert into SQL",primaryKey:"Primary Key"},result:{queryError:"Query Error",rows:"{count} rows",readableTime:"Readable time",viewChat:"View chat history",summarize:"Summarize",pageSize:"Per page",emptyResult:"Query returned no results",initialState:"Enter SQL and run to see results",initialHint:"Only read-only queries are supported (SELECT / WITH). Add LIMIT for better performance",summaryTitle:"AI Result Summary",analyzing:"AI is analyzing results...",errorSummary:"Summary failed"},generate:{placeholder:"E.g.: Find top 10 members by message count, count daily messages, find messages containing 'keyword'...",errorEmptyPrompt:"Please enter your query requirement",errorGenerate:"AI generation failed",errorTokenLimit:"Model output reached token limit without generating a complete response (thinking may have consumed too many tokens)",aiOutput:"AI Output",thinking:"Thinking…",thinkingProcess:"Thinking process",waitingAI:"Waiting for AI response...",defaultPromptPrivate:"For the last 1 year of this private chat, compare both participants by total messages, message share, active days, average messages per active day, first message time, and latest message time; sort by total messages desc.",defaultPromptGroup:"For the last 1 year of this group chat, rank members by total messages, message share, active days, average messages per active day, and text-message ratio; include display names and return top 20 by total messages desc."},history:{title:"AI Generation History",execute:"Execute",empty:"No history records",justNow:"Just now",minutesAgo:"{count} min ago",hoursAgo:"{count} hr ago",today:"Today"}},RG={selector:{title:"Choose an assistant to start",heroTitlePrefix:"Chat with",heroTitleSuffix:"",subtitle:"Each assistant specializes in different types of analysis tasks. Pick the one that best fits your needs.",noAssistants:"No assistants available for this context",manage:"Manage Assistants",addNew:"New Assistant"},config:{viewTitle:"View Config",createTitle:"New Assistant",editTitle:"Assistant Config",betaWarning:"This feature is in beta. Configuration logic may change, so please back up your prompts.",tabs:{basic:"Basic",tools:"Tools"},name:"Name",systemPrompt:"System Prompt",chatType:"Chat Type",chatTypeAll:"All",chatTypeGroup:"Group",chatTypePrivate:"Private",locale:"Language",localeHint:"None selected = all languages",presetQuestions:"Preset Questions",addQuestion:"Add a question...",coreTools:"Core Tools",coreToolsHint:"Essential data retrieval tools, always enabled",analysisTools:"Analysis Tools",analysisToolsHint:"Enable on demand. Only checked tools will be available to AI",selectAll:"Select All",deselectAll:"Deselect All",resetDefault:"Reset to Default",create:"Create"},market:{title:"Assistant Manager",tabs:{local:"Local",market:"Market"},localHint:"Manage imported assistants, configure or delete",marketHint:"Browse the assistant market, import to use and customize",default:"Default",reimport:"Re-import",imported:"Imported",import:"Import",importing:"Importing...",importSuccess:"Import successful",importFailed:"Import failed",viewConfig:"View Config",duplicate:"Duplicate",addAssistant:"Add Assistant",noLocal:"No imported assistants yet",noCatalog:"No assistants available, please check your network",loading:"Loading...",loadFailed:"Failed to load, please check your network",retry:"Retry"},fallbackName:"Assistant",duplicateSuffix:" (Copy)",upgrade:{title:"Default assistant update available",message:"Your current default assistant is based on an older template and contains custom changes. ChatLab will save it as “{backupName}” before switching to the latest version.",backupName:"{name} (Legacy Backup)",skipHint:"If skipped, ChatLab will not remind you again until the template is updated.",skip:"Skip",skipFailed:"Failed to skip update",confirm:"Back Up and Update",success:"Default assistant updated",successDescription:"The previous configuration was saved as “{name}”.",failed:"Update failed"},toast:{loadFailed:"Failed to load",createSuccess:"Created successfully",createFailed:"Failed to create",saveSuccess:"Saved successfully",saveFailed:"Failed to save",resetSuccess:"Reset to default",resetFailed:"Failed to reset",unknownError:"Unknown error"},builtinToolDesc:{get_chat_overview:"Get chat overview information",search_messages:"Search chat messages",deep_search_messages:"Deep search chat messages",get_recent_messages:"Get recent messages",get_message_context:"Get message context",get_conversation_between:"Get conversation between two members",get_members:"Get members",get_schema:"Inspect database schema",get_member_stats:"Get member statistics",get_member_name_history:"Get member name history",get_time_stats:"Get time statistics",get_segment_messages:"Get segment messages",get_segment_summaries:"Get segment summaries",message_type_breakdown:"Message type distribution",peak_chat_hours_by_member:"Member peak hours",member_activity_trend:"Member activity trend",silent_members:"Silent member detection",reply_interaction_ranking:"Reply interaction ranking",mutual_interaction_pairs:"Mutual interaction pairs",member_message_length_stats:"Message length stats",unanswered_messages:"Unanswered messages",daily_active_members:"Daily active members",conversation_initiator_stats:"Conversation initiators",activity_heatmap:"Activity heatmap",response_time_analysis:"Response time analysis",keyword_frequency:"Keyword frequency",render_chart:"Generate dynamic chart",semantic_search_current_chat:"Search chat history"}},OG={config:{createTitle:"New Skill",editTitle:"Skill Config",chatScopeAll:"All",chatScopeGroup:"Group",chatScopePrivate:"Private",rawEditorHint:"Edit the full skill Markdown file (with YAML frontmatter)",create:"Create",save:"Save"},market:{title:"Skill Manager",tabs:{local:"Local",market:"Market"},localHint:"Manage imported skills, configure or delete",marketHint:"Browse the skill market, import to use and customize",reimport:"Re-import",imported:"Imported",import:"Import",importing:"Importing...",importSuccess:"Import successful",importFailed:"Import failed",noLocal:"No imported skills yet",noCatalog:"No skills available, please check your network",addSkill:"Create Custom Skill",loading:"Loading...",loadFailed:"Failed to load, please check your network",retry:"Retry"},active:{label:"Manually Invoked Skill: {name}"}},LG={toolTest:{coreTools:"Core Tools",analysisTools:"Analysis Tools",parameters:"Parameters",arrayPlaceholder:"Separate values with commas",execute:"Execute",cancel:"Cancel",elapsed:"Elapsed {ms}ms",result:"Result",truncated:"Result too large, truncated. Try reducing the limit parameter for complete data."}},qG={tab:PG,chat:DG,sqlLab:EG,assistant:RG,skill:OG,lab:LG},NG={loading:"Analyzing word frequency...",stats:{wordsLabel:"Total words",clickHint:"Note: Click a word in the cloud to view related messages"},config:{maxWords:"Max words",sizeScale:"Font size",userFilter:"User filter",posFilter:"POS filter",enableStopwords:"Filter stopwords",dict:"Dictionary"},size:{small:"S",medium:"M",large:"L",xlarge:"XL"},posFilter:{all:"All",meaningful:"Meaningful",custom:"Custom",customHint:"Custom POS",selectMeaningful:"Meaningful",selectAll:"All",clearAll:"Clear"},empty:{title:"No word cloud data",description:"Not enough text messages to generate a word cloud with current filters"},dict:{zhCN:"Simplified Chinese",zhTW:"Traditional Chinese",download:"Download dictionary","download_zh-CN":"Download Simplified Chinese dict","download_zh-TW":"Download Traditional Chinese dict",needDownload:"Word cloud is shown with the built-in tokenizer. Download a Chinese dictionary for more accurate segmentation.",downloadHint:"~8MB",downloadSuccess:"Dictionary downloaded successfully",downloadFailed:"Dictionary download failed",promptTitle:"Traditional Chinese Dictionary",promptDescription:"We detected you're using Traditional Chinese. For best word cloud results, a Traditional Chinese dictionary is recommended. Download now? (~8MB)",promptDownload:"Download now",promptLater:"Maybe later"}},FG={title:"Keyword Ranking",description:"Analyze keyword usage rankings in chats, customize your own lists",countTemplate:"{count} members",templateLabel:"Templates:",newTemplate:"+ New",searchPlaceholder:"Type to search",clear:"Clear",templateHint:"* Right-click template to edit or delete",keyword:"Keyword",ranking:" Ranking",multiColorMode:"Multi-color",times:"{count}x",timesWithPercent:"x ({percent}%)",loading:"Analyzing data...",empty:"No data available. Try adding keywords or switching templates.",contextMenu:{edit:"Edit",delete:"Delete"},modal:{createTitle:"Create Template",editTitle:"Edit Template",templateName:"Template Name",templateNamePlaceholder:"e.g. Positive",keywords:"Keywords",keywordPlaceholder:"Press Enter to add",update:"Update"},templates:{laugh:{name:"Laughter",keywords:"lol,lmao,haha,rofl,dying,hilarious",description:"Track happiness index in the group"},sad:{name:"Sadness",keywords:"sad,depressed,tired,exhausted,ugh,sucks,hate",description:"Track negative emotions in the group"},praise:{name:"Praise",keywords:"awesome,amazing,great,nice,cool,impressive,wow,goat",description:"Find members who give the most compliments"},slacker:{name:"Slacking",keywords:"bored,slacking,hungry,sleepy,friday yet,done for today,hate mondays",description:"Find members who want to leave work most"},gossip:{name:"Gossip",keywords:"omg,no way,really,spill,tea,wtf,insane,crazy",description:"Find members who love gossip the most"},polite:{name:"Polite",keywords:"thanks,please,sorry,appreciate,welcome,excuse me,thank you",description:"Find the most polite members"},curious:{name:"Questions",keywords:"why,how,what,confused,help,anyone know",description:"Find members who ask the most questions"}}},VG={title:"Hot Repeats",loading:"Loading repeat data...",description:"Content with most participants in single repeat chain",countTemplate:"{count} hot repeats",people:"{count} ppl",times:"{count}x",viewChat:"View chat history",empty:"No repeat data available"},BG={heroPrefix:"Analyzed",heroMiddle:"messages,",heroMiddleSecond:"yielding",heroSuffix:"unique words",topTopicsPrefix:"You love talking about:",hotTopic:"Hot Topic",hotTopicDesc:"Appeared {count} times",richness:"Lexical Diversity",richnessValue:"{value}%",richnessDesc:"Unique {unique} / Total {total}",chatStyle:"Chat Style",styleEncyclopedia:"Encyclopedia",styleEncyclopediaDesc:"Noun-heavy, loves discussing people, places & things",styleAction:"Action-Oriented",styleActionDesc:"Verb-heavy, loves discussing what to do",styleExpressive:"Expressive",styleExpressiveDesc:"Adjective-heavy, rich in emotional expression",styleBalanced:"Balanced",styleBalancedDesc:"Diverse topics, well-rounded conversations",expressionStyle:"Expression Style",expressionCasual:"Casual",expressionCasualDesc:"Short words, relaxed and informal",expressionFormal:"Formal",expressionFormalDesc:"Elaborate words, precise expression",expressionMixed:"Mixed",expressionMixedDesc:"A blend of casual and formal",watermark:"Topic Profile",sharedTopics:"Shared Topics"},zG={title:"Group Catchphrases",description:"See each member's most characteristic repeated phrases",memberTitle:"{name}'s Catchphrases",memberDescription:"Rank this member's most repeated phrases by frequency",loading:"Analyzing catchphrases...",times:"{count}x",memberCount:"{count} members",phraseCount:"{count} catchphrases",viewChat:"View related messages",empty:{title:"No catchphrase data"}},HG={loading:"Analyzing language preferences...",empty:"Not enough text messages for language analysis",card:{diversityTitle:"Lexical Depth",diversityDesc:"Unique word ratio",styleTitle:"Chat Style",styleDesc:"Expression style based on POS distribution",punctTitle:"Punctuation Style",punctDesc:"Most used punctuation personality",watermark:"Language Preference",radarFactual:"Factual",radarActive:"Active",radarDescriptive:"Descriptive",radarAffable:"Affable",radarIntense:"Intense",radarNoun:"Noun",radarVerb:"Verb",radarAdj:"Adjective",radarModal:"Modal",radarAdv:"Adverb",topCatchphrases:"Top Catchphrases",languageProfiles:"Language Profiles"},catchphrasePK:{title:"Catchphrase Battle",sharedCount:"{count} shared catchphrases",hint:"Click to view messages. Pink outlines mark shared catchphrases."},pos:{title:"POS Portrait",styleEncyclopedia:"Encyclopedia",styleAction:"Action-oriented",styleExpressive:"Expressive",styleBalanced:"Balanced"},modal:{title:"Modal Particles",toneSoft:"Soft & Warm",toneCurious:"Curious",toneCasual:"Casual",toneCalm:"Calm & Steady",toneMixed:"Mixed Style",empty:"No modal particle data"},punctuation:{title:"Punctuation Personality",none:"No punct.",personalityDeep:"Deep Thinker",personalityPassionate:"Passionate",personalityCurious:"Curious Mind",personalityCheerful:"Cheerful",personalityFreeflow:"Free-flow",personalityPrecise:"Precise",empty:"No punctuation data"}},UG={wordcloud:NG,keywords:FG,hotRepeat:VG,topicProfile:BG,catchphrase:zG,languagePreference:HG},jG={title:"Who Are You?",subtitle:"Select your identity in this chat",description:"Your messages will appear on the right side of the chat viewer, and AI conversations can identify you for more accurate analysis. Other chats from the same platform will be filled in automatically.",searchPlaceholder:"Search members",noMatch:"No matching members found",empty:"No member data",later:"Later",dontRemind:"Don't remind me for this chat",save:"Save",clear:"Clear current selection",saved:"Your identity has been set",appliedToOthers:"Automatically applied to {count} chats from the same platform",saveFailed:"Failed to set identity",currentOwner:"I am: {name}",choose:"Choose who I am",change:"Change",helper:"Helps AI identify you in conversations for more accurate analysis"},WG={title:"Group Member Management",description:"{count} members. Add aliases or remove members",searchPlaceholder:"Search nickname, account name, ID or alias",noMatch:"No matching members found",empty:"No member data available",loadError:"Failed to load members. Please try again",table:{accountName:"Account Name",groupNickname:"Group Nickname",messageCount:"Messages",lastMessageTime:"Last Message",customAlias:"Custom Aliases",actions:"Actions"},aliasPlaceholder:"Press Enter to add",delete:"Delete",deleteSelected:"Delete Selected",mergeSelected:"Merge Selected",selectedCount:"{count} members selected",pagination:"Showing {start} - {end} of {total} members",tip:"Tip: Adding aliases helps identify chat participants and improves search and AI analysis accuracy.",mergeModal:{title:"Merge Members?",content:"Merge {source} ({sourceCount} messages) into {target} ({targetCount} messages). By default, the merged name keeps the member with more messages.",hint:"This action cannot be undone. All messages from the merged member will be reassigned to the kept member.",cancel:"Cancel",confirm:"Confirm Merge"},batchDeleteModal:{title:"Delete Selected Members?",content:"This will delete {count} selected members and their {messageCount} messages. This action cannot be undone."},modal:{title:"Delete Member?",content:"This will delete member {name} and their {count} messages. This action cannot be undone.",cancel:"Cancel",confirm:"Confirm Delete"}},KG={note:"Note: QQ's legacy client can export chat history as txt format, which provides the most accurate nickname history",title:"Nickname History",loading:"Loading...",hasChanges:"{count} members have changed nicknames",noChanges:"No nickname changes",current:"Current",empty:"No members have changed their nicknames",loadingText:"Loading nickname history..."},GG={loading:"Analyzing {'@'} interaction data...",rankingTitle:"{'@'} Interaction Ranking",rankModes:{mentioners:"Sent {'@'}",mentioned:"Received {'@'}"},topMentionersDescription:"Ranked by {'@'} mentions sent",topMentionedDescription:"Ranked by {'@'} mentions received",times:"times",emptyTitle:"📱 {'@'} Interaction Analysis",empty:"No {'@'} interaction data available"},YG={ownerPrompt:jG,list:WG,nicknameHistory:KG,relationships:GG,private:{title:"Chat Members",description:"{count} members. Add aliases for search and AI analysis"}},XG={title:"Chat Record Viewer",loadedCount:"{count} messages loaded"},JG={loading:"Loading...",noMessages:"No messages",tryAdjustFilter:"Try adjusting the filter",loadingMore:"Loading more...",scrollUpForMore:"↑ Scroll up to load more",scrollDownForMore:"↓ Scroll down to load more"},QG={messageId:"Message ID",memberPlaceholder:"Member",keywordsPlaceholder:"Keywords, comma separated, Enter to search",startDate:"Start Date",endDate:"End Date",reset:"Reset",filter:"Filter"},ZG={timeline:"Summaries",noSessions:"No summaries",generateSummary:"Summarize",tooFewMessages:"Too few"},eY="Summary generation failed",tY="Unknown error",aY={title:"Batch Generate Summaries",trigger:"Batch",byRange:"By Range",byTime:"By Time",selectRange:"Select Range",rangeStart:"Earliest",rangeInfo:"About",sessionsUnit:"sessions",rangeEnd:"Latest",timeRange:"Select Time Range",today:"Today",yesterday:"Yesterday",week:"Last 7 days",month:"Last 30 days",custom:"Custom",found:"Found",hasSummary:"already summarized",tooFewMessages:"too few messages",pending:"Pending:",unit:"",noPending:"No sessions to generate",noSessions:"No sessions in this time range",checking:"Checking...",loading:"Loading...",progress:"Progress",session:"Session",statusSuccess:"Success",statusSkipped:"Skipped",statusFailed:"Failed",success:"Success:",failed:"Failed:",skipped:"Skipped:",start:"Start",stop:"Stop"},nY={viewContext:"View Context",replyTo:"Reply to",expandMessyContent:"Show full content",collapseMessyContent:"Collapse"},rY={drawer:XG,messageList:JG,filter:QG,timeline:ZG,summaryFailed:eY,summaryUnknownError:tY,batchSummary:aY,messageItem:nY},sY={rankingView:"Ranking",memberView:"Member View",matrixView:"Matrix View",modelSettings:"Model Settings",lookAhead:"Look Ahead",lookAheadDesc:"Messages to look ahead per sender",decaySeconds:"Time Decay (sec)",decaySecondsDesc:"Higher = distant messages matter more",applySettings:"Apply",noData:"No data",selectMember:"Select Member",selectMemberHint:"Select a member from the left",msgCount:"Messages",relationCount:"Relations",relationsByIntimacy:"Proximity Ranking",noRelations:"No relations",intimacy:"Proximity",interactionRanking:"Interaction Ranking",score:"Proximity",coOccurrence:"Co-occur",times:" times",totalMembers:"Total Members",totalMessages:"Total Messages",involvedMembers:"Involved",edgeCount:"Relations"},oY={typeDistribution:"Message Type Distribution",hourlyDistribution:"Hourly Distribution",weekdayDistribution:"Weekday Distribution",monthlyDistribution:"Monthly Distribution",yearlyDistribution:"Yearly Distribution",timeHeatmap:"Time Heatmap",heatmapHint:"Shows chat time patterns",calendarHeatmap:"Message Calendar",calendarHint:"Daily message distribution",calendarTooltipMessages:"Messages",lengthDetailTitle:"Short Messages (1-25 chars)",lengthDetailHint:"Per character",lengthGroupedTitle:"Length Range Distribution",lengthGroupedHint:"Grouped by 5",noTextMessages:"No text messages",noData:"No data",profile:{avgLengthUnit:"{count} chars/msg",textExpression:"Text Expression",textExpressionDesc:"Longest message {count} chars",mediaRichness:"Media Richness",shortMaster:"Short Msg Master",shortMasterDesc:"{count} msgs with ≤5 chars",essayLover:"Essay Lover",essayLoverDesc:"Messages with ≥{threshold} chars",typeDistribution:"Msg Types",heroLine1Prefix:"A total of",heroLine1Suffix:"messages exchanged"},typeCard:{watermark:"Type Report",nonTextPrefix:"Besides text,",nonTextImage:"images",nonTextEmoji:"emojis",nonTextVoice:"voice msgs",nonTextVideo:"videos",nonTextFile:"files",nonTextLink:"links",unitImage:"images",unitEmoji:"emojis",unitVoice:"voice msgs",unitVideo:"videos",unitFile:"files",unitLink:"links"},timeCard:{hourlyDistribution:"24h Distribution",watermark:"Time Report",heroDaysIn:"days,",heroDaysActive:"days active",heroAvgPrefix:"Average",heroAvgSuffix:"messages/day",personalityNightOwl:"Night Owl",personalityEarlyBird:"Early Bird",personalityLunchChat:"Lunch Chatter",personalityEveningChat:"Evening Talker",personalityDaytime:"Daytime Active",personalityEveryday:"Always On",personalityWeekend:"Weekend Active",personalityWeekday:"Weekday Active",peakRecord:"Peak Record",peakRecordDesc:"Max {count} msgs in a day",topHoursLabel:"Top Active Hours",peakWeekdayLabel:"Peak Weekday",weekendRatio:"Weekend Ratio",weekendRatioDesc:"Messages on weekends"},timeAnalysis:{memberTrendTitle:"Message Trend",memberTrendHint:"Monthly message volume by member"},typeAnalysis:{textDepthTitle:"Text Depth Analysis",textTotal:"Text Messages",avgLength:"Avg Chars",medianLength:"Median Length",maxLength:"Max Length",percentiles:"Length Percentiles",shortMessages:"Short(≤5 chars)",essayMessages:"Long(≥30 chars)"}},iY={layout:"Layout",circular:"Circular",force:"Force",directed:"Directed",reset:"Reset",graphHint:"{nodes} members, {links} interactions",noInteraction:"No mention interaction data"},lY={empty:{title:"No Relationship Data",description:"No sessions found in the selected time range."},monthly:{title:"Monthly Breakdown",totalSessionsPrefix:"Total",totalSessionsSuffix:"sessions"},trend:{title:"Initiative Trend",hint:"Blue line shows {name}'s monthly initiative ratio; 50% line is the balanced baseline"},hero:{totalSessionsPrefix:"You had",totalSessionsSuffix:"conversations in total",initiativePrefix:"",initiativeByPrefix:"of opening messages were started by",initiativeBySuffix:"",initiateTimes:"starts"},initiator:"Start Conversations",closer:"End Conversations",closerTitle:"Conversation Closer",closerHint:"Shows who sends the last message when a topic ends.",noActivity:"No activity this month",watermarkReport:"Relationship Report",monthFormat:"{month}/{year}",monthShortFormat:"{month}",iceBreaker:{title:"Ice Breaker",hint:"Times breaking silence after 24+ hours of inactivity"},responseLatency:{title:"Reply Speed",hint:"Average time to reply after the other person sends a message",seconds:"{n}s",minutesSeconds:"{m}m {s}s",hours:"{n}h",hoursMinutes:"{h}h {m}min"},perseverance:{title:"Perseverance",hintWithThreshold:"Times sending another message when the other person hasn't replied within {threshold}",thresholdMinutes:"{n} min"},labels:{wellMatched:"Well Matched",missingYou:"{name} Misses You",monologue:"{name}'s Monologue",peacefulSilence:"Peaceful Silence",fleetingThoughts:"Fleeting Thoughts"}},cY={title:"Timeline View",description:"Message time distribution, active period trends and other visualizations"},uY={rankListPro:{fullRanking:"Full Ranking",memberCount:"{count} members"},rankList:{unit:""},nicknameHistory:{periodToNow:"{start} ~ Now",periodRange:"{start} ~ {end}",current:"Current",empty:"No nickname history"},listPro:{countTemplate:"{count} items",fullRanking:"Full Ranking",empty:"No data"}},dY={cluster:sY,message:oY,interaction:iY,relationship:lY,timeline:cY,charts:uY},fY="Keyword Filter",pY="Schemes",mY="Scheme Name",gY="Enter scheme name",hY="New Scheme",vY="New Scheme",yY="Delete",bY="Set as Default",xY="Default",_Y="Keyword Filter",wY="No Filter",kY="Manage Schemes",CY="Add Filter Words",SY="Type and press Enter, separate with spaces or commas",MY="Add",$Y="Filter Words",AY="Clear All",IY="No schemes yet. Click + to create one.",TY="No filter words. Add some above.",PY="Select or create a filter scheme",DY="{count} words filtered",EY="Close",RY={title:fY,schemeList:pY,schemeName:mY,schemeNamePlaceholder:gY,defaultSchemeName:hY,createScheme:vY,deleteScheme:yY,setDefault:bY,isDefault:xY,filterScheme:_Y,noFilter:wY,manage:kY,addWords:CY,addWordsPlaceholder:SY,add:MY,wordList:$Y,clearAll:AY,emptyScheme:IY,emptyWords:TY,selectOrCreate:PY,activeCount:DY,close:EY},OY="Contacts",LY="{count} private chats imported",qY="Current active private chat count in this range is {count}. Contacts are enabled after importing at least 1 group chat, or once active private chats reach 5.",NY="No matching contacts",FY="None",VY="Search contacts",BY="Score {value}",zY={"1y":"1Y","2y":"2Y","3y":"3Y","5y":"5Y",all:"All"},HY={total:"Contacts",friends:"Friends",nonFriends:"Groupmates"},UY={allPools:"All sources",friends:"Friends",nonFriends:"Groupmates"},jY={friends:"Friends",groupContacts:"Groupmates"},WY={friend:"Friend",manualFriend:"Friend · Manual",nonFriend:"Groupmate"},KY={pinned:"Pinned contacts",friends:"Friends",group_contacts:"Groupmates"},GY={contact:"Contact",status:"Type"},YY={recompute:"Recompute",markFriend:"Mark as friend",unmarkFriend:"Unmark friend",clearSearch:"Clear search",clearSelection:"Clear selection",openSourceSession:"Go to chat",viewSourceRecords:"View chat records",viewDetail:"View details for {name}"},XY={title:"Contact details",score:"Score",scoreHelp:"The score is used to sort contacts. A higher score means stronger interaction signals.",lastInteraction:"Last interaction",sources:"Source chats",sourceType:{private:"Private",group:"Group"},aliases:"Aliases",signals:"Interaction signals",emptyTitle:"Select a contact",emptyDescription:"Choose a contact on the left to view interaction metrics and source chats."},JY={privateMessages:"{count} private messages",privateMessagesLabel:"Private messages",activeMonths:"Active months",commonGroups:"Common groups",lastInteractionShort:"Recent",groups:"{count} common groups",coOccurrence:"Co-occurrences",replies:"Replies",groupSignals:"{count} co-occurrences"},QY={title:"Contacts may be stale",message:"Chat data changed. Contacts are updating in the background.",inline:"Contacts may be stale.",later:"Later"},ZY={running:"Computing contacts: {current} / {total} sessions",updating:"Contacts may have changed. Recomputing.",failed:"Contact computation failed",retry:"Retry"},eX={recomputed:"Contacts recomputed",recomputeStarted:"Started computing contacts in the background",recomputeFailed:"Recompute failed",markFriendSucceeded:"Marked as friend",markFriendFailed:"Failed to mark friend",unmarkFriendSucceeded:"Friend mark removed",unmarkFriendFailed:"Failed to remove friend mark"},tX={title:OY,subtitle:LY,disabled:qY,empty:NY,emptyValue:FY,search:VY,score:BY,timeRange:zY,stats:HY,filters:UY,tabs:jY,pool:WY,group:KY,table:GY,actions:YY,detail:XY,metrics:JY,stale:QY,task:ZY,toast:eX},aX="Interaction Graph",nX="Panoramic relationship graph",rX="People subpages",sX="Search contacts",oX="No relationship graph data",iX="Privacy mode",lX={"3d":"3D","2d":"2D"},cX={panorama:"Panorama",close:"High affinity",friends:"Friends only"},uX={"1y":"1 year","2y":"2 years","3y":"3 years","5y":"5 years",all:"All"},dX={recompute:"Recompute",clearSearch:"Clear search",closeDetail:"Close details",backToPanorama:"Back to panorama",fitView:"Fit view",focusConnections:"Show only its connections"},fX={nodes:"Nodes",edges:"Edges",communities:"Related groups",members:"Members"},pX={friend:"Friend",manualFriend:"Friend · Manual",nonFriend:"Groupmate"},mX={me:"Me",type:"Me",avatarText:"Me"},gX={running:"Computing interaction graph: {current} / {total} sessions",updating:"Relationship data may have changed. Recomputing.",failed:"Interaction graph computation failed",retry:"Retry"},hX={title:"Search results",offCore:"Load neighborhood"},vX={title:"Related contacts",empty:"No direct connections in the current graph",connectionScore:"Affinity"},yX={rank:"Rank",score:"Score",type:"Type",community:"Community",lastInteraction:"Last interaction",privateMessages:"Private messages",groupMessages:"Group messages",commonGroups:"Common groups",emptyValue:"None"},bX={recomputeStarted:"Started computing interaction graph",recomputeFailed:"Recompute failed",loadFailed:"Failed to load interaction graph",neighborhoodFailed:"Failed to load neighborhood",threeUnavailable:"3D rendering is unavailable. Switched to 2D."},xX={label:"Interaction galaxy graph",label3d:"3D interaction galaxy graph"},_X={title:aX,subtitle:nX,nav:rX,search:sX,empty:oX,privacy:iX,viewMode:lX,graphScope:cX,timeRange:uX,actions:dX,stats:fX,pool:pX,owner:mX,task:gX,searchResults:hX,connections:vX,detail:yX,toast:bX,canvas:xX},wX="Footprint",kX="This view will be available in a future release",CX={nav:"Footprint views",annualSummary:"About Me",timeInvestment:"Time Investment",relationshipChanges:"Relationship Changes"},SX="Messages",MX="Month {month}",$X="No analyzable data in this time range",AX="No text messages in this time range",IX={messages:"Messages sent",activeDays:"Active days",contacts:"Direct contacts",dailyMessages:"Messages per day",dailyContacts:"Contacts per day"},TX={yearTitle:"Me in {year}",recentTitle:"My Last 12 Months",activity:"Activity Calendar",activeRate:"{rate}% of days",keyMetrics:"Key Metrics",perDay:"Daily average",messagesCount:"{count} messages",characters:"{count} chars",textLengthDetail:"Text message length",dailyContacts:"Contacts per day",peakMonth:"Most active month",peakDay:"Most active day",textRatio:"Text message share",medianLength:"Median text length",p90Length:"P90 text length"},PX={overview:"Annual overview",overviewDescription:"Non-system messages I sent each month; missing months count as zero",activity:"Activity rhythm",activityDescription:"Daily sent messages; darker days were more active",messageTypes:"Message types",messageTypesDescription:"Only messages sent by me",textLength:"Text length",textLengthDescription:"Character counts for non-empty text messages only",habitsTitle:"Expression Habits",habitsDescription:"The composition of message types and character length distribution of text messages I sent"},DX={median:"Median"},EX={loading:"Loading annual summary…",computingProgress:"Analyzing conversations {processed}/{total}…",updating:"Data changed; this result is being refreshed in the background",failed:"Annual summary calculation failed. You can retry it.",coverage:"Analyzed {analyzed} of {total} conversations",ownerIssues:"{count} conversations still need a valid “me” identity",noAnalyzableOwner:"No conversation has a usable identity yet. Set who “me” is in a conversation first.",noDataWithLatest:"No analyzable data for {year}; the latest available year is {latestYear}"},RX={retry:"Retry",openSessions:"Open conversations",switchYear:"View {year}"},OX={title:wX,reserved:kX,tabs:CX,messages:SX,monthLabel:MX,noData:$X,noTextData:AX,kpis:IX,overviewCard:TX,sections:PX,length:DX,status:EX,actions:RX},LX="Your Chat History, Finally Yours.",qX="Local storage and privacy first, with AI agents and visual insights to help you revisit your chat memories.",NX="No sign-in",FX="Processed on this device",VX="Nothing uploaded",BX="Data is stored in this browser's site storage. Clearing site data also removes imported sessions.",zX="How to export chat history",HX="Preparing your local workspace",UX="The first launch loads the SQLite runtime and opens browser storage.",jX={title:"This browser cannot run the local edition",description:"Use the latest Chrome, Edge, or another OPFS-capable browser, and open ChatLab through localhost or HTTPS.",missing:"Missing capabilities: {capabilities}"},WX={title:"The local workspace hit a problem",unsupportedFile:"This file is not supported yet. Choose ChatLab JSON / JSONL, WhatsApp TXT, LINE TXT, QQ TXT, or Telegram JSON."},KX={eyebrow:"Local sessions",title:"Your chat archive",description:"Sessions are stored separately in this browser. You can manage them and view their 24-hour message activity.",count:"{count} sessions",refresh:"Refresh",emptyTitle:"No local sessions yet",emptyDescription:"Import your first chat archive from the left and it will appear here.",messages:"{count} messages",members:"{count} members",lastMessage:"Last message {date}",importedAt:"Imported {date}",group:"Group",private:"Direct",rename:"Rename",renameLabel:"New session name",deleteTitle:"Delete “{name}”?",deleteDescription:"This session's local database will be permanently deleted. This cannot be undone.",busy:"Updating session…"},GX={open:"View hourly activity",eyebrow:"First local analysis",title:"24-hour activity for “{name}”",description:"Statistics are computed in a local background thread and grouped in this device's time zone.",loading:"Reading local session statistics…",totalMessages:"Messages counted",peakHour:"Peak hour",activeHours:"Active hours",hourValue:"{hour}:00",hourTooltip:"{hour}:00 · {count} messages",noData:"This session has no hourly activity to display yet.",runtimeNote:"Computed locally · no upload"},YX={title:LX,subtitle:qX,noSignIn:NX,localOnly:FX,noUpload:VX,localOnlyDetail:BX,exportGuide:zX,initializing:HX,initializingDetail:UX,unsupported:jX,error:WX,import:{eyebrow:"Import",title:"Add a chat archive",description:"ChatLab JSON / JSONL, WhatsApp TXT, LINE TXT, QQ TXT, and Telegram JSON are supported. Each import creates an isolated session.",drop:"Drop a file here, or choose from your device",dropActive:"Release to select this file",formats:".json · .jsonl · .txt",choose:"Choose file",selected:"Selected",detecting:"Detecting format…",detected:"Detected as {format}",start:"Start local import",working:"Importing",cancel:"Stop import",processed:"Processed {count} messages",multiChat:{title:"Choose chats to import",selected:"{selected} of {total} selected",selectAll:"Select all",clearAll:"Clear",messages:"{count} messages",empty:"Empty chat",current:"Chat {current} of {total}: {name}",importSelected:"Import {count} selected",successDetail:"Created {sessions} of {total} sessions and saved {messages} messages.",failed:"{count} imports failed",cancelledWithCompleted:"Import stopped; {count} completed sessions were kept."},stages:{detecting:"Detecting file",reading:"Reading file",parsing:"Parsing messages",saving:"Writing local database",indexing:"Building indexes",done:"Done"},successTitle:"Import complete",successDetail:"Saved {messages} messages and {members} members.",cancelled:"Import stopped without leaving an incomplete session.",another:"Import another"},sessions:KX,analysis:GX},XX={common:dK,layout:DK,settings:KK,home:nG,analysis:hG,tools:yG,providers:TG,ai:qG,quotes:UG,members:YG,records:rY,views:dY,wordFilter:RY,contacts:tX,relationships:_X,insight:OX,browser:YX},JX="確定",QX="取消",ZX="儲存",eJ="編輯",tJ="新增",aJ="截圖",nJ="關閉",rJ="返回上一頁",sJ="完成",oJ="重試",iJ="應用程式初始化失敗",lJ="Web WASM 已在另一個分頁中開啟。請關閉另一個 ChatLab Web WASM 分頁後重試。",cJ="載入中...",uJ="初始化中...",dJ="無匹配結果",fJ="匯出成功",pJ="匯出失敗",mJ="產生中...",gJ="重新產生",hJ="開啟資料夾",vJ="檢視聊天紀錄",yJ="請先在設定中設定 AI 服務",bJ={unknown:"未知錯誤"},xJ={text:"文字",image:"圖片",voice:"語音",video:"影片",file:"檔案",emoji:"表情",link:"連結",location:"位置",redPacket:"紅包",transfer:"轉帳",poke:"拍一拍",call:"通話",share:"分享",reply:"回覆",forward:"轉發",contact:"名片",system:"系統",recall:"收回",other:"其他",unknown:"未知"},_J={mon:"週一",tue:"週二",wed:"週三",thu:"週四",fri:"週五",sat:"週六",sun:"週日"},wJ={jan:"1月",feb:"2月",mar:"3月",apr:"4月",may:"5月",jun:"6月",jul:"7月",aug:"8月",sep:"9月",oct:"10月",nov:"11月",dec:"12月"},kJ={title:"選擇語言",subtitle:"請選擇您偏好的介面語言",next:"下一步"},CJ={title:"隱私權政策與使用條款",subtitle:"使用前請先詳閱",disagree:"我不同意",agree:"我已閱讀並同意上述內容",updateNotice:"條款內容已更新,請重新閱讀並確認"},SJ={selectDate:"選擇日期",clearDate:"清除日期"},MJ={mode:{recent:"最近",quarter:"按季",year:"按年",custom:"自訂"},recent:{oneYear:"近一年",twoYears:"近兩年",fiveYears:"近五年",all:"全部"},display:{recent365:"最近一年",recent730:"最近兩年",recent1825:"最近五年"},quarter:{label:"{year}年 第{quarter}季"},year:{label:"{year}年"}},$J={allMembers:"全部成員"},AJ={placeholder:"搜尋成員",noSecondary:"無其他名稱"},IJ={description:"此服務已開啟認證保護,請輸入 API Token 登入",tokenLabel:"API Token",tokenPlaceholder:"clb_xxxxxxxx",submit:"登入",hint:"Token 可在啟動日誌、config.toml 或 --token 啟動參數中取得",errorEmpty:"請輸入 Token",errorInvalid:"Token 無效,請檢查後重試",errorNetwork:"網路連線失敗",rememberDevice:"記住此裝置",rememberWarning:"僅在可信裝置上勾選,Token 將持久保存在瀏覽器中",logoutTitle:"帳戶",logoutDesc:"退出目前認證登入",logout:"登出"},TJ={confirm:JX,cancel:QX,delete:"刪除",save:ZX,edit:eJ,add:tJ,capture:aJ,close:nJ,back:rJ,done:sJ,retry:oJ,initFailed:iJ,webWasmWorkspaceBusy:lJ,loading:cJ,initializing:uJ,noResults:dJ,export:"匯出",exportSuccess:fJ,exportFailed:pJ,generating:mJ,regenerate:gJ,openFolder:hJ,viewChatRecords:vJ,errorNoAIConfig:yJ,error:bJ,messageType:xJ,weekday:_J,month:wJ,languageSelect:kJ,agreement:CJ,datePicker:SJ,timeSelect:MJ,userSelect:$J,memberSearchSelect:AJ,login:IJ},PJ="ChatLab",DJ="分析新對話",EJ="聯絡人",RJ="關係",OJ="足跡",LJ="實用工具",qJ="聊天紀錄",NJ="管理",FJ="暫無紀錄",VJ="搜尋聊天名稱",BJ="未找到匹配的聊天紀錄",zJ={rename:"重新命名",pin:"置頂",unpin:"取消置頂",copyId:"複製 ID",delete:"刪除"},HJ={title:"重新命名",placeholder:"請輸入新名稱"},UJ={title:"確認刪除",message:"確定要刪除聊天紀錄「{name}」嗎?此操作無法復原。"},jJ={tag:"New",title:"發現新版本",message:"最新版本是 v{version}。",desktopHint:"點擊立即更新後,ChatLab 會開始檢查並下載桌面端更新。",cliHint:"請在終端機執行以下命令更新 CLI,更新後重新啟動服務。",updateNow:"立即更新",later:"稍後"},WJ={all:"全部",private:"私聊",group:"群聊"},KJ={importedAt:"匯入時間",lastMessageTs:"最近對話",messageCount:"訊息數量"},GJ={search:"搜尋聊天紀錄",sort:"排序"},YJ="{count} 條訊息",XJ={settings:"設定"},JJ={brand:PJ,newAnalysis:DJ,contacts:EJ,relationships:RJ,insight:OJ,tools:LJ,chatHistory:qJ,manage:NJ,noRecords:FJ,searchPlaceholder:VJ,noSearchResult:BJ,contextMenu:zJ,renameModal:HJ,deleteModal:UJ,updateNotice:jJ,filter:WJ,sort:KJ,tooltip:GJ,sessionInfo:YJ,footer:XJ},QJ="設定",ZJ={basic:"基本設定",ai:"AI 設定",aiConfig:"模型服務",aiDefaultModel:"預設模型",semanticIndex:"語意索引",chatPreferences:"對話偏好",compression:"上下文壓縮",aiPreprocess:"前處理",dataManage:"資料管理",storage:"儲存管理",security:"安全",sessionManage:"會話索引",about:"關於 ChatLab",api:"自動化",apiSubTabs:{autoSync:"自動同步",apiService:"API 服務",mcp:"MCP"}},eQ={general:{title:"一般"},preferences:{title:"偏好設定"},language:{description:"選擇軟體顯示語言"},appearance:{title:"外觀設定",themeMode:"主題模式",auto:"依系統設定",light:"淺色模式",dark:"深色模式"},defaultTab:{description:"進入聊天對話後預設顯示的頁面",overview:"總覽",aiChat:"AI 對話"},autoLaunch:{openAtLogin:"開機自動啟動",openAtLoginDesc:"系統啟動時自動執行 ChatLab",devModeHint:"開發模式下不可用"},toolsPanel:{positionLabel:"快捷工具入口位置",positionDesc:"選擇快捷工具面板的顯示位置",positionSide:"右側",positionHeader:"頂部"},network:{title:"網路設定",proxyMode:"代理模式",proxyModeDesc:"存取網路時使用的代理方式",modeOff:"關閉",modeSystem:"跟隨系統",modeManual:"手動設定",proxyAddress:"代理地址",proxyPlaceholder:"http://127.0.0.1:7890",proxyHelp:"支援 HTTP/HTTPS 代理,格式如:http://127.0.0.1:7890",testConnection:"測試連線",testing:"測試中...",connectionSuccess:"代理連線成功!",connectionFailed:"連線失敗",enterProxyFirst:"請先輸入代理地址",invalidProxyUrl:"請輸入有效的代理地址,格式如 http://127.0.0.1:7890",onlyHttpSupported:"僅支援 http:// 或 https:// 協定",saveFailed:"儲存失敗"}},tQ={title:"預設模型",noConfigs:"請先在「模型服務」中新增模型設定",selectProvider:"選擇提供商",selectModel:"選擇模型",assistantModel:{label:"預設助手模型",description:"用於 AI 對話、工具呼叫、SQL 助手、上下文壓縮"},fastModel:{label:"快速模型",description:"用於會話摘要生成,未設定時使用預設助手模型",followAssistant:"跟隨預設助手模型"}},aQ={title:"模型服務",defaultModel:"預設模型",empty:{title:"尚未設定 AI 服務",description:"新增一組設定後即可開始使用 AI 功能"},addConfig:"新增服務",maxConfigs:"已達設定上限(最多 10 組)",modal:{addConfig:"新增服務",editConfig:"編輯服務",localService:"本機服務",configName:"設定名稱",optional:"(選填)",configNamePlaceholderPreset:"留空則使用服務商名稱",configNamePlaceholderCustom:"留空則使用 API 端點網址",aiProvider:"AI 服務商",apiKeyPlaceholder:"輸入你的 API Key",apiKeyPlaceholderEdit:"輸入新的 API Key(留空保持原有)",apiKeyPlaceholderLocal:"本機服務通常不需要",apiKeyHintLocal:"如果服務設定了認證,在此輸入",validate:"驗證",validationSuccess:"連線驗證成功",validationFailed:"連線驗證失敗",validationFailedTitle:"API 連線驗證失敗",saveAnywayHint:"驗證未通過,設定資訊可能有誤。是否仍然儲存?",saveAnyway:"仍然儲存",validationError:"驗證失敗:",model:"模型",apiEndpoint:"API 位址",apiEndpointHint:"相容 OpenAI 格式的 API 端點",resolvedUrl:"實際請求地址:",fetchModels:"從 API 獲取",fetchModelsTitle:"瀏覽遠端模型",fetchModelsLoading:"正在獲取模型列表...",fetchModelsEmpty:"未獲取到模型",fetchModelsError:"獲取模型列表失敗",fetchModelsCount:"共 {total} 個模型,當前顯示 {shown} 個",modelAdded:"已添加",addAllModels:"全部添加",searchModels:"搜尋模型...",apiEndpointOverrideHint:"預設地址已填入,可按需改為完整 URL",customService:"自訂服務",visitWebsite:"訪問官網",getApiKey:"取得 API Key",presetService:"預設服務",thirdPartyService:"第三方服務",addCustomModel:"新增模型",deleteCustomModel:"刪除選中",customModelId:"模型端點名稱",customModelIdHint:"API 呼叫時使用的模型識別碼",customModelDisplayName:"顯示名稱",customModelDisplayNamePlaceholder:"自訂顯示名稱",editModel:"編輯模型",contextWindow:"上下文視窗",contextWindowPlaceholder:"如 128000",contextWindowHint:"模型支援的最大上下文 token 數(用於上下文壓縮)",contextWindowMissing:"未設定上下文視窗,將使用預設值,建議點擊「編輯模型」手動填寫",modelRequired:"至少新增一個模型才能儲存",apiFormat:"API 介面類型",apiFormatOpenAI:"OpenAI Completions",apiFormatAnthropic:"Anthropic",apiFormatGemini:"Gemini",apiFormatOpenAIResponses:"OpenAI Responses"},providerKind:{aggregator:"聚合",custom:"自訂"}},nQ={title:"本機儲存管理",description:"管理 ChatLab 在本機儲存的資料檔案",dataLocation:{title:"資料目錄位置",description:"自訂聊天資料庫與向量庫的存放位置",managedDescription:"此設定僅管理聊天資料庫和向量庫目錄;AI 對話、快取和日誌仍保存在固定系統目錄。",choose:"選擇位置",applyPath:"套用",reset:"還原預設",open:"開啟",serverPathHint:"請輸入執行 CLI 服務的機器可存取的絕對路徑。",migrateHint:"偵測到聊天資料庫資料仍在舊位置,建議遷移至統一目錄:",ignoreMigrateHint:"忽略",migrateAction:"一鍵遷移",restartTip:"切換目錄後請重新啟動應用程式,聊天資料庫資料會按選擇遷移",cliRestartTip:"切換目錄後請重新啟動 CLI 服務,聊天資料庫資料會在服務啟動前遷移",confirmTitle:"確認切換資料目錄",confirmMessage:"您即將切換聊天資料庫目錄。選擇遷移時,現有聊天資料庫資料將複製到新目錄。",newPath:"新目錄路徑",defaultPath:"預設位置",confirmWarning:"重新啟動應用程式後,聊天資料庫資料會遷移到新位置,舊目錄將保留作為備份。",cliConfirmWarning:"重新啟動 CLI 服務後,聊天資料庫資料會遷移到新位置,舊目錄將保留作為備份。請確保服務程序有寫入權限。",pathRequired:"請輸入資料目錄路徑",installDirForbidden:"不能將資料目錄放在應用程式安裝目錄下,應用程式更新時該目錄會被清空",cancel:"取消",confirm:"確認切換",migrationQueuedTitle:"資料遷移已登記",migrationSuccessMessage:"應用程式需要重新啟動以使變更生效。",cliMigrationSuccessMessage:"請停止目前的 CLI 服務並重新啟動,遷移會在服務啟動前執行。重新啟動完成後再重新開啟頁面查看新目錄。",relaunchNow:"立即重新啟動",acknowledge:"知道了",cleanupNoticeTitle:"已切換到新的資料目錄",cleanupNoticeDescription:"為避免資料遺失,原目錄仍作為備份保留。請確認聊天記錄完整後,再前往儲存管理清理舊資料。",cleanupOldPath:"原資料目錄",cleanupLater:"稍後處理",cleanupGoToStorage:"前往儲存管理",cleanupTitle:"待清理的舊資料",cleanupDescription:"遷移前的資料目錄仍作為備份保留。確認新目錄中的聊天記錄完整後,可手動刪除。",cleanupDeleteAction:"刪除舊資料",cleanupDeleteConfirmTitle:"永久刪除舊資料?",cleanupDeleteConfirmDescription:"此操作無法復原。請先確認新目錄中的聊天記錄完整,再刪除以下原資料目錄。",cleanupDeleteConfirmAction:"永久刪除",cleanupDeleteFailed:"舊資料刪除失敗"},openRootDir:"開啟根目錄",totalUsage:"總佔用:",loading:"載入中...",files:"檔案",notExist:"不存在",clear:"清理",open:"開啟",cache:{databases:{name:"聊天紀錄資料庫",description:"匯入的聊天紀錄分析資料"},ai:{name:"AI 對話資料庫",description:"AI 對話歷史與設定檔"},statsCache:{name:"快取資料",description:"聊天記錄的統計快取,清理後會自動重建"},logs:{name:"日誌檔案",description:"軟體的執行日誌,包含匯入、AI、錯誤等日誌"}}},rQ={session:{title:"會話索引設定",description:"會話索引會依時間間隔自動將聊天紀錄切分成對話段落,方便 AI 分析與瀏覽",defaultThreshold:"預設分割間隔",thresholdUnit:"分鐘",thresholdHelp:"超過該時間間隔的訊息將被分到新的會話段落",generating:"產生中",batchTitle:"批次產生索引",totalSessions:"共 {count} 個聊天",generatedCount:"已產生 {count} 個",notGeneratedCount:"未產生 {count} 個",loadingStatus:"載入中...",batchGenerate:"產生未索引項目",batchRegenerate:"全部重新產生",batchRegenerateConfirmTitle:"確認重新產生",batchRegenerateConfirmMessage:"此操作將清空所有已產生的 AI 摘要,並重新產生全部會話索引。",batchRegenerateConfirmWarning:"已有的摘要內容將被覆蓋,此操作不可撤銷。",summaryStrategy:"摘要詳細程度",summaryStrategyHelp:"影響 AI 生成摘要時的詳細程度",summaryBrief:"簡要",summaryStandard:"標準"},semanticIndex:{title:"語意索引",description:"用所選向量模型為聊天記錄建立索引,啟用後 AI 回答時可按語意檢索相關歷史片段作為依據。",vectorModel:"向量模型",selectModel:"選擇向量模型",switchModel:"切換模型",noModelSelected:"未選擇向量模型",modelModalTitle:"設定向量模型",modeLocal:"本地模型",modeApi:"API",recommended:"推薦",approxSize:"約 {mb} MB",modelDownloadSource:"模型下載來源",downloadSourceOfficial:"Hugging Face 官方",downloadSourceMirror:"HF-Mirror 中國大陸鏡像",mirrorSourceHint:"HF-Mirror 是第三方公益鏡像,適合中國大陸網路環境;模型檔案將從 hf-mirror.com 下載。",localDownloadHint:"儲存後會自動下載模型,首次下載可能需要一些時間。",apiTemplate:"服務範本",modelName:"模型名稱",apiKeySaved:"已儲存,留空則不修改",apiKeyHint:"API Key 單獨安全儲存,設定檔只保存引用。",apiCostWarning:"API 模式可能產生服務商費用,請確認模型價格。",changeRebuildHint:"更換模型或 API 後,已啟用對話需要重建索引。",modelError:"模型下載失敗,建立索引時將重試。",modelDownloading:"正在下載模型,首次使用需要幾分鐘,請稍候…",searchMaxResults:{label:"單次檢索片段數",hint:"AI 呼叫語意檢索時預設回傳的相關片段數(5-15)。AI 可依問題需要臨時調高。"},overview:"索引概覽",enabledCount:"已啟用 {count} 個對話",coverage:"覆蓋率 {percent}%",buildPending:"建立待處理索引",cleanup:"清理未使用索引",cleanupConfirm:"將刪除已停用對話和舊模型遺留的索引資料。此操作不會刪除聊天記錄。",configFirst:"請先設定向量模型",selectConversations:"選擇對話",enabledSessions:"已啟用對話",state:{completed:"已完成",building:"建立中",pending:"待建立",needsRebuild:"需要重建",failed:"失敗",paused:"已暫停"},action:{build:"建立索引",pause:"暫停",cancel:"取消",rebuild:"重建索引",remove:"移除"},session:{statusLabel:"狀態",notEnabled:"未啟用",coverageLabel:"覆蓋率",progressLabel:"建立進度",enableHint:"啟用後,AI 可以在回答此對話相關問題時檢索歷史聊天片段。",configFirst:"啟用前需要先在 設定 > AI > 語意索引 設定向量模型。",enable:"啟用索引",buildVsEnable:"啟用索引:讓此對話進入語意檢索範圍;建立索引:開始讀取全部訊息生成向量,可能消耗本地算力或 API 額度。",retry:"重試",continue:"繼續"},picker:{title:"選擇對話",all:"全部",group:"群聊",private:"私聊",searchPlaceholder:"依名稱搜尋",messages:"{count} 則訊息",enabled:"已啟用",selectedSummary:"已選擇 {count} 個對話,約 {messages} 則訊息",confirmRemoveTitle:"確認移除",confirmRemoveMessage:"這些對話的語意索引將立即刪除,無法復原。"}}},sQ={chatSettings:{title:"工具設定"},exportSettings:{title:"匯出設定"},chatPreferences:{title:"對話偏好",enableAutoSkill:"AI 自主選擇技能",enableAutoSkillDesc:"啟用後,AI 會根據使用者的問題自動匹配並啟用合適的分析技能;關閉後僅在手動選擇技能時生效",chartAutoMode:{title:"圖表自動生成",description:"控制 AI 在沒有手動選擇繪圖助手時使用圖表的積極程度",explicit:"明確要求時",explicitHint:"只有你明確要求圖表時,AI 才會生成圖表。",suggest:"智慧生成",suggestHint:"策略保守,僅在能明顯幫助理解分析結果時生成圖表。",aggressive:"積極生成",aggressiveHint:"AI 會更主動地在資料分析場景中生成圖表。"}},maxMessages:{title:"傳送條數限制",description:"每次提交給 AI 的最大訊息數,數值越大 Token 消耗越多,分析也更準確(新手建議2000)"},searchContext:{title:"搜尋上下文視窗",description:"搜尋命中訊息時自動攜帶前後的對話上下文,幫助 AI 理解訊息背景。設為 0 則不攜帶上下文",before:"前",after:"後"},exportFormat:{title:"對話匯出格式",description:"匯出 AI 對話時使用的檔案格式",txtLabel:"TXT"},sqlExportFormat:{title:"SQL Lab 匯出格式",description:"匯出 SQL 查詢結果時使用的檔案格式"},compression:{title:"上下文壓縮",enable:"自動壓縮上下文",enableDesc:"對話過長時自動壓縮歷史為摘要,保留關鍵資訊的同時降低 Token 消耗",threshold:"壓縮閾值",thresholdDesc:"上下文 Token 達到模型視窗的百分比時觸發壓縮",buffer:"緩衝區大小",bufferDesc:"保留最近訊息原文的比例,不參與壓縮",maxToolResultPercent:"工具結果上限",maxToolResultPercentDesc:"單次工具回傳給 AI 的最大資料量占比(基於模型上下文視窗計算),超出部分會被智慧截斷"}},oQ={title:"關於 ChatLab",description:"在本機運作的聊天紀錄分析工具,透過 SQL 和 AI Agent 幫你回顧社交記憶。",version:"版本",checkUpdate:"檢查更新",checking:"檢查中...",upToDate:"已是最新版本",newVersionAvailable:"發現新版本 {version}",webUpdateHint:"請在終端機執行 clb update 後重啟服務。",updateCheckFailed:"檢查更新失敗:{error}",unknown:"未知",privacy:{title:"隱私設定",analytics:"匿名使用統計",analyticsDesc:"開啟後,軟體會收集版本號、作業系統版本等非敏感資料,用於幫助最佳化產品"},developer:{title:"開發者選項",debugMode:"DEBUG 模式",debugModeDesc:"開啟後,將顯示除錯面板和快捷除錯工具,可用於查看資料庫、執行測試工具,並記錄更詳細的除錯日誌。"}},iQ={title:"聊天紀錄預處理",description:"在聊天紀錄傳送給 AI 前進行預處理,節省 Token 並過濾雜訊。原始資料不會被修改。",dataCleaning:"資料清洗",dataCleaningDesc:"自動清理 XML 卡片訊息(如分享連結、小程式等),提取有效內容,大幅節省 Token。建議保持開啟。",mergeConsecutive:"合併連續發言",mergeConsecutiveDesc:"同一人在短時間內的連續訊息合併為一條",mergeWindow:"合併時間視窗(秒)",denoise:"智慧去雜訊",denoiseDesc:"過濾純語氣詞、純表情、系統佔位符(如 [圖片])等無意義訊息",desensitize:"資料脫敏",desensitizeDesc:"根據規則將敏感資訊(手機號、電子郵件、證件號等)替換為佔位符",desensitizeBuiltin:"預置規則",desensitizeResetBuiltin:"恢復預設",desensitizeCustom:"自訂規則",desensitizeAddCustom:"新增自訂規則",desensitizeRuleName:"規則名稱",desensitizeRulePattern:"正規表達式",desensitizeRuleReplacement:"替換文字",desensitizeRuleAdd:"新增",desensitizeRuleInvalidRegex:"正規表達式語法錯誤",desensitizeRuleNamePlaceholder:"例如:員工工號",desensitizeRulePatternPlaceholder:"例如:EMP-\\d+",desensitizeRuleReplacementPlaceholder:"替換文字,如 [工號]",anonymizeNames:"暱稱匿名化",anonymizeNamesDesc:"用編號(U1、U2…)替代真實暱稱傳送給 AI,減少幻覺並節省 Token",blacklist:"黑名單關鍵詞",blacklistDesc:"包含以下任一關鍵詞的訊息將被整條過濾",blacklistPlaceholder:"輸入關鍵詞後按 Enter 新增",blacklistAdd:"新增"},lQ={groups:{credentials:"密碼與 Token",credentials_desc:"API Key、Bearer Token 等憑證",global_contact:"通用聯絡方式",global_contact_desc:"電子郵件等跨地區聯絡方式",global_financial:"通用金融資訊",global_financial_desc:"信用卡等金融編號",global_network:"通用網路資訊",global_network_desc:"URL、IP 地址等網路識別",region_cn:"中國大陸",region_cn_desc:"中國大陸電話、證件和銀行卡等規則",region_us:"美國",region_us_desc:"美國電話、證件等規則",region_jp:"日本",region_jp_desc:"日本電話、個人編號等規則",region_kr:"韓國",region_kr_desc:"韓國電話、身份證號等規則"},rules:{cn_phone:"中國手機號",cn_phone_desc:"1xx xxxx xxxx 格式的 11 位號碼",cn_id_card:"中國身份證號",cn_id_card_desc:"18 位,末位可含 X",cn_bank_card:"中國銀行卡號",cn_bank_card_desc:"16-19 位連續數字",cn_landline:"中國市話號碼",cn_landline_desc:"區號-號碼,如 010-12345678",us_ssn:"美國社會安全號 (SSN)",us_ssn_desc:"XXX-XX-XXXX 格式",us_phone:"美國電話號碼",us_phone_desc:"+1 (XXX) XXX-XXXX 格式",us_drivers_license:"美國駕照號",us_drivers_license_desc:"字母開頭 + 7-8 位數字",jp_phone:"日本電話號碼",jp_phone_desc:"0x0-XXXX-XXXX 格式",jp_my_number:"日本個人編號",jp_my_number_desc:"12 位數字(マイナンバー)",kr_phone:"韓國電話號碼",kr_phone_desc:"01X-XXXX-XXXX 格式",kr_rrn:"韓國身份證號",kr_rrn_desc:"XXXXXX-XXXXXXX 格式(주민번호)",api_key_prefix:"API Key / Token(已知前綴)",api_key_prefix_desc:"sk-、ghp_、AKIA 等開頭的長字串",bearer_token:"Bearer Token",bearer_token_desc:"Bearer 後的授權權杖值",email:"電子郵件地址",email_desc:"user{'@'}domain.com 標準格式",credit_card:"信用卡號",credit_card_desc:"Visa / MasterCard / AmEx 等卡號",ipv4:"IPv4 地址",ipv4_desc:"如 192.168.1.1",url:"URL 連結",url_desc:"http:// 或 https:// 開頭的連結"}},cQ={service:{title:"API 服務",enable:"啟用 API 服務",enableDesc:"開啟後,外部工具可透過 HTTP API 查詢、匯出和匯入聊天數據。僅本機可存取 (127.0.0.1)",portInUseHint:"連接埠被佔用,請在下方修改連接埠或關閉佔用該連接埠的程式後重試"},status:{running:"執行中",stopped:"已停止",starting:"啟動中...",portInUse:"連接埠被佔用",error:"啟動失敗"},port:{title:"連接埠配置",label:"監聽連接埠",desc:"API 服務監聽的本機連接埠號(1024-65535)",edit:"修改",save:"儲存",cancel:"取消"},token:{title:"存取權杖",label:"Bearer Token",desc:"所有 API 請求需要在 Authorization 標頭中攜帶此 Token",noToken:"尚未產生 Token,請先啟用服務",regenerate:"重新產生"},dataSources:{title:"資料來源",desc:"設定外部資料來源 URL,ChatLab 將按設定間隔自動拉取並匯入聊天資料。",empty:"暫無資料來源",disabled:"已暫停",every:"每",minutes:"分鐘",lastSync:"上次同步",syncing:"同步中",messages:"則訊息",addBtn:"新增資料來源",form:{modalTitle:"新增資料來源",name:"名稱",namePlaceholder:"例如:我的聊天伺服器",token:"存取權杖",tokenPlaceholder:"遠端 API 的 Bearer Token",interval:"拉取間隔(分鐘)",pullLimit:"每次拉取訊息數",pullLimitPlaceholder:"預設 1000"},discovery:{baseUrl:"伺服器地址",baseUrlPlaceholder:"示例:http://127.0.0.1:2333/api/v1",found:"發現 {count} 個會話",search:"搜尋",searchPlaceholder:"依會話名稱搜尋",selectAll:"全選",deselectAll:"取消全選",selectByType:"會話類型",typeAll:"全部",typePrivate:"私訊",typeGroup:"群組",loadMore:"載入更多",subscribe:"訂閱 {count} 個會話",messages:"則訊息",error:"連線遠端伺服器失敗",connectionCheckFailed:"無法連線到遠端伺服器,請檢查地址和權杖是否正確"},noSessions:"暫無匯入會話,點擊上方「管理訂閱」新增",edit:{title:"修改配置",save:"儲存",cancel:"取消",editSource:"修改配置",manageSessions:"管理訂閱",subscribed:"已訂閱"},deleteConfirm:{title:"刪除資料來源",message:"確認刪除資料來源「{name}」?該資料來源下的所有匯入配置將被移除。已匯入的本機對話不會被刪除。"},deleteSessionConfirm:{title:"刪除訂閱",message:"確認刪除訂閱「{name}」?",keepData:"僅刪除訂閱",deleteData:"同時刪除匯入的聊天"}},usage:{title:"使用說明",desc:"啟用服務後,外部工具可透過 API 查詢資料,或向 ChatLab 推送聊天記錄。所有請求需攜帶 Bearer Token 認證。",authHint:"請求標頭範例:",docLink:"查看完整 API 文件"}},uQ={overview:{title:"MCP 概述",description:"MCP 讓 AI 助手直接查詢你的聊天記錄。支援會話發現、關鍵字搜尋、成員統計、時間分佈等操作。",toolCount:"{count} 個工具",resourceCount:"{count} 個資源",installHint:"安裝 chatlab-cli 後,在 AI 用戶端中新增以下設定即可使用:"},clients:{other:"通用"},config:{title:"用戶端設定",clientLabel:"MCP 用戶端",copy:"複製",copied:"已複製",claudeHint:"將此設定新增至 ClaudeCode 的 MCP 設定中。",codexHint:"將此 TOML 設定新增至 ~/.codex/config.toml 檔案中。",openclawHint:"將此設定新增至專案的 openclaw.json 檔案中。",otherHint:"將此 JSON 設定新增到你的 MCP 用戶端設定檔中。"},tips:{title:"使用提示",dataDir:"MCP 伺服器讀取 ~/.chatlab/ 目錄下的聊天資料,與桌面應用程式共用同一份資料。",readOnly:"所有操作均為唯讀,不會修改你的聊天記錄。",nodeRequired:"npx 和 CLI 方式需要 Node.js 20 或更高版本。",docs:"詳細文件請造訪 docs.chatlab.fun。"}},dQ={lock:{title:"應用鎖",desc:"使用 4 位數字密碼保護 ChatLab",statusOn:"已開啟",statusOff:"未開啟",disableBtn:"關閉應用鎖",disableConfirm:"確定關閉應用鎖?關閉後將刪除目前的密碼。",manualLock:"立即鎖定"},password:{titleSetup:"設定 4 位密碼並開啟應用鎖",titleChange:"修改密碼",labelOld:"舊密碼",labelNew:"輸入新密碼",labelConfirm:"確認新密碼",btnEnable:"開啟",errorInvalidPin:"密碼必須是 4 位數字",errorMismatch:"兩次輸入的密碼不一致",errorSameAsOld:"新密碼不能與舊密碼相同",errorFailed:"操作失敗,請重試"},autoLock:{title:"自動鎖定",idleLabel:"閒置逾時自動鎖定",startupLabel:"啟動時要求解鎖"},lockScreen:{titleLocked:"ChatLab 已鎖定",placeholderPassword:"輸入 4 位數字密碼",btnUnlock:"解鎖",verifying:"驗證中...",errorService:"解鎖失敗,請重試",errorWrongPassword:"密碼錯誤",errorTooManyAttempts:"嘗試次數過多,請在 {seconds} 秒後重試"}},fQ={title:QJ,tabs:ZJ,basic:eQ,defaultModel:tQ,aiConfig:aQ,storage:nQ,ai:rQ,aiPrompt:sQ,about:oQ,aiPreprocess:iQ,desensitize:lQ,api:cQ,mcp:uQ,security:dQ},pQ="探索新的聊天記憶",mQ={file:"檔案匯入",api:"API 匯入",cli:"命令列匯入",autoSyncTitle:"自動同步",autoSyncDescription:"由 ChatLab 定期從外部資料來源拉取新增聊天記錄。",autoSyncButton:"設定自動同步",apiPushTitle:"API 推送",apiPushDescription:"讓第三方工具、外掛或腳本透過本機 API 主動寫入。",apiPushButton:"設定 API 服務",agentImportTitle:"使用 AI Agent 匯入",agentImportDescription:"安裝官方 Skill,使用 Skill 自動匯入聊天記錄。",manualCliTitle:"手動使用 CLI",manualCliDescription:"適合終端操作、批次腳本與可重複的自動化流程。",copyCommand:"複製命令",viewDocs:"查看文件"},gQ={viewExample:"查看示例 Demo",downloading:"正在下載示例資料...",importing:"正在匯入示例資料...",failed:"示例資料載入失敗,請確認網路連線後重試"},hQ={title:"資料庫需要更新",description:"偵測到 {count} 個資料庫需要升級以支援新功能。",note:"更新通常只需幾秒鐘,不會遺失任何資料。",upgradeContent:"本次升級內容:",upgradeNow:"立即升級",upgrading:"正在升級...",failed:"遷移失敗",partialFailed:"部分資料庫升級失敗",errorHint:"這通常是因為資料庫檔案損壞。建議在側邊欄中刪除失敗的會話,然後重新匯入。",close:"關閉",retry:"重試"},vQ={title:"選擇要匯入的聊天",scanning:"正在掃描聊天列表...",scanFailed:"掃描失敗",retry:"重試",selectAll:"全選",chatCount:"共 {count} 個聊天",selected:"已選 {count} 個",messageCount:"{count} 條訊息",memberCount:"{count} 位成員",empty:"空會話",import:"匯入 ({count})",noChats:"未發現任何聊天"},yQ={title:"選擇聊天記錄格式",hint:"無法自動識別此檔案的格式,請手動選擇對應的聊天記錄格式。",manualSelect:"手動選擇格式",confirm:"使用此格式匯入"},bQ={export:"新手引導"},xQ={website:"官網",terms:"使用條款"},_Q={title:"更新紀錄",subtitle:"查看所有版本更新內容",latest:"最新版本",current:"目前版本",total:"共 {count} 個版本",close:"關閉",loadError:"載入更新紀錄失敗",retry:"重試",types:{feat:"新功能",fix:"問題修復",refactor:"重構優化",docs:"文件更新",chore:"其他優化",style:"樣式優化",ci:"CI/建置"}},wQ={tagline:pQ,tabs:mQ,import:{dropHint:"鬆開滑鼠匯入檔案",clickHint:"點一下選擇,或直接拖曳聊天紀錄匯入",multipleHint:"支援同時選擇或拖曳多個檔案",selectFiles:"選擇聊天紀錄檔案",selectFolder:"選擇匯出資料夾",importFolder:"匯入資料夾",chatRecords:"聊天紀錄",allFiles:"所有檔案",progress:{detecting:"正在偵測格式...",reading:"正在讀取檔案...",parsing:"正在解析訊息...",saving:"正在寫入資料庫...",indexing:"正在建立搜尋索引...",done:"匯入完成",error:"匯入中斷"},processed:"已處理 {count} 則訊息",viewLog:"檢視匯入日誌",cannotReadPath:"無法讀取檔案路徑",errors:{no_file_selected:"未選擇檔案",import_failed:"匯入失敗",import_in_progress:"已有匯入工作正在進行,請稍後再試",unrecognized_format:"無法識別的檔案格式",no_messages:"未解析到任何訊息,請檢查檔案格式是否正確",no_chat_selected:"未選擇聊天",archive_single_file_required:"壓縮檔需要單獨選擇並匯入",archive_unsupported:"暫不支援此壓縮檔格式",archive_encrypted:"不支援加密壓縮檔",archive_corrupt:"壓縮檔已損壞或內容不完整",archive_unsafe_path:"壓縮檔包含不安全的檔案路徑",archive_limit_exceeded:"壓縮檔超過安全處理限制",google_chat_structure_not_found:"未找到 Google Chat 匯出資料",google_chat_conversation_incomplete:"Google Chat 會話檔案不完整",import_source_not_found:"匯入來源已不存在,請重新選擇壓縮檔",import_source_expired:"匯入來源已過期,請重新選擇壓縮檔",actionHint:"你還可以嘗試下方手動匹配或查看日誌:"},diagnostics:{format:"偵測格式:",received:"收到訊息:",written:" / 寫入:",skipped:" / 跳過:"},outcome:{created:"已建立新會話",ambiguous:"找到多個可能的既有會話,因此未自動合併並建立了新會話",incremental:"已增量匯入 {newCount} 則訊息,略過 {duplicateCount} 則重複訊息",unchanged:"內容已匯入,沒有新增訊息"},batch:{importing:"批次匯入中",progressCount:"第 {current} / {total} 個",cancel:"取消匯入",waiting:"等待中",skipped:"已跳過",success:"匯入成功",created:"已建立新會話",ambiguous:"候選會話不唯一,已建立新會話",incremental:"新增 {newCount} 則,略過 {duplicateCount} 則重複訊息",unchanged:"內容已匯入,無新增訊息",completed:"批次匯入完成",summary:"成功 {success} 個,失敗 {failed} 個,跳過 {cancelled} 個",view:"檢視"},options:{mergeImport:"合併匯入",mergeImportHint:"勾選後,多個檔案會合併成同一份聊天紀錄"},merge:{importing:"正在合併",parsing:"正在解析檔案...",merging:"正在合併訊息...",completed:"合併完成",completedHint:"{count} 個檔案已合併",messageCount:"{count} 條訊息",failed:"合併失敗"}},demo:gQ,migration:hQ,chatSelector:vQ,formatSelector:yQ,quickStart:bQ,footer:xQ,changelog:_Q},kQ={loading:"載入分析資料...",loadError:"無法載入聊天資料"},CQ={loading:"載入分析資料...",loadError:"無法載入聊天資料"},SQ={overview:"總覽",view:"洞察",ranking:"榜單",aiChat:"AI 對話",memory:"記憶",lab:"實驗室",debug:"Debug"},MQ={sqlTables:"SQL 表格",basicTools:"基礎工具",tableBrowser:{chatDb:"聊天記錄 DB",aiDb:"AI 對話 DB",rowCount:"共 {count} 行",page:"第 {current} / {total} 頁",refresh:"重新整理",noData:"暫無資料",editRow:"編輯",deleteRow:"刪除行",confirmDelete:"確認刪除這行資料?",allConversations:"全部對話",copyCell:"複製選取項",copyRow:"複製整行 (JSON)",clearDebugContext:"清除 Debug 上下文",confirmClearDebug:"確認清除所有訊息的 debug_context 資料?此操作不可撤銷。"}},$Q={comingSoon:"記憶功能即將上線,敬請期待"},AQ={viewChatRecord:"查看聊天紀錄",semanticIndex:"語意索引",incrementalImport:"追加匯入",memberManagement:"成員管理",more:"更多"},IQ={title:"新增聊天紀錄",description:"選擇要加入「{name}」的聊天紀錄檔案,系統會自動排除重複內容。",homeAutoImportHint:"現在首頁已支援自動增量匯入,有新的聊天紀錄時,直接將新的聊天紀錄拖曳到首頁即可。",dropHint:"點擊選擇或拖曳檔案到此處",analyzing:"正在分析檔案...",totalInFile:"檔案訊息數",newMessages:"新增訊息",duplicates:"重複訊息",noNewMessages:"檔案中沒有新訊息,所有訊息都已存在",importing:"正在匯入...",import:"匯入 {count} 則訊息",success:"匯入成功",successDetail:"已新增 {count} 則新訊息",failed:"匯入失敗"},TQ={view:{typeAnalysis:"類型",timeAnalysis:"時間",topic:"話題",groupRelationships:"群關係",relationship:"關係",languagePreference:"語言偏好"},ranking:{overall:"總榜單",keyword:"關鍵字"},quotes:{hotRepeat:"熱門複讀",catchphrase:"口頭禪"},groupRelationships:{mentionGraph:"{'@'} 關係圖",mentionRanking:"{'@'} 排行",proximity:"發言臨近度"},member:{nicknameHistory:"暱稱變更"}},PQ={messageTypeDistribution:"訊息類型分佈",memberDistribution:"成員訊息占比",memberRanking:"成員排行",others:"其他人",memberComparison:"雙方訊息佔比",statCards:{dailyAvgMessages:"日均訊息",messagesCount:"{count} 條",daysCount:"共 {count} 天",imageMessages:"圖片訊息",imagesCount:"{count} 張",peakHour:"最活躍時段:",mostActiveWeekday:"最活躍星期",messagesOnDay:"{count} 條訊息",weekendActivity:"週末活躍度",weekendRatio:"週末訊息佔比",mostActiveDate:"最活躍日期",consecutiveStreak:"連續活躍",daysStreak:"{count} 天",longestStreak:"最長連續活躍",activityRate:"活躍率",activeDaysRatio:"有訊息的天數佔比",lateNightChat:"深夜聊天",lateNightRatio:"佔總訊息 {ratio}%"},dailyTrend:{title:"每日訊息趨勢"},identity:{privateChat:"私聊",groupChat:"群聊",totalMessages:"訊息總數",durationDays:"跨度天數",activeDays:"活躍天數",dailyAvgMessages:"日均訊息"},tools:"常用工具"},DQ={miniMode:"迷你模式",exitMini:"退出迷你模式"},EQ={title:"匯出聊天紀錄",selectOutputDir:"選擇儲存目錄",format:"格式"},RQ={timeRange:"時間範圍",allTime:"全部",today:"今天",lastWeek:"近7天",lastMonth:"近1個月",last3Months:"近3個月",lastYear:"近1年",customTime:"自訂",exportSuccess:"匯出成功",exportFailed:"匯出失敗",exportPreparing:"正在準備匯出..."},OQ={groupChat:kQ,privateChat:CQ,tabs:SQ,debug:MQ,memory:$Q,tooltip:AQ,incremental:IQ,subTabs:TQ,overview:PQ,toolsPanel:DQ,messageExport:EQ,filter:RQ},LQ={searchPlaceholder:"搜尋聊天名稱",searchResult:"找到 {count} / {total} 筆",ownerIssues:"{count} 個會話尚未設定「我是誰」",ownerStatus:{missing:"未設定",unresolved:"需確認"},noSearchResult:"未找到匹配的聊天紀錄",selectAll:"全選",shiftClickHint:"按住 Shift 點擊可範圍多選",selected:"已選 {count} 個",empty:"暫無聊天紀錄",delete:"刪除所選項目",confirmTitle:"確認刪除",confirmMessage:"確定要刪除選取的 {count} 個聊天紀錄嗎?此操作無法復原。",deleting:"正在刪除...",columns:{name:"名稱",platform:"平台",owner:"我是誰",messages:"訊息數",summaries:"AI摘要",aiChats:"AI 對話",importedAt:"匯入時間"},clickToEdit:"點擊即可編輯名稱",merge:"合併所選項目",mergeHint:"選擇 2 個以上同聊天類型的聊天紀錄才能合併",mergeConfirmTitle:"合併聊天紀錄",mergeConfirmMessage:"即將合併所選的 {count} 個聊天紀錄,並建立一筆新的合併紀錄。",deleteOriginalsLabel:"合併後刪除原始聊天紀錄",mergeRiskWarning:"強提醒:刪除後無法復原,且跨平台上下文差異可能導致語意錯位或混亂。請先備份原始資料並確認你已理解風險。",mergeSteps:{exporting:"正在匯出聊天紀錄...",parsing:"正在解析檔案...",checking:"正在偵測衝突...",merging:"正在合併資料...",cleaning:"正在清理暫存檔案..."},mergeSuccess:"成功合併 {count} 個聊天紀錄",mergeError:"合併失敗:{error}",mergedSuffix:"合併"},qQ={batchManage:LQ},NQ={name:"DeepSeek"},FQ={name:"通義千問"},VQ={name:"Gemini"},BQ={name:"MiniMax"},zQ={name:"GLM"},HQ={name:"Kimi"},UQ={name:"豆包"},jQ={name:"矽基流動"},WQ={name:"Groq"},KQ={name:"OpenRouter"},GQ={name:"xAI"},YQ={deepseek:NQ,qwen:FQ,gemini:VQ,minimax:BQ,glm:zQ,kimi:HQ,doubao:UQ,siliconflow:jQ,groq:WQ,openrouter:KQ,xai:GQ,"openai-compatible":{name:"第三方服務"}},XQ={chatExplorer:"對話式探索",sqlLab:"SQL 實驗室"},JQ={scrollToBottom:"回到底部",input:{placeholderWithSlash:"輸入你的問題,或輸入 / 選擇技能、輸入 {'@'} 選擇成員...",placeholderWithActiveSkill:"已選擇 /{name},請輸入具體問題...",slashHint:"輸入 / 選擇技能",useSkill:"選擇技能",mentionHint:"輸入 {'@'} 選擇成員",mentionEmpty:"沒有符合的成員",mentionEmptyHint:"可按暱稱、別名或帳號搜尋",slashEmpty:"沒有符合的技能",slashEmptyHint:"開啟技能管理匯入內建技能,或建立自訂技能",manageSkills:"管理技能",previewTagsLabel:"標籤",previewToolsLabel:"工具",previewUnavailable:"暫無可預覽的技能提示詞",quickAsk:"快速提問",editQuickAsk:"編輯快速提問",send:"送出",needMoreThanSkill:"只選擇技能還不能送出,請繼續輸入具體問題",needQuestion:"請輸入問題後再送出"},fork:{success:"已複製對話",failed:"複製對話失敗"},backgroundTask:{runningShort:"進行中",runningTitle:"AI 正在背景推理",runningDescription:"上一個問題仍在推理中,請等待完成或先停止。",blockedAction:"目前回答仍在生成中,請先等待完成或手動停止。",return:"返回查看"},message:{copy:{tooltip:"複製 Markdown",success:"Markdown 已複製到剪貼簿",failed:"複製 Markdown 失敗"},process:{label:"執行過程",processing:"處理中",processed:"已處理"},toolResult:{view:"查看結果",title:"傳送給 AI 的工具結果",copy:"複製結果",copySuccess:"工具結果已複製",copyFailed:"複製工具結果失敗",displayTruncated:"此歷史結果只保存了截斷版本;原本那一輪 AI 可能看到了更完整的內容。"},edit:{tooltip:"編輯並重新生成",submit:"送出",overwriteSubsequent:"覆蓋後續所有對話"},fork:{tooltip:"從此處複製對話"},chart:{expand:"開啟大圖",empty:"暫無資料",rows:"{count} 行資料",truncated:"已截斷"},generating:"正在產生回覆...",summary:{label:"上下文摘要",info:"以上對話已被壓縮為摘要以節省上下文空間"},plan:{label:"分析計畫",evidenceNeeded:"所需證據",suggestedTools:"建議工具",successCriteria:"完成標準",noTools:"無"},think:{labels:{think:"已思考",analysis:"分析",reasoning:"推理",reflection:"反思",planValidation:"產生計畫",other:"思考({tag})"},loading:"思考中",duration:"耗時 {seconds} 秒"},toolParams:{keywords:"關鍵字",time:"時間",getMessages:"取得 {count} 則訊息",limit:"限制 {count} 則",contextWithMessages:"{msgCount} 則訊息的前後各 {contextSize} 則上下文",context:"前後各 {size} 則上下文",topMembers:"前 {count} 名成員",search:"搜尋",getMemberList:"取得成員列表",memberId:"成員 ID",timeStats:{hourly:"按小時",weekday:"按星期",daily:"按日期"}}},thinking:{processingResult:"正在整理結果",called:"已執行:",analyzing:"正在分析問題...",compressing:"正在壓縮上下文..."},statusBar:{model:{notConfigured:"AI 尚未設定"},agent:{label:"Agent",contextTokens:"上下文",phase:{compressing:"壓縮上下文",preparing:"準備中",thinking:"思考中",tool_running:"工具執行中",responding:"回覆中",completed:"已完成",aborted:"已停止",error:"錯誤"},phaseShort:{compressing:"壓縮",preparing:"準備",thinking:"思考",tool_running:"工具",responding:"回覆",completed:"完成",aborted:"停止",error:"錯誤"}},thinking:{title:"思考強度",tooltip:"設定模型的思考強度",level:{default:"預設",off:"關閉",minimal:"極低",low:"低",medium:"中",high:"高",xhigh:"最高",auto:"自動"}},tokenUsageTitle:"累計 Token 用量",cacheHit:"快取命中",export:{label:"匯出",title:"匯出當前對話"},log:{label:"日誌",title:"開啟當前 AI 日誌檔案",openFailed:"開啟日誌失敗",openFailedDesc:"請稍後重試"}},conversation:{newChat:"新對話",newConversation:"新建對話",empty:"暫無歷史紀錄",startNew:"開始新對話",titlePlaceholder:"輸入標題...",group:{last7Days:"最近 7 天",last30Days:"最近 30 天"},rename:"重新命名",copyId:"複製 ID",delete:"刪除",export:{createdAt:"建立時間",user:"使用者",assistant:"AI 助手",noMessages:"對話沒有訊息"}},error:{title:"處理失敗",detail:"錯誤詳情",viewDetail:"查看詳情",requestUrl:"請求路徑",statusCode:"狀態碼",responseBody:"回應內容",responseHeaders:"回應標頭",requestBody:"請求主體",name:"錯誤名稱",message:"錯誤訊息",stack:"堆疊資訊",cause:"錯誤原因",provider:"服務商",copyAll:"複製全部",copied:"已複製到剪貼簿",unknown:"未知錯誤"},dataSource:{title:"資料來源",keywords:"關鍵字:",empty:"暫無資料",emptyHint:"傳送問題後,相關紀錄會顯示在這裡",totalRecords:"共 {count} 筆紀錄",loadMore:"載入更多"},evidence:{title:"依據證據",query:"問題",criteria:"判定標準",empty:"未找到明確可計入的證據",totalSources:"共 {count} 條來源",mode:{auto:"自動",hybrid:"語意 + 關鍵字",semantic:"語意檢索",keyword:"關鍵字檢索"},group:{included:"計入證據",excluded:"不計入",uncertain:"不確定"},warning:{criteria_missing:"未提供判定標準,分組結果較為保守",keywords_missing_for_hybrid:"未提供關鍵字,已退化為純語意檢索",keywords_required_for_keyword_mode:"關鍵字模式需要提供關鍵字",semantic_unavailable:"語意索引不可用,已改用關鍵字檢索",keyword_unavailable:"關鍵字檢索不可用",semantic_partial:"語意檢索結果可能不完整"}}},QQ={editor:{errorEmptySQL:"請輸入 SQL 語句",placeholder:"輸入 SQL 查詢語句...",tip:"提示:雙擊左側欄位名可插入到 SQL",history:"歷史",generateAndRun:"生成並執行",switchToSQLMode:"切換為 SQL 輸入模式",switchToPromptMode:"切換為 Prompt 輸入模式",run:"執行"},schema:{tables:"資料表",doubleClickToInsert:"雙擊插入到 SQL",primaryKey:"主鍵"},result:{queryError:"查詢錯誤",rows:"{count} 行",readableTime:"時間戳轉日期",viewChat:"檢視聊天紀錄",summarize:"整理摘要",pageSize:"每頁",emptyResult:"查詢結果為空",initialState:"輸入 SQL 語句後執行,即可查看結果",initialHint:"僅支援唯讀查詢(SELECT / WITH),建議添加 LIMIT 以提升效能",summaryTitle:"AI 分析摘要",analyzing:"AI 正在分析結果...",errorSummary:"總結失敗"},generate:{placeholder:"例如:查找發言最多的前 10 個成員、統計每天的訊息數量、找出包含「買房」關鍵字的訊息...",errorEmptyPrompt:"請輸入查詢需求",errorGenerate:"AI 產生失敗",errorTokenLimit:"模型輸出達到 token 上限,未能生成完整回覆(可能思考消耗了過多 token)",aiOutput:"AI 輸出",thinking:"思考中…",thinkingProcess:"思考過程",waitingAI:"等待 AI 回應...",defaultPromptPrivate:"請統計最近1年私聊中雙方各自的:訊息總數、訊息占比、活躍天數、日均訊息數(按活躍天計算)、首次發言時間、最近發言時間;依訊息總數降序顯示。",defaultPromptGroup:"請統計最近1年群聊中各成員的:訊息總數、訊息占比、活躍天數、日均訊息數(按活躍天計算)、文字訊息占比;顯示成員名稱並依訊息總數降序,返回前20名。"},history:{title:"AI 產生紀錄",execute:"執行",empty:"暫無歷史紀錄",justNow:"剛才",minutesAgo:"{count} 分鐘前",hoursAgo:"{count} 小時前",today:"今天"}},ZQ={selector:{title:"選擇一個助手開始對話",heroTitlePrefix:"使用",heroTitleSuffix:"開始對話",subtitle:"每位助手都擅長不同分析任務,請選擇最符合需求的一位",noAssistants:"當前場景暫無可用助手",manage:"管理助手",addNew:"新增助手"},config:{viewTitle:"檢視設定",createTitle:"新增助手",editTitle:"編輯助手",betaWarning:"目前仍為測試功能,設定邏輯後續可能調整,請先備份提示詞與相關設定。",tabs:{basic:"基本設定",tools:"工具管理"},name:"名稱",systemPrompt:"系統提示詞",chatType:"適用聊天類型",chatTypeAll:"全部",chatTypeGroup:"群聊",chatTypePrivate:"私聊",locale:"適用語言",localeHint:"不選代表套用全部語言",presetQuestions:"預設問題",addQuestion:"新增問題...",coreTools:"核心工具",coreToolsHint:"基礎資料取得工具,始終啟用,無法關閉",analysisTools:"分析工具",analysisToolsHint:"按需開啟的分析能力,勾選後才會對 AI 可用",selectAll:"全選",deselectAll:"全不選",resetDefault:"還原預設",create:"建立"},market:{title:"助手管理",tabs:{local:"本地助手",market:"助手市場"},localHint:"管理已導入的助手,可配置或刪除",marketHint:"瀏覽助手市場,導入後即可使用和自由編輯",default:"預設",reimport:"重新導入",imported:"已導入",import:"導入",importing:"導入中...",importSuccess:"導入成功",importFailed:"導入失敗",viewConfig:"查看配置",duplicate:"複製",addAssistant:"新增助手",noLocal:"暫無已導入的助手",noCatalog:"暫無可用助手,請檢查網路連線",loading:"載入中...",loadFailed:"載入失敗,請檢查網路連線",retry:"重試"},fallbackName:"助手",duplicateSuffix:"(副本)",upgrade:{title:"預設助手有新版本",message:"目前的預設助手來自舊版範本,且包含自訂內容。ChatLab 會先將它儲存為「{backupName}」,再切換到最新版本。",backupName:"{name}(舊版備份)",skipHint:"跳過後,目前的範本版本將不再提醒。",skip:"跳過",skipFailed:"跳過失敗",confirm:"備份並升級",success:"預設助手已升級",successDescription:"舊設定已儲存為「{name}」",failed:"升級失敗"},toast:{loadFailed:"載入失敗",createSuccess:"建立成功",createFailed:"建立失敗",saveSuccess:"儲存成功",saveFailed:"儲存失敗",resetSuccess:"已還原預設",resetFailed:"恢復失敗",unknownError:"未知錯誤"},builtinToolDesc:{get_chat_overview:"取得聊天概覽資訊",search_messages:"搜尋聊天訊息",deep_search_messages:"深度搜尋聊天訊息",get_recent_messages:"取得最近訊息",get_message_context:"取得訊息上下文",get_conversation_between:"取得兩人對話",get_members:"取得成員列表",get_schema:"查看資料表結構",get_member_stats:"取得成員統計",get_member_name_history:"取得成員改名歷史",get_time_stats:"取得時間統計",get_segment_messages:"取得段落訊息",get_segment_summaries:"取得段落摘要",message_type_breakdown:"訊息類型分佈",peak_chat_hours_by_member:"成員活躍時段",member_activity_trend:"成員活躍趨勢",silent_members:"沉默成員偵測",reply_interaction_ranking:"回覆互動排行",mutual_interaction_pairs:"互動好友配對",member_message_length_stats:"訊息長度統計",unanswered_messages:"未回覆訊息",daily_active_members:"每日活躍人數趨勢",conversation_initiator_stats:"話題發起者統計",activity_heatmap:"活躍度熱力圖",response_time_analysis:"回應時間分析",keyword_frequency:"高頻詞統計",render_chart:"生成動態圖表",semantic_search_current_chat:"檢索聊天歷史"}},eZ={market:{title:"技能管理",tabs:{local:"本地技能",market:"技能市場"},localHint:"管理已導入的技能,可配置或刪除",marketHint:"瀏覽技能市場,導入後即可使用和自由編輯",reimport:"重新導入",imported:"已導入",import:"導入",importing:"導入中...",importSuccess:"導入成功",importFailed:"導入失敗",noLocal:"暫無已導入的技能",noCatalog:"暫無可用技能,請檢查網路連線",addSkill:"新建自定義技能",loading:"載入中...",loadFailed:"載入失敗,請檢查網路連線",retry:"重試"},active:{label:"主動呼叫技能:{name}"}},tZ={toolTest:{coreTools:"核心工具",analysisTools:"分析工具",parameters:"參數",arrayPlaceholder:"多個值用逗號分隔",execute:"執行",cancel:"取消",elapsed:"耗時 {ms}ms",result:"執行結果",truncated:"結果過大,已截斷顯示。建議減小 limit 參數以獲取完整資料。"}},aZ={tab:XQ,chat:JQ,sqlLab:QQ,assistant:ZQ,skill:eZ,lab:tZ},nZ={loading:"正在分析詞頻...",stats:{wordsLabel:"總詞數",clickHint:"提示:點擊詞雲可查看相關訊息"},config:{maxWords:"顯示詞數",sizeScale:"字體大小",userFilter:"使用者篩選",posFilter:"詞性過濾",enableStopwords:"過濾停用詞",dict:"分詞詞庫"},size:{small:"小",medium:"中",large:"大",xlarge:"特大"},posFilter:{all:"全部詞性",meaningful:"常用詞性",custom:"自訂",customHint:"自選詞性",selectMeaningful:"常用詞性",selectAll:"全選",clearAll:"清空"},empty:{title:"暫無詞雲資料",description:"目前篩選條件下的文字訊息不足,無法產生詞雲"},dict:{zhCN:"簡體中文",zhTW:"繁體中文",download:"下載詞庫","download_zh-CN":"下載簡體詞庫","download_zh-TW":"下載繁體詞庫",needDownload:"詞雲已使用內建分詞結果顯示。下載中文詞庫可提升分詞準確度。",downloadHint:"~8MB",downloadSuccess:"詞庫下載成功",downloadFailed:"詞庫下載失敗",promptTitle:"繁體中文詞庫",promptDescription:"偵測到您使用繁體中文,詞雲分析需要繁體詞庫才能取得最佳效果。是否立即下載?(約 8MB)",promptDownload:"立即下載",promptLater:"稍後再說"}},rZ={title:"關鍵字排行榜",description:"分析群聊中的關鍵字使用情況,也能自訂不同榜單",countTemplate:"共 {count} 位成員",templateLabel:"範本:",newTemplate:"+ 新增範本",searchPlaceholder:"輸入後搜尋",clear:"清空",templateHint:"* 右鍵範本可編輯或刪除",keyword:"關鍵字",ranking:"排行榜",multiColorMode:"多色模式",times:"{count} 次",timesWithPercent:"次 ({percent}%)",loading:"正在分析資料...",empty:"暫無資料,請嘗試新增關鍵字或切換範本",contextMenu:{edit:"編輯",delete:"刪除"},modal:{createTitle:"建立範本",editTitle:"編輯範本",templateName:"範本名稱",templateNamePlaceholder:"如:正能量",keywords:"關鍵字",keywordPlaceholder:"輸入後按 Enter 新增",update:"更新"},templates:{laugh:{name:"歡樂值",keywords:"哈哈,xswl,lol,笑死,233",description:"統計群內的快樂指數"},sad:{name:"沮喪量",keywords:"想死,難受,哭了,崩潰,裂開,無語,累了",description:"統計群內的負面情緒"},praise:{name:"捧哏",keywords:"牛逼,666,厲害,強,nb,大佬,羨慕,好強",description:"統計群內最會誇人的成員"},slacker:{name:"摸魚",keywords:"摸魚,下班,餓了,困了,不想上班,什麼時候下班",description:"統計群內最想下班的打工人"},gossip:{name:"吃瓜",keywords:"吃瓜,細說,真的假的,展開說說,尊嘟假嘟,臥槽,離譜",description:"統計群內最愛吃瓜的成員"},polite:{name:"禮貌",keywords:"謝謝,麻煩,收到,好的,辛苦,打擾,請教",description:"統計群內最客氣的成員"},curious:{name:"疑問",keywords:"為什麼,啥,怎麼,不懂,求教",description:"統計群內問題最多的成員"}}},sZ={title:"熱門複讀",loading:"正在載入複讀資料...",description:"單次複讀參與人數最多的內容",countTemplate:"共 {count} 筆熱門複讀",people:"{count}人",times:"{count} 次",viewChat:"檢視聊天紀錄",empty:"暫無複讀資料"},oZ={heroPrefix:"共分析了",heroMiddle:"則訊息,",heroMiddleSecond:"產生了",heroSuffix:"個不同詞彙",topTopicsPrefix:"你們最愛聊:",hotTopic:"熱門話題",hotTopicDesc:"出現了 {count} 次",richness:"詞彙豐富度",richnessValue:"{value}%",richnessDesc:"不重複詞 {unique} / 總詞數 {total}",chatStyle:"聊天風格",styleEncyclopedia:"百科全書型",styleEncyclopediaDesc:"名詞佔比高,愛聊人、地、事",styleAction:"行動派",styleActionDesc:"動詞佔比高,愛討論做什麼",styleExpressive:"表達派",styleExpressiveDesc:"形容詞佔比高,善於修飾表達",styleBalanced:"均衡型",styleBalancedDesc:"聊天內容多元,各類話題均衡",expressionStyle:"表達風格",expressionCasual:"簡潔口語",expressionCasualDesc:"用詞簡短,輕鬆隨意",expressionFormal:"正式書面",expressionFormalDesc:"用詞考究,表達嚴謹",expressionMixed:"混合風格",expressionMixedDesc:"口語與書面兼顧",watermark:"話題畫像 · Topic Profile",sharedTopics:"共同話題"},iZ={title:"群成員口頭禪",description:"看看每位成員最具代表性的重複短句",memberTitle:"{name}的口頭禪",memberDescription:"依出現次數查看這位成員最常說的話",loading:"正在分析口頭禪資料...",times:"{count} 次",memberCount:"共 {count} 位成員",phraseCount:"共 {count} 條口頭禪",viewChat:"查看相關訊息",empty:{title:"暫無口頭禪資料"}},lZ={loading:"正在分析語言偏好...",empty:"暫無足夠的文字訊息進行語言分析",card:{diversityTitle:"詞彙深度",diversityDesc:"不重複詞彙佔比",styleTitle:"聊天氣質",styleDesc:"基於詞性分佈推導的表達風格",punctTitle:"標點性格",punctDesc:"最常用的標點風格",watermark:"語言偏好 · Language Preference",radarFactual:"事實性",radarActive:"行動感",radarDescriptive:"描述欲",radarAffable:"親和力",radarIntense:"程度感",radarNoun:"名詞",radarVerb:"動詞",radarAdj:"形容詞",radarModal:"語氣詞",radarAdv:"副詞",topCatchphrases:"熱門口頭禪",languageProfiles:"語言畫像"},catchphrasePK:{title:"口頭禪 PK",sharedCount:"{count} 個共同口頭禪",hint:"提示:點擊可查看相關訊息,粉框標記為共同口頭禪"},pos:{title:"詞性圖譜",styleEncyclopedia:"百科全書派",styleAction:"行動派",styleExpressive:"感性派",styleBalanced:"均衡派"},modal:{title:"語氣詞畫像",toneSoft:"軟萌親和",toneCurious:"好奇探索",toneCasual:"隨和建議",toneCalm:"沉穩內斂",toneMixed:"多元風格",empty:"暫無語氣詞資料"},punctuation:{title:"標點性格",none:"無標點",personalityDeep:"深沉文學型",personalityPassionate:"情緒飽滿型",personalityCurious:"好奇寶寶型",personalityCheerful:"心情愉悅型",personalityFreeflow:"意識流型",personalityPrecise:"嚴謹規範型",empty:"暫無標點資料"}},cZ={wordcloud:nZ,keywords:rZ,hotRepeat:sZ,topicProfile:oZ,catchphrase:iZ,languagePreference:lZ},uZ={title:"你是誰?",subtitle:"選擇你在這個對話中的身分",description:"設定後你的訊息會顯示在聊天紀錄檢視器右側,AI 對話也能識別你的身分,分析更準確。同平台的其他對話會自動套用。",searchPlaceholder:"搜尋成員",noMatch:"沒有找到符合的成員",empty:"暫無成員資料",loadError:"成員資料載入失敗,請重試",later:"稍後",dontRemind:"此對話不再提醒",save:"儲存",clear:"清除目前選擇",saved:"已設定你的身分",appliedToOthers:"已自動套用到 {count} 個同平台對話",saveFailed:"設定身分失敗",currentOwner:"我是:{name}",choose:"選擇我是誰",change:"修改",helper:"設定後 AI 對話能識別你的身分,分析更準確"},dZ={title:"成員管理",description:"共 {count} 位成員,可為成員新增別名備註或移除成員",searchPlaceholder:"搜尋群暱稱、帳號名稱、ID 或別名",noMatch:"沒有找到符合的成員",empty:"暫無成員資料",table:{accountName:"帳號名稱",groupNickname:"群暱稱",messageCount:"訊息數",lastMessageTime:"最後發言",customAlias:"自訂別名",actions:"操作"},aliasPlaceholder:"輸入後按 Enter 新增",delete:"刪除",deleteSelected:"刪除所選",mergeSelected:"合併所選",selectedCount:"已選 {count} 位成員",pagination:"顯示第 {start} - {end} 筆,共 {total} 位成員",tip:"提示:新增別名後,搜尋與 AI 分析時會更容易辨識聊天對象。",mergeModal:{title:"確認合併成員?",content:"將成員 {source}({sourceCount} 則訊息)合併至 {target}({targetCount} 則訊息)下。預設保留訊息較多一方的名稱。",hint:"合併後無法復原,被合併成員的訊息將全部歸屬至保留成員。",cancel:"取消",confirm:"確認合併"},batchDeleteModal:{title:"確認批次刪除成員?",content:"即將刪除所選的 {count} 位成員及其 {messageCount} 則訊息,此操作無法復原。"},modal:{title:"確認刪除成員?",content:"即將刪除成員 {name} 及其 {count} 則訊息,此操作不可復原。",cancel:"取消",confirm:"確認刪除"}},fZ={note:"備註:QQ 舊版客戶端支援匯出 txt 聊天紀錄,該版本能取得較完整的暱稱變更紀錄",title:"暱稱變更紀錄",loading:"載入中...",hasChanges:"{count} 位成員曾修改過暱稱",noChanges:"暫無成員修改暱稱",current:"當前",empty:"該群組所有成員均未修改過暱稱",loadingText:"正在載入暱稱變更紀錄..."},pZ={loading:"正在分析 {'@'} 互動資料...",rankingTitle:"{'@'} 互動排行",rankModes:{mentioners:"主動 {'@'}",mentioned:"被 {'@'}"},topMentionersDescription:"依主動 {'@'} 次數排序",topMentionedDescription:"依被 {'@'} 次數排序",times:"次",emptyTitle:"📱 {'@'} 互動分析",empty:"暫無 {'@'} 互動資料"},mZ={ownerPrompt:uZ,list:dZ,nicknameHistory:fZ,relationships:pZ,private:{title:"對話成員",description:"共 {count} 位成員,可為成員新增別名備註用於搜尋和 AI 分析"}},gZ={title:"聊天紀錄檢視器",loadedCount:"已載入 {count} 條訊息"},hZ={loading:"載入中...",noMessages:"暫無訊息",tryAdjustFilter:"嘗試調整篩選條件",loadingMore:"載入更多...",scrollUpForMore:"↑ 向上捲動載入更多",scrollDownForMore:"↓ 向下捲動載入更多"},vZ={messageId:"訊息 ID",memberPlaceholder:"成員",keywordsPlaceholder:"關鍵字(多個請用逗號分隔,按 Enter 搜尋)",startDate:"起始日期",endDate:"結束日期",reset:"重置",filter:"篩選"},yZ={timeline:"摘要",noSessions:"暫無摘要",generateSummary:"產生摘要",tooFewMessages:"訊息太少"},bZ="摘要產生失敗",xZ="未知錯誤",_Z={title:"批次產生摘要",trigger:"批次產生",byRange:"依範圍",byTime:"依時間",selectRange:"選擇範圍",rangeStart:"最早",rangeInfo:"約",sessionsUnit:"個會話",rangeEnd:"最近",timeRange:"選擇時間範圍",today:"今天",yesterday:"昨天",week:"最近7天",month:"最近30天",custom:"自訂",found:"找到",hasSummary:"個已有摘要",tooFewMessages:"個訊息太少",pending:"待產生:",unit:"個",noPending:"沒有可產生摘要的會話",noSessions:"該時間範圍內沒有會話",checking:"檢查中...",loading:"載入中...",progress:"進度",session:"會話",statusSuccess:"成功",statusSkipped:"跳過",statusFailed:"失敗",success:"成功:",failed:"失敗:",skipped:"跳過:",start:"開始產生",stop:"停止"},wZ={viewContext:"檢視上下文",replyTo:"回覆",expandMessyContent:"展開完整內容",collapseMessyContent:"收起"},kZ={drawer:gZ,messageList:hZ,filter:vZ,timeline:yZ,summaryFailed:bZ,summaryUnknownError:xZ,batchSummary:_Z,messageItem:wZ},CZ={rankingView:"排行榜檢視",memberView:"成員檢視",matrixView:"矩陣檢視",modelSettings:"模型參數",lookAhead:"鄰近人數",lookAheadDesc:"每則訊息往後納入幾位發言者",decaySeconds:"時間衰減(秒)",decaySecondsDesc:"值越大,遠距離訊息權重越高",applySettings:"套用設定",noData:"暫無資料",selectMember:"選擇成員",selectMemberHint:"請從左側選擇一個成員",msgCount:"發言數",relationCount:"關係數",relationsByIntimacy:"發言鄰近度排行",noRelations:"暫無關係資料",intimacy:"鄰近度",interactionRanking:"互動排行榜",score:"鄰近度",coOccurrence:"共現",times:"次",totalMembers:"群成員",totalMessages:"訊息總數",involvedMembers:"參與成員",edgeCount:"關係數"},SZ={typeDistribution:"訊息類型分佈",hourlyDistribution:"小時分佈",weekdayDistribution:"星期分佈",monthlyDistribution:"月份分佈",yearlyDistribution:"年份分佈",timeHeatmap:"時間熱力圖",heatmapHint:"顯示聊天時間分布規律",calendarHeatmap:"訊息日曆",calendarHint:"每日訊息分佈",calendarTooltipMessages:"訊息",lengthDetailTitle:"短訊息分佈 (1-25字)",lengthDetailHint:"逐字統計",lengthGroupedTitle:"長度區間分佈",lengthGroupedHint:"每5字一組",noTextMessages:"暫無文字訊息",noData:"暫無資料",profile:{avgLengthUnit:"{count} 字/則",textExpression:"文字表達力",textExpressionDesc:"最長訊息 {count} 字",mediaRichness:"媒體豐富度",shortMaster:"短訊息達人",shortMasterDesc:"共 {count} 則 ≤5字",essayLover:"小作文愛好者",essayLoverDesc:"≥{threshold}字的訊息",typeDistribution:"訊息類型",heroLine1Prefix:"你們共留下了",heroLine1Suffix:"則訊息"},typeCard:{watermark:"類型報告",nonTextPrefix:"除文字外,發了",nonTextImage:"圖片",nonTextEmoji:"表情包",nonTextVoice:"語音",nonTextVideo:"影片",nonTextFile:"檔案",nonTextLink:"連結",unitImage:"張圖片",unitEmoji:"個表情包",unitVoice:"則語音",unitVideo:"個影片",unitFile:"個檔案",unitLink:"個連結"},timeCard:{hourlyDistribution:"24h 分佈",watermark:"時間報告",heroDaysIn:"天裡有",heroDaysActive:"天在聊天",heroAvgPrefix:"平均每天",heroAvgSuffix:"則訊息",personalityNightOwl:"夜貓子",personalityEarlyBird:"早起鳥",personalityLunchChat:"午間閒聊",personalityEveningChat:"晚間活躍",personalityDaytime:"白天活躍",personalityEveryday:"全勤達人",personalityWeekend:"週末活躍",personalityWeekday:"工作日活躍",peakRecord:"巔峰紀錄",peakRecordDesc:"單日最多 {count} 則",topHoursLabel:"最活躍時段",peakWeekdayLabel:"最活躍週幾",weekendRatio:"週末佔比",weekendRatioDesc:"週末訊息佔比"},timeAnalysis:{memberTrendTitle:"訊息趨勢",memberTrendHint:"各成員的月度訊息量變化"},typeAnalysis:{textDepthTitle:"文字深度分析",textTotal:"文字訊息總數",avgLength:"平均字數",medianLength:"中位數長度",maxLength:"最長訊息",percentiles:"文字長度分位數",shortMessages:"短訊息(≤5字)",essayMessages:"小作文(≥30字)"}},MZ={layout:"佈局",circular:"環形",force:"力導向",directed:"有向",reset:"重置",graphHint:"共 {nodes} 位成員,{links} 條互動關係",noInteraction:"暫無艾特互動資料"},$Z={empty:{title:"暫無關係資料",description:"目前時間範圍內沒有對話記錄。"},monthly:{title:"月度明細",totalSessionsPrefix:"共對話",totalSessionsSuffix:"次"},trend:{title:"主動性趨勢",hint:"藍色線為 {name} 的月度主動發起佔比,50% 線為均衡基準"},hero:{totalSessionsPrefix:"你們共進行了",totalSessionsSuffix:"次對話",initiativePrefix:"其中有",initiativeByPrefix:"的開場白由",initiativeBySuffix:"發起",initiateTimes:"次發起"},initiator:"發起話題",closer:"結束話題",closerTitle:"話題終結者",closerHint:"統計話題結束時最後發言的人。",noActivity:"本月無互動",watermarkReport:"關係報告",monthFormat:"{year}年{month}月",monthShortFormat:"{month}月",iceBreaker:{title:"破冰達人",hint:"超過 24 小時沉默後主動打破僵局的次數"},responseLatency:{title:"回覆速度",hint:"收到對方訊息後平均多久回覆",seconds:"{n} 秒",minutesSeconds:"{m}分{s}秒",hours:"{n} 小時",hoursMinutes:"{h} 小時 {m} 分鐘"},perseverance:{title:"鍥而不捨",hintWithThreshold:"對方{threshold}內還沒回覆就又發了一次訊息的次數",thresholdMinutes:"{n}分鐘"},labels:{wellMatched:"勢均力敵",missingYou:"{name} 在想念",monologue:"{name} 的獨白",peacefulSilence:"各自安好",fleetingThoughts:"偶爾想起"}},AZ={title:"時間軸檢視",description:"以視覺化方式呈現訊息時間分布與活躍週期變化"},IZ={rankListPro:{fullRanking:"完整排行榜",memberCount:"共 {count} 位成員"},rankList:{unit:"條"},nicknameHistory:{periodToNow:"{start} ~ 至今",periodRange:"{start} ~ {end}",current:"目前",empty:"暫無暱稱紀錄"},listPro:{countTemplate:"共 {count} 項",fullRanking:"完整排行榜",empty:"暫無資料"}},TZ={cluster:CZ,message:SZ,interaction:MZ,relationship:$Z,timeline:AZ,charts:IZ},PZ="關鍵詞過濾",DZ="方案列表",EZ="方案名稱",RZ="請輸入方案名稱",OZ="新方案",LZ="新建方案",qZ="刪除方案",NZ="設為預設",FZ="預設方案",VZ="關鍵詞過濾",BZ="不過濾",zZ="管理方案",HZ="新增過濾詞",UZ="輸入詞語後按 Enter 新增,支援空格或逗號分隔批量新增",jZ="新增",WZ="過濾詞列表",KZ="清空全部",GZ="尚無方案,點擊 + 新建",YZ="尚無過濾詞,在上方輸入框新增",XZ="選擇或建立一個過濾方案",JZ="已過濾 {count} 個詞",QZ="關閉",ZZ={title:PZ,schemeList:DZ,schemeName:EZ,schemeNamePlaceholder:RZ,defaultSchemeName:OZ,createScheme:LZ,deleteScheme:qZ,setDefault:NZ,isDefault:FZ,filterScheme:VZ,noFilter:BZ,manage:zZ,addWords:HZ,addWordsPlaceholder:UZ,add:jZ,wordList:WZ,clearAll:KZ,emptyScheme:GZ,emptyWords:YZ,selectOrCreate:XZ,activeCount:JZ,close:QZ},eee="聯絡人",tee="已匯入 {count} 個私聊會話",aee="目前時間範圍內有效私聊會話數為 {count}。匯入至少 1 個群聊,或有效私聊達到 5 個後會啟用聯絡人。",nee="沒有符合的聯絡人",ree="暫無",see="搜尋聯絡人",oee="分數 {value}",iee={"1y":"近1年","2y":"近2年","3y":"近3年","5y":"近5年",all:"全部"},lee={total:"聯絡人",friends:"好友",nonFriends:"群友"},cee={allPools:"全部來源",friends:"好友",nonFriends:"群友"},uee={friends:"好友",groupContacts:"群友"},dee={friend:"好友",manualFriend:"好友 · 手動標記",nonFriend:"群友"},fee={pinned:"置頂聯絡人",friends:"好友",group_contacts:"群友"},pee={contact:"聯絡人",status:"類型"},mee={recompute:"重新計算",markFriend:"標記為好友",unmarkFriend:"取消標記",clearSearch:"清空搜尋",clearSelection:"取消選中",openSourceSession:"前往對話",viewSourceRecords:"查看聊天記錄",viewDetail:"查看 {name} 的詳情"},gee={title:"聯絡人詳情",score:"綜合分",scoreHelp:"綜合分用於聯絡人排序。分數越高,代表互動訊號越強。",lastInteraction:"最近互動",sources:"來源會話",sourceType:{private:"私聊",group:"群聊"},aliases:"別名",signals:"互動訊號",emptyTitle:"選擇一個聯絡人",emptyDescription:"點擊左側聯絡人後,這裡會顯示互動指標和來源會話。"},hee={privateMessages:"{count} 則私聊",privateMessagesLabel:"私聊訊息",activeMonths:"活躍月份",commonGroups:"共同群",lastInteractionShort:"最近",groups:"{count} 個共同群",coOccurrence:"同框次數",replies:"回覆互動",groupSignals:"{count} 次同框"},vee={title:"聯絡人資料可能已過期",message:"偵測到聊天庫發生變化,正在背景更新聯絡人。",inline:"聯絡人資料可能已過期。",later:"稍後"},yee={running:"正在計算聯絡人:{current} / {total} 個會話",updating:"聯絡人資料可能已更新,正在重新計算。",failed:"聯絡人計算失敗",retry:"重試"},bee={recomputed:"聯絡人已重新計算",recomputeStarted:"已開始在背景計算聯絡人",recomputeFailed:"重新計算失敗",markFriendSucceeded:"已標記為好友",markFriendFailed:"標記好友失敗",unmarkFriendSucceeded:"已取消標記",unmarkFriendFailed:"取消標記失敗"},xee={title:eee,subtitle:tee,disabled:aee,empty:nee,emptyValue:ree,search:see,score:oee,timeRange:iee,stats:lee,filters:cee,tabs:uee,pool:dee,group:fee,table:pee,actions:mee,detail:gee,metrics:hee,stale:vee,task:yee,toast:bee},_ee="互動關係",wee="全景關係圖",kee="關係子頁面",Cee="搜尋聯絡人",See="暫無關係圖資料",Mee="隱私模式",$ee={"3d":"3D","2d":"2D"},Aee={panorama:"全景",close:"高關聯",friends:"僅好友"},Iee={"1y":"近1年","2y":"近2年","3y":"近3年","5y":"近5年",all:"全部"},Tee={recompute:"重新計算",clearSearch:"清空搜尋",closeDetail:"關閉詳情",backToPanorama:"返回全景",fitView:"適應視圖",focusConnections:"只看它的聯繫"},Pee={nodes:"節點",edges:"連線",communities:"相關群組",members:"人數"},Dee={friend:"好友",manualFriend:"好友 · 手動標記",nonFriend:"群友"},Eee={me:"我",type:"我自己",avatarText:"我"},Ree={running:"正在計算互動關係:{current} / {total} 個會話",updating:"關係資料可能已更新,正在重新計算。",failed:"互動關係計算失敗",retry:"重試"},Oee={title:"搜尋結果",offCore:"載入鄰域"},Lee={title:"相關聯繫人",empty:"目前圖中沒有直接聯繫",connectionScore:"關聯度"},qee={rank:"排名",score:"綜合分",type:"類型",community:"圈層",lastInteraction:"最近互動",privateMessages:"私聊訊息",groupMessages:"群聊訊息",commonGroups:"共同群",emptyValue:"暫無"},Nee={recomputeStarted:"已開始背景計算互動關係",recomputeFailed:"重新計算失敗",loadFailed:"互動關係載入失敗",neighborhoodFailed:"鄰域載入失敗",threeUnavailable:"3D 渲染不可用,已切換到 2D。"},Fee={label:"互動關係星系圖",label3d:"3D 互動關係星系圖"},Vee={title:_ee,subtitle:wee,nav:kee,search:Cee,empty:See,privacy:Mee,viewMode:$ee,graphScope:Aee,timeRange:Iee,actions:Tee,stats:Pee,pool:Dee,owner:Eee,task:Ree,searchResults:Oee,connections:Lee,detail:qee,toast:Nee,canvas:Fee},Bee="足跡",zee="此檢視將於後續版本開放",Hee={nav:"足跡檢視",annualSummary:"關於我",timeInvestment:"時間投入",relationshipChanges:"關係變化"},Uee="訊息數",jee="{month}月",Wee="目前時間範圍內沒有可分析資料",Kee="目前時間範圍內沒有文字訊息",Gee={messages:"發出訊息",activeDays:"活躍天數",contacts:"直接互動人數",dailyMessages:"日均訊息",dailyContacts:"日均互動人數"},Yee={yearTitle:"{year} 年的我",recentTitle:"最近一年的我",activity:"活躍日曆",activeRate:"涵蓋 {rate}% 日期",keyMetrics:"關鍵指標",perDay:"平均每天",messagesCount:"{count} 條訊息",characters:"{count} 字",textLengthDetail:"文字訊息字元數",dailyContacts:"日均互動人數",peakMonth:"最活躍月份",peakDay:"最活躍日期",textRatio:"文字訊息占比",medianLength:"文字長度中位數",p90Length:"文字長度 P90"},Xee={overview:"年度概覽",overviewDescription:"按月統計我發出的非系統訊息,缺少月份以零計算",activity:"活躍節奏",activityDescription:"每天發出的訊息數量,顏色越深代表當天越活躍",messageTypes:"訊息類型構成",messageTypesDescription:"只統計我發出的訊息",textLength:"文字長度分佈",textLengthDescription:"只統計非空文字訊息的字元數",habitsTitle:"表達習慣",habitsDescription:"我發送的訊息類型構成與文字字元長度分佈"},Jee={median:"中位數"},Qee={loading:"正在讀取年度總結…",computingProgress:"正在分析會話 {processed}/{total}…",updating:"資料已變更,正在背景更新目前結果",failed:"年度總結計算失敗,可以重試",coverage:"已分析 {analyzed}/{total} 個會話",ownerIssues:"{count} 個會話尚未正確設定「我是誰」",noAnalyzableOwner:"尚無可用於足跡分析的身分,請先在會話中設定「我是誰」",noDataWithLatest:"{year} 年沒有可分析資料,最近有效資料為 {latestYear} 年"},Zee={retry:"重試",openSessions:"前往會話列表",switchYear:"查看 {year} 年"},ete={title:Bee,reserved:zee,tabs:Hee,messages:Uee,monthLabel:jee,noData:Wee,noTextData:Kee,kpis:Gee,overviewCard:Yee,sections:Xee,length:Jee,status:Qee,actions:Zee},tte="讓每一段對話,都有跡可循",ate="本機儲存、隱私優先,透過 AI Agent 和視覺化圖表,輕鬆回顧你的聊天記憶",nte="無需登入",rte="僅在本機處理",ste="資料不上傳",ote="資料保存在目前瀏覽器的網站儲存空間。清除網站資料也會刪除已匯入的對話。",ite="如何匯出聊天記錄",lte="正在準備本機工作區",cte="首次啟動需要載入 SQLite 執行環境並開啟瀏覽器儲存空間。",ute={title:"目前瀏覽器無法執行本機版",description:"請使用最新版 Chrome、Edge 或其他支援 OPFS 的瀏覽器,並透過 localhost 或 HTTPS 開啟。",missing:"缺少能力:{capabilities}"},dte={title:"本機工作區發生問題",unsupportedFile:"暫不支援這個檔案。請選擇 ChatLab JSON / JSONL、WhatsApp / LINE / QQ TXT 或 Telegram JSON。"},fte={eyebrow:"本機對話",title:"你的聊天檔案",description:"對話彼此隔離保存在瀏覽器中,可以管理對話並查看 24 小時訊息分布。",count:"{count} 個對話",refresh:"重新整理",emptyTitle:"還沒有本機對話",emptyDescription:"從左側匯入第一份聊天記錄,它會出現在這裡。",messages:"{count} 則訊息",members:"{count} 位成員",lastMessage:"最後訊息 {date}",importedAt:"匯入於 {date}",group:"群聊",private:"私聊",rename:"重新命名",renameLabel:"新的對話名稱",deleteTitle:"刪除「{name}」?",deleteDescription:"此對話的本機資料庫將被永久刪除,此操作無法復原。",busy:"正在更新對話…"},pte={open:"查看時間分布",eyebrow:"首個本機分析",title:"「{name}」的 24 小時分布",description:"統計在本機背景執行緒中完成,並依目前裝置時區歸入小時。",loading:"正在讀取本機對話統計…",totalMessages:"統計訊息",peakHour:"最活躍時段",activeHours:"有訊息時段",hourValue:"{hour}:00",hourTooltip:"{hour}:00 · {count} 則訊息",noData:"這個對話暫時沒有可顯示的小時資料。",runtimeNote:"本機計算 · 不上傳"},mte={title:tte,subtitle:ate,noSignIn:nte,localOnly:rte,noUpload:ste,localOnlyDetail:ote,exportGuide:ite,initializing:lte,initializingDetail:cte,unsupported:ute,error:dte,import:{eyebrow:"匯入",title:"加入一份聊天記錄",description:"目前支援 ChatLab JSON / JSONL、WhatsApp / LINE / QQ TXT 和 Telegram JSON。每次匯入會建立一個獨立對話。",drop:"拖入檔案,或從裝置選擇",dropActive:"放開即可選擇這個檔案",formats:".json · .jsonl · .txt",choose:"選擇檔案",selected:"已選擇",detecting:"正在辨識格式…",detected:"辨識為 {format}",start:"開始本機匯入",working:"正在匯入",cancel:"停止匯入",processed:"已處理 {count} 則訊息",multiChat:{title:"選擇要匯入的聊天",selected:"已選 {selected} / {total}",selectAll:"全選",clearAll:"清除",messages:"{count} 則訊息",empty:"空聊天",current:"第 {current} / {total} 項:{name}",importSelected:"匯入選取的 {count} 項",successDetail:"已建立 {sessions} / {total} 個對話,共儲存 {messages} 則訊息。",failed:"{count} 項匯入失敗",cancelledWithCompleted:"匯入已停止;已完成的 {count} 個對話已保留。"},stages:{detecting:"辨識檔案",reading:"讀取檔案",parsing:"解析訊息",saving:"寫入本機資料庫",indexing:"建立索引",done:"完成"},successTitle:"匯入完成",successDetail:"已儲存 {messages} 則訊息和 {members} 位成員。",cancelled:"匯入已停止,沒有留下未完成的對話。",another:"繼續匯入"},sessions:fte,analysis:pte},gte={common:TJ,layout:JJ,settings:fQ,home:wQ,analysis:OQ,tools:qQ,providers:YQ,ai:aZ,quotes:cZ,members:mZ,records:kZ,views:TZ,wordFilter:ZZ,contacts:xee,relationships:Vee,insight:ete,browser:mte},hte="確認",vte="キャンセル",yte="保存",bte="編集",xte="追加",_te="スクリーンショット",wte="閉じる",kte="戻る",Cte="完了",Ste="リトライ",Mte="アプリの初期化に失敗しました",$te="Web WASM は別のタブで開かれています。もう一方の ChatLab Web WASM タブを閉じてから再試行してください。",Ate="読み込み中...",Ite="初期化中...",Tte="結果が見つかりません",Pte="エクスポートに成功しました",Dte="エクスポートに失敗しました",Ete="生成中...",Rte="再生成",Ote="フォルダーを開く",Lte="チャット履歴を表示",qte="先に設定でAIサービスを構成してください",Nte={unknown:"不明なエラー"},Fte={text:"テキスト",image:"画像",voice:"音声",video:"動画",file:"ファイル",emoji:"絵文字",link:"リンク",location:"位置情報",redPacket:"お年玉",transfer:"送金",poke:"ツンツン",call:"通話",share:"共有",reply:"返信",forward:"転送",contact:"連絡先カード",system:"システム",recall:"取り消し",other:"その他",unknown:"不明"},Vte={mon:"月曜",tue:"火曜",wed:"水曜",thu:"木曜",fri:"金曜",sat:"土曜",sun:"日曜"},Bte={jan:"1月",feb:"2月",mar:"3月",apr:"4月",may:"5月",jun:"6月",jul:"7月",aug:"8月",sep:"9月",oct:"10月",nov:"11月",dec:"12月"},zte={title:"言語を選択",subtitle:"ご希望のインターフェース言語を選択してください",next:"次へ"},Hte={title:"プライバシーポリシーと利用規約",subtitle:"利用前に必ずお読みください",disagree:"同意しない",agree:"内容を確認して同意する",updateNotice:"規約内容が更新されました。再度お読みいただき、ご確認ください"},Ute={selectDate:"日付を選択",clearDate:"日付をクリア"},jte={mode:{recent:"最近",quarter:"四半期別",year:"年別",custom:"カスタム"},recent:{oneYear:"1年間",twoYears:"2年間",fiveYears:"5年間",all:"すべて"},display:{recent365:"最近1年間",recent730:"最近2年間",recent1825:"最近5年間"},quarter:{label:"{year}年 第{quarter}四半期"},year:{label:"{year}年"}},Wte={allMembers:"すべてのメンバー"},Kte={placeholder:"メンバーを検索",noSecondary:"他の名前はありません"},Gte={description:"このサービスは認証が必要です。API Tokenを入力してください。",tokenLabel:"API Token",tokenPlaceholder:"clb_xxxxxxxx",submit:"ログイン",hint:"Tokenは起動ログ、config.toml、または --token フラグで確認できます",errorEmpty:"Tokenを入力してください",errorInvalid:"無効なTokenです。確認してもう一度お試しください",errorNetwork:"ネットワーク接続に失敗しました",rememberDevice:"このデバイスを記憶する",rememberWarning:"信頼できるデバイスでのみ使用してください。Tokenがブラウザに保存されます",logoutTitle:"アカウント",logoutDesc:"現在のセッションからログアウト",logout:"ログアウト"},Yte={confirm:hte,cancel:vte,delete:"削除",save:yte,edit:bte,add:xte,capture:_te,close:wte,back:kte,done:Cte,retry:Ste,initFailed:Mte,webWasmWorkspaceBusy:$te,loading:Ate,initializing:Ite,noResults:Tte,export:"エクスポート",exportSuccess:Pte,exportFailed:Dte,generating:Ete,regenerate:Rte,openFolder:Ote,viewChatRecords:Lte,errorNoAIConfig:qte,error:Nte,messageType:Fte,weekday:Vte,month:Bte,languageSelect:zte,agreement:Hte,datePicker:Ute,timeSelect:jte,userSelect:Wte,memberSearchSelect:Kte,login:Gte},Xte="ChatLab",Jte="新しいチャットを分析",Qte="連絡先",Zte="関係",eae="足跡",tae="ツール",aae="チャット履歴",nae="管理",rae="記録がありません",sae="チャット名を検索",oae="一致するチャット記録が見つかりません",iae={rename:"名前変更",pin:"ピン留め",unpin:"ピン留め解除",copyId:"IDをコピー",delete:"削除"},lae={title:"名前変更",placeholder:"新しい名前を入力してください"},cae={title:"削除の確認",message:"チャット記録「{name}」を削除しますか?この操作は取り消せません。"},uae={tag:"New",title:"新しいバージョンがあります",message:"最新バージョンは v{version} です。",desktopHint:"今すぐ更新をクリックすると、デスクトップ版の更新確認とダウンロードを開始します。",cliHint:"ターミナルで次のコマンドを実行し、更新後にサービスを再起動してください。",updateNow:"今すぐ更新",later:"後で"},dae={all:"すべて",private:"個人",group:"グループ"},fae={importedAt:"インポート日時",lastMessageTs:"最新メッセージ",messageCount:"メッセージ数"},pae={search:"チャット記録を検索",sort:"並べ替え"},mae="{count} 件のメッセージ",gae={settings:"設定"},hae={brand:Xte,newAnalysis:Jte,contacts:Qte,relationships:Zte,insight:eae,tools:tae,chatHistory:aae,manage:nae,noRecords:rae,searchPlaceholder:sae,noSearchResult:oae,contextMenu:iae,renameModal:lae,deleteModal:cae,updateNotice:uae,filter:dae,sort:fae,tooltip:pae,sessionInfo:mae,footer:gae},vae="設定",yae={basic:"基本設定",ai:"AI 設定",aiConfig:"モデルサービス",aiDefaultModel:"デフォルトモデル",semanticIndex:"セマンティックインデックス",chatPreferences:"会話設定",compression:"圧縮",aiPreprocess:"前処理",dataManage:"データ管理",storage:"ストレージ管理",security:"セキュリティ",sessionManage:"セッションインデックス",about:"ChatLabについて",api:"オートメーション",apiSubTabs:{autoSync:"自動同期",apiService:"API サービス",mcp:"MCP"}},bae={general:{title:"一般"},preferences:{title:"環境設定"},language:{description:"アプリの表示言語を選択します"},appearance:{title:"外観設定",themeMode:"テーマモード",auto:"システムに従う",light:"ライトモード",dark:"ダークモード"},defaultTab:{description:"チャットに入った時に表示するページ",overview:"概要",aiChat:"AI チャット"},autoLaunch:{openAtLogin:"ログイン時に自動起動",openAtLoginDesc:"システム起動時に ChatLab を自動的に実行します",devModeHint:"開発モードでは利用できません"},toolsPanel:{positionLabel:"ツールパネルの位置",positionDesc:"クイックツールパネルの表示位置を選択します",positionSide:"サイド",positionHeader:"ヘッダー"},network:{title:"ネットワーク設定",proxyMode:"プロキシモード",proxyModeDesc:"ネットワークアクセス時に使用するプロキシ方式",modeOff:"オフ",modeSystem:"システムに従う",modeManual:"手動設定",proxyAddress:"プロキシアドレス",proxyPlaceholder:"http://127.0.0.1:7890",proxyHelp:"HTTP/HTTPS プロキシに対応。形式例:http://127.0.0.1:7890",testConnection:"接続テスト",testing:"テスト中...",connectionSuccess:"プロキシ接続に成功しました!",connectionFailed:"接続に失敗しました",enterProxyFirst:"先にプロキシアドレスを入力してください",invalidProxyUrl:"有効なプロキシアドレスを入力してください。形式例:http://127.0.0.1:7890",onlyHttpSupported:"http:// または https:// プロトコルのみ対応",saveFailed:"保存に失敗しました"}},xae={title:"デフォルトモデル",noConfigs:"先に「モデルサービス」でモデル設定を追加してください",selectProvider:"プロバイダーを選択",selectModel:"モデルを選択",assistantModel:{label:"デフォルトアシスタントモデル",description:"AIチャット、ツール呼び出し、SQLアシスタント、コンテキスト圧縮に使用"},fastModel:{label:"高速モデル",description:"セッション要約生成に使用。未設定の場合はデフォルトアシスタントモデルを使用",followAssistant:"デフォルトアシスタントモデルに従う"}},_ae={title:"モデルサービス",defaultModel:"デフォルトモデル",empty:{title:"AI サービスが未設定です",description:"設定を追加して AI を使い始めましょう"},addConfig:"サービスを追加",maxConfigs:"設定は最大 10 件までです",modal:{addConfig:"サービスを追加",editConfig:"サービスを編集",localService:"ローカルサービス",configName:"設定名",optional:"(任意)",configNamePlaceholderPreset:"空欄の場合、サービス名が使用されます",configNamePlaceholderCustom:"空欄の場合、API エンドポイントが使用されます",aiProvider:"AI プロバイダー",apiKeyPlaceholder:"API Key を入力",apiKeyPlaceholderEdit:"新しい API Key を入力(空欄で現在の値を維持)",apiKeyPlaceholderLocal:"ローカルサービスでは通常不要です",apiKeyHintLocal:"サービスに認証が設定されている場合はこちらに入力",validate:"接続確認",validationSuccess:"接続を確認しました",validationFailed:"接続の確認に失敗しました",validationFailedTitle:"API接続の検証に失敗しました",saveAnywayHint:"検証に通過しませんでした。設定が正しくない可能性があります。それでも保存しますか?",saveAnyway:"保存する",validationError:"検証に失敗:",model:"モデル",apiEndpoint:"API URL",apiEndpointHint:"OpenAI 互換形式の API エンドポイント",resolvedUrl:"実際のリクエストURL:",fetchModels:"APIから取得",fetchModelsTitle:"リモートモデル一覧",fetchModelsLoading:"モデルリストを取得中...",fetchModelsEmpty:"モデルが見つかりません",fetchModelsError:"モデルリストの取得に失敗しました",fetchModelsCount:"全 {total} モデル、{shown} 件表示中",modelAdded:"追加済み",addAllModels:"すべて追加",searchModels:"モデルを検索...",apiEndpointOverrideHint:"デフォルトURLは入力済みです。必要に応じて変更してください",customService:"カスタムサービス",visitWebsite:"公式サイト",getApiKey:"APIキーを取得",presetService:"プリセット",thirdPartyService:"サードパーティ",addCustomModel:"モデルを追加",deleteCustomModel:"選択を削除",customModelId:"モデルエンドポイント名",customModelIdHint:"API呼び出しで使用されるモデル識別子",customModelDisplayName:"表示名",customModelDisplayNamePlaceholder:"カスタム表示名",editModel:"モデルを編集",contextWindow:"コンテキストウィンドウ",contextWindowPlaceholder:"例: 128000",contextWindowHint:"モデルがサポートする最大コンテキストトークン数(コンテキスト圧縮に使用)",contextWindowMissing:"コンテキストウィンドウが未設定です。デフォルト値が使用されます。「モデル編集」から手動で設定してください",modelRequired:"少なくとも 1 つのモデルを追加してから保存してください",apiFormat:"API インターフェース",apiFormatOpenAI:"OpenAI Completions",apiFormatAnthropic:"Anthropic",apiFormatGemini:"Gemini",apiFormatOpenAIResponses:"OpenAI Responses"},providerKind:{aggregator:"アグリゲータ",custom:"カスタム"}},wae={title:"ローカルストレージ管理",description:"ChatLab がローカルに保存したデータファイルを管理します",dataLocation:{title:"データディレクトリの場所",description:"チャットデータベースとベクトルインデックスの保存先をカスタマイズ",managedDescription:"この設定で管理するのはチャットデータベースとベクトルインデックスのみです。AI 会話、キャッシュ、ログは固定のシステムデータディレクトリに残ります。",choose:"場所を選択",applyPath:"適用",reset:"デフォルトに戻す",open:"開く",serverPathHint:"CLI サーバーを実行しているマシンからアクセスできる絶対パスを入力してください。",migrateHint:"チャットデータベースのデータがまだ旧ディレクトリにあります。統一ディレクトリへの移行をお勧めします:",ignoreMigrateHint:"無視",migrateAction:"今すぐ移行",restartTip:"ディレクトリ変更後はアプリを再起動してください。チャットデータベースのデータは選択に応じて移行されます",cliRestartTip:"ディレクトリ変更後は CLI サーバーを再起動してください。チャットデータベースのデータはサーバー起動前に移行されます",confirmTitle:"データディレクトリの切り替えを確認",confirmMessage:"チャットデータベースのディレクトリを切り替えます。移行を選択すると、既存のチャットデータベースのデータが新しいディレクトリへコピーされます。",newPath:"新しいディレクトリパス",defaultPath:"デフォルトの場所",confirmWarning:"アプリ再起動後、チャットデータベースは新しい場所へ移行され、旧ディレクトリはバックアップとして保持されます。",cliConfirmWarning:"CLI サーバー再起動後、チャットデータベースは新しい場所へ移行され、旧ディレクトリはバックアップとして保持されます。サーバープロセスに書き込み権限があることを確認してください。",pathRequired:"データディレクトリパスを入力してください",installDirForbidden:"データディレクトリをアプリのインストールディレクトリ内に配置することはできません。更新時にディレクトリが消去されます",cancel:"キャンセル",confirm:"切り替えを確認",migrationQueuedTitle:"データ移行を予約しました",migrationSuccessMessage:"変更を反映するにはアプリの再起動が必要です。",cliMigrationSuccessMessage:"現在の CLI サーバーを停止してから再起動してください。移行はサーバー起動前に実行されます。再起動後にページを開き直すと新しいディレクトリを確認できます。",relaunchNow:"今すぐ再起動",acknowledge:"了解",cleanupNoticeTitle:"新しいデータディレクトリへ切り替えました",cleanupNoticeDescription:"データ損失を防ぐため、元のディレクトリはバックアップとして保持されています。チャット履歴が完全であることを確認してから、ストレージ管理で削除してください。",cleanupOldPath:"元のデータディレクトリ",cleanupLater:"後で",cleanupGoToStorage:"ストレージ管理を開く",cleanupTitle:"クリーンアップ待ちの旧データ",cleanupDescription:"移行前のディレクトリはバックアップとして保持されています。新しいディレクトリのチャット履歴を確認した後、手動で削除できます。",cleanupDeleteAction:"旧データを削除",cleanupDeleteConfirmTitle:"旧データを完全に削除しますか?",cleanupDeleteConfirmDescription:"この操作は元に戻せません。新しいディレクトリのチャット履歴が完全であることを確認してから、以下の元ディレクトリを削除してください。",cleanupDeleteConfirmAction:"完全に削除",cleanupDeleteFailed:"旧データを削除できませんでした"},openRootDir:"ルートを開く",totalUsage:"合計使用量:",loading:"読み込み中...",files:"ファイル",notExist:"存在しません",clear:"クリア",open:"開く",cache:{databases:{name:"チャット履歴データベース",description:"インポートしたチャット履歴の分析データ"},ai:{name:"AI 会話データベース",description:"AI チャット履歴と設定ファイル"},statsCache:{name:"キャッシュデータ",description:"チャット記録の統計キャッシュ。クリア後に自動で再構築されます"},logs:{name:"ログファイル",description:"アプリの実行ログ(インポート、AI、エラーなどのログを含む)"}}},kae={session:{title:"セッションインデックス設定",description:"セッションインデックスは時間間隔に応じてチャット履歴を自動で区切り、AI 分析や閲覧をしやすくします",defaultThreshold:"デフォルト分割間隔",thresholdUnit:"分",thresholdHelp:"この時間を超える間隔があるメッセージは新しいセッションに分割されます",generating:"作成中",batchTitle:"インデックスを一括生成",totalSessions:"全 {count} チャット",generatedCount:"生成済み {count} 件",notGeneratedCount:"未生成 {count} 件",loadingStatus:"読み込み中...",batchGenerate:"未生成分を作成",batchRegenerate:"すべて再生成",batchRegenerateConfirmTitle:"再生成の確認",batchRegenerateConfirmMessage:"この操作により、既存のAI要約がすべてクリアされ、セッションインデックスが最初から再生成されます。",batchRegenerateConfirmWarning:"既存の要約は上書きされます。この操作は取り消せません。",summaryStrategy:"要約の詳細度",summaryStrategyHelp:"AI が要約を生成する際の詳細さを設定します",summaryBrief:"簡潔",summaryStandard:"標準"},semanticIndex:{title:"セマンティックインデックス",description:"選択したベクトルモデルでチャット履歴のインデックスを作成します。有効にすると、AI は回答時に関連する過去の断片を意味検索して裏付けとして利用できます。",vectorModel:"ベクトルモデル",selectModel:"ベクトルモデルを選択",switchModel:"モデルを切り替え",noModelSelected:"ベクトルモデル未選択",modelModalTitle:"ベクトルモデルの設定",modeLocal:"ローカルモデル",modeApi:"API",recommended:"推奨",approxSize:"約 {mb} MB",modelDownloadSource:"モデルのダウンロード元",downloadSourceOfficial:"Hugging Face 公式",downloadSourceMirror:"HF-Mirror(中国本土向け)",mirrorSourceHint:"HF-Mirror は中国本土のネットワーク向けの第三者公開ミラーです。モデルファイルは hf-mirror.com からダウンロードされます。",localDownloadHint:"保存後にモデルが自動でダウンロードされます。初回は時間がかかる場合があります。",apiTemplate:"サービステンプレート",modelName:"モデル名",apiKeySaved:"保存済み。空欄で変更しません",apiKeyHint:"API キーは別途安全に保存され、設定には参照のみが保存されます。",apiCostWarning:"API モードはプロバイダー費用が発生する場合があります。価格をご確認ください。",changeRebuildHint:"モデルや API を変更すると、有効な会話は再構築が必要です。",modelError:"モデルのダウンロードに失敗しました。インデックス構築時に再試行されます。",modelDownloading:"モデルをダウンロード中です。初回は数分かかる場合があります…",searchMaxResults:{label:"1回の検索で返す断片数",hint:"AI がセマンティック検索を実行する際に返す関連断片のデフォルト数(5〜15)。必要に応じて AI が増やせます。"},overview:"インデックス概要",enabledCount:"{count} 件の会話で有効",coverage:"カバレッジ {percent}%",buildPending:"保留中のインデックスを作成",cleanup:"未使用インデックスを整理",cleanupConfirm:"無効化した会話や旧モデルのインデックスデータを削除します。チャット記録は削除されません。",configFirst:"先にベクトルモデルを設定してください",selectConversations:"会話を選択",enabledSessions:"有効な会話",state:{completed:"完了",building:"作成中",pending:"未作成",needsRebuild:"再構築が必要",failed:"失敗",paused:"一時停止"},action:{build:"インデックス作成",pause:"一時停止",cancel:"キャンセル",rebuild:"再構築",remove:"削除"},session:{statusLabel:"状態",notEnabled:"未有効",coverageLabel:"カバレッジ",progressLabel:"構築の進捗",enableHint:"有効にすると、この会話に関する質問に答える際に AI が過去のチャット断片を検索できます。",configFirst:"有効化の前に 設定 > AI > セマンティックインデックス でベクトルモデルを設定してください。",enable:"インデックスを有効化",buildVsEnable:"有効化:この会話をセマンティック検索の対象に含めます。作成:全メッセージを読み込みベクトルを生成します。ローカル計算や API 枠を消費する場合があります。",retry:"再試行",continue:"続行"},picker:{title:"会話を選択",all:"すべて",group:"グループ",private:"個人",searchPlaceholder:"名前で検索",messages:"{count} 件のメッセージ",enabled:"有効",selectedSummary:"{count} 件の会話を選択、約 {messages} 件のメッセージ",confirmRemoveTitle:"削除の確認",confirmRemoveMessage:"これらの会話のセマンティックインデックスは即座に削除され、復元できません。"}}},Cae={chatSettings:{title:"ツール設定"},exportSettings:{title:"エクスポート設定"},chatPreferences:{title:"会話設定",enableAutoSkill:"AI 自動スキル選択",enableAutoSkillDesc:"有効にすると、AI がユーザーの質問に基づいて適切な分析スキルを自動的にマッチして有効化します。無効にすると、手動で選択した場合のみスキルが適用されます",chartAutoMode:{title:"グラフ自動生成",description:"グラフアシスタントを手動選択していないときに、AI がどの程度積極的にグラフを使うかを制御します",explicit:"明確な依頼時",explicitHint:"明確にグラフを依頼した場合のみ、AI がグラフを生成します。",suggest:"スマート生成",suggestHint:"控えめな方針です。分析結果の理解に明確に役立つ場合のみ、AI がグラフを生成します。",aggressive:"積極生成",aggressiveHint:"データ分析の場面で、AI がより積極的にグラフを生成します。"}},maxMessages:{title:"送信メッセージ数の上限",description:"1 回のリクエストで AI に送る最大メッセージ数です。増やすほど Token 消費は増えますが、分析精度も上がります(初めてなら 2000 推奨)"},searchContext:{title:"検索コンテキストウィンドウ",description:"検索ヒット時に前後の会話コンテキストを自動的に含めることで、AI がメッセージの背景を理解しやすくなります。0 に設定するとコンテキストなし",before:"前",after:"後"},exportFormat:{title:"会話エクスポート形式",description:"AI チャットをエクスポートする際のファイル形式",txtLabel:"TXT"},sqlExportFormat:{title:"SQL Lab エクスポート形式",description:"SQL クエリ結果をエクスポートする際のファイル形式"},compression:{title:"コンテキスト圧縮",enable:"コンテキストの自動圧縮",enableDesc:"会話が長くなった際に履歴を自動的に要約に圧縮し、トークン消費を削減します",threshold:"圧縮閾値",thresholdDesc:"コンテキストトークンがモデルウィンドウのこの割合に達したら圧縮を開始",buffer:"バッファサイズ",bufferDesc:"圧縮せずに保持する最新メッセージの割合",maxToolResultPercent:"ツール結果の上限",maxToolResultPercentDesc:"1回のツール呼び出しでAIに送信される最大データ割合(モデルのコンテキストウィンドウに基づいて計算)。超過分はスマートに切り捨てられます"}},Sae={title:"ChatLabについて",description:"ローカルで動くチャット履歴分析ツール。SQL と AI Agent で会話を振り返れます。",version:"バージョン",checkUpdate:"アップデートを確認",checking:"確認中...",upToDate:"最新バージョンです",newVersionAvailable:"新しいバージョン {version} があります",webUpdateHint:"ターミナルで clb update を実行し、サービスを再起動してください。",updateCheckFailed:"更新確認に失敗しました:{error}",unknown:"不明",privacy:{title:"プライバシー設定",analytics:"匿名利用統計",analyticsDesc:"有効にすると、バージョン番号やOS情報などの非機密データを収集し、製品の改善に役立てます"},developer:{title:"開発者オプション",debugMode:"DEBUG モード",debugModeDesc:"有効にすると、デバッグパネルとクイックデバッグツールが表示されます。データベースの確認、テストツールの実行、より詳細なデバッグログの記録に使用できます。"}},Mae={title:"チャット履歴の前処理",description:"チャット履歴を AI に送信する前に前処理を行い、Token を節約しノイズを除去します。元のデータは変更されません。",dataCleaning:"データクリーニング",dataCleaningDesc:"XML カードメッセージ(共有リンク、ミニアプリなど)を自動クリーニングし、有効な内容を抽出します。Token を大幅に節約できます。オンのままにすることを推奨します。",mergeConsecutive:"連続発言の結合",mergeConsecutiveDesc:"同一人物の短時間内の連続メッセージを1つに結合します",mergeWindow:"結合タイムウィンドウ(秒)",denoise:"スマートノイズ除去",denoiseDesc:"感動詞のみ、絵文字のみ、システムプレースホルダー([画像] など)といった無意味なメッセージを除去します",desensitize:"データマスキング",desensitizeDesc:"ルールに基づいて機密情報(電話番号、メールアドレス、身分証番号など)をプレースホルダーに置換します",desensitizeBuiltin:"プリセットルール",desensitizeResetBuiltin:"既定に戻す",desensitizeCustom:"カスタムルール",desensitizeAddCustom:"カスタムルールを追加",desensitizeRuleName:"ルール名",desensitizeRulePattern:"正規表現",desensitizeRuleReplacement:"置換テキスト",desensitizeRuleAdd:"追加",desensitizeRuleInvalidRegex:"正規表現の構文エラー",desensitizeRuleNamePlaceholder:"例:社員番号",desensitizeRulePatternPlaceholder:"例:EMP-\\d+",desensitizeRuleReplacementPlaceholder:"置換テキスト。例:[社員番号]",anonymizeNames:"ニックネーム匿名化",anonymizeNamesDesc:"実際のニックネームの代わりに番号(U1、U2…)を AI に送信し、幻覚を減らして Token を節約します",blacklist:"ブラックリストキーワード",blacklistDesc:"以下のキーワードのいずれかを含むメッセージは丸ごと除外されます",blacklistPlaceholder:"キーワードを入力して Enter で追加",blacklistAdd:"追加"},$ae={groups:{credentials:"パスワードと Token",credentials_desc:"API Key、Bearer Token などの認証情報",global_contact:"汎用連絡先情報",global_contact_desc:"メールアドレスなど地域をまたぐ連絡先情報",global_financial:"汎用金融情報",global_financial_desc:"クレジットカード番号などの金融識別子",global_network:"汎用ネットワーク情報",global_network_desc:"URL、IP アドレスなどのネットワーク識別子",region_cn:"中国本土",region_cn_desc:"中国本土の電話番号、証明書、銀行カードなどのルール",region_us:"米国",region_us_desc:"米国の電話番号、証明書などのルール",region_jp:"日本",region_jp_desc:"日本の電話番号、マイナンバーなどのルール",region_kr:"韓国",region_kr_desc:"韓国の電話番号、住民登録番号などのルール"},rules:{cn_phone:"中国の携帯電話番号",cn_phone_desc:"1xx xxxx xxxx 形式の11桁の番号",cn_id_card:"中国の身分証番号",cn_id_card_desc:"18桁、末尾に X を含む場合あり",cn_bank_card:"中国の銀行カード番号",cn_bank_card_desc:"16-19桁の連続数字",cn_landline:"中国の固定電話番号",cn_landline_desc:"市外局番-番号(例:010-12345678)",us_ssn:"米国社会保障番号(SSN)",us_ssn_desc:"XXX-XX-XXXX 形式",us_phone:"米国電話番号",us_phone_desc:"+1 (XXX) XXX-XXXX 形式",us_drivers_license:"米国運転免許証番号",us_drivers_license_desc:"アルファベット + 7-8桁の数字",jp_phone:"日本の電話番号",jp_phone_desc:"0x0-XXXX-XXXX 形式",jp_my_number:"マイナンバー",jp_my_number_desc:"12桁の数字(マイナンバー)",kr_phone:"韓国の電話番号",kr_phone_desc:"01X-XXXX-XXXX 形式",kr_rrn:"韓国の住民登録番号",kr_rrn_desc:"XXXXXX-XXXXXXX 形式(주민번호)",api_key_prefix:"API Key / Token(既知プレフィックス)",api_key_prefix_desc:"sk-、ghp_、AKIA などで始まる長い文字列",bearer_token:"Bearer Token",bearer_token_desc:"Bearer に続く認証トークン値",email:"メールアドレス",email_desc:"user{'@'}domain.com の標準形式",credit_card:"クレジットカード番号",credit_card_desc:"Visa / MasterCard / AmEx などのカード番号",ipv4:"IPv4 アドレス",ipv4_desc:"例:192.168.1.1",url:"URL リンク",url_desc:"http:// または https:// で始まるリンク"}},Aae={service:{title:"API サービス",enable:"API サービスを有効化",enableDesc:"有効にすると、外部ツールが HTTP API 経由でチャットデータの照会・エクスポート・インポートができます。ローカルホストのみ (127.0.0.1)",portInUseHint:"ポートが使用中です。下のポートを変更するか、このポートを使用しているプログラムを終了してから再試行してください"},status:{running:"実行中",stopped:"停止中",starting:"起動中...",portInUse:"ポート使用中",error:"起動失敗"},port:{title:"ポート設定",label:"リッスンポート",desc:"API サービスのローカルポート番号(1024-65535)",edit:"編集",save:"保存",cancel:"キャンセル"},token:{title:"アクセストークン",label:"Bearer Token",desc:"すべての API リクエストは Authorization ヘッダーにこのトークンを含める必要があります",noToken:"トークンが未生成です。まずサービスを有効にしてください",regenerate:"再生成"},dataSources:{title:"データソース",desc:"外部データソースの URL を設定すると、ChatLab が指定間隔で自動的にチャットデータを取得・インポートします。",empty:"データソースなし",disabled:"一時停止中",every:"",minutes:"分ごと",lastSync:"最終同期",syncing:"同期中",messages:"件",addBtn:"データソースを追加",form:{modalTitle:"データソースを追加",name:"名前",namePlaceholder:"例:マイチャットサーバー",token:"アクセストークン",tokenPlaceholder:"リモート API の Bearer Token",interval:"取得間隔(分)",pullLimit:"1回の取得メッセージ数",pullLimitPlaceholder:"デフォルト 1000"},discovery:{baseUrl:"サーバーアドレス",baseUrlPlaceholder:"例:http://127.0.0.1:2333/api/v1",found:"{count} 件のセッションが見つかりました",search:"検索",searchPlaceholder:"セッション名で検索",selectAll:"すべて選択",deselectAll:"選択解除",selectByType:"セッションタイプ",typeAll:"すべて",typePrivate:"個人チャット",typeGroup:"グループチャット",loadMore:"さらに読み込む",subscribe:"{count} 件を購読",messages:"件のメッセージ",error:"リモートサーバーへの接続に失敗しました",connectionCheckFailed:"リモートサーバーに接続できません。URL とトークンを確認してください。"},noSessions:"インポートセッションがありません。上の「サブスクリプション管理」から追加してください",edit:{title:"設定を変更",save:"保存",cancel:"キャンセル",editSource:"設定を変更",manageSessions:"サブスクリプション管理",subscribed:"購読中"},deleteConfirm:{title:"データソースを削除",message:"データソース「{name}」を削除してもよろしいですか?このデータソース下のすべてのインポート設定が削除されます。既にインポート済みのローカル会話は削除されません。"},deleteSessionConfirm:{title:"サブスクリプションを削除",message:"「{name}」を削除してもよろしいですか?",keepData:"サブスクリプションのみ削除",deleteData:"インポートしたチャットも削除"}},usage:{title:"使用ガイド",desc:"サービスを有効にすると、外部ツールが API 経由でデータを照会したり、ChatLab にチャット記録をプッシュしたりできます。すべてのリクエストに Bearer Token 認証が必要です。",authHint:"ヘッダー例:",docLink:"API ドキュメントを見る"}},Iae={overview:{title:"MCP 概要",description:"MCP により、AI アシスタントがチャット記録を直接クエリできます。セッション検出、キーワード検索、メンバー統計、時間分布などをサポートしています。",toolCount:"{count} 個のツール",resourceCount:"{count} 個のリソース",installHint:"chatlab-cli をインストール後、AI クライアントに以下の設定を追加してください:"},clients:{other:"その他"},config:{title:"クライアント設定",clientLabel:"MCP クライアント",copy:"コピー",copied:"コピー済み",claudeHint:"この設定を ClaudeCode の MCP 設定に追加してください。",codexHint:"この TOML 設定を ~/.codex/config.toml ファイルに追加してください。",openclawHint:"この設定をプロジェクトの openclaw.json ファイルに追加してください。",otherHint:"この JSON 設定を MCP クライアントの設定ファイルに追加してください。"},tips:{title:"ヒント",dataDir:"MCP サーバーは ~/.chatlab/ ディレクトリのチャットデータを読み取り、デスクトップアプリと同じデータを共有します。",readOnly:"すべての操作は読み取り専用で、チャット記録は変更されません。",nodeRequired:"npx および CLI モードには Node.js 20 以上が必要です。",docs:"詳細なドキュメントは docs.chatlab.fun をご覧ください。"}},Tae={lock:{title:"アプリロック",desc:"4桁のPINでChatLabを保護します",statusOn:"有効",statusOff:"無効",disableBtn:"アプリロックを無効にする",disableConfirm:"アプリロックを無効にしますか?現在のPINは削除されます。",manualLock:"今すぐロック"},password:{titleSetup:"PIN設定とアプリロック有効化",titleChange:"PIN変更",labelOld:"現在のPIN",labelNew:"新しいPIN",labelConfirm:"新しいPIN(確認)",btnEnable:"有効にする",errorInvalidPin:"PINは4桁の数字で入力してください",errorMismatch:"PINが一致しません",errorSameAsOld:"新しいPINを現在のものと同じにしないでください",errorFailed:"操作に失敗しました。再試行してください"},autoLock:{title:"自動ロック",idleLabel:"アイドル時に自動ロック",startupLabel:"起動時にロック解除を要求"},lockScreen:{titleLocked:"ChatLab はロックされています",placeholderPassword:"4桁のPINを入力",btnUnlock:"ロック解除",verifying:"検証中...",errorService:"ロック解除に失敗しました。再試行してください",errorWrongPassword:"PINが正しくありません",errorTooManyAttempts:"試行回数が多すぎます。{seconds} 秒後に再試行してください"}},Pae={title:vae,tabs:yae,basic:bae,defaultModel:xae,aiConfig:_ae,storage:wae,ai:kae,aiPrompt:Cae,about:Sae,aiPreprocess:Mae,desensitize:$ae,api:Aae,mcp:Iae,security:Tae},Dae="新しいチャットの記憶を探索する",Eae={file:"ファイルインポート",api:"API インポート",cli:"CLI インポート",autoSyncTitle:"自動同期",autoSyncDescription:"ChatLab が外部データソースから新しいチャット履歴を定期的に取得します。",autoSyncButton:"自動同期を設定",apiPushTitle:"API プッシュ",apiPushDescription:"外部ツール、プラグイン、スクリプトからローカル API 経由で書き込みます。",apiPushButton:"API を設定",agentImportTitle:"AI Agent でインポート",agentImportDescription:"公式 Skill をインストールして、チャット履歴を自動的にインポートします。",manualCliTitle:"CLI を手動で使用",manualCliDescription:"ターミナル操作、バッチスクリプト、繰り返し可能な自動化に適しています。",copyCommand:"コマンドをコピー",viewDocs:"ドキュメントを見る"},Rae={viewExample:"デモを試す",downloading:"デモデータをダウンロード中...",importing:"デモデータをインポート中...",failed:"デモデータの読み込みに失敗しました。ネットワーク接続を確認してから再試行してください。"},Oae={title:"データベースのアップグレードが必要です",description:"新機能をサポートするため、{count} 件のデータベースをアップグレードする必要があります。",note:"アップグレードは通常数秒で完了し、データは失われません。",upgradeContent:"今回のアップグレード内容:",upgradeNow:"今すぐアップグレード",upgrading:"アップグレード中...",failed:"移行に失敗しました",partialFailed:"一部のデータベースのアップグレードに失敗しました",errorHint:"これは通常、データベースファイルの破損が原因です。サイドバーで失敗したセッションを削除し、再度インポートすることをお勧めします。",close:"閉じる",retry:"リトライ"},Lae={title:"インポートするチャットを選択",scanning:"チャットリストをスキャン中...",scanFailed:"スキャンに失敗しました",retry:"リトライ",selectAll:"すべて選択",chatCount:"全 {count} 件のチャット",selected:"{count} 件を選択中",messageCount:"{count} 件のメッセージ",memberCount:"{count} 人のメンバー",empty:"空のチャット",import:"インポート ({count})",noChats:"チャットが見つかりません"},qae={title:"チャット形式を選択",hint:"ファイル形式を自動検出できませんでした。対応するチャット形式を手動で選択してください。",manualSelect:"形式を手動で選択",confirm:"この形式でインポート"},Nae={export:"初心者ガイド"},Fae={website:"公式サイト",terms:"利用規約"},Vae={title:"バージョン履歴",subtitle:"すべてのバージョン更新内容を確認",latest:"最新バージョン",current:"現在のバージョン",total:"全 {count} バージョン",close:"閉じる",loadError:"バージョン履歴の読み込みに失敗しました",retry:"リトライ",types:{feat:"新機能",fix:"バグ修正",refactor:"リファクタリング",docs:"ドキュメント更新",chore:"その他の改善",style:"スタイル改善",ci:"CI/ビルド"}},Bae={tagline:Dae,tabs:Eae,import:{dropHint:"マウスを離してファイルをインポート",clickHint:"クリックして選択、またはチャット記録をドラッグ&ドロップでインポート",multipleHint:"複数ファイルの同時選択・ドラッグに対応しています",selectFiles:"チャット記録ファイルを選択",selectFolder:"エクスポートフォルダを選択",importFolder:"フォルダをインポート",chatRecords:"チャット記録",allFiles:"すべてのファイル",progress:{detecting:"フォーマットを検出中...",reading:"ファイルを読み込み中...",parsing:"メッセージを解析中...",saving:"データベースに書き込み中...",indexing:"検索インデックスを構築中...",done:"インポート完了",error:"インポート中断"},processed:"{count} 件のメッセージを処理しました",viewLog:"インポートログを表示",cannotReadPath:"ファイルパスを読み取れません",errors:{no_file_selected:"ファイルが選択されていません",import_failed:"インポートに失敗しました",import_in_progress:"別のインポートが実行中です。しばらくしてから再試行してください。",unrecognized_format:"認識できないファイル形式です",no_messages:"メッセージを検出できませんでした。ファイル形式が正しいか確認してください",no_chat_selected:"チャットが選択されていません",archive_single_file_required:"アーカイブは1件ずつインポートしてください",archive_unsupported:"このアーカイブ形式はサポートされていません",archive_encrypted:"暗号化されたアーカイブはサポートされていません",archive_corrupt:"アーカイブが破損しているか不完全です",archive_unsafe_path:"アーカイブに安全でないファイルパスが含まれています",archive_limit_exceeded:"アーカイブが安全な処理上限を超えています",google_chat_structure_not_found:"Google Chat のエクスポートデータが見つかりません",google_chat_conversation_incomplete:"Google Chat の会話ファイルが不足しています",import_source_not_found:"インポート元が見つかりません。アーカイブを選択し直してください。",import_source_expired:"インポート元の有効期限が切れました。アーカイブを選択し直してください。",actionHint:"下記の手動マッチングまたはログの確認をお試しください:"},diagnostics:{format:"検出フォーマット:",received:"受信メッセージ:",written:" / 書き込み:",skipped:" / スキップ:"},outcome:{created:"新しいセッションを作成しました",ambiguous:"既存セッションの候補が複数見つかったため、自動結合せず新しいセッションを作成しました",incremental:"{newCount} 件を追加し、重複 {duplicateCount} 件をスキップしました",unchanged:"インポート済みのため、新しいメッセージはありません"},batch:{importing:"一括インポート中",progressCount:"{current} / {total} 件目",cancel:"インポートをキャンセル",waiting:"待機中",skipped:"スキップ済み",success:"インポート成功",created:"新しいセッションを作成しました",ambiguous:"候補が複数見つかったため、新しいセッションを作成しました",incremental:"{newCount} 件追加、重複 {duplicateCount} 件スキップ",unchanged:"インポート済み、新規メッセージなし",completed:"一括インポート完了",summary:"成功 {success} 件、失敗 {failed} 件、スキップ {cancelled} 件",view:"表示"},options:{mergeImport:"結合インポート",mergeImportHint:"チェックすると、複数ファイルが1つのチャット記録に結合されます"},merge:{importing:"結合中",parsing:"ファイルを解析中...",merging:"メッセージを結合中...",completed:"結合完了",completedHint:"{count} 件のファイルを結合しました",messageCount:"{count} 件のメッセージ",failed:"結合に失敗しました"}},demo:Rae,migration:Oae,chatSelector:Lae,formatSelector:qae,quickStart:Nae,footer:Fae,changelog:Vae},zae={loading:"分析データを読み込み中...",loadError:"セッションデータを読み込めません"},Hae={loading:"分析データを読み込み中...",loadError:"セッションデータを読み込めません"},Uae={overview:"概要",view:"インサイト",ranking:"ランキング",aiChat:"AIチャット",memory:"メモリー",lab:"ラボ",debug:"Debug"},jae={sqlTables:"SQLテーブル",basicTools:"基本ツール",tableBrowser:{chatDb:"チャット DB",aiDb:"AI会話 DB",rowCount:"{count} 行",page:"{current} / {total} ページ",refresh:"更新",noData:"データなし",editRow:"編集",deleteRow:"行を削除",confirmDelete:"この行を削除してもよろしいですか?",allConversations:"すべての会話",copyCell:"選択項目をコピー",copyRow:"行をコピー (JSON)",clearDebugContext:"デバッグコンテキストをクリア",confirmClearDebug:"すべてのメッセージの debug_context を削除しますか?この操作は取り消せません。"}},Wae={comingSoon:"メモリー機能は近日公開予定です。お楽しみに"},Kae={viewChatRecord:"チャット履歴を見る",semanticIndex:"セマンティックインデックス",incrementalImport:"追加インポート",memberManagement:"メンバー管理",more:"その他"},Gae={title:"チャット記録を追加",description:"「{name}」に追加するチャット履歴ファイルを選択してください。重複は自動で除外されます。",homeAutoImportHint:"ホーム画面で自動差分インポートを利用できるようになりました。新しいチャット履歴がある場合は、ホーム画面にドラッグ&ドロップするだけで追加できます。",dropHint:"クリックして選択、またはファイルをここにドラッグ",analyzing:"ファイルを分析中...",totalInFile:"ファイル内のメッセージ数",newMessages:"新規メッセージ",duplicates:"重複メッセージ",noNewMessages:"新しいメッセージはありません。すべて取り込み済みです",importing:"インポート中...",import:"{count} 件を取り込む",success:"インポート成功",successDetail:"{count} 件の新しいメッセージを追加しました",failed:"インポートに失敗しました"},Yae={view:{typeAnalysis:"タイプ",timeAnalysis:"時間",topic:"トピック",groupRelationships:"グループ関係",relationship:"関係",languagePreference:"言語傾向"},ranking:{overall:"総合ランキング",keyword:"キーワード"},quotes:{hotRepeat:"盛り上がった復唱",catchphrase:"口癖"},groupRelationships:{mentionGraph:"{'@'} 関係図",mentionRanking:"{'@'} ランキング",proximity:"発言の近接度"},member:{nicknameHistory:"ニックネーム変更履歴"}},Xae={messageTypeDistribution:"メッセージタイプ分布",memberDistribution:"メンバー別発言割合",memberRanking:"メンバーランキング",others:"その他",memberComparison:"双方のメッセージ割合",statCards:{dailyAvgMessages:"1日あたりのメッセージ",messagesCount:"{count} 件",daysCount:"合計 {count} 日間",imageMessages:"画像メッセージ",imagesCount:"{count} 枚",peakHour:"最も活発な時間帯:",mostActiveWeekday:"最も活発な曜日",messagesOnDay:"{count} 件のメッセージ",weekendActivity:"週末の活発度",weekendRatio:"週末メッセージの割合",mostActiveDate:"最も活発な日",consecutiveStreak:"連続日数",daysStreak:"{count} 日間",longestStreak:"最長連続アクティブ",activityRate:"アクティブ率",activeDaysRatio:"メッセージのある日の割合",lateNightChat:"深夜チャット",lateNightRatio:"全メッセージの {ratio}%"},dailyTrend:{title:"日別メッセージトレンド"},identity:{privateChat:"プライベートチャット",groupChat:"グループチャット",totalMessages:"メッセージ総数",durationDays:"期間日数",activeDays:"アクティブ日数",dailyAvgMessages:"日平均メッセージ"},tools:"よく使うツール"},Jae={miniMode:"ミニモード",exitMini:"ミニモードを終了"},Qae={title:"チャット記録をエクスポート",selectOutputDir:"保存先を選択",format:"形式"},Zae={timeRange:"期間",allTime:"すべて",today:"今日",lastWeek:"過去7日間",lastMonth:"過去1ヶ月",last3Months:"過去3ヶ月",lastYear:"過去1年",customTime:"カスタム",exportSuccess:"エクスポートに成功しました",exportFailed:"エクスポートに失敗しました",exportPreparing:"エクスポート準備中..."},ene={groupChat:zae,privateChat:Hae,tabs:Uae,debug:jae,memory:Wae,tooltip:Kae,incremental:Gae,subTabs:Yae,overview:Xae,toolsPanel:Jae,messageExport:Qae,filter:Zae},tne={searchPlaceholder:"チャット名を検索",searchResult:"{count} / {total} 件を検出",ownerIssues:"{count} 件の会話で自分が未設定です",ownerStatus:{missing:"未設定",unresolved:"要確認"},noSearchResult:"一致するチャット履歴が見つかりません",selectAll:"すべて選択",shiftClickHint:"Shiftキーを押しながらクリックで範囲選択できます",selected:"{count} 件を選択中",empty:"チャット履歴がありません",delete:"選択した項目を削除",confirmTitle:"削除の確認",confirmMessage:"選択した {count} 件のチャット履歴を削除しますか?この操作は取り消せません。",deleting:"削除中...",columns:{name:"名前",platform:"プラットフォーム",owner:"自分",messages:"メッセージ数",summaries:"AI要約",aiChats:"AI チャット",importedAt:"インポート日時"},clickToEdit:"クリックして名前を編集",merge:"選択項目を結合",mergeHint:"結合するには同じチャット種別の履歴を 2 件以上選択してください",mergeConfirmTitle:"チャット履歴を結合",mergeConfirmMessage:"選択した {count} 件のチャット履歴を結合し、新しい統合履歴を作成します。",deleteOriginalsLabel:"結合後に元のチャット履歴を削除する",mergeRiskWarning:"重要な警告:削除は元に戻せず、プラットフォーム間の文脈差により意味が混在する可能性があります。続行前に元データをバックアップしてください。",mergeSteps:{exporting:"チャット履歴をエクスポート中...",parsing:"ファイルを解析中...",checking:"競合を検出中...",merging:"データを結合中...",cleaning:"一時ファイルを削除中..."},mergeSuccess:"{count} 件のチャット履歴を結合しました",mergeError:"結合に失敗しました:{error}",mergedSuffix:"結合"},ane={batchManage:tne},nne={name:"DeepSeek"},rne={name:"通義千問"},sne={name:"Gemini"},one={name:"MiniMax"},ine={name:"GLM"},lne={name:"Kimi"},cne={name:"豆包"},une={name:"SiliconFlow"},dne={name:"Groq"},fne={name:"OpenRouter"},pne={name:"xAI"},mne={deepseek:nne,qwen:rne,gemini:sne,minimax:one,glm:ine,kimi:lne,doubao:cne,siliconflow:une,groq:dne,openrouter:fne,xai:pne,"openai-compatible":{name:"サードパーティ"}},gne={chatExplorer:"対話で探索",sqlLab:"SQL ラボ"},hne={scrollToBottom:"下へ移動",input:{placeholderWithSlash:"質問を入力、または / でスキル、{'@'} でメンバーを選択...",placeholderWithActiveSkill:"/{name} を選択済みです。具体的な質問を入力してください...",slashHint:"/ でスキルを選択",useSkill:"スキルを選ぶ",mentionHint:"{'@'} でメンバーを選択",mentionEmpty:"一致するメンバーがいません",mentionEmptyHint:"ニックネーム、別名、アカウントで検索できます",slashEmpty:"一致するスキルがありません",slashEmptyHint:"スキル管理を開いて内蔵スキルを読み込むか、カスタムスキルを作成してください",manageSkills:"スキルを管理",previewTagsLabel:"タグ",previewToolsLabel:"ツール",previewUnavailable:"プレビューできるスキルプロンプトがありません",quickAsk:"クイック質問",editQuickAsk:"クイック質問を編集",send:"送信",needMoreThanSkill:"スキルを選んだだけでは送信できません。具体的な質問を入力してください。",needQuestion:"質問を入力してから送信してください"},fork:{success:"会話をフォークしました",failed:"会話のフォークに失敗しました"},backgroundTask:{runningShort:"進行中",runningTitle:"AI がバックグラウンドで推論中です",runningDescription:"前の質問がまだ処理中です。完了を待つか、先に停止してください。",blockedAction:"現在の回答はまだ生成中です。完了を待つか、手動で停止してください。",return:"戻って確認"},message:{copy:{tooltip:"Markdown をコピー",success:"Markdown をクリップボードにコピーしました",failed:"Markdown のコピーに失敗しました"},process:{label:"実行過程",processing:"処理中",processed:"処理済み"},toolResult:{view:"結果を表示",title:"AI に送信されたツール結果",copy:"結果をコピー",copySuccess:"ツール結果をコピーしました",copyFailed:"ツール結果のコピーに失敗しました",displayTruncated:"この履歴結果は切り詰められた版のみ保存されています。元のターンでは AI がより多くの内容を見ていた可能性があります。"},edit:{tooltip:"編集して再生成",submit:"送信",overwriteSubsequent:"以降のすべての会話を上書き"},fork:{tooltip:"ここから会話をフォーク"},chart:{expand:"大きなチャートを開く",empty:"データがありません",rows:"{count} 行のデータ",truncated:"切り捨て済み"},generating:"回答を作成中...",summary:{label:"コンテキスト要約",info:"以前の会話がコンテキスト節約のため要約に圧縮されました"},plan:{label:"分析計画",evidenceNeeded:"必要な証拠",suggestedTools:"推奨ツール",successCriteria:"成功基準",noTools:"なし"},think:{labels:{think:"思考",analysis:"分析",reasoning:"推論",reflection:"振り返り",planValidation:"計画を生成",other:"思考({tag})"},loading:"思考中...",duration:"{seconds}秒"},toolParams:{keywords:"キーワード",time:"時間",getMessages:"{count} 件のメッセージを取得",limit:"{count} 件に制限",contextWithMessages:"{msgCount} 件のメッセージの前後各 {contextSize} 件のコンテキスト",context:"前後各 {size} 件のコンテキスト",topMembers:"上位 {count} 名のメンバー",search:"検索",getMemberList:"メンバー一覧を取得",memberId:"メンバーID",timeStats:{hourly:"時間別",weekday:"曜日別",daily:"日別"}}},thinking:{processingResult:"結果を整理中",called:"実行したツール:",analyzing:"問題を分析中...",compressing:"コンテキストを圧縮中..."},statusBar:{model:{notConfigured:"AI 未設定"},agent:{label:"Agent",contextTokens:"コンテキスト",phase:{compressing:"圧縮中",preparing:"準備中",thinking:"思考中",tool_running:"ツール実行中",responding:"応答中",completed:"完了",aborted:"停止",error:"エラー"},phaseShort:{compressing:"圧縮",preparing:"準備",thinking:"思考",tool_running:"ツール",responding:"生成",completed:"完了",aborted:"停止",error:"エラー"}},thinking:{title:"思考強度",tooltip:"モデルの思考強度を設定",level:{default:"デフォルト",off:"オフ",minimal:"極小",low:"低",medium:"中",high:"高",xhigh:"最大",auto:"自動"}},tokenUsageTitle:"累計 Token 使用量",cacheHit:"キャッシュヒット",export:{label:"エクスポート",title:"現在のチャットをエクスポート"},log:{label:"ログ",title:"現在の AI ログファイルを開く",openFailed:"ログを開けませんでした",openFailedDesc:"しばらくしてから再度お試しください"}},conversation:{newChat:"新規チャット",newConversation:"新規チャット",empty:"履歴はありません",startNew:"新しいチャットを始める",titlePlaceholder:"タイトルを入力...",group:{last7Days:"過去 7 日間",last30Days:"過去 30 日間"},rename:"名前を変更",copyId:"ID をコピー",delete:"削除",export:{createdAt:"作成日時",user:"ユーザー",assistant:"AI アシスタント",noMessages:"会話にメッセージがありません"}},error:{title:"処理に失敗しました",detail:"エラー詳細",viewDetail:"詳細を表示",requestUrl:"リクエストURL",statusCode:"ステータスコード",responseBody:"レスポンスボディ",responseHeaders:"レスポンスヘッダー",requestBody:"リクエストボディ",name:"エラー名",message:"エラーメッセージ",stack:"スタックトレース",cause:"エラー原因",provider:"プロバイダー",copyAll:"すべてコピー",copied:"クリップボードにコピーしました",unknown:"不明なエラー"},dataSource:{title:"データソース",keywords:"キーワード:",empty:"データがありません",emptyHint:"質問を送信すると、関連する記録がここに表示されます",totalRecords:"全 {count} 件の記録",loadMore:"さらに読み込む"},evidence:{title:"根拠",query:"質問",criteria:"判定基準",empty:"明確な根拠は見つかりませんでした",totalSources:"全 {count} 件のソース",mode:{auto:"自動",hybrid:"セマンティック + キーワード",semantic:"セマンティック検索",keyword:"キーワード検索"},group:{included:"根拠に算入",excluded:"除外",uncertain:"不確実"},warning:{criteria_missing:"判定基準が未指定のため、グループ分けは保守的です",keywords_missing_for_hybrid:"キーワードが未指定のため、セマンティック検索のみに切り替えました",keywords_required_for_keyword_mode:"キーワードモードにはキーワードが必要です",semantic_unavailable:"セマンティックインデックスが利用できないため、キーワード検索を使用しました",keyword_unavailable:"キーワード検索が利用できません",semantic_partial:"セマンティック検索の結果が不完全な可能性があります"}}},vne={editor:{errorEmptySQL:"SQL 文を入力してください",placeholder:"SQL クエリを入力...",tip:"ヒント:左側の列名をダブルクリックすると SQL に挿入できます",history:"履歴",generateAndRun:"生成して実行",switchToSQLMode:"SQL 入力モードに切り替え",switchToPromptMode:"Prompt 入力モードに切り替え",run:"実行"},schema:{tables:"テーブル",doubleClickToInsert:"ダブルクリックで SQL に挿入",primaryKey:"主キー"},result:{queryError:"クエリエラー",rows:"{count} 行",readableTime:"タイムスタンプを日付に変換",viewChat:"チャット履歴を見る",summarize:"要約する",pageSize:"表示件数",emptyResult:"クエリ結果が空です",initialState:"SQL 文を入力して実行すると結果が表示されます",initialHint:"読み取り専用クエリ(SELECT / WITH)のみ対応しています。速度向上のため LIMIT の指定をおすすめします",summaryTitle:"AI 結果サマリー",analyzing:"AI が結果を分析中...",errorSummary:"要約に失敗しました"},generate:{placeholder:"例:発言数が最も多い上位10名のメンバーを検索、1日あたりのメッセージ数を集計、「旅行」というキーワードを含むメッセージを検索...",errorEmptyPrompt:"クエリ要件を入力してください",errorGenerate:"AI 生成に失敗しました",errorTokenLimit:"モデル出力がトークン上限に達し、完全な応答を生成できませんでした(思考にトークンを消費しすぎた可能性があります)",aiOutput:"AI 出力",thinking:"思考中…",thinkingProcess:"思考プロセス",waitingAI:"AI の応答待ち...",defaultPromptPrivate:"この個人チャットの直近1年間について、2人それぞれのメッセージ総数・割合・アクティブ日数・アクティブ日あたり平均件数・初回発言時刻・最終発言時刻を集計し、メッセージ総数の降順で表示してください。",defaultPromptGroup:"このグループチャットの直近1年間について、各メンバーのメッセージ総数・割合・アクティブ日数・アクティブ日あたり平均件数・テキスト比率を集計し、表示名付きでメッセージ総数の降順上位20名を返してください。"},history:{title:"AI 生成履歴",execute:"実行",empty:"履歴はありません",justNow:"たった今",minutesAgo:"{count} 分前",hoursAgo:"{count} 時間前",today:"今日"}},yne={selector:{title:"アシスタントを選んでチャットを始めましょう",heroTitlePrefix:"",heroTitleSuffix:"と話しかける",subtitle:"各アシスタントは得意分野が異なります。目的に合うものを選んでください",noAssistants:"現在のシーンで利用可能なアシスタントはありません",manage:"アシスタント管理",addNew:"アシスタントを追加"},config:{viewTitle:"設定を確認",createTitle:"アシスタントを作成",editTitle:"アシスタント設定",betaWarning:"現在はベータ版のため、設定仕様が今後変わる可能性があります。プロンプトや関連設定は控えを残してください。",tabs:{basic:"基本設定",tools:"ツール管理"},name:"名前",systemPrompt:"システムプロンプト",chatType:"対応チャットタイプ",chatTypeAll:"すべて",chatTypeGroup:"グループチャット",chatTypePrivate:"個人チャット",locale:"対応言語",localeHint:"未選択なら全言語が対象です",presetQuestions:"プリセット質問",addQuestion:"質問を追加...",coreTools:"コアツール",coreToolsHint:"基本データ取得ツール、常に有効、無効化不可",analysisTools:"分析ツール",analysisToolsHint:"必要に応じて有効化。チェックしたツールのみ AI が利用可能",selectAll:"すべて選択",deselectAll:"すべて解除",resetDefault:"デフォルトに戻す",create:"作成"},market:{title:"アシスタント管理",tabs:{local:"ローカル",market:"マーケット"},localHint:"インポート済みのアシスタントを管理・設定・削除",marketHint:"アシスタントマーケットを閲覧し、インポートして使用・カスタマイズ",default:"デフォルト",reimport:"再インポート",imported:"インポート済み",import:"インポート",importing:"インポート中...",importSuccess:"インポート成功",importFailed:"インポート失敗",viewConfig:"設定を見る",duplicate:"複製",addAssistant:"アシスタントを追加",noLocal:"インポート済みのアシスタントはありません",noCatalog:"利用可能なアシスタントがありません。ネットワーク接続を確認してください",loading:"読み込み中...",loadFailed:"読み込みに失敗しました。ネットワーク接続を確認してください",retry:"再試行"},fallbackName:"アシスタント",duplicateSuffix:"(コピー)",upgrade:{title:"デフォルトアシスタントを更新できます",message:"現在のデフォルトアシスタントは古いテンプレートを元にしており、カスタマイズが含まれています。ChatLab は「{backupName}」として保存してから最新版へ切り替えます。",backupName:"{name}(旧版バックアップ)",skipHint:"スキップすると、テンプレートが次に更新されるまで表示されません。",skip:"スキップ",skipFailed:"更新をスキップできませんでした",confirm:"バックアップして更新",success:"デフォルトアシスタントを更新しました",successDescription:"以前の設定を「{name}」として保存しました",failed:"更新に失敗しました"},toast:{loadFailed:"読み込みに失敗しました",createSuccess:"作成しました",createFailed:"作成に失敗しました",saveSuccess:"保存しました",saveFailed:"保存に失敗しました",resetSuccess:"デフォルトに戻しました",resetFailed:"リセットに失敗しました",unknownError:"不明なエラー"},builtinToolDesc:{get_chat_overview:"チャット概要情報を取得",search_messages:"チャットメッセージを検索",deep_search_messages:"チャットメッセージを深層検索",get_recent_messages:"最近のメッセージを取得",get_message_context:"メッセージのコンテキストを取得",get_conversation_between:"2人のやり取りを取得",get_members:"メンバー一覧を取得",get_schema:"データベーススキーマを確認",get_member_stats:"メンバー統計を取得",get_member_name_history:"メンバーの名前変更履歴を取得",get_time_stats:"時間統計を取得",get_segment_messages:"セグメントメッセージを取得",get_segment_summaries:"セグメント要約を取得",message_type_breakdown:"メッセージ種別分布",peak_chat_hours_by_member:"メンバー活動時間帯",member_activity_trend:"メンバー活動トレンド",silent_members:"沈黙メンバー検出",reply_interaction_ranking:"返信インタラクションランキング",mutual_interaction_pairs:"相互インタラクションペア",member_message_length_stats:"メッセージ長さ統計",unanswered_messages:"未返信メッセージ",daily_active_members:"日別アクティブ人数推移",conversation_initiator_stats:"話題開始者統計",activity_heatmap:"活性度ヒートマップ",response_time_analysis:"応答時間分析",keyword_frequency:"高頻度キーワード統計",render_chart:"動的チャート生成",semantic_search_current_chat:"チャット履歴を検索"}},bne={market:{title:"スキル管理",tabs:{local:"ローカル",market:"マーケット"},localHint:"インポート済みのスキルを管理・設定・削除",marketHint:"スキルマーケットを閲覧し、インポートして使用・カスタマイズ",reimport:"再インポート",imported:"インポート済み",import:"インポート",importing:"インポート中...",importSuccess:"インポート成功",importFailed:"インポート失敗",noLocal:"インポート済みのスキルはありません",noCatalog:"利用可能なスキルがありません。ネットワーク接続を確認してください",addSkill:"カスタムスキルを作成",loading:"読み込み中...",loadFailed:"読み込みに失敗しました。ネットワーク接続を確認してください",retry:"再試行"},active:{label:"手動呼び出しスキル:{name}"}},xne={toolTest:{coreTools:"コアツール",analysisTools:"分析ツール",parameters:"パラメータ",arrayPlaceholder:"カンマで区切って入力",execute:"実行",cancel:"キャンセル",elapsed:"所要時間 {ms}ms",result:"実行結果",truncated:"結果が大きすぎるため、切り捨てて表示しています。limit パラメータを小さくしてください。"}},_ne={tab:gne,chat:hne,sqlLab:vne,assistant:yne,skill:bne,lab:xne},wne={loading:"単語頻度を分析中...",stats:{wordsLabel:"総単語数",clickHint:"ヒント:ワードクラウドをクリックすると関連メッセージを表示できます"},config:{maxWords:"表示単語数",sizeScale:"フォントサイズ",userFilter:"ユーザーフィルター",posFilter:"品詞フィルター",enableStopwords:"ストップワードを除外",dict:"辞書"},size:{small:"小",medium:"中",large:"大",xlarge:"特大"},posFilter:{all:"すべての品詞",meaningful:"主要品詞",custom:"カスタム",customHint:"品詞を指定",selectMeaningful:"主要品詞",selectAll:"すべて選択",clearAll:"クリア"},empty:{title:"ワードクラウドデータがありません",description:"現在の絞り込み条件では、ワードクラウドを作れるほどテキストメッセージがありません"},dict:{zhCN:"簡体字中国語",zhTW:"繁体字中国語",download:"辞書をダウンロード","download_zh-CN":"簡体字辞書をダウンロード","download_zh-TW":"繁体字辞書をダウンロード",needDownload:"ワードクラウドは内蔵トークナイザーの結果で表示されています。中国語辞書をダウンロードすると分かち書きの精度が向上します。",downloadHint:"~8MB",downloadSuccess:"辞書のダウンロードが完了しました",downloadFailed:"辞書のダウンロードに失敗しました",promptTitle:"繁体字中国語辞書",promptDescription:"繁体字中国語をご使用中です。ワードクラウドの精度を上げるため、繁体字辞書のダウンロードをお勧めします。今すぐダウンロードしますか?(約8MB)",promptDownload:"今すぐダウンロード",promptLater:"後で"}},kne={title:"キーワードランキング",description:"グループチャットのキーワード使用ランキングを分析します。カスタムランキングも作成できます",countTemplate:"全 {count} 名のメンバー",templateLabel:"テンプレート:",newTemplate:"+ 新規作成",searchPlaceholder:"入力して検索",clear:"クリア",templateHint:"* テンプレートを右クリックで編集・削除できます",keyword:"キーワード",ranking:"ランキング",multiColorMode:"マルチカラーモード",times:"{count}回",timesWithPercent:"回 ({percent}%)",loading:"データを分析中...",empty:"データがありません。キーワードを追加するかテンプレートを切り替えてください",contextMenu:{edit:"編集",delete:"削除"},modal:{createTitle:"テンプレートを作成",editTitle:"テンプレートを編集",templateName:"テンプレート名",templateNamePlaceholder:"例:ポジティブ",keywords:"キーワード",keywordPlaceholder:"入力して Enter で追加",update:"更新"},templates:{laugh:{name:"笑い度",keywords:"笑,ウケる,草,www,lol,ワロタ,233",description:"グループ内の笑い指数を集計"},sad:{name:"落ち込み度",keywords:"辛い,しんどい,泣いた,無理,きつい,疲れた",description:"グループ内のネガティブ感情を集計"},praise:{name:"褒め上手",keywords:"すごい,さすが,天才,神,やばい,尊い,最高",description:"グループで最も褒め上手なメンバーを集計"},slacker:{name:"サボり",keywords:"サボり,帰りたい,お腹空いた,眠い,仕事したくない,定時",description:"グループで最も退勤を待ち望んでいるメンバーを集計"},gossip:{name:"ゴシップ好き",keywords:"マジで,詳しく,本当に,えぇ,やばい,ありえない",description:"グループで最もゴシップ好きなメンバーを集計"},polite:{name:"礼儀正しさ",keywords:"ありがとう,すみません,了解,お疲れ様,よろしく,恐れ入ります",description:"グループで最も礼儀正しいメンバーを集計"},curious:{name:"質問好き",keywords:"なぜ,なんで,どうやって,わからない,教えて",description:"グループで最も質問が多いメンバーを集計"}}},Cne={title:"盛り上がった復唱",loading:"リピートデータを読み込み中...",description:"1 回の復唱で最も多くの人が参加したフレーズ",countTemplate:"全 {count} 件の復唱",people:"{count}人",times:"{count} 回",viewChat:"チャット履歴を見る",empty:"リピートデータがありません"},Sne={heroPrefix:"",heroMiddle:"件のメッセージを分析し、",heroMiddleSecond:"その結果、",heroSuffix:"個のユニークな単語が見つかりました",topTopicsPrefix:"よく話すトピック:",hotTopic:"注目トピック",hotTopicDesc:"{count} 回出現",richness:"語彙の豊かさ",richnessValue:"{value}%",richnessDesc:"ユニーク {unique} / 合計 {total}",chatStyle:"チャットスタイル",styleEncyclopedia:"百科事典タイプ",styleEncyclopediaDesc:"名詞が多く、人・場所・物の話題が中心",styleAction:"アクション派",styleActionDesc:"動詞が多く、行動や計画の話題が中心",styleExpressive:"表現豊かタイプ",styleExpressiveDesc:"形容詞が多く、感情表現が豊か",styleBalanced:"バランス型",styleBalancedDesc:"多様なトピックでバランスの取れた会話",expressionStyle:"表現スタイル",expressionCasual:"カジュアル",expressionCasualDesc:"短い言葉でリラックスした表現",expressionFormal:"フォーマル",expressionFormalDesc:"丁寧な言葉遣いで正確な表現",expressionMixed:"ミックス",expressionMixedDesc:"カジュアルとフォーマルの混合",watermark:"トピックプロフィール",sharedTopics:"共通のトピック"},Mne={title:"グループメンバーの口癖",description:"各メンバーを象徴する繰り返しフレーズを確認できます",memberTitle:"{name}の口癖",memberDescription:"このメンバーがよく使うフレーズを回数順に表示します",loading:"口癖データを分析中...",times:"{count}回",memberCount:"全{count}人",phraseCount:"全{count}件の口癖",viewChat:"関連メッセージを表示",empty:{title:"口癖データがありません"}},$ne={loading:"言語傾向を分析中...",empty:"言語分析に十分なテキストメッセージがありません",card:{diversityTitle:"語彙の深さ",diversityDesc:"ユニーク単語の割合",styleTitle:"チャット気質",styleDesc:"品詞分布に基づく表現スタイル",punctTitle:"句読点パーソナリティ",punctDesc:"最も使われる句読点スタイル",watermark:"言語傾向 · Language Preference",radarFactual:"事実性",radarActive:"行動力",radarDescriptive:"描写力",radarAffable:"親和力",radarIntense:"強調度",radarNoun:"名詞",radarVerb:"動詞",radarAdj:"形容詞",radarModal:"終助詞",radarAdv:"副詞"},catchphrasePK:{title:"口癖バトル",sharedCount:"{count} 個の共通口癖",hint:"クリックで関連メッセージを表示。ピンク枠は共通の口癖です。"},pos:{title:"品詞ポートレート",styleEncyclopedia:"百科事典タイプ",styleAction:"行動派",styleExpressive:"感性派",styleBalanced:"バランス型"},modal:{title:"終助詞プロフィール",toneSoft:"やわらかい",toneCurious:"好奇心旺盛",toneCasual:"カジュアル",toneCalm:"落ち着き",toneMixed:"多彩なスタイル",empty:"終助詞データがありません"},punctuation:{title:"句読点パーソナリティ",none:"句読点なし",personalityDeep:"深い思考型",personalityPassionate:"情熱的",personalityCurious:"好奇心型",personalityCheerful:"明るい",personalityFreeflow:"自由型",personalityPrecise:"几帳面",empty:"句読点データがありません"}},Ane={wordcloud:wne,keywords:kne,hotRepeat:Cne,topicProfile:Sne,catchphrase:Mne,languagePreference:$ne},Ine={title:"あなたはどなたですか?",subtitle:"このチャットでのあなたの身元を選択してください",description:"設定するとあなたのメッセージがチャット履歴ビューアの右側に表示され、AI との会話でもあなた本人として認識され、分析がより正確になります。同じプラットフォームの他のチャットにも自動的に適用されます。",searchPlaceholder:"メンバーを検索",noMatch:"一致するメンバーが見つかりません",empty:"メンバーデータがありません",loadError:"メンバーデータの読み込みに失敗しました。再試行してください",later:"後で",dontRemind:"このチャットでは再通知しない",save:"保存",clear:"現在の選択をクリア",saved:"あなたの身元を設定しました",appliedToOthers:"同じプラットフォームの {count} 件のチャットに自動適用しました",saveFailed:"身元の設定に失敗しました",currentOwner:"私は:{name}",choose:"自分を選択",change:"変更",helper:"設定すると AI があなたを認識し、分析がより正確になります"},Tne={title:"メンバー管理",description:"全 {count} 名のメンバー。別名の追加やメンバーの削除ができます",searchPlaceholder:"グループニックネーム、アカウント名、ID、または別名で検索",noMatch:"一致するメンバーが見つかりません",empty:"メンバーデータがありません",table:{accountName:"アカウント名",groupNickname:"グループニックネーム",messageCount:"メッセージ数",lastMessageTime:"最終発言",customAlias:"カスタム別名",actions:"操作"},aliasPlaceholder:"入力して Enter で追加",delete:"削除",deleteSelected:"選択項目を削除",mergeSelected:"選択を結合",selectedCount:"{count} 名を選択中",pagination:"{start} - {end} 件表示、全 {total} 名のメンバー",tip:"ヒント:別名を追加すると、チャット履歴の相手をより正確に識別できます。別名は検索や AI 分析で使用されます。",mergeModal:{title:"メンバーを結合しますか?",content:"{source}({sourceCount} 件)を {target}({targetCount} 件)へ結合します。結合後の名前は、メッセージ数が多い側を優先して保持します。",hint:"この操作は元に戻せません。結合される側のメッセージはすべて保持側に移動します。",cancel:"キャンセル",confirm:"結合を確認"},batchDeleteModal:{title:"選択したメンバーを削除しますか?",content:"選択した {count} 名のメンバーと、その {messageCount} 件のメッセージを削除します。この操作は元に戻せません。"},modal:{title:"メンバーを削除しますか?",content:"メンバー {name} とその {count} 件のメッセージを削除します。この操作は元に戻せません。",cancel:"キャンセル",confirm:"削除を確認"}},Pne={note:"備考:QQ の旧バージョンクライアントはチャット履歴を txt 形式でエクスポートできます。この形式では最も正確なニックネーム変更履歴が取得できます",title:"ニックネーム変更履歴",loading:"読み込み中...",hasChanges:"{count} 名のメンバーがニックネームを変更しました",noChanges:"ニックネームを変更したメンバーはいません",current:"現在",empty:"このグループのすべてのメンバーはニックネームを変更していません",loadingText:"ニックネーム変更履歴を読み込み中..."},Dne={loading:"{'@'} インタラクションデータを分析中...",rankingTitle:"{'@'} インタラクションランキング",rankModes:{mentioners:"送った {'@'}",mentioned:"受け取った {'@'}"},topMentionersDescription:"送った {'@'} の回数順",topMentionedDescription:"受け取った {'@'} の回数順",times:"回",emptyTitle:"📱 {'@'} インタラクション分析",empty:"{'@'} インタラクションデータがありません"},Ene={ownerPrompt:Ine,list:Tne,nicknameHistory:Pne,relationships:Dne,private:{title:"会話メンバー",description:"全 {count} 名のメンバー。検索や AI 分析に使用する別名を追加できます"}},Rne={title:"チャット履歴ビューア",loadedCount:"{count} 件のメッセージを読み込みました"},One={loading:"読み込み中...",noMessages:"メッセージがありません",tryAdjustFilter:"フィルター条件を調整してみてください",loadingMore:"さらに読み込み中...",scrollUpForMore:"↑ 上にスクロールしてさらに読み込む",scrollDownForMore:"↓ 下にスクロールしてさらに読み込む"},Lne={messageId:"メッセージ ID",memberPlaceholder:"メンバー",keywordsPlaceholder:"キーワード(複数はカンマ区切り、Enter で検索)",startDate:"開始日",endDate:"終了日",reset:"リセット",filter:"フィルター"},qne={timeline:"要約",noSessions:"要約がありません",generateSummary:"要約を作成",tooFewMessages:"メッセージが少なすぎます"},Nne="要約の生成に失敗しました",Fne="不明なエラー",Vne={title:"要約をまとめて作成",trigger:"一括生成",byRange:"範囲で選択",byTime:"時間で選択",selectRange:"範囲を選択",rangeStart:"最古",rangeInfo:"約",sessionsUnit:"セッション",rangeEnd:"最新",timeRange:"時間範囲を選択",today:"今日",yesterday:"昨日",week:"直近7日間",month:"直近30日間",custom:"カスタム",found:"見つかった",hasSummary:"件は要約済み",tooFewMessages:"件はメッセージ不足",pending:"未生成:",unit:"件",noPending:"生成可能なセッションがありません",noSessions:"この時間範囲にセッションがありません",checking:"確認中...",loading:"読み込み中...",progress:"進捗",session:"セッション",statusSuccess:"成功",statusSkipped:"スキップ",statusFailed:"失敗",success:"成功:",failed:"失敗:",skipped:"スキップ:",start:"生成開始",stop:"停止"},Bne={viewContext:"コンテキストを表示",replyTo:"返信",expandMessyContent:"全文を表示",collapseMessyContent:"折りたたむ"},zne={drawer:Rne,messageList:One,filter:Lne,timeline:qne,summaryFailed:Nne,summaryUnknownError:Fne,batchSummary:Vne,messageItem:Bne},Hne={rankingView:"ランキング表示",memberView:"メンバー表示",matrixView:"マトリクス表示",modelSettings:"モデル設定",lookAhead:"隣接数",lookAheadDesc:"各メッセージの後ろ側で何人分の発言を対象にするか",decaySeconds:"時間減衰(秒)",decaySecondsDesc:"値が大きいほど遠いメッセージの重みが高くなる",applySettings:"設定を適用",noData:"データがありません",selectMember:"メンバーを選択",selectMemberHint:"左側からメンバーを選択してください",msgCount:"発言数",relationCount:"関係数",relationsByIntimacy:"発言近接度ランキング",noRelations:"関係データがありません",intimacy:"近接度",interactionRanking:"やり取りランキング",score:"近接度",coOccurrence:"共起",times:"回",totalMembers:"グループメンバー",totalMessages:"メッセージ総数",involvedMembers:"参加メンバー",edgeCount:"関係数"},Une={typeDistribution:"メッセージタイプ分布",hourlyDistribution:"時間帯別分布",weekdayDistribution:"曜日別分布",monthlyDistribution:"月別分布",yearlyDistribution:"年別分布",timeHeatmap:"時間ヒートマップ",heatmapHint:"チャット時間帯の傾向を表示",calendarHeatmap:"メッセージカレンダー",calendarHint:"日別メッセージ分布",calendarTooltipMessages:"メッセージ",lengthDetailTitle:"短文メッセージ分布(1-25文字)",lengthDetailHint:"文字ごとの統計",lengthGroupedTitle:"文字数区間分布",lengthGroupedHint:"5文字ごとにグループ化",noTextMessages:"テキストメッセージがありません",noData:"データがありません",profile:{avgLengthUnit:"{count} 文字/件",textExpression:"テキスト表現力",textExpressionDesc:"最長メッセージ {count} 文字",mediaRichness:"メディアの豊かさ",shortMaster:"短文マスター",shortMasterDesc:"5文字以下 {count} 件",essayLover:"長文好き",essayLoverDesc:"{threshold}文字以上のメッセージ",typeDistribution:"メッセージ種類",heroLine1Prefix:"合計で",heroLine1Suffix:"件のメッセージを交わしました"},typeCard:{watermark:"タイプレポート",nonTextPrefix:"テキスト以外に、",nonTextImage:"画像",nonTextEmoji:"スタンプ",nonTextVoice:"音声",nonTextVideo:"動画",nonTextFile:"ファイル",nonTextLink:"リンク",unitImage:"枚の画像",unitEmoji:"個のスタンプ",unitVoice:"件の音声",unitVideo:"本の動画",unitFile:"個のファイル",unitLink:"個のリンク"},timeCard:{hourlyDistribution:"24h 分布",watermark:"時間レポート",heroDaysIn:"日間で",heroDaysActive:"日アクティブ",heroAvgPrefix:"平均",heroAvgSuffix:"件/日",personalityNightOwl:"夜型",personalityEarlyBird:"朝型",personalityLunchChat:"昼休み派",personalityEveningChat:"夜の語らい",personalityDaytime:"日中活動",personalityEveryday:"毎日活動",personalityWeekend:"週末活躍",personalityWeekday:"平日活躍",peakRecord:"ピーク記録",peakRecordDesc:"1日最多 {count} 件",topHoursLabel:"最もアクティブ",peakWeekdayLabel:"ピーク曜日",weekendRatio:"週末比率",weekendRatioDesc:"週末メッセージ比率"},timeAnalysis:{memberTrendTitle:"メッセージトレンド",memberTrendHint:"メンバー別月次メッセージ推移"},typeAnalysis:{textDepthTitle:"テキスト深度分析",textTotal:"テキスト総数",avgLength:"平均文字数",medianLength:"中央値",maxLength:"最長メッセージ",percentiles:"文字数パーセンタイル",shortMessages:"短文(≤5文字)",essayMessages:"長文(≥30文字)"}},jne={layout:"レイアウト",circular:"サークル",force:"フォースレイアウト",directed:"有向",reset:"リセット",graphHint:"全 {nodes} 名のメンバー、{links} 件のインタラクション",noInteraction:"メンションデータがありません"},Wne={empty:{title:"関係データがありません",description:"選択した期間内にセッションが見つかりません。"},monthly:{title:"月別明細",totalSessionsPrefix:"会話",totalSessionsSuffix:"回"},trend:{title:"主動性の推移",hint:"青い線は {name} の月別主動発起率。50% 線がバランス基準です"},hero:{totalSessionsPrefix:"2人の会話は合計",totalSessionsSuffix:"回",initiativePrefix:"",initiativeByPrefix:"の話題の切り出しは",initiativeBySuffix:"から始まりました",initiateTimes:"回発起"},initiator:"話題を始める",closer:"話題を終える",closerTitle:"会話の締め役",closerHint:"話題が終わるときに最後に発言した人を集計します。",noActivity:"今月はやり取りなし",watermarkReport:"関係レポート",monthFormat:"{year}年{month}月",monthShortFormat:"{month}月",iceBreaker:{title:"アイスブレイカー",hint:"24時間以上の沈黙を破って話しかけた回数"},responseLatency:{title:"返信速度",hint:"相手がメッセージを送った後、平均何分で返信するか",seconds:"{n} 秒",minutesSeconds:"{m}分{s}秒",hours:"{n} 時間",hoursMinutes:"{h} 時間 {m} 分"},perseverance:{title:"粘り強さ",hintWithThreshold:"相手が{threshold}以内に返信しないうちに、もう一通メッセージを送った回数",thresholdMinutes:"{n}分"},labels:{wellMatched:"互角",missingYou:"{name} が恋しがっている",monologue:"{name} の独白",peacefulSilence:"穏やかな沈黙",fleetingThoughts:"ふとした思い出"}},Kne={title:"タイムライン表示",description:"メッセージの時間分布や活動周期の変化を可視化します"},Gne={rankListPro:{fullRanking:"全順位を表示",memberCount:"全 {count} 名のメンバー"},rankList:{unit:"件"},nicknameHistory:{periodToNow:"{start} 〜 現在",periodRange:"{start} 〜 {end}",current:"現在",empty:"ニックネーム履歴がありません"},listPro:{countTemplate:"全 {count} 件",fullRanking:"全順位を表示",empty:"データがありません"}},Yne={cluster:Hne,message:Une,interaction:jne,relationship:Wne,timeline:Kne,charts:Gne},Xne="キーワードフィルター",Jne="スキーム一覧",Qne="スキーム名",Zne="スキーム名を入力",ere="新しいスキーム",tre="新規作成",are="削除",nre="デフォルトに設定",rre="デフォルト",sre="キーワードフィルター",ore="フィルターなし",ire="スキーム管理",lre="フィルターワード追加",cre="入力してEnterで追加、スペースまたはカンマ区切りで一括追加可能",ure="追加",dre="フィルターワード一覧",fre="すべてクリア",pre="スキームがありません。+ をクリックして作成",mre="フィルターワードがありません。上の入力欄から追加してください",gre="フィルタースキームを選択または作成",hre="{count} 個のワードをフィルター中",vre="閉じる",yre={title:Xne,schemeList:Jne,schemeName:Qne,schemeNamePlaceholder:Zne,defaultSchemeName:ere,createScheme:tre,deleteScheme:are,setDefault:nre,isDefault:rre,filterScheme:sre,noFilter:ore,manage:ire,addWords:lre,addWordsPlaceholder:cre,add:ure,wordList:dre,clearAll:fre,emptyScheme:pre,emptyWords:mre,selectOrCreate:gre,activeCount:hre,close:vre},bre="連絡先",xre="{count} 件の個人チャットをインポート済み",_re="現在の期間内の有効な個人チャット数は {count} 件です。グループチャットが 1 件以上、または有効な個人チャットが 5 件以上になると連絡先が有効になります。",wre="一致する連絡先はありません",kre="なし",Cre="連絡先を検索",Sre="スコア {value}",Mre={"1y":"1年","2y":"2年","3y":"3年","5y":"5年",all:"すべて"},$re={total:"連絡先",friends:"友人",nonFriends:"グループ仲間"},Are={allPools:"すべて",friends:"友人",nonFriends:"グループ仲間"},Ire={friends:"友人",groupContacts:"グループ仲間"},Tre={friend:"友人",manualFriend:"友人 · 手動",nonFriend:"グループ仲間"},Pre={pinned:"ピン留めした連絡先",friends:"友人",group_contacts:"グループ仲間"},Dre={contact:"連絡先",status:"種別"},Ere={recompute:"再計算",markFriend:"友人としてマーク",unmarkFriend:"マークを解除",clearSearch:"検索をクリア",clearSelection:"選択を解除",openSourceSession:"会話へ移動",viewSourceRecords:"チャット履歴を見る",viewDetail:"{name} の詳細を表示"},Rre={title:"連絡先の詳細",score:"総合スコア",scoreHelp:"総合スコアは連絡先の並び順に使われます。スコアが高いほど、やり取りのシグナルが強いことを示します。",lastInteraction:"最終インタラクション",sources:"元チャット",sourceType:{private:"個人",group:"グループ"},aliases:"別名",signals:"やり取りのシグナル",emptyTitle:"連絡先を選択",emptyDescription:"左側の連絡先を選ぶと、やり取りの指標と元チャットが表示されます。"},Ore={privateMessages:"個人チャット {count} 件",privateMessagesLabel:"個人メッセージ",activeMonths:"アクティブ月",commonGroups:"共通グループ",lastInteractionShort:"最近",groups:"共通グループ {count} 件",coOccurrence:"同時出現",replies:"返信",groupSignals:"同時出現 {count} 回"},Lre={title:"連絡先データが古い可能性があります",message:"チャットデータが変更されました。バックグラウンドで連絡先を更新しています。",inline:"連絡先データが古い可能性があります。",later:"後で"},qre={running:"連絡先を計算中: {current} / {total} セッション",updating:"連絡先データが更新された可能性があります。再計算しています。",failed:"連絡先の計算に失敗しました",retry:"再試行"},Nre={recomputed:"連絡先を再計算しました",recomputeStarted:"バックグラウンドで連絡先の計算を開始しました",recomputeFailed:"再計算に失敗しました",markFriendSucceeded:"友人としてマークしました",markFriendFailed:"友人マークに失敗しました",unmarkFriendSucceeded:"マークを解除しました",unmarkFriendFailed:"マーク解除に失敗しました"},Fre={title:bre,subtitle:xre,disabled:_re,empty:wre,emptyValue:kre,search:Cre,score:Sre,timeRange:Mre,stats:$re,filters:Are,tabs:Ire,pool:Tre,group:Pre,table:Dre,actions:Ere,detail:Rre,metrics:Ore,stale:Lre,task:qre,toast:Nre},Vre="交流関係",Bre="パノラマ関係グラフ",zre="関係サブページ",Hre="連絡先を検索",Ure="関係グラフのデータがありません",jre="プライバシーモード",Wre={"3d":"3D","2d":"2D"},Kre={panorama:"全景",close:"高関連",friends:"友だちのみ"},Gre={"1y":"過去1年","2y":"過去2年","3y":"過去3年","5y":"過去5年",all:"すべて"},Yre={recompute:"再計算",clearSearch:"検索をクリア",closeDetail:"詳細を閉じる",backToPanorama:"全景に戻る",fitView:"表示に合わせる",focusConnections:"この人のつながりだけ表示"},Xre={nodes:"ノード",edges:"リンク",communities:"関連グループ",members:"人数"},Jre={friend:"友だち",manualFriend:"友だち・手動",nonFriend:"グループメンバー"},Qre={me:"自分",type:"自分",avatarText:"自"},Zre={running:"交流関係を計算中:{current} / {total} セッション",updating:"関係データが更新された可能性があります。再計算中です。",failed:"交流関係の計算に失敗しました",retry:"再試行"},ese={title:"検索結果",offCore:"近傍を読み込む"},tse={title:"関連する連絡先",empty:"現在のグラフに直接のつながりがありません",connectionScore:"関連度"},ase={rank:"順位",score:"スコア",type:"種類",community:"コミュニティ",lastInteraction:"最終交流",privateMessages:"個別メッセージ",groupMessages:"グループメッセージ",commonGroups:"共通グループ",emptyValue:"なし"},nse={recomputeStarted:"交流関係のバックグラウンド計算を開始しました",recomputeFailed:"再計算に失敗しました",loadFailed:"交流関係の読み込みに失敗しました",neighborhoodFailed:"近傍の読み込みに失敗しました",threeUnavailable:"3Dレンダリングを利用できないため、2Dに切り替えました。"},rse={label:"交流関係ギャラクシーグラフ",label3d:"3D交流関係ギャラクシーグラフ"},sse={title:Vre,subtitle:Bre,nav:zre,search:Hre,empty:Ure,privacy:jre,viewMode:Wre,graphScope:Kre,timeRange:Gre,actions:Yre,stats:Xre,pool:Jre,owner:Qre,task:Zre,searchResults:ese,connections:tse,detail:ase,toast:nse,canvas:rse},ose="足跡",ise="このビューは今後のバージョンで公開予定です",lse={nav:"足跡ビュー",annualSummary:"私について",timeInvestment:"時間の投入",relationshipChanges:"関係の変化"},cse="メッセージ数",use="{month}月",dse="この期間には分析可能なデータがありません",fse="この期間にはテキストメッセージがありません",pse={messages:"送信メッセージ",activeDays:"アクティブ日数",contacts:"直接交流した人数",dailyMessages:"1日平均メッセージ",dailyContacts:"1日平均交流人数"},mse={yearTitle:"{year} 年の私",recentTitle:"直近1年間の私",activity:"アクティビティカレンダー",activeRate:"日数の {rate}%",keyMetrics:"主要指標",perDay:"1日平均",messagesCount:"{count} 件のメッセージ",characters:"{count} 文字",textLengthDetail:"テキストメッセージの文字数",dailyContacts:"1日平均交流人数",peakMonth:"最も活発な月",peakDay:"最も活発な日",textRatio:"テキストメッセージ比率",medianLength:"テキスト長の中央値",p90Length:"テキスト長 P90"},gse={overview:"年間概要",overviewDescription:"自分が送信したシステム以外のメッセージを月別に集計します",activity:"活動リズム",activityDescription:"日別の送信数。色が濃いほど活発な日です",messageTypes:"メッセージタイプ",messageTypesDescription:"自分が送信したメッセージのみを集計します",textLength:"テキスト長の分布",textLengthDescription:"空でないテキストメッセージの文字数のみを集计します",habitsTitle:"表現習慣",habitsDescription:"自分が送信したメッセージタイプの構成とテキスト文字数分布"},hse={median:"中央値"},vse={loading:"年間まとめを読み込んでいます…",computingProgress:"会話を分析しています {processed}/{total}…",updating:"データが変更されたため、バックグラウンドで更新しています",failed:"年間まとめの計算に失敗しました。再試行できます。",coverage:"{total} 件中 {analyzed} 件の会話を分析済み",ownerIssues:"{count} 件の会話で「自分」の設定が必要です",noAnalyzableOwner:"足跡の分析に使用できる本人情報がありません。先に会話で「自分」を設定してください。",noDataWithLatest:"{year} 年の分析データはありません。最新の有効年は {latestYear} 年です"},yse={retry:"再試行",openSessions:"会話一覧を開く",switchYear:"{year} 年を見る"},bse={title:ose,reserved:ise,tabs:lse,messages:cse,monthLabel:use,noData:dse,noTextData:fse,kpis:pse,overviewCard:mse,sections:gse,length:hse,status:vse,actions:yse},xse="一つひとつの会話を、たどれる形に",_se="ローカル保存とプライバシーを最優先に、AI エージェントと可視化グラフでチャットの記憶を振り返れます",wse="ログイン不要",kse="この端末内だけで処理",Cse="アップロードなし",Sse="データはこのブラウザのサイトストレージに保存されます。サイトデータを消去すると、取り込んだセッションも削除されます。",Mse="チャット履歴のエクスポート方法",$se="ローカルワークスペースを準備中",Ase="初回起動では SQLite ランタイムを読み込み、ブラウザストレージを開きます。",Ise={title:"このブラウザではローカル版を実行できません",description:"最新版の Chrome、Edge、または OPFS 対応ブラウザを使用し、localhost か HTTPS で開いてください。",missing:"不足している機能:{capabilities}"},Tse={title:"ローカルワークスペースで問題が発生しました",unsupportedFile:"このファイルにはまだ対応していません。ChatLab JSON / JSONL、WhatsApp TXT、LINE TXT、QQ TXT、Telegram JSON から選択してください。"},Pse={eyebrow:"ローカルセッション",title:"チャットアーカイブ",description:"セッションはこのブラウザ内に分けて保存されます。セッションの管理と24時間のメッセージ分布を確認できます。",count:"{count} セッション",refresh:"更新",emptyTitle:"ローカルセッションはまだありません",emptyDescription:"左側から最初のチャットアーカイブを取り込むと、ここに表示されます。",messages:"{count} 件のメッセージ",members:"{count} 人のメンバー",lastMessage:"最終メッセージ {date}",importedAt:"インポート {date}",group:"グループ",private:"ダイレクト",rename:"名前を変更",renameLabel:"新しいセッション名",deleteTitle:"「{name}」を削除しますか?",deleteDescription:"このセッションのローカルデータベースは完全に削除されます。元に戻せません。",busy:"セッションを更新中…"},Dse={open:"時間帯分布を見る",eyebrow:"最初のローカル分析",title:"「{name}」の24時間分布",description:"統計は端末内のバックグラウンドスレッドで処理し、この端末のタイムゾーンで時間帯を集計します。",loading:"ローカルセッションの統計を読み込み中…",totalMessages:"集計メッセージ",peakHour:"最も活発な時間",activeHours:"活動時間帯",hourValue:"{hour}:00",hourTooltip:"{hour}:00 · {count} 件",noData:"このセッションには表示できる時間帯データがまだありません。",runtimeNote:"端末内で計算 · アップロードなし"},Ese={title:xse,subtitle:_se,noSignIn:wse,localOnly:kse,noUpload:Cse,localOnlyDetail:Sse,exportGuide:Mse,initializing:$se,initializingDetail:Ase,unsupported:Ise,error:Tse,import:{eyebrow:"インポート",title:"チャット記録を追加",description:"ChatLab JSON / JSONL、WhatsApp TXT、LINE TXT、QQ TXT、Telegram JSON に対応しています。インポートごとに独立したセッションを作成します。",drop:"ファイルをドロップ、または端末から選択",dropActive:"放すとこのファイルを選択します",formats:".json · .jsonl · .txt",choose:"ファイルを選択",selected:"選択済み",detecting:"形式を確認中…",detected:"{format} として認識",start:"ローカルインポートを開始",working:"インポート中",cancel:"インポートを停止",processed:"{count} 件のメッセージを処理済み",multiChat:{title:"インポートするチャットを選択",selected:"{total} 件中 {selected} 件を選択",selectAll:"すべて選択",clearAll:"選択解除",messages:"{count} 件のメッセージ",empty:"空のチャット",current:"{current} / {total} 件目:{name}",importSelected:"選択した {count} 件をインポート",successDetail:"{total} 件中 {sessions} 件のセッションを作成し、{messages} 件のメッセージを保存しました。",failed:"{count} 件のインポートに失敗しました",cancelledWithCompleted:"インポートを停止しました。完了済みの {count} 件のセッションは保持されています。"},stages:{detecting:"ファイルを確認",reading:"ファイルを読み込み",parsing:"メッセージを解析",saving:"ローカルDBへ書き込み",indexing:"インデックスを作成",done:"完了"},successTitle:"インポート完了",successDetail:"{messages} 件のメッセージと {members} 人のメンバーを保存しました。",cancelled:"未完了のセッションを残さず、インポートを停止しました。",another:"続けてインポート"},sessions:Pse,analysis:Dse},Rse={common:Yte,layout:hae,settings:Pae,home:Bae,analysis:ene,tools:ane,providers:mne,ai:_ne,quotes:Ane,members:Ene,records:zne,views:Yne,wordFilter:yre,contacts:Fre,relationships:sse,insight:bse,browser:Ese},Ag=[{code:"en-US",name:"English (US)",nativeName:"English"},{code:"zh-CN",name:"Chinese (Simplified)",nativeName:"简体中文"},{code:"zh-TW",name:"Chinese (Traditional)",nativeName:"繁體中文"},{code:"ja-JP",name:"Japanese",nativeName:"日本語"}];new Set(Ag.map(e=>e.code));function Ose(){const e=navigator.language;return e==="zh-TW"||e==="zh-Hant"?"zh-TW":e.startsWith("zh")?"zh-CN":e.startsWith("ja")?"ja-JP":"en-US"}const Lse={"zh-CN":"zh-cn","zh-TW":"zh-tw","en-US":"en","ja-JP":"ja"};function Cy(e){return Lse[e]??"en"}const qse={groupRanking:["zh-CN","zh-TW"]};function G_e(e,t){const a=qse[e];return!a||a.length===0?!0:a.includes(t)}function Nse(){return Ose()}const Ad=jN({legacy:!1,locale:Nse(),fallbackLocale:"en-US",messages:{"zh-CN":PW,"en-US":XX,"zh-TW":gte,"ja-JP":Rse}});function Sy(e){Ad.global.locale.value=e}function My(){return Ad.global.locale.value}function Fse(e){return{platform:"cli-web",requiresAuth:!0,usesCliWebHttp:!0,usesBrowserRuntime:!1,loadsPreferences:!0,initializesLlm:!0,listensForPullResults:!0}}const Po=Fse(),zw=2;function Vse(e){return{...e,desensitizeRulesSchemaVersion:zw,desensitizeBuiltinRuleOverrides:{...e.desensitizeBuiltinRuleOverrides??{}},mergeWindowSeconds:e.mergeWindowSeconds??180,desensitizeRules:e.desensitizeRules.filter(t=>!t.builtin).map(t=>({...t,locales:[...t.locales]}))}}const Rr=Wn("settings",()=>{const e=E(My()),t=E("overview"),a=E(!1);function n(c){a.value=c,window.electron?.ipcRenderer.send("app:setDebugMode",c)}const r=E({dataCleaning:!0,mergeConsecutive:!0,mergeWindowSeconds:180,blacklistKeywords:[],denoise:!0,desensitize:!0,desensitizeRulesSchemaVersion:zw,desensitizeBuiltinRuleOverrides:{},desensitizeRules:[],anonymizeNames:!1});async function s(){const c=JSON.parse(JSON.stringify(r.value.desensitizeRules));r.value.desensitizeRules=await an().mergeDesensitizeRules(c,e.value,r.value.desensitizeBuiltinRuleOverrides??{})}async function o(c){e.value=c,Sy(c),Ba.locale(Cy(c)),window.electron?.ipcRenderer.send("locale:change",c),Po.initializesLlm&&await s()}async function l(){const c=My();e.value!==c&&Sy(e.value),Ba.locale(Cy(e.value)),Po.initializesLlm&&await s(),window.electron?.ipcRenderer.send("app:setDebugMode",a.value)}return{locale:e,setLocale:o,initLocale:l,defaultSessionTab:t,debugMode:a,setDebugMode:n,aiPreprocessConfig:r,ensureDesensitizeRules:s}},{persist:{pick:["debugMode"],storage:localStorage},backendPersist:{pick:["aiPreprocessConfig"],serialize:e=>({aiPreprocessConfig:Vse(e.aiPreprocessConfig)})}});function Mf(e){return e.provider==="openai-compatible"||e.provider.startsWith("custom:")?!e.apiKeySet||(e.baseUrl?.includes("localhost")??!1)?"local":"openai-compat":"preset"}function $y(e){if(!(e.mode==="edit"&&!!e.existingApiKeySet&&!e.hasNewApiKey&&e.originalProvider===e.currentProvider&&e.originalConnectionMode===e.currentConnectionMode))return!1;if(e.currentConnectionMode==="openai-compat"){const a=n=>n?.trim().replace(/\/+$/,"")||"";return a(e.originalBaseUrl)===a(e.currentBaseUrl)}return!0}const xs="openai-completions",Bse=[{value:"openai-completions",labelKey:"settings.aiConfig.modal.apiFormatOpenAI"},{value:"anthropic-messages",labelKey:"settings.aiConfig.modal.apiFormatAnthropic"},{value:"google-generative-ai",labelKey:"settings.aiConfig.modal.apiFormatGemini"},{value:"openai-responses",labelKey:"settings.aiConfig.modal.apiFormatOpenAIResponses"}],zse=["doubao","siliconflow"];function Hse(e){const{t,locale:a}=ot(),n=Rr(),r=Wl();function s(Ce){const Oe=`providers.${Ce}.name`,Ae=t(Oe);return Ae===Oe?Ce:Ae}const o=$(()=>JSON.parse(localStorage.getItem(`chatlab_app_config_${a.value}`)||localStorage.getItem("chatlab_app_config")||"{}").aiTips||{}),l=E("preset"),c=$(()=>[{label:t("settings.aiConfig.modal.presetService"),value:"preset"},{label:t("settings.aiConfig.modal.thirdPartyService"),value:"openai-compat"},{label:t("settings.aiConfig.modal.localService"),value:"local"}]),u=E(!1),d=E(!1),f=E(!1),p=E(""),m=E(!1),g=E(""),y=E(""),_=E(void 0),v=E([]),h=E({provider:"",apiKey:"",model:"",baseUrl:"",apiFormat:xs,customName:""}),k=E("idle"),w=E(""),A=$(()=>r.providerRegistry.filter(Ce=>!(!n.locale.startsWith("zh")&&zse.includes(Ce.id)))),M=$(()=>A.value.filter(Ce=>Ce.kind==="official"&&Ce.id!=="openai-compatible")),S=$(()=>A.value.filter(Ce=>!Ce.builtin)),P=$(()=>r.providerRegistry.find(Ce=>Ce.id===h.value.provider)),D=$(()=>l.value==="local"),H=$(()=>l.value==="openai-compat"),Q=$(()=>l.value==="preset"),G=$(()=>D.value||H.value),V=$(()=>h.value.provider?r.getModelsByProviderId(h.value.provider).filter(Ce=>!Ce.capabilities.includes("embedding")&&!Ce.capabilities.includes("ranking")):[]),R=$(()=>G.value?v.value.map(Ce=>({label:Ce.name,value:Ce.id})):V.value.map(Ce=>({label:Ce.name,value:Ce.id}))),L=$(()=>{if(!h.value.model)return!1;if(G.value)return v.value.some(Oe=>Oe.id===h.value.model);const Ce=V.value.find(Oe=>Oe.id===h.value.model);return Ce?!Ce.builtin:!1}),z=$(()=>{if(!h.value.model)return;const Ce=h.value.provider||"openai-compatible";return(r.getModelById(Ce,h.value.model)||r.findModelAcrossProviders(h.value.model))?.contextWindow}),le=$(()=>{const{provider:Ce,apiKey:Oe,baseUrl:Ae}=h.value;return $y({mode:e.mode.value,existingApiKeySet:e.config.value?.apiKeySet,hasNewApiKey:!!Oe.trim(),originalProvider:e.config.value?.provider,currentProvider:Ce,originalConnectionMode:e.config.value?Mf(e.config.value):void 0,currentConnectionMode:l.value,originalBaseUrl:e.config.value?.baseUrl,currentBaseUrl:Ae.trim()||void 0})}),K=$(()=>{const{provider:Ce,apiKey:Oe,baseUrl:Ae,model:Re}=h.value,Fe=le.value;return D.value?Ae.trim()&&Re.trim():H.value?Ae.trim()&&(Oe.trim()||Fe)&&Re.trim():Ce?Oe.trim()||Fe:!1}),ce=$(()=>Bse.map(Ce=>({label:t(Ce.labelKey),value:Ce.value}))),Y=$(()=>e.mode.value==="add"?t("settings.aiConfig.modal.addConfig"):t("settings.aiConfig.modal.editConfig")),ve={gemini:"google-generative-ai",anthropic:"anthropic-messages"},ie={"openai-completions":"/chat/completions","openai-responses":"/responses","anthropic-messages":"/v1/messages"},ye=$(()=>{const Oe=h.value.baseUrl?.trim()||(Q.value?P.value?.defaultBaseUrl:"");if(!Oe)return"";const Ae=Q.value?ve[h.value.provider]||xs:h.value.apiFormat||xs,Re=Oe.replace(/\/+$/,"");let Fe;if(Ae==="anthropic-messages")Fe=Re.replace(/\/v1\/?$/,"");else if(Ae==="openai-completions"||Ae==="openai-responses")try{const We=new URL(Re);!Re.endsWith("/v1")&&(We.pathname==="/"||We.pathname==="")?Fe=Re+"/v1":Fe=Re}catch{Fe=Re}else Fe=Re;const lt=ie[Ae];return lt?Fe+lt:Fe});function de(){l.value="preset",v.value=[];const Ce=M.value[0]?.id||"",Oe=Ce?r.getModelsByProviderId(Ce):[],Ae=Oe.find(Fe=>Fe.recommendedFor.includes("chat")),Re=Ce?r.providerRegistry.find(Fe=>Fe.id===Ce):null;h.value={provider:Ce,apiKey:"",model:Ae?.id||Oe[0]?.id||"",baseUrl:Re?.defaultBaseUrl||"",apiFormat:xs,customName:""},k.value="idle",w.value=""}function he(Ce){const Oe=r.providerRegistry.find(Fe=>Fe.id===Ce.provider),Ae=Ce.provider==="openai-compatible"||Ce.provider.startsWith("custom:"),Re=!!(Ce.model&&r.getModelById(Ce.provider,Ce.model));Ae?(l.value=Mf(Ce),Ce.customModels&&Ce.customModels.length>0?v.value=[...Ce.customModels]:v.value=Ce.model?[{id:Ce.model,name:Ce.model}]:[]):(l.value="preset",v.value=[]),h.value={provider:Ce.provider,apiKey:Ce.apiKey||"",model:Ae?Ce.model||"":Re&&Ce.model||"",baseUrl:Ce.baseUrl||Oe?.defaultBaseUrl||"",apiFormat:Ce.apiFormat||xs,customName:Ce.name||""},k.value="idle",w.value=""}function ge(Ce){h.value.provider=Ce,k.value="idle",w.value="",h.value.baseUrl=r.providerRegistry.find(Re=>Re.id===Ce)?.defaultBaseUrl||"";const Oe=r.getModelsByProviderId(Ce),Ae=Oe.filter(Re=>Re.recommendedFor.includes("chat"));h.value.model=Ae[0]?.id||Oe[0]?.id||"",h.value.apiKey=""}function O(Ce){if(l.value=Ce,k.value="idle",w.value="",Ce==="local")h.value.provider="openai-compatible",h.value.baseUrl="http://localhost:11434",h.value.model=v.value[0]?.id||"",h.value.apiKey="";else if(Ce==="openai-compat")h.value.provider="openai-compatible",h.value.baseUrl="",h.value.model=v.value[0]?.id||"",h.value.apiKey="";else{v.value=[];const Oe=M.value[0]?.id||"";h.value.provider=Oe,h.value.baseUrl=r.providerRegistry.find(Fe=>Fe.id===Oe)?.defaultBaseUrl||"";const Ae=Oe?r.getModelsByProviderId(Oe):[],Re=Ae.filter(Fe=>Fe.recommendedFor.includes("chat"));h.value.model=Re[0]?.id||Ae[0]?.id||"",h.value.apiKey=""}}const W=E(!1),j=E([]),J=E(""),ne=E(!1),U=$(()=>G.value?new Set(v.value.map(Ce=>Ce.id)):new Set(V.value.map(Ce=>Ce.id))),q=$(()=>Q.value?ve[h.value.provider]||xs:h.value.apiFormat||xs),oe=$(()=>{if(q.value==="anthropic-messages")return!1;const Ce=h.value.baseUrl||P.value?.defaultBaseUrl||"",Oe=h.value.apiKey.trim()||D.value||le.value;return!!(Ce.trim()&&Oe)});async function _e(){const Ce=h.value.baseUrl||P.value?.defaultBaseUrl||"",Oe=h.value.apiKey||(D.value?"sk-no-key-required":""),Ae=le.value;if(!Ce||!Oe&&!Ae)return;const Re=!Oe&&Ae?e.config.value?.id:void 0;W.value=!0,J.value="",ne.value=!0;try{const Fe=await ga().fetchRemoteModels(h.value.provider||"openai-compatible",Oe,Ce,q.value,Re);if(Fe.success&&Fe.models){const lt=h.value.provider||"openai-compatible";j.value=Fe.models.map(We=>{if(We.contextWindow)return We;const ft=r.getModelById(lt,We.id)||r.findModelAcrossProviders(We.id);return ft?.contextWindow?{...We,contextWindow:ft.contextWindow}:We})}else J.value=Fe.error||t("settings.aiConfig.modal.fetchModelsError")}catch(Fe){J.value=String(Fe)}finally{W.value=!1}}async function me(Ce){if(G.value){v.value.some(Ae=>Ae.id===Ce.id)||v.value.push({id:Ce.id,name:Ce.name});const Oe=h.value.provider||"openai-compatible";if(Ce.contextWindow&&!r.getModelById(Oe,Ce.id)?.contextWindow)try{await ga().addCustomModel({id:Ce.id,providerId:Oe,name:Ce.name,contextWindow:Ce.contextWindow,capabilities:["chat"],recommendedFor:[],description:"",status:"stable"}),await r.refreshConfigs()}catch{}}else{const Oe=h.value.provider||"openai-compatible";if(!V.value.some(Ae=>Ae.id===Ce.id))try{await ga().addCustomModel({id:Ce.id,providerId:Oe,name:Ce.name,contextWindow:Ce.contextWindow||void 0,capabilities:["chat"],recommendedFor:[],description:"",status:"stable"}),await r.refreshConfigs()}catch{}}h.value.model||(h.value.model=Ce.id)}async function be(Ce){for(const Oe of Ce)await me(Oe)}function B(){g.value="",y.value="",_.value=void 0,m.value=!0}async function X(){const Ce=y.value.trim(),Oe=g.value.trim()||Ce;if(!Ce)return;if(G.value){v.value.some(Re=>Re.id===Ce)||v.value.push({id:Ce,name:Oe}),h.value.model=Ce,m.value=!1;return}const Ae=h.value.provider||"openai-compatible";try{await ga().addCustomModel({id:Ce,providerId:Ae,name:Oe,contextWindow:_.value||void 0,capabilities:["chat"],recommendedFor:[],description:"",status:"stable"}),await r.refreshConfigs(),h.value.model=Ce,m.value=!1}catch(Re){console.error("添加自定义模型失败:",Re)}}const te=E(!1),ee=E(void 0),Me=E("");function ae(){const Ce=h.value.model;if(!Ce)return;const Oe=h.value.provider||"openai-compatible",Ae=r.getModelById(Oe,Ce);ee.value=Ae?.contextWindow??void 0,Me.value=Ae?.name??"",te.value=!0}async function re(){const Ce=h.value.model;if(!Ce)return;const Oe=h.value.provider||"openai-compatible";try{const Ae={contextWindow:ee.value||void 0};Me.value.trim()&&(Ae.name=Me.value.trim());const Re=ga();(await Re.updateCustomModel(Oe,Ce,Ae)).success||await Re.addCustomModel({id:Ce,providerId:Oe,name:Me.value.trim()||Ce,contextWindow:ee.value||void 0,capabilities:["chat"],recommendedFor:[],description:"",status:"stable"}),await r.refreshConfigs()}catch(Ae){console.error("编辑模型失败:",Ae)}te.value=!1}async function fe(Ce){if(G.value){const Ae=v.value.findIndex(Re=>Re.id===Ce);Ae!==-1&&v.value.splice(Ae,1),h.value.model===Ce&&(h.value.model=v.value[0]?.id||"");return}const Oe=h.value.provider||"openai-compatible";try{if(await ga().deleteCustomModel(Oe,Ce),await r.refreshConfigs(),h.value.model===Ce){const Ae=V.value;h.value.model=Ae[0]?.id||""}}catch(Ae){console.error("删除自定义模型失败:",Ae)}}async function ke(){const{provider:Ce,baseUrl:Oe}=h.value,Ae=h.value.apiKey.trim(),Re=le.value;if(Q.value){if(!Ce||!Ae&&!Re){k.value="idle",w.value="";return}}else if(!Oe||H.value&&!Ae&&!Re)return;u.value=!0,k.value="idle";const Fe=!Ae&&Re?e.config.value?.id:void 0;try{const lt=!Ae&&Re?"":Ae||"sk-no-key-required",We=await ga().validateApiKey(Ce||"openai-compatible",lt,Oe||void 0,h.value.model||void 0,void 0,Fe);k.value=We.success?"valid":"invalid",We.success?w.value=t("settings.aiConfig.modal.validationSuccess"):w.value=We.error||t("settings.aiConfig.modal.validationFailed")}catch(lt){k.value="invalid",w.value=t("settings.aiConfig.modal.validationError")+String(lt)}finally{u.value=!1}}function Se(){if(G.value&&h.value.baseUrl)try{return new URL(h.value.baseUrl).hostname}catch{return t("settings.aiConfig.modal.customService")}const Ce=P.value;if(Ce)return s(Ce.id)||Ce.name;const Oe=e.providers.value.find(Ae=>Ae.id===h.value.provider);return Oe?Oe.name:h.value.baseUrl||t("settings.aiConfig.modal.customService")}async function we(){d.value=!0;try{const Ce=h.value.provider;let Oe=h.value.apiKey.trim();!Oe&&D.value&&(Oe="sk-no-key-required");const Ae=h.value.customName.trim()||Se(),Re=G.value&&v.value.length>0?v.value.map(Fe=>({id:Fe.id,name:Fe.name})):void 0;if(e.mode.value==="add"){const Fe=G.value&&h.value.apiFormat||void 0,lt=await ga().addConfig({name:Ae,provider:Ce,apiKey:Oe,model:h.value.model.trim()||void 0,baseUrl:h.value.baseUrl.trim()||void 0,apiFormat:Fe,customModels:Re});lt.success?(e.onClose(),e.onSaved()):console.error("添加配置失败:",lt.error)}else{const Fe=G.value&&h.value.apiFormat||void 0,lt={name:Ae,provider:Ce,model:h.value.model.trim()||void 0,baseUrl:h.value.baseUrl.trim()||void 0,apiFormat:Fe,customModels:Re};(h.value.apiKey.trim()||D.value)&&(lt.apiKey=Oe);const We=await ga().updateConfig(e.config.value.id,lt);We.success?(e.onClose(),e.onSaved()):console.error("更新配置失败:",We.error)}}catch(Ce){console.error("保存配置失败:",Ce)}finally{d.value=!1}}async function Ve(){if(!K.value)return;if(k.value==="valid")return we();const Ce=!!h.value.apiKey.trim();if($y({mode:e.mode.value,existingApiKeySet:e.config.value?.apiKeySet,hasNewApiKey:Ce,originalProvider:e.config.value?.provider,currentProvider:h.value.provider,originalConnectionMode:e.config.value?Mf(e.config.value):void 0,currentConnectionMode:l.value,originalBaseUrl:e.config.value?.baseUrl,currentBaseUrl:h.value.baseUrl.trim()||void 0}))return we();u.value=!0;try{const Ae=h.value.apiKey.trim()||"sk-no-key-required",Re=await ga().validateApiKey(h.value.provider||"openai-compatible",Ae,h.value.baseUrl.trim()||void 0,h.value.model.trim()||void 0);if(Re.success)return k.value="valid",w.value="",we();k.value="invalid",p.value=Re.error||t("settings.aiConfig.modal.validationFailed"),f.value=!0}catch(Ae){p.value=String(Ae),f.value=!0}finally{u.value=!1}}function Ie(){f.value=!1,we()}function Ee(){f.value=!1}return Pe(e.open,Ce=>{Ce&&(e.mode.value==="edit"&&e.config.value?he(e.config.value):de())}),Pe(()=>h.value.apiKey,()=>{k.value="idle",w.value=""}),{getLocalizedProviderName:s,aiTips:o,connectionMode:l,connectionModeItems:c,isValidating:u,isSaving:d,showValidationFailConfirm:f,validationFailMessage:p,showAddModelDialog:m,newModelName:g,newModelId:y,newModelContextWindow:_,formData:h,validationResult:k,validationMessage:w,officialProviders:M,customProviders:S,currentProviderDef:P,isLocalMode:D,isOpenAICompat:H,isPresetMode:Q,isCompatMode:G,modelTabItems:R,selectedModelIsCustom:L,selectedModelContextWindow:z,canSave:K,canReuseStoredKey:le,apiFormatItems:ce,modalTitle:Y,resolvedApiUrl:ye,isFetchingModels:W,remoteModels:j,remoteModelsError:J,showRemoteModelBrowser:ne,addedModelIds:U,canFetchModels:oe,showEditModelDialog:te,editModelContextWindow:ee,editModelName:Me,selectProvider:ge,onConnectionModeChange:O,openAddModelDialog:B,confirmAddModel:X,openEditModelDialog:ae,confirmEditModel:re,deleteCustomModel:fe,validateKey:ke,saveConfig:Ve,confirmSaveAnyway:Ie,cancelSave:Ee,fetchRemoteModels:_e,addRemoteModel:me,addAllRemoteModels:be}}const Use={class:"flex min-h-[min(640px,80vh)] max-h-[80vh] flex-col p-6"},jse={class:"mb-4 text-lg font-semibold text-gray-900 dark:text-white"},Wse={class:"min-h-0 flex-1 overflow-y-auto pr-1"},Kse={class:"space-y-4"},Gse={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yse={class:"flex flex-wrap gap-2"},Xse=["onClick"],Jse=["onClick"],Qse={key:0,class:"mt-3 rounded-lg border border-gray-100 bg-gray-50/50 px-3 py-2 dark:border-gray-800 dark:bg-gray-800/50"},Zse={class:"flex gap-3"},eoe=["href"],toe=["href"],aoe={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},noe={class:"mt-1 text-[10px] text-gray-400"},roe={key:0,class:"mt-1.5 flex items-center gap-1 text-[11px] text-gray-400 dark:text-gray-500"},soe={class:"ml-0.5 break-all rounded bg-gray-100 px-1 py-0.5 font-mono text-[10px] text-gray-500 dark:bg-gray-800 dark:text-gray-400"},ooe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ioe={key:1,class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},loe={key:0,class:"ml-2"},coe={key:2,class:"mt-1 flex items-center gap-1 text-xs text-red-500 dark:text-red-400"},uoe={class:"mt-2 flex items-center gap-2"},doe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},foe={class:"flex gap-2"},poe={key:0,class:"mt-1.5 flex items-center gap-1 text-[11px] text-gray-400 dark:text-gray-500"},moe={class:"ml-0.5 break-all rounded bg-gray-100 px-1 py-0.5 font-mono text-[10px] text-gray-500 dark:bg-gray-800 dark:text-gray-400"},goe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},hoe={key:1,class:"flex items-center gap-1 text-xs text-red-500 dark:text-red-400"},voe={key:2,class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},yoe={key:0,class:"ml-2"},boe={key:3,class:"mt-1 flex items-center gap-1 text-xs text-red-500 dark:text-red-400"},xoe={class:"mt-2 flex items-center gap-2"},_oe={key:0},woe={key:0,class:"flex items-center gap-1 text-sm text-green-600 dark:text-green-400"},koe={key:1,class:"flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400"},Coe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Soe={class:"mt-1 text-xs text-gray-500"},Moe={key:0,class:"mt-1.5 flex items-center gap-1 text-[11px] text-gray-400 dark:text-gray-500"},$oe={class:"ml-0.5 break-all rounded bg-gray-100 px-1 py-0.5 font-mono text-[10px] text-gray-500 dark:bg-gray-800 dark:text-gray-400"},Aoe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ioe={key:1,class:"flex items-center gap-1 text-xs text-red-500 dark:text-red-400"},Toe={key:2,class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Poe={key:0,class:"ml-2"},Doe={key:3,class:"mt-1 flex items-center gap-1 text-xs text-red-500 dark:text-red-400"},Eoe={class:"mt-2 flex items-center gap-2"},Roe={key:3},Ooe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Loe={key:4},qoe={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Noe={class:"font-normal text-gray-400"},Foe={class:"mt-4 flex shrink-0 justify-end gap-2 border-t border-gray-100 pt-4 dark:border-gray-800"},Voe={class:"p-6"},Boe={class:"mb-4 flex items-start gap-3"},zoe={class:"font-medium text-gray-900 dark:text-white"},Hoe={class:"mt-1 text-sm text-gray-600 dark:text-gray-400"},Uoe={class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},joe={class:"flex justify-end gap-2"},Woe={class:"p-5"},Koe={class:"mb-4 text-base font-semibold text-gray-900 dark:text-white"},Goe={class:"space-y-3"},Yoe={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},Xoe={class:"mt-1 text-[10px] text-gray-400"},Joe={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},Qoe={class:"font-normal text-gray-400"},Zoe={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},eie={class:"flex items-center gap-2"},tie={class:"mt-1.5 flex flex-wrap gap-1"},aie=["onClick"],nie={class:"mt-1 text-[10px] text-gray-400"},rie={class:"mt-4 flex justify-end gap-2"},sie={class:"p-5"},oie={class:"mb-4 text-base font-semibold text-gray-900 dark:text-white"},iie={class:"space-y-3"},lie={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},cie={class:"text-sm text-gray-600 dark:text-gray-400"},uie={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},die={class:"font-normal text-gray-400"},fie={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},pie={class:"flex items-center gap-2"},mie={class:"mt-1.5 flex flex-wrap gap-1"},gie=["onClick"],hie={class:"mt-1 text-[10px] text-gray-400"},vie={class:"mt-4 flex justify-end gap-2"},yie=ue({__name:"AIModelEditModal",props:{open:{type:Boolean},mode:{},config:{},providers:{}},emits:["update:open","saved"],setup(e,{emit:t}){const{t:a}=ot(),n=e,r=t,{getLocalizedProviderName:s,aiTips:o,connectionMode:l,connectionModeItems:c,isValidating:u,isSaving:d,showValidationFailConfirm:f,validationFailMessage:p,showAddModelDialog:m,newModelName:g,newModelId:y,newModelContextWindow:_,formData:v,validationResult:h,validationMessage:k,officialProviders:w,customProviders:A,currentProviderDef:M,isLocalMode:S,isOpenAICompat:P,isPresetMode:D,modelTabItems:H,selectedModelIsCustom:Q,selectedModelContextWindow:G,canSave:V,canReuseStoredKey:R,apiFormatItems:L,modalTitle:z,resolvedApiUrl:le,isFetchingModels:K,remoteModels:ce,remoteModelsError:Y,showRemoteModelBrowser:ve,addedModelIds:ie,canFetchModels:ye,showEditModelDialog:de,editModelContextWindow:he,editModelName:ge,selectProvider:O,onConnectionModeChange:W,openAddModelDialog:j,confirmAddModel:J,openEditModelDialog:ne,confirmEditModel:U,deleteCustomModel:q,validateKey:oe,saveConfig:_e,confirmSaveAnyway:me,cancelSave:be,fetchRemoteModels:B,addRemoteModel:X,addAllRemoteModels:te}=Hse({...dt(n),onClose:()=>r("update:open",!1),onSaved:()=>r("saved")});function ee(){r("update:open",!1)}return(Me,ae)=>{const re=pa,fe=Xe,ke=nt,Se=$a;return x(),F(De,null,[I(Se,{open:e.open,ui:{content:"max-w-2xl z-[101]",overlay:"z-[100]"},"onUpdate:open":ae[23]||(ae[23]=we=>r("update:open",we))},{content:T(()=>[b("div",Use,[b("h3",jse,C(i(z)),1),b("div",Wse,[b("div",Kse,[I(Ln,{"model-value":i(l),items:i(c),size:"sm","onUpdate:modelValue":i(W)},null,8,["model-value","items","onUpdate:modelValue"]),i(D)?(x(),F(De,{key:0},[b("div",null,[b("label",Gse,C(i(a)("settings.aiConfig.modal.aiProvider")),1),b("div",Yse,[(x(!0),F(De,null,Ye(i(w),we=>(x(),F("button",{key:we.id,class:xe(["rounded-lg border-2 px-3 py-1.5 text-xs font-medium transition-colors",[i(v).provider===we.id?"border-transparent bg-primary-500 text-white hover:bg-primary-600 dark:bg-primary-500 dark:text-white dark:hover:bg-primary-400":"border-gray-200 bg-white text-gray-600 hover:border-gray-300 dark:border-gray-700 dark:bg-page-dark dark:text-gray-400 dark:hover:border-gray-600"]]),onClick:Ve=>i(O)(we.id)},C(i(s)(we.id)||we.name),11,Xse))),128)),(x(!0),F(De,null,Ye(i(A),we=>(x(),F("button",{key:we.id,class:xe(["rounded-lg border-2 px-3 py-1.5 text-xs font-medium transition-colors",[i(v).provider===we.id?"border-transparent bg-primary-500 text-white hover:bg-primary-600 dark:bg-primary-500 dark:text-white dark:hover:bg-primary-400":"border-dashed border-gray-300 bg-white text-gray-500 hover:border-gray-400 dark:border-gray-600 dark:bg-page-dark dark:text-gray-400"]]),onClick:Ve=>i(O)(we.id)},C(we.name),11,Jse))),128))]),i(M)&&(i(M).website||i(M).consoleUrl)?(x(),F("div",Qse,[b("div",Zse,[i(M).website?(x(),F("a",{key:0,href:i(M).website,target:"_blank",rel:"noopener",class:"text-xs text-primary-500 hover:underline"},C(i(a)("settings.aiConfig.modal.visitWebsite")),9,eoe)):se("",!0),i(M).consoleUrl?(x(),F("a",{key:1,href:i(M).consoleUrl,target:"_blank",rel:"noopener",class:"text-xs text-primary-500 hover:underline"},C(i(a)("settings.aiConfig.modal.getApiKey")),9,toe)):se("",!0)])])):se("",!0)]),I(Wc,{modelValue:i(v).apiKey,"onUpdate:modelValue":ae[0]||(ae[0]=we=>i(v).apiKey=we),placeholder:e.mode==="edit"&&e.config?.apiKeySet?i(a)("settings.aiConfig.modal.apiKeyPlaceholderEdit"):i(a)("settings.aiConfig.modal.apiKeyPlaceholder"),"validate-loading":i(u),"validate-disabled":!i(v).apiKey&&!i(R),"validate-text":i(a)("settings.aiConfig.modal.validate"),"validation-result":i(h),"validation-message":i(k),onValidate:i(oe)},null,8,["modelValue","placeholder","validate-loading","validate-disabled","validate-text","validation-result","validation-message","onValidate"]),b("div",null,[b("label",aoe,C(i(a)("settings.aiConfig.modal.apiEndpoint")),1),I(re,{modelValue:i(v).baseUrl,"onUpdate:modelValue":ae[1]||(ae[1]=we=>i(v).baseUrl=we),class:"mt-2 w-full",placeholder:i(M)?.defaultBaseUrl||"https://api.example.com/v1"},null,8,["modelValue","placeholder"]),b("p",noe,C(i(a)("settings.aiConfig.modal.apiEndpointOverrideHint")),1),i(le)?(x(),F("p",roe,[I(fe,{name:"i-heroicons-link",class:"h-3 w-3 shrink-0"}),b("span",null,C(i(a)("settings.aiConfig.modal.resolvedUrl")),1),b("code",soe,C(i(le)),1)])):se("",!0)]),b("div",null,[b("label",ooe,C(i(a)("settings.aiConfig.modal.model")),1),i(H).length>0?(x(),N(Ln,{key:0,modelValue:i(v).model,"onUpdate:modelValue":ae[2]||(ae[2]=we=>i(v).model=we),items:i(H),size:"xs"},null,8,["modelValue","items"])):se("",!0),i(v).model?(x(),F("p",ioe,[pe(C(i(a)("settings.aiConfig.modal.customModelId"))+": "+C(i(v).model)+" ",1),i(G)?(x(),F("span",loe," · "+C(i(a)("settings.aiConfig.modal.contextWindow"))+": "+C(i(G)>=1e6?(i(G)/1048576).toFixed(1)+"M":Math.round(i(G)/1024)+"K"),1)):se("",!0)])):se("",!0),i(v).model&&!i(G)?(x(),F("p",coe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-3.5 w-3.5 shrink-0"}),pe(" "+C(i(a)("settings.aiConfig.modal.contextWindowMissing")),1)])):se("",!0),b("div",uoe,[i(ye)?(x(),F("button",{key:0,class:"flex items-center gap-1 rounded-md border border-dashed border-primary-300 px-2 py-1 text-xs text-primary-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-primary-700 dark:text-primary-400 dark:hover:border-primary-500",onClick:ae[3]||(ae[3]=(...we)=>i(B)&&i(B)(...we))},[I(fe,{name:"i-heroicons-cloud-arrow-down",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.fetchModels")),1)])):se("",!0),i(M)?.supportsCustomModels?(x(),F("button",{key:1,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[4]||(ae[4]=(...we)=>i(j)&&i(j)(...we))},[I(fe,{name:"i-heroicons-plus",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.addCustomModel")),1)])):se("",!0),i(v).model?(x(),F("button",{key:2,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[5]||(ae[5]=(...we)=>i(ne)&&i(ne)(...we))},[I(fe,{name:"i-heroicons-pencil-square",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.editModel")),1)])):se("",!0),i(Q)?(x(),F("button",{key:3,class:"flex items-center gap-1 rounded-md border border-dashed border-red-200 px-2 py-1 text-xs text-red-400 transition-colors hover:border-red-400 hover:text-red-500 dark:border-red-800 dark:hover:border-red-500",onClick:ae[6]||(ae[6]=we=>i(q)(i(v).model))},[I(fe,{name:"i-heroicons-trash",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.deleteCustomModel")),1)])):se("",!0)])])],64)):i(S)?(x(),F(De,{key:1},[I(Wc,{modelValue:i(v).apiKey,"onUpdate:modelValue":ae[7]||(ae[7]=we=>i(v).apiKey=we),placeholder:i(a)("settings.aiConfig.modal.apiKeyPlaceholderLocal"),"optional-text":i(a)("settings.aiConfig.modal.optional"),hint:i(a)("settings.aiConfig.modal.apiKeyHintLocal")},null,8,["modelValue","placeholder","optional-text","hint"]),b("div",null,[b("label",doe,C(i(a)("settings.aiConfig.modal.apiEndpoint")),1),b("div",foe,[I(re,{modelValue:i(v).baseUrl,"onUpdate:modelValue":ae[8]||(ae[8]=we=>i(v).baseUrl=we),placeholder:"http://localhost:11434",class:"flex-1"},null,8,["modelValue"]),I(ke,{loading:i(u),disabled:!i(v).baseUrl,variant:"soft",onClick:i(oe)},{default:T(()=>[pe(C(i(a)("settings.aiConfig.modal.validate")),1)]),_:1},8,["loading","disabled","onClick"])]),i(le)?(x(),F("p",poe,[I(fe,{name:"i-heroicons-link",class:"h-3 w-3 shrink-0"}),b("span",null,C(i(a)("settings.aiConfig.modal.resolvedUrl")),1),b("code",moe,C(i(le)),1)])):se("",!0)]),b("div",null,[b("label",goe,C(i(a)("settings.aiConfig.modal.model")),1),i(H).length>0?(x(),N(Ln,{key:0,modelValue:i(v).model,"onUpdate:modelValue":ae[9]||(ae[9]=we=>i(v).model=we),items:i(H),size:"xs"},null,8,["modelValue","items"])):(x(),F("p",hoe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-3.5 w-3.5 shrink-0"}),pe(" "+C(i(a)("settings.aiConfig.modal.modelRequired")),1)])),i(v).model?(x(),F("p",voe,[pe(C(i(a)("settings.aiConfig.modal.customModelId"))+": "+C(i(v).model)+" ",1),i(G)?(x(),F("span",yoe," · "+C(i(a)("settings.aiConfig.modal.contextWindow"))+": "+C(i(G)>=1e6?(i(G)/1048576).toFixed(1)+"M":Math.round(i(G)/1024)+"K"),1)):se("",!0)])):se("",!0),i(v).model&&!i(G)?(x(),F("p",boe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-3.5 w-3.5 shrink-0"}),pe(" "+C(i(a)("settings.aiConfig.modal.contextWindowMissing")),1)])):se("",!0),b("div",xoe,[i(ye)?(x(),F("button",{key:0,class:"flex items-center gap-1 rounded-md border border-dashed border-primary-300 px-2 py-1 text-xs text-primary-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-primary-700 dark:text-primary-400 dark:hover:border-primary-500",onClick:ae[10]||(ae[10]=(...we)=>i(B)&&i(B)(...we))},[I(fe,{name:"i-heroicons-cloud-arrow-down",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.fetchModels")),1)])):se("",!0),i(M)?.supportsCustomModels?(x(),F("button",{key:1,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[11]||(ae[11]=(...we)=>i(j)&&i(j)(...we))},[I(fe,{name:"i-heroicons-plus",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.addCustomModel")),1)])):se("",!0),i(v).model?(x(),F("button",{key:2,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[12]||(ae[12]=(...we)=>i(ne)&&i(ne)(...we))},[I(fe,{name:"i-heroicons-pencil-square",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.editModel")),1)])):se("",!0),i(Q)?(x(),F("button",{key:3,class:"flex items-center gap-1 rounded-md border border-dashed border-red-200 px-2 py-1 text-xs text-red-400 transition-colors hover:border-red-400 hover:text-red-500 dark:border-red-800 dark:hover:border-red-500",onClick:ae[13]||(ae[13]=we=>i(q)(i(v).model))},[I(fe,{name:"i-heroicons-trash",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.deleteCustomModel")),1)])):se("",!0)])]),i(k)?(x(),F("div",_oe,[i(h)==="valid"?(x(),F("div",woe,[I(fe,{name:"i-heroicons-check-circle",class:"h-4 w-4"}),pe(" "+C(i(k)),1)])):i(h)==="invalid"?(x(),F("div",koe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-4 w-4"}),pe(" "+C(i(k)),1)])):se("",!0)])):se("",!0)],64)):i(P)?(x(),F(De,{key:2},[i(o).thirdPartyApi?.show?(x(),N(Vw,{key:0,icon:"i-heroicons-exclamation-triangle",content:i(o).thirdPartyApi?.content},null,8,["content"])):se("",!0),I(Wc,{modelValue:i(v).apiKey,"onUpdate:modelValue":ae[14]||(ae[14]=we=>i(v).apiKey=we),placeholder:e.mode==="edit"&&e.config?.apiKeySet?i(a)("settings.aiConfig.modal.apiKeyPlaceholderEdit"):i(a)("settings.aiConfig.modal.apiKeyPlaceholder"),"validate-loading":i(u),"validate-disabled":!i(v).apiKey&&!i(R)||!i(v).baseUrl,"validate-text":i(a)("settings.aiConfig.modal.validate"),"validation-result":i(h),"validation-message":i(k),onValidate:i(oe)},null,8,["modelValue","placeholder","validate-loading","validate-disabled","validate-text","validation-result","validation-message","onValidate"]),b("div",null,[b("label",Coe,C(i(a)("settings.aiConfig.modal.apiEndpoint")),1),I(re,{modelValue:i(v).baseUrl,"onUpdate:modelValue":ae[15]||(ae[15]=we=>i(v).baseUrl=we),class:"w-full",placeholder:"https://api.example.com"},null,8,["modelValue"]),b("p",Soe,C(i(a)("settings.aiConfig.modal.apiEndpointHint")),1),i(le)?(x(),F("p",Moe,[I(fe,{name:"i-heroicons-link",class:"h-3 w-3 shrink-0"}),b("span",null,C(i(a)("settings.aiConfig.modal.resolvedUrl")),1),b("code",$oe,C(i(le)),1)])):se("",!0)]),b("div",null,[b("label",Aoe,C(i(a)("settings.aiConfig.modal.model")),1),i(H).length>0?(x(),N(Ln,{key:0,modelValue:i(v).model,"onUpdate:modelValue":ae[16]||(ae[16]=we=>i(v).model=we),items:i(H),size:"xs"},null,8,["modelValue","items"])):(x(),F("p",Ioe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-3.5 w-3.5 shrink-0"}),pe(" "+C(i(a)("settings.aiConfig.modal.modelRequired")),1)])),i(v).model?(x(),F("p",Toe,[pe(C(i(a)("settings.aiConfig.modal.customModelId"))+": "+C(i(v).model)+" ",1),i(G)?(x(),F("span",Poe," · "+C(i(a)("settings.aiConfig.modal.contextWindow"))+": "+C(i(G)>=1e6?(i(G)/1048576).toFixed(1)+"M":Math.round(i(G)/1024)+"K"),1)):se("",!0)])):se("",!0),i(v).model&&!i(G)?(x(),F("p",Doe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"h-3.5 w-3.5 shrink-0"}),pe(" "+C(i(a)("settings.aiConfig.modal.contextWindowMissing")),1)])):se("",!0),b("div",Eoe,[i(ye)?(x(),F("button",{key:0,class:"flex items-center gap-1 rounded-md border border-dashed border-primary-300 px-2 py-1 text-xs text-primary-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-primary-700 dark:text-primary-400 dark:hover:border-primary-500",onClick:ae[17]||(ae[17]=(...we)=>i(B)&&i(B)(...we))},[I(fe,{name:"i-heroicons-cloud-arrow-down",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.fetchModels")),1)])):se("",!0),i(M)?.supportsCustomModels?(x(),F("button",{key:1,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[18]||(ae[18]=(...we)=>i(j)&&i(j)(...we))},[I(fe,{name:"i-heroicons-plus",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.addCustomModel")),1)])):se("",!0),i(v).model?(x(),F("button",{key:2,class:"flex items-center gap-1 rounded-md border border-dashed border-gray-300 px-2 py-1 text-xs text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-500 dark:border-gray-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ae[19]||(ae[19]=(...we)=>i(ne)&&i(ne)(...we))},[I(fe,{name:"i-heroicons-pencil-square",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.editModel")),1)])):se("",!0),i(Q)?(x(),F("button",{key:3,class:"flex items-center gap-1 rounded-md border border-dashed border-red-200 px-2 py-1 text-xs text-red-400 transition-colors hover:border-red-400 hover:text-red-500 dark:border-red-800 dark:hover:border-red-500",onClick:ae[20]||(ae[20]=we=>i(q)(i(v).model))},[I(fe,{name:"i-heroicons-trash",class:"h-3.5 w-3.5"}),pe(" "+C(i(a)("settings.aiConfig.modal.deleteCustomModel")),1)])):se("",!0)])])],64)):se("",!0),i(D)?se("",!0):(x(),F("div",Roe,[b("label",Ooe,C(i(a)("settings.aiConfig.modal.apiFormat")),1),I(Ln,{modelValue:i(v).apiFormat,"onUpdate:modelValue":ae[21]||(ae[21]=we=>i(v).apiFormat=we),items:i(L),size:"xs"},null,8,["modelValue","items"])])),i(v).provider||!i(D)?(x(),F("div",Loe,[b("label",qoe,[pe(C(i(a)("settings.aiConfig.modal.configName"))+" ",1),b("span",Noe,C(i(a)("settings.aiConfig.modal.optional")),1)]),I(re,{modelValue:i(v).customName,"onUpdate:modelValue":ae[22]||(ae[22]=we=>i(v).customName=we),class:"w-full",placeholder:i(D)?i(a)("settings.aiConfig.modal.configNamePlaceholderPreset"):i(a)("settings.aiConfig.modal.configNamePlaceholderCustom")},null,8,["modelValue","placeholder"])])):se("",!0)])]),b("div",Foe,[I(ke,{variant:"soft",onClick:ee},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1}),I(ke,{color:"primary",disabled:!i(V),loading:i(d)||i(u),onClick:i(_e)},{default:T(()=>[pe(C(e.mode==="add"?i(a)("common.add"):i(a)("common.save")),1)]),_:1},8,["disabled","loading","onClick"])])])]),_:1},8,["open"]),I(Se,{open:i(f),ui:{content:"z-[102]",overlay:"z-[101]"},"onUpdate:open":ae[24]||(ae[24]=we=>f.value=we)},{content:T(()=>[b("div",Voe,[b("div",Boe,[I(fe,{name:"i-heroicons-exclamation-triangle",class:"mt-0.5 h-6 w-6 shrink-0 text-amber-500"}),b("div",null,[b("h4",zoe,C(i(a)("settings.aiConfig.modal.validationFailedTitle")),1),b("p",Hoe,C(i(p)),1),b("p",Uoe,C(i(a)("settings.aiConfig.modal.saveAnywayHint")),1)])]),b("div",joe,[I(ke,{variant:"soft",onClick:i(be)},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1},8,["onClick"]),I(ke,{color:"warning",onClick:i(me)},{default:T(()=>[pe(C(i(a)("settings.aiConfig.modal.saveAnyway")),1)]),_:1},8,["onClick"])])])]),_:1},8,["open"]),I(az,{open:i(ve),"onUpdate:open":ae[25]||(ae[25]=we=>at(ve)?ve.value=we:null),models:i(ce),loading:i(K),error:i(Y),"added-model-ids":i(ie),onAdd:i(X),onAddAll:i(te),onRefresh:i(B)},null,8,["open","models","loading","error","added-model-ids","onAdd","onAddAll","onRefresh"]),I(Se,{open:i(m),ui:{content:"z-[102]",overlay:"z-[101]"},"onUpdate:open":ae[30]||(ae[30]=we=>m.value=we)},{content:T(()=>[b("div",Woe,[b("h4",Koe,C(i(a)("settings.aiConfig.modal.addCustomModel")),1),b("div",Goe,[b("div",null,[b("label",Yoe,C(i(a)("settings.aiConfig.modal.customModelId")),1),I(re,{modelValue:i(y),"onUpdate:modelValue":ae[26]||(ae[26]=we=>at(y)?y.value=we:null),class:"w-full",placeholder:"gpt-4o-custom, deepseek-r1, ..."},null,8,["modelValue"]),b("p",Xoe,C(i(a)("settings.aiConfig.modal.customModelIdHint")),1)]),b("div",null,[b("label",Joe,[pe(C(i(a)("settings.aiConfig.modal.customModelDisplayName"))+" ",1),b("span",Qoe,C(i(a)("settings.aiConfig.modal.optional")),1)]),I(re,{modelValue:i(g),"onUpdate:modelValue":ae[27]||(ae[27]=we=>at(g)?g.value=we:null),class:"w-full",placeholder:i(y)||i(a)("settings.aiConfig.modal.customModelDisplayNamePlaceholder")},null,8,["modelValue","placeholder"])]),b("div",null,[b("label",Zoe,C(i(a)("settings.aiConfig.modal.contextWindow")),1),b("div",eie,[I(re,{modelValue:i(_),"onUpdate:modelValue":ae[28]||(ae[28]=we=>at(_)?_.value=we:null),modelModifiers:{number:!0,optional:!0},class:"flex-1",type:"number",placeholder:i(a)("settings.aiConfig.modal.contextWindowPlaceholder")},null,8,["modelValue","placeholder"])]),b("div",tie,[(x(),F(De,null,Ye([{label:"64K",value:65536},{label:"128K",value:128e3},{label:"200K",value:2e5},{label:"1M",value:1048576}],we=>b("button",{key:we.value,class:xe(["rounded border px-1.5 py-0.5 text-[10px] transition-colors",[i(_)===we.value?"border-primary-400 bg-primary-50 text-primary-600 dark:border-primary-600 dark:bg-primary-900/30 dark:text-primary-400":"border-gray-200 text-gray-500 hover:border-gray-300 dark:border-gray-700 dark:text-gray-400 dark:hover:border-gray-600"]]),onClick:Ve=>_.value=we.value},C(we.label),11,aie)),64))]),b("p",nie,C(i(a)("settings.aiConfig.modal.contextWindowHint")),1)])]),b("div",rie,[I(ke,{variant:"soft",onClick:ae[29]||(ae[29]=we=>m.value=!1)},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1}),I(ke,{color:"primary",disabled:!i(y).trim(),onClick:i(J)},{default:T(()=>[pe(C(i(a)("common.add")),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["open"]),I(Se,{open:i(de),ui:{content:"z-[102]",overlay:"z-[101]"},"onUpdate:open":ae[34]||(ae[34]=we=>de.value=we)},{content:T(()=>[b("div",sie,[b("h4",oie,C(i(a)("settings.aiConfig.modal.editModel")),1),b("div",iie,[b("div",null,[b("label",lie,C(i(a)("settings.aiConfig.modal.customModelId")),1),b("p",cie,C(i(v).model),1)]),b("div",null,[b("label",uie,[pe(C(i(a)("settings.aiConfig.modal.customModelDisplayName"))+" ",1),b("span",die,C(i(a)("settings.aiConfig.modal.optional")),1)]),I(re,{modelValue:i(ge),"onUpdate:modelValue":ae[31]||(ae[31]=we=>at(ge)?ge.value=we:null),class:"w-full",placeholder:i(v).model||i(a)("settings.aiConfig.modal.customModelDisplayNamePlaceholder")},null,8,["modelValue","placeholder"])]),b("div",null,[b("label",fie,C(i(a)("settings.aiConfig.modal.contextWindow")),1),b("div",pie,[I(re,{modelValue:i(he),"onUpdate:modelValue":ae[32]||(ae[32]=we=>at(he)?he.value=we:null),modelModifiers:{number:!0,optional:!0},class:"flex-1",type:"number",placeholder:i(a)("settings.aiConfig.modal.contextWindowPlaceholder")},null,8,["modelValue","placeholder"])]),b("div",mie,[(x(),F(De,null,Ye([{label:"64K",value:65536},{label:"128K",value:128e3},{label:"200K",value:2e5},{label:"1M",value:1048576}],we=>b("button",{key:we.value,class:xe(["rounded border px-1.5 py-0.5 text-[10px] transition-colors",[i(he)===we.value?"border-primary-400 bg-primary-50 text-primary-600 dark:border-primary-600 dark:bg-primary-900/30 dark:text-primary-400":"border-gray-200 text-gray-500 hover:border-gray-300 dark:border-gray-700 dark:text-gray-400 dark:hover:border-gray-600"]]),onClick:Ve=>he.value=we.value},C(we.label),11,gie)),64))]),b("p",hie,C(i(a)("settings.aiConfig.modal.contextWindowHint")),1)])]),b("div",vie,[I(ke,{variant:"soft",onClick:ae[33]||(ae[33]=we=>de.value=!1)},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1}),I(ke,{color:"primary",onClick:i(U)},{default:T(()=>[pe(C(i(a)("common.save")),1)]),_:1},8,["onClick"])])])]),_:1},8,["open"])],64)}}}),bie={key:0,class:"flex items-center justify-center py-12"},xie={key:1,class:"space-y-6"},_ie={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},wie={class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},kie={key:0,class:"divide-y divide-gray-200 dark:divide-gray-700"},Cie={class:"flex items-center gap-3"},Sie={class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-200 text-gray-500 dark:bg-gray-700 dark:text-gray-400"},Mie={class:"flex min-w-0 items-center gap-2"},$ie={class:"w-28 shrink-0 truncate text-sm font-medium text-gray-900 dark:text-white"},Aie={class:"flex min-w-0 items-center gap-1.5 text-xs text-gray-500 dark:text-gray-400"},Iie={class:"truncate"},Tie={class:"truncate"},Pie={class:"flex items-center gap-1"},Die={key:1,class:"flex flex-col items-center justify-center py-8"},Eie={class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},Rie={class:"text-xs text-gray-400 dark:text-gray-500"},Oie={class:"border-t border-gray-200 px-4 py-3 dark:border-gray-700"},Lie=ue({__name:"AIModelConfigTab",emits:["config-changed"],setup(e,{expose:t,emit:a}){const{t:n,locale:r}=ot(),s=a,o=$(()=>JSON.parse(localStorage.getItem(`chatlab_app_config_${r.value}`)||localStorage.getItem("chatlab_app_config")||"{}").aiTips||{}),l=Wl(),{configs:c,providers:u,providerRegistry:d,isLoading:f,isMaxConfigs:p}=aa(l),m=E(!1),g=E("add"),y=E(null);function _(){g.value="add",y.value=null,m.value=!0}function v(P){g.value="edit",y.value=P,m.value=!0}async function h(){await l.refreshConfigs(),s("config-changed")}async function k(P){try{const D=await ga().deleteConfig(P);D.success?(await l.refreshConfigs(),s("config-changed")):console.error("删除配置失败:",D.error)}catch(D){console.error("删除配置失败:",D)}}function w(P){const D=`providers.${P}.name`,H=n(D);return H!==D?H:l.getProviderName(P)}function A(P){const D=d.value.find(H=>H.id===P);return!D||D.kind==="official"||D.kind==="openai-compatible"?null:D.kind==="aggregator"?n("settings.aiConfig.providerKind.aggregator"):D.builtin?null:n("settings.aiConfig.providerKind.custom")}function M(P,D){return D?l.getModelById(P,D)?.name||D:n("settings.aiConfig.defaultModel")}function S(){l.refreshConfigs()}return t({refresh:S}),Ke(()=>{l.isInitialized?l.refreshConfigs():l.init()}),(P,D)=>{const H=Xe,Q=yi,G=nt;return x(),F(De,null,[i(f)?(x(),F("div",bie,[I(H,{name:"i-heroicons-arrow-path",class:"h-6 w-6 animate-spin text-gray-400"})])):(x(),F("div",xie,[b("div",null,[b("h4",_ie,[I(H,{name:"i-heroicons-sparkles",class:"h-4 w-4 text-violet-500"}),pe(" "+C(i(n)("settings.aiConfig.title")),1)]),i(c).length===0&&o.value.configTab?.show?(x(),N(Vw,{key:0,content:o.value.configTab?.content},null,8,["content"])):se("",!0),b("div",wie,[i(c).length>0?(x(),F("div",kie,[(x(!0),F(De,null,Ye(i(c),V=>(x(),F("div",{key:V.id,class:"group flex items-center justify-between px-4 py-2.5 transition-colors hover:bg-gray-100/50 dark:hover:bg-gray-700/30"},[b("div",Cie,[b("div",Sie,[I(H,{name:"i-heroicons-sparkles",class:"h-3.5 w-3.5"})]),b("div",Mie,[b("span",$ie,C(V.name),1),D[2]||(D[2]=b("span",{class:"h-3.5 w-px shrink-0 bg-gray-200 dark:bg-gray-700"},null,-1)),b("span",Aie,[b("span",Iie,C(w(V.provider)),1),A(V.provider)?(x(),N(Q,{key:0,color:"neutral",variant:"subtle",size:"xs"},{default:T(()=>[pe(C(A(V.provider)),1)]),_:2},1024)):se("",!0),D[1]||(D[1]=b("span",{class:"shrink-0"},"·",-1)),b("span",Tie,C(M(V.provider,V.model)),1)])])]),b("div",Pie,[I(G,{size:"xs",color:"neutral",variant:"ghost",icon:"i-heroicons-pencil-square",onClick:R=>v(V)},null,8,["onClick"]),I(G,{size:"xs",color:"error",variant:"ghost",icon:"i-heroicons-trash",onClick:R=>k(V.id)},null,8,["onClick"])])]))),128))])):(x(),F("div",Die,[I(H,{name:"i-heroicons-sparkles",class:"h-8 w-8 text-gray-300 dark:text-gray-600"}),b("p",Eie,C(i(n)("settings.aiConfig.empty.title")),1),b("p",Rie,C(i(n)("settings.aiConfig.empty.description")),1)])),b("div",Oie,[I(G,{variant:"soft",disabled:i(p),size:"sm",onClick:_},{default:T(()=>[I(H,{name:"i-heroicons-plus",class:"mr-1.5 h-3.5 w-3.5"}),pe(" "+C(i(p)?i(n)("settings.aiConfig.maxConfigs"):i(n)("settings.aiConfig.addConfig")),1)]),_:1},8,["disabled"])])])])])),I(yie,{open:m.value,"onUpdate:open":D[0]||(D[0]=V=>m.value=V),mode:g.value,config:y.value,providers:i(u),onSaved:h},null,8,["open","mode","config","providers"])],64)}}}),Ay={slots:{base:["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-bg stroke-default",content:"max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-3 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-3 text-base"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},position:{popper:{content:"data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"},"item-aligned":{content:""}},multiple:{true:""}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline",position:"popper"}},Hw=Object.assign({inheritAttrs:!1},{__name:"Select",props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["change","blur","focus","update:modelValue","update:open"],setup(e,{expose:t,emit:a}){const n=e,r=a,s=fa(),o=zt("select",n),l=kt(),c=Ma(xa(o,"open","defaultOpen","disabled","autocomplete","required","multiple"),r),u=Qs(_t(()=>o.portal)),d=$(()=>o.content?.position??l.ui?.select?.defaultVariants?.position??Ay.defaultVariants?.position),f=_t(()=>za(o.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:d.value})),p=_t(()=>za(o.arrow,{rounded:!0})),{emitFormChange:m,emitFormInput:g,emitFormBlur:y,emitFormFocus:_,size:v,color:h,id:k,name:w,highlight:A,disabled:M,ariaAttrs:S}=gi(n),{orientation:P,size:D}=Ul(n),{isLeading:H,isTrailing:Q,leadingIconName:G,trailingIconName:V}=_d(_t(()=>za(o,{trailingIcon:l.ui.icons.chevronDown}))),R=$(()=>D.value||v.value),L=$(()=>d.value==="item-aligned"),z=$(()=>tt({extend:tt(Ay),...l.ui?.select||{}})({color:h.value??o.color,variant:o.variant,size:R.value??o.size,loading:o.loading,highlight:A.value??o.highlight,leading:H.value||!!o.avatar||!!s.leading,trailing:Q.value||!!s.trailing,fieldGroup:P.value,position:d.value,multiple:o.multiple})),le=$(()=>o.items?.length?k2(o.items)?o.items:[o.items]:[]),K=$(()=>le.value.flatMap(O=>O));function ce(O){if(o.multiple&&Array.isArray(O)){const W=O.map(j=>Qh(K.value,j,{labelKey:o.labelKey,valueKey:o.valueKey})).filter(j=>j!=null&&j!=="");return W.length>0?W.join(", "):void 0}return Qh(K.value,O,{labelKey:o.labelKey,valueKey:o.valueKey})}const Y=el("triggerRef");function ve(){o.autofocus&&Y.value?.$el?.focus({focusVisible:!0})}Ke(()=>{setTimeout(()=>{ve()},o.autofocusDelay)});function ie(O){o.modelModifiers?.trim&&(typeof O=="string"||O===null||O===void 0)&&(O=O?.trim()??null),o.modelModifiers?.number&&(O=w2(O)),o.modelModifiers?.nullable&&(O??=null),o.modelModifiers?.optional&&!o.modelModifiers?.nullable&&O!==null&&(O??=void 0);const W=new Event("change",{target:{value:O}});r("change",W),m(),g()}function ye(O){if(O){const W=new FocusEvent("focus");r("focus",W),_()}else{const W=new FocusEvent("blur");r("blur",W),y()}}function de(O){return typeof O=="object"&&O!==null}function he(O){O||Y.value?.$el?.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,button:0}))}const ge=el("viewportRef");return t({triggerRef:_t(()=>Y.value?.$el),viewportRef:_t(()=>{const O=ge.value;return O&&typeof O=="object"&&"$el"in O?O.$el:O})}),(O,W)=>(x(),N(i(oE),$e({name:i(w)},i(c),{autocomplete:i(o).autocomplete,disabled:i(M),"default-value":i(o).defaultValue,"model-value":e.modelValue,"onUpdate:modelValue":ie,"onUpdate:open":ye}),{default:T(({modelValue:j,open:J})=>[I(i(zE),$e({id:i(k),ref_key:"triggerRef",ref:Y,"data-slot":"base",class:z.value.base({class:[i(o).ui?.base,i(o).class]})},{...O.$attrs,...i(S)},{onClick:ne=>he(J)}),{default:T(()=>[i(H)||i(o).avatar||s.leading?(x(),F("span",{key:0,"data-slot":"leading",class:xe(z.value.leading({class:i(o).ui?.leading}))},[Z(O.$slots,"leading",{modelValue:j,open:J,ui:z.value},()=>[i(H)&&i(G)?(x(),N(Xe,{key:0,name:i(G),"data-slot":"leadingIcon",class:xe(z.value.leadingIcon({class:i(o).ui?.leadingIcon}))},null,8,["name","class"])):i(o).avatar?(x(),N(Mr,$e({key:1,size:i(o).ui?.itemLeadingAvatarSize||z.value.itemLeadingAvatarSize()},i(o).avatar,{"data-slot":"itemLeadingAvatar",class:z.value.itemLeadingAvatar({class:i(o).ui?.itemLeadingAvatar})}),null,16,["size","class"])):se("",!0)])],2)):se("",!0),(x(!0),F(De,null,Ye([ce(j)],ne=>(x(),N(i(UE),{key:ne,"data-slot":ne!=null?"value":"placeholder",class:xe(ne!=null?z.value.value({class:i(o).ui?.value}):z.value.placeholder({class:i(o).ui?.placeholder}))},{default:T(()=>[Z(O.$slots,"default",{modelValue:j,open:J,ui:z.value},()=>[pe(C(ne??i(o).placeholder??" "),1)])]),_:2},1032,["data-slot","class"]))),128)),i(Q)||s.trailing?(x(),F("span",{key:1,"data-slot":"trailing",class:xe(z.value.trailing({class:i(o).ui?.trailing}))},[Z(O.$slots,"trailing",{modelValue:j,open:J,ui:z.value},()=>[i(V)?(x(),N(Xe,{key:0,name:i(V),"data-slot":"trailingIcon",class:xe(z.value.trailingIcon({class:i(o).ui?.trailingIcon}))},null,8,["name","class"])):se("",!0)])],2)):se("",!0)]),_:2},1040,["id","class","onClick"]),I(i(NE),He(Ge(i(u))),{default:T(()=>[I(i(mi),null,{default:T(()=>[I(i(kE),$e({"data-slot":"content",class:z.value.content({class:i(o).ui?.content})},f.value),{default:T(()=>[Z(O.$slots,"content-top"),(x(),N(sa(L.value?i(WE):"div"),{ref_key:"viewportRef",ref:ge,role:"presentation","data-slot":"viewport",class:xe(z.value.viewport({class:i(o).ui?.viewport}))},{default:T(()=>[(x(!0),F(De,null,Ye(le.value,(ne,U)=>(x(),N(i($E),{key:`group-${U}`,"data-slot":"group",class:xe(z.value.group({class:i(o).ui?.group}))},{default:T(()=>[(x(!0),F(De,null,Ye(ne,(q,oe)=>(x(),F(De,{key:`group-${U}-${oe}`},[de(q)&&q.type==="label"?(x(),N(i(LE),{key:0,"data-slot":"label",class:xe(z.value.label({class:[i(o).ui?.label,q.ui?.label,q.class]}))},{default:T(()=>[pe(C(i($t)(q,i(o).labelKey)),1)]),_:2},1032,["class"])):de(q)&&q.type==="separator"?(x(),N(i(VE),{key:1,"data-slot":"separator",class:xe(z.value.separator({class:[i(o).ui?.separator,q.ui?.separator,q.class]}))},null,8,["class"])):(x(),N(i(TE),{key:2,"data-slot":"item",class:xe(z.value.item({class:[i(o).ui?.item,de(q)&&q.ui?.item,de(q)&&q.class]})),disabled:de(q)&&q.disabled,value:de(q)?i($t)(q,i(o).valueKey):q,onSelect:_e=>de(q)&&q.onSelect?.(_e)},{default:T(()=>[Z(O.$slots,"item",{item:q,index:oe,ui:z.value},()=>[Z(O.$slots,"item-leading",{item:q,index:oe,ui:z.value},()=>[de(q)&&q.icon?(x(),N(Xe,{key:0,name:q.icon,"data-slot":"itemLeadingIcon",class:xe(z.value.itemLeadingIcon({class:[i(o).ui?.itemLeadingIcon,q.ui?.itemLeadingIcon]}))},null,8,["name","class"])):de(q)&&q.avatar?(x(),N(Mr,$e({key:1,size:q.ui?.itemLeadingAvatarSize||i(o).ui?.itemLeadingAvatarSize||z.value.itemLeadingAvatarSize()},{ref_for:!0},q.avatar,{"data-slot":"itemLeadingAvatar",class:z.value.itemLeadingAvatar({class:[i(o).ui?.itemLeadingAvatar,q.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):de(q)&&q.chip?(x(),N(z_,$e({key:2,size:q.ui?.itemLeadingChipSize||i(o).ui?.itemLeadingChipSize||z.value.itemLeadingChipSize(),inset:"",standalone:""},{ref_for:!0},q.chip,{"data-slot":"itemLeadingChip",class:z.value.itemLeadingChip({class:[i(o).ui?.itemLeadingChip,q.ui?.itemLeadingChip]})}),null,16,["size","class"])):se("",!0)]),b("span",{"data-slot":"itemWrapper",class:xe(z.value.itemWrapper({class:[i(o).ui?.itemWrapper,de(q)&&q.ui?.itemWrapper]}))},[I(i(RE),{"data-slot":"itemLabel",class:xe(z.value.itemLabel({class:[i(o).ui?.itemLabel,de(q)&&q.ui?.itemLabel]}))},{default:T(()=>[Z(O.$slots,"item-label",{item:q,index:oe},()=>[pe(C(de(q)?i($t)(q,i(o).labelKey):q),1)])]),_:2},1032,["class"]),de(q)&&(i($t)(q,i(o).descriptionKey)||s["item-description"])?(x(),F("span",{key:0,"data-slot":"itemDescription",class:xe(z.value.itemDescription({class:[i(o).ui?.itemDescription,de(q)&&q.ui?.itemDescription]}))},[Z(O.$slots,"item-description",{item:q,index:oe},()=>[pe(C(i($t)(q,i(o).descriptionKey)),1)])],2)):se("",!0)],2),b("span",{"data-slot":"itemTrailing",class:xe(z.value.itemTrailing({class:[i(o).ui?.itemTrailing,de(q)&&q.ui?.itemTrailing]}))},[Z(O.$slots,"item-trailing",{item:q,index:oe,ui:z.value}),I(i(DE),{"as-child":""},{default:T(()=>[I(Xe,{name:i(o).selectedIcon||i(l).ui.icons.check,"data-slot":"itemTrailingIcon",class:xe(z.value.itemTrailingIcon({class:[i(o).ui?.itemTrailingIcon,de(q)&&q.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))]),_:3},8,["class"])),Z(O.$slots,"content-bottom"),i(o).arrow?(x(),N(i(yE),$e({key:0},p.value,{"data-slot":"arrow",class:z.value.arrow({class:i(o).ui?.arrow})}),null,16,["class"])):se("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","autocomplete","disabled","default-value","model-value"]))}}),qie={class:"space-y-6"},Nie={key:0,class:"rounded-lg border-2 border-dashed border-gray-200 py-8 text-center dark:border-gray-700"},Fie={class:"text-sm text-gray-500 dark:text-gray-400"},Vie={key:1},Bie={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},zie={class:"space-y-5 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Hie={class:"mb-2"},Uie={class:"text-sm font-medium text-gray-900 dark:text-white"},jie={class:"text-xs text-gray-500 dark:text-gray-400"},Wie={class:"flex items-center gap-3"},Kie={class:"flex-1"},Gie={class:"mb-1 block text-xs text-gray-400 dark:text-gray-500"},Yie={class:"flex-1"},Xie={class:"mb-1 block text-xs text-gray-400 dark:text-gray-500"},Jie={class:"mb-2"},Qie={class:"text-sm font-medium text-gray-900 dark:text-white"},Zie={class:"text-xs text-gray-500 dark:text-gray-400"},ele={class:"flex items-center gap-3"},tle={class:"flex-1"},ale={class:"mb-1 block text-xs text-gray-400 dark:text-gray-500"},nle={class:"flex-1"},rle={class:"mb-1 block text-xs text-gray-400 dark:text-gray-500"},$f="__follow__",sle=ue({__name:"AIDefaultModelTab",emits:["config-changed"],setup(e,{emit:t}){const{t:a}=ot(),n=t,r=Wl(),{configs:s,defaultAssistant:o,fastModel:l,modelCatalog:c}=aa(r);function u(k){const w=s.value.find(S=>S.id===k);if(!w)return[];if(w.customModels&&w.customModels.length>0)return w.customModels.map(S=>({label:S.name||S.id,value:S.id}));const M=c.value.filter(S=>S.providerId===w.provider&&!S.capabilities.includes("embedding")&&!S.capabilities.includes("ranking")).map(S=>({label:S.name||S.id,value:S.id}));return w.model&&!M.some(S=>S.value===w.model)&&M.unshift({label:w.model,value:w.model}),M}const d=$(()=>s.value.map(k=>({label:k.name,value:k.id}))),f=$(()=>{const k=o.value?.configId;return k?u(k):[]}),p=$({get:()=>o.value?.configId??"",set:k=>{if(!k)return;const A=u(k)[0]?.value??"";r.setDefaultAssistantModel(k,A),n("config-changed")}}),m=$({get:()=>o.value?.modelId??"",set:k=>{const w=o.value?.configId;w&&k&&(r.setDefaultAssistantModel(w,k),n("config-changed"))}}),g=$(()=>[{label:a("settings.defaultModel.fastModel.followAssistant"),value:$f},...d.value]),y=$(()=>{const k=l.value?.configId;return k?u(k):[]}),_=$(()=>l.value!==null),v=$({get:()=>l.value?.configId??$f,set:k=>{if(k===$f)r.setFastModel(null);else{const A=u(k)[0]?.value??"";r.setFastModel({configId:k,modelId:A})}n("config-changed")}}),h=$({get:()=>l.value?.modelId??"",set:k=>{const w=l.value?.configId;w&&k&&(r.setFastModel({configId:w,modelId:k}),n("config-changed"))}});return Ke(()=>{r.isInitialized||r.init()}),(k,w)=>{const A=Xe,M=Hw;return x(),F("div",qie,[i(s).length===0?(x(),F("div",Nie,[I(A,{name:"i-heroicons-cpu-chip",class:"mx-auto mb-2 h-8 w-8 text-gray-300 dark:text-gray-600"}),b("p",Fie,C(i(a)("settings.defaultModel.noConfigs")),1)])):(x(),F("div",Vie,[b("h4",Bie,[I(A,{name:"i-heroicons-cpu-chip",class:"h-4 w-4 text-violet-500"}),pe(" "+C(i(a)("settings.defaultModel.title")),1)]),b("div",zie,[b("div",null,[b("div",Hie,[b("p",Uie,C(i(a)("settings.defaultModel.assistantModel.label")),1),b("p",jie,C(i(a)("settings.defaultModel.assistantModel.description")),1)]),b("div",Wie,[b("div",Kie,[b("span",Gie,C(i(a)("settings.defaultModel.selectProvider")),1),I(M,{modelValue:p.value,"onUpdate:modelValue":w[0]||(w[0]=S=>p.value=S),items:d.value,ui:{content:"z-[200]"},class:"w-full",size:"sm"},null,8,["modelValue","items"])]),b("div",Yie,[b("span",Xie,C(i(a)("settings.defaultModel.selectModel")),1),f.value.length>0?(x(),N(M,{key:0,modelValue:m.value,"onUpdate:modelValue":w[1]||(w[1]=S=>m.value=S),items:f.value,ui:{content:"z-[200]"},class:"w-full",size:"sm"},null,8,["modelValue","items"])):(x(),N(M,{key:1,items:[],disabled:"",class:"w-full",size:"sm"}))])])]),b("div",null,[b("div",Jie,[b("p",Qie,C(i(a)("settings.defaultModel.fastModel.label")),1),b("p",Zie,C(i(a)("settings.defaultModel.fastModel.description")),1)]),b("div",ele,[b("div",tle,[b("span",ale,C(i(a)("settings.defaultModel.selectProvider")),1),I(M,{modelValue:v.value,"onUpdate:modelValue":w[2]||(w[2]=S=>v.value=S),items:g.value,ui:{content:"z-[200]"},class:"w-full",size:"sm"},null,8,["modelValue","items"])]),b("div",nle,[b("span",rle,C(i(a)("settings.defaultModel.selectModel")),1),_.value&&y.value.length>0?(x(),N(M,{key:0,modelValue:h.value,"onUpdate:modelValue":w[3]||(w[3]=S=>h.value=S),items:y.value,ui:{content:"z-[200]"},class:"w-full",size:"sm"},null,8,["modelValue","items"])):(x(),N(M,{key:1,items:[],disabled:"",class:"w-full",size:"sm"}))])])])])]))])}}}),ole={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],increment:"absolute flex items-center",decrement:"absolute flex items-center"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},size:{xs:"px-2 py-1 text-sm/4 gap-1",sm:"px-2.5 py-1.5 text-sm/4 gap-1.5",md:"px-2.5 py-1.5 text-base/5 gap-1.5",lg:"px-3 py-2 text-base/5 gap-2",xl:"px-3 py-2 text-base gap-2"},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},disabled:{true:{increment:"opacity-75 cursor-not-allowed",decrement:"opacity-75 cursor-not-allowed"}},orientation:{horizontal:{base:"text-center",increment:"inset-y-0 end-0 pe-1",decrement:"inset-y-0 start-0 ps-1"},vertical:{increment:"top-0 end-0 pe-1 [&>button]:py-0 scale-80",decrement:"bottom-0 end-0 pe-1 [&>button]:py-0 scale-80"}},highlight:{true:""},fixed:{false:""},increment:{false:""},decrement:{false:""}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{orientation:"horizontal",decrement:!1,class:"text-start"},{decrement:!0,size:"xs",class:"ps-7"},{decrement:!0,size:"sm",class:"ps-8"},{decrement:!0,size:"md",class:"ps-9"},{decrement:!0,size:"lg",class:"ps-10"},{decrement:!0,size:"xl",class:"ps-11"},{increment:!0,size:"xs",class:"pe-7"},{increment:!0,size:"sm",class:"pe-8"},{increment:!0,size:"md",class:"pe-9"},{increment:!0,size:"lg",class:"pe-10"},{increment:!0,size:"xl",class:"pe-11"},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Uw=Object.assign({inheritAttrs:!1},{__name:"InputNumber",props:{as:{type:null,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},orientation:{type:null,required:!1,default:"horizontal"},increment:{type:[Boolean,Object],required:!1,default:!0},incrementIcon:{type:null,required:!1},incrementDisabled:{type:Boolean,required:!1},decrement:{type:[Boolean,Object],required:!1,default:!0},decrementIcon:{type:null,required:!1},decrementDisabled:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},min:{type:Number,required:!1},max:{type:Number,required:!1},step:{type:Number,required:!1},stepSnapping:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},required:{type:Boolean,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},formatOptions:{type:null,required:!1},disableWheelChange:{type:Boolean,required:!1},invertWheelChange:{type:Boolean,required:!1},readonly:{type:Boolean,required:!1},focusOnChange:{type:Boolean,required:!1},locale:{type:String,required:!1}},emits:["update:modelValue","blur","change"],setup(e,{expose:t,emit:a}){const n=e,r=a,s=zt("inputNumber",n),o=b2(s,"modelValue",r,{defaultValue:s.defaultValue}),{t:l}=js(),c=kt(),u=Ma(xa(s,"as","stepSnapping","formatOptions","disableWheelChange","invertWheelChange","required","readonly","focusOnChange","locale"),r),{emitFormBlur:d,emitFormFocus:f,emitFormChange:p,emitFormInput:m,id:g,color:y,size:_,name:v,highlight:h,disabled:k,ariaAttrs:w}=gi(n),{orientation:A,size:M}=Ul(n),S=$(()=>M.value||_.value),P=$(()=>tt({extend:tt(ole),...c.ui?.inputNumber||{}})({color:y.value??s.color,variant:s.variant,size:S.value??s.size,highlight:h.value??s.highlight,fixed:s.fixed,orientation:s.orientation,fieldGroup:A.value,increment:s.orientation==="vertical"?!!s.increment||!!s.decrement:!!s.increment,decrement:s.orientation==="vertical"?!1:!!s.decrement})),D=$(()=>s.incrementIcon||(s.orientation==="horizontal"?c.ui.icons.plus:c.ui.icons.chevronUp)),H=$(()=>s.decrementIcon||(s.orientation==="horizontal"?c.ui.icons.minus:c.ui.icons.chevronDown)),Q=el("inputRef");function G(L){s.modelModifiers?.optional&&(o.value=L=L??void 0);const z=new Event("change",{target:{value:L}});r("change",z),p(),m()}function V(L){d(),r("blur",L)}function R(){s.autofocus&&Q.value?.$el?.focus()}return Ke(()=>{setTimeout(()=>{R()},s.autofocusDelay)}),t({inputRef:_t(()=>Q.value?.$el)}),(L,z)=>(x(),N(i(VD),$e(i(u),{id:i(g),"default-value":i(s).defaultValue,"model-value":i(o),min:i(s).min,max:i(s).max,step:i(s).step,"data-slot":"root",class:P.value.root({class:[i(s).ui?.root,i(s).class]}),name:i(v),disabled:i(k),"onUpdate:modelValue":z[0]||(z[0]=le=>G(le))}),{default:T(()=>[I(i(WD),$e({...L.$attrs,...i(w)},{ref_key:"inputRef",ref:Q,placeholder:i(s).placeholder,required:i(s).required,"data-slot":"base",class:P.value.base({class:i(s).ui?.base}),onBlur:V,onFocus:i(f)}),null,16,["placeholder","required","class","onFocus"]),i(s).increment?(x(),F("div",{key:0,"data-slot":"increment",class:xe(P.value.increment({class:i(s).ui?.increment}))},[I(i(UD),{"as-child":"",disabled:i(k)||i(s).incrementDisabled},{default:T(()=>[Z(L.$slots,"increment",{},()=>[I(nt,$e({icon:D.value,color:i(y),size:S.value,variant:"link","aria-label":i(l)("inputNumber.increment")},typeof i(s).increment=="object"?i(s).increment:void 0),null,16,["icon","color","size","aria-label"])])]),_:3},8,["disabled"])],2)):se("",!0),i(s).decrement?(x(),F("div",{key:1,"data-slot":"decrement",class:xe(P.value.decrement({class:i(s).ui?.decrement}))},[I(i(zD),{"as-child":"",disabled:i(k)||i(s).decrementDisabled},{default:T(()=>[Z(L.$slots,"decrement",{},()=>[I(nt,$e({icon:H.value,color:i(y),size:S.value,variant:"link","aria-label":i(l)("inputNumber.decrement")},typeof i(s).decrement=="object"?i(s).decrement:void 0),null,16,["icon","color","size","aria-label"])])]),_:3},8,["disabled"])],2)):se("",!0)]),_:3},16,["id","default-value","model-value","min","max","step","class","name","disabled"]))}}),ile={slots:{root:"relative flex items-start",base:["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-3 data-[state=unchecked]:bg-accented","transition-[background] duration-200"],container:"flex items-center",thumb:"group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",icon:["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12","transition-[color,opacity] duration-200"],wrapper:"ms-2",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"data-[state=checked]:bg-primary outline-primary/25",icon:"group-data-[state=checked]:text-primary"},secondary:{base:"data-[state=checked]:bg-secondary outline-secondary/25",icon:"group-data-[state=checked]:text-secondary"},success:{base:"data-[state=checked]:bg-success outline-success/25",icon:"group-data-[state=checked]:text-success"},info:{base:"data-[state=checked]:bg-info outline-info/25",icon:"group-data-[state=checked]:text-info"},warning:{base:"data-[state=checked]:bg-warning outline-warning/25",icon:"group-data-[state=checked]:text-warning"},error:{base:"data-[state=checked]:bg-error outline-error/25",icon:"group-data-[state=checked]:text-error"},neutral:{base:"data-[state=checked]:bg-inverted outline-inverted/25",icon:"group-data-[state=checked]:text-highlighted"}},size:{xs:{base:"w-7",container:"h-4",thumb:"size-3 data-[state=checked]:translate-x-3 data-[state=checked]:rtl:-translate-x-3",wrapper:"text-xs"},sm:{base:"w-8",container:"h-4",thumb:"size-3.5 data-[state=checked]:translate-x-3.5 data-[state=checked]:rtl:-translate-x-3.5",wrapper:"text-xs"},md:{base:"w-9",container:"h-5",thumb:"size-4 data-[state=checked]:translate-x-4 data-[state=checked]:rtl:-translate-x-4",wrapper:"text-sm"},lg:{base:"w-10",container:"h-5",thumb:"size-4.5 data-[state=checked]:translate-x-4.5 data-[state=checked]:rtl:-translate-x-4.5",wrapper:"text-sm"},xl:{base:"w-11",container:"h-6",thumb:"size-5 data-[state=checked]:translate-x-5 data-[state=checked]:rtl:-translate-x-5",wrapper:"text-base"}},checked:{true:{icon:"group-data-[state=checked]:opacity-100"}},unchecked:{true:{icon:"group-data-[state=unchecked]:opacity-100"}},loading:{true:{icon:"animate-spin"}},highlight:{true:""},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}}},compoundVariants:[{color:"primary",highlight:!0,class:{base:"ring ring-primary"}},{color:"secondary",highlight:!0,class:{base:"ring ring-secondary"}},{color:"success",highlight:!0,class:{base:"ring ring-success"}},{color:"info",highlight:!0,class:{base:"ring ring-info"}},{color:"warning",highlight:!0,class:{base:"ring ring-warning"}},{color:"error",highlight:!0,class:{base:"ring ring-error"}},{color:"neutral",highlight:!0,class:{base:"ring ring-inverted"}}],defaultVariants:{color:"primary",size:"md"}},bi=Object.assign({inheritAttrs:!1},{__name:"Switch",props:{as:{type:null,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},highlight:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},checkedIcon:{type:null,required:!1},uncheckedIcon:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},value:{type:String,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1}},emits:["change","update:modelValue"],setup(e,{emit:t}){const a=e,n=fa(),r=t,s=zt("switch",a),o=kt(),l=Ma(xa(s,"required","value","defaultValue","modelValue","trueValue","falseValue"),r),{id:c,emitFormChange:u,emitFormInput:d,size:f,color:p,highlight:m,name:g,disabled:y,ariaAttrs:_}=gi(a),v=c.value??Uu(),h=r1(),k=$(()=>{const{"data-state":M,...S}=h;return S}),w=$(()=>tt({extend:tt(ile),...o.ui?.switch||{}})({size:f.value??s.size,color:p.value??s.color,highlight:m.value??s.highlight,required:s.required,loading:s.loading,disabled:y.value||s.loading}));function A(M){const S=new Event("change",{target:{value:M}});r("change",S),u(),d()}return(M,S)=>(x(),N(i(Te),{as:i(s).as,"data-slot":"root",class:xe(w.value.root({class:[i(s).ui?.root,i(s).class]}))},{default:T(()=>[b("div",{"data-slot":"container",class:xe(w.value.container({class:i(s).ui?.container}))},[I(i(XE),$e({id:i(v)},{...i(l),...k.value,...i(_)},{name:i(g),disabled:i(y)||i(s).loading,"data-slot":"base",class:w.value.base({class:i(s).ui?.base}),"onUpdate:modelValue":A}),{default:T(()=>[I(i(QE),{"data-slot":"thumb",class:xe(w.value.thumb({class:i(s).ui?.thumb}))},{default:T(()=>[i(s).loading?(x(),N(Xe,{key:0,name:i(s).loadingIcon||i(o).ui.icons.loading,"data-slot":"icon",class:xe(w.value.icon({class:i(s).ui?.icon,checked:!0,unchecked:!0}))},null,8,["name","class"])):(x(),F(De,{key:1},[i(s).checkedIcon?(x(),N(Xe,{key:0,name:i(s).checkedIcon,"data-slot":"icon",class:xe(w.value.icon({class:i(s).ui?.icon,checked:!0}))},null,8,["name","class"])):se("",!0),i(s).uncheckedIcon?(x(),N(Xe,{key:1,name:i(s).uncheckedIcon,"data-slot":"icon",class:xe(w.value.icon({class:i(s).ui?.icon,unchecked:!0}))},null,8,["name","class"])):se("",!0)],64))]),_:1},8,["class"])]),_:1},16,["id","name","disabled","class"])],2),i(s).label||n.label||i(s).description||n.description?(x(),F("div",{key:0,"data-slot":"wrapper",class:xe(w.value.wrapper({class:i(s).ui?.wrapper}))},[i(s).label||n.label?(x(),N(i(Ep),{key:0,for:i(v),"data-slot":"label",class:xe(w.value.label({class:i(s).ui?.label}))},{default:T(()=>[Z(M.$slots,"label",{label:i(s).label},()=>[pe(C(i(s).label),1)])]),_:3},8,["for","class"])):se("",!0),i(s).description||n.description?(x(),F("p",{key:1,"data-slot":"description",class:xe(w.value.description({class:i(s).ui?.description}))},[Z(M.$slots,"description",{description:i(s).description},()=>[pe(C(i(s).description),1)])],2)):se("",!0)],2)):se("",!0)]),_:3},8,["as","class"]))}}),Id=Wn("prompt",()=>{const e=E(0),t=E({maxMessagesPerRequest:1e3,exportFormat:"markdown",sqlExportFormat:"csv",enableAutoSkill:!0,chartAutoMode:"suggest",searchContextBefore:2,searchContextAfter:2,contextCompression:{enabled:!0,tokenThresholdPercent:75,bufferSizePercent:20,maxToolResultPercent:50}}),a=E([]),n=E([]),r=E({});function s(){e.value++}function o(m){const{contextCompression:g,...y}=m;t.value={...t.value,...y,contextCompression:g?{...t.value.contextCompression,...g}:t.value.contextCompression},s()}function l(m){a.value.push(m)}function c(m,g){const y=a.value.findIndex(_=>_.id===m);y!==-1&&(a.value[y]={...a.value[y],...g})}function u(m){const g=a.value.findIndex(y=>y.id===m);g!==-1&&a.value.splice(g,1)}function d(m){n.value.includes(m)||n.value.push(m)}function f(m,g){return r.value[`${m}:${g}`]}function p(m,g,y){r.value={...r.value,[`${m}:${g}`]:y}}return{aiConfigVersion:e,aiGlobalSettings:t,customKeywordTemplates:a,deletedPresetTemplateIds:n,thinkingLevels:r,notifyAIConfigChanged:s,updateAIGlobalSettings:o,addCustomKeywordTemplate:l,updateCustomKeywordTemplate:c,removeCustomKeywordTemplate:u,addDeletedPresetTemplateId:d,getThinkingLevel:f,setThinkingLevel:p}},{persist:!1,backendPersist:{pick:["aiGlobalSettings","customKeywordTemplates","deletedPresetTemplateIds","thinkingLevels"]}}),lle={class:"space-y-6"},cle={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},ule={class:"space-y-4 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},dle={class:"flex items-center justify-between"},fle={class:"flex-1 pr-4"},ple={class:"text-sm font-medium text-gray-900 dark:text-white"},mle={class:"text-xs text-gray-500 dark:text-gray-400"},gle={class:"flex items-center justify-between"},hle={class:"flex-1 pr-4"},vle={class:"text-sm font-medium text-gray-900 dark:text-white"},yle={class:"text-xs text-gray-500 dark:text-gray-400"},ble={class:"flex flex-col items-end gap-1"},xle={class:"max-w-64 text-right text-xs text-gray-500 dark:text-gray-400"},_le={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},wle={class:"space-y-4 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},kle={class:"flex items-center justify-between"},Cle={class:"flex-1 pr-4"},Sle={class:"text-sm font-medium text-gray-900 dark:text-white"},Mle={class:"text-xs text-gray-500 dark:text-gray-400"},$le={class:"mb-2"},Ale={class:"text-sm font-medium text-gray-900 dark:text-white"},Ile={class:"text-xs text-gray-500 dark:text-gray-400"},Tle={class:"flex items-center gap-4"},Ple={class:"flex items-center gap-2"},Dle={class:"text-xs text-gray-500 dark:text-gray-400"},Ele={class:"flex items-center gap-2"},Rle={class:"text-xs text-gray-500 dark:text-gray-400"},Ole={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Lle={class:"space-y-4 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},qle={class:"flex items-center justify-between"},Nle={class:"flex-1 pr-4"},Fle={class:"text-sm font-medium text-gray-900 dark:text-white"},Vle={class:"text-xs text-gray-500 dark:text-gray-400"},Ble={class:"flex items-center justify-between"},zle={class:"flex-1 pr-4"},Hle={class:"text-sm font-medium text-gray-900 dark:text-white"},Ule={class:"text-xs text-gray-500 dark:text-gray-400"},jle={class:"flex items-center gap-1"},Wle={class:"flex items-center justify-between"},Kle={class:"flex-1 pr-4"},Gle={class:"text-sm font-medium text-gray-900 dark:text-white"},Yle={class:"text-xs text-gray-500 dark:text-gray-400"},Xle={class:"flex items-center gap-1"},Jle={class:"flex items-center justify-between"},Qle={class:"flex-1 pr-4"},Zle={class:"text-sm font-medium text-gray-900 dark:text-white"},ece={class:"text-xs text-gray-500 dark:text-gray-400"},tce={class:"flex items-center gap-1"},ace=ue({__name:"AIPromptConfigTab",props:{setSectionRef:{type:Function}},emits:["config-changed"],setup(e,{emit:t}){const{t:a}=ot(),n=Id(),{aiGlobalSettings:r}=aa(n),s=e,o=t;function l(k,w){s.setSectionRef?.(k,w)}const c=$({get:()=>r.value.maxMessagesPerRequest,set:k=>{const w=Math.max(0,Math.min(5e4,k||1e3));n.updateAIGlobalSettings({maxMessagesPerRequest:w}),o("config-changed")}}),u=$({get:()=>r.value.enableAutoSkill??!0,set:k=>{n.updateAIGlobalSettings({enableAutoSkill:k}),o("config-changed")}}),d=$(()=>[{label:a("settings.aiPrompt.chatPreferences.chartAutoMode.explicit"),value:"explicit"},{label:a("settings.aiPrompt.chatPreferences.chartAutoMode.suggest"),value:"suggest"},{label:a("settings.aiPrompt.chatPreferences.chartAutoMode.aggressive"),value:"aggressive"}]),f=$({get:()=>r.value.chartAutoMode??"suggest",set:k=>{n.updateAIGlobalSettings({chartAutoMode:k}),o("config-changed")}}),p=$(()=>a(`settings.aiPrompt.chatPreferences.chartAutoMode.${f.value}Hint`)),m=$({get:()=>r.value.searchContextBefore??3,set:k=>{const w=Math.max(0,Math.min(20,k??3));n.updateAIGlobalSettings({searchContextBefore:w}),o("config-changed")}}),g=$({get:()=>r.value.searchContextAfter??3,set:k=>{const w=Math.max(0,Math.min(20,k??3));n.updateAIGlobalSettings({searchContextAfter:w}),o("config-changed")}}),y=$({get:()=>r.value.contextCompression?.enabled??!1,set:k=>{n.updateAIGlobalSettings({contextCompression:{...r.value.contextCompression,enabled:k}}),o("config-changed")}}),_=$({get:()=>r.value.contextCompression?.tokenThresholdPercent??75,set:k=>{const w=Math.max(30,Math.min(95,k||75));n.updateAIGlobalSettings({contextCompression:{...r.value.contextCompression,tokenThresholdPercent:w}}),o("config-changed")}}),v=$({get:()=>r.value.contextCompression?.bufferSizePercent??20,set:k=>{const w=Math.max(5,Math.min(50,k||20));n.updateAIGlobalSettings({contextCompression:{...r.value.contextCompression,bufferSizePercent:w}}),o("config-changed")}}),h=$({get:()=>r.value.contextCompression?.maxToolResultPercent??50,set:k=>{const w=Math.max(10,Math.min(80,k||50));n.updateAIGlobalSettings({contextCompression:{...r.value.contextCompression,maxToolResultPercent:w}}),o("config-changed")}});return(k,w)=>{const A=Xe,M=bi,S=eo,P=Uw;return x(),F("div",lle,[b("div",{ref:D=>l("skill",D)},[b("h4",cle,[I(A,{name:"i-heroicons-bolt",class:"h-4 w-4 text-amber-500"}),pe(" "+C(i(a)("settings.aiPrompt.chatPreferences.title")),1)]),b("div",ule,[b("div",dle,[b("div",fle,[b("p",ple,C(i(a)("settings.aiPrompt.chatPreferences.enableAutoSkill")),1),b("p",mle,C(i(a)("settings.aiPrompt.chatPreferences.enableAutoSkillDesc")),1)]),I(M,{modelValue:u.value,"onUpdate:modelValue":w[0]||(w[0]=D=>u.value=D)},null,8,["modelValue"])]),b("div",gle,[b("div",hle,[b("p",vle,C(i(a)("settings.aiPrompt.chatPreferences.chartAutoMode.title")),1),b("p",yle,C(i(a)("settings.aiPrompt.chatPreferences.chartAutoMode.description")),1)]),b("div",ble,[I(S,{modelValue:f.value,"onUpdate:modelValue":w[1]||(w[1]=D=>f.value=D),items:d.value,disabled:!u.value,size:"xs"},null,8,["modelValue","items","disabled"]),b("p",xle,C(p.value),1)])])])],512),b("div",{ref:D=>l("chat",D)},[b("h4",_le,[I(A,{name:"i-heroicons-chat-bubble-left-right",class:"h-4 w-4 text-green-500"}),pe(" "+C(i(a)("settings.aiPrompt.chatSettings.title")),1)]),b("div",wle,[b("div",kle,[b("div",Cle,[b("p",Sle,C(i(a)("settings.aiPrompt.maxMessages.title")),1),b("p",Mle,C(i(a)("settings.aiPrompt.maxMessages.description")),1)]),I(P,{modelValue:c.value,"onUpdate:modelValue":w[2]||(w[2]=D=>c.value=D),min:0,max:5e4,class:"w-30"},null,8,["modelValue"])]),b("div",null,[b("div",$le,[b("p",Ale,C(i(a)("settings.aiPrompt.searchContext.title")),1),b("p",Ile,C(i(a)("settings.aiPrompt.searchContext.description")),1)]),b("div",Tle,[b("div",Ple,[b("span",Dle,C(i(a)("settings.aiPrompt.searchContext.before")),1),I(P,{modelValue:m.value,"onUpdate:modelValue":w[3]||(w[3]=D=>m.value=D),min:0,max:20,class:"w-24"},null,8,["modelValue"])]),b("div",Ele,[b("span",Rle,C(i(a)("settings.aiPrompt.searchContext.after")),1),I(P,{modelValue:g.value,"onUpdate:modelValue":w[4]||(w[4]=D=>g.value=D),min:0,max:20,class:"w-24"},null,8,["modelValue"])])])])])],512),b("div",{ref:D=>l("compression",D)},[b("h4",Ole,[I(A,{name:"i-heroicons-archive-box-arrow-down",class:"h-4 w-4 text-purple-500"}),pe(" "+C(i(a)("settings.aiPrompt.compression.title")),1)]),b("div",Lle,[b("div",qle,[b("div",Nle,[b("p",Fle,C(i(a)("settings.aiPrompt.compression.enable")),1),b("p",Vle,C(i(a)("settings.aiPrompt.compression.enableDesc")),1)]),I(M,{modelValue:y.value,"onUpdate:modelValue":w[5]||(w[5]=D=>y.value=D)},null,8,["modelValue"])]),b("div",Ble,[b("div",zle,[b("p",Hle,C(i(a)("settings.aiPrompt.compression.maxToolResultPercent")),1),b("p",Ule,C(i(a)("settings.aiPrompt.compression.maxToolResultPercentDesc")),1)]),b("div",jle,[I(P,{modelValue:h.value,"onUpdate:modelValue":w[6]||(w[6]=D=>h.value=D),min:10,max:80,class:"w-24"},null,8,["modelValue"]),w[9]||(w[9]=b("span",{class:"text-xs text-gray-400"},"%",-1))])]),y.value?(x(),F(De,{key:0},[b("div",Wle,[b("div",Kle,[b("p",Gle,C(i(a)("settings.aiPrompt.compression.threshold")),1),b("p",Yle,C(i(a)("settings.aiPrompt.compression.thresholdDesc")),1)]),b("div",Xle,[I(P,{modelValue:_.value,"onUpdate:modelValue":w[7]||(w[7]=D=>_.value=D),min:30,max:95,class:"w-24"},null,8,["modelValue"]),w[10]||(w[10]=b("span",{class:"text-xs text-gray-400"},"%",-1))])]),b("div",Jle,[b("div",Qle,[b("p",Zle,C(i(a)("settings.aiPrompt.compression.buffer")),1),b("p",ece,C(i(a)("settings.aiPrompt.compression.bufferDesc")),1)]),b("div",tce,[I(P,{modelValue:v.value,"onUpdate:modelValue":w[8]||(w[8]=D=>v.value=D),min:5,max:50,class:"w-24"},null,8,["modelValue"]),w[11]||(w[11]=b("span",{class:"text-xs text-gray-400"},"%",-1))])])],64)):se("",!0)])],512)])}}}),nce={slots:{root:"relative flex items-start",container:"flex items-center",base:"rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",indicator:"flex items-center justify-center size-full text-inverted",icon:"shrink-0 size-full",wrapper:"w-full",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"outline-primary/25 focus-visible:ring-primary",indicator:"bg-primary"},secondary:{base:"outline-secondary/25 focus-visible:ring-secondary",indicator:"bg-secondary"},success:{base:"outline-success/25 focus-visible:ring-success",indicator:"bg-success"},info:{base:"outline-info/25 focus-visible:ring-info",indicator:"bg-info"},warning:{base:"outline-warning/25 focus-visible:ring-warning",indicator:"bg-warning"},error:{base:"outline-error/25 focus-visible:ring-error",indicator:"bg-error"},neutral:{base:"outline-inverted/25 focus-visible:ring-inverted",indicator:"bg-inverted"}},variant:{list:{root:""},card:{root:"border border-muted rounded-lg"}},indicator:{start:{root:"flex-row",wrapper:"ms-2"},end:{root:"flex-row-reverse",wrapper:"me-2"},hidden:{base:"sr-only",wrapper:"text-center"}},size:{xs:{base:"size-3",container:"h-4",wrapper:"text-xs"},sm:{base:"size-3.5",container:"h-4",wrapper:"text-xs"},md:{base:"size-4",container:"h-5",wrapper:"text-sm"},lg:{base:"size-4.5",container:"h-5",wrapper:"text-sm"},xl:{base:"size-5",container:"h-6",wrapper:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}},highlight:{true:""},checked:{true:""}},compoundVariants:[{size:"xs",variant:"card",class:{root:"p-2.5"}},{size:"sm",variant:"card",class:{root:"p-3"}},{size:"md",variant:"card",class:{root:"p-3.5"}},{size:"lg",variant:"card",class:{root:"p-4"}},{size:"xl",variant:"card",class:{root:"p-4.5"}},{color:"primary",variant:"card",class:{root:"has-data-[state=checked]:border-primary"}},{color:"secondary",variant:"card",class:{root:"has-data-[state=checked]:border-secondary"}},{color:"success",variant:"card",class:{root:"has-data-[state=checked]:border-success"}},{color:"info",variant:"card",class:{root:"has-data-[state=checked]:border-info"}},{color:"warning",variant:"card",class:{root:"has-data-[state=checked]:border-warning"}},{color:"error",variant:"card",class:{root:"has-data-[state=checked]:border-error"}},{color:"neutral",variant:"card",class:{root:"has-data-[state=checked]:border-inverted"}},{variant:"card",disabled:!0,class:{root:"cursor-not-allowed"}},{color:"primary",highlight:!0,class:{base:"ring-primary"}},{color:"secondary",highlight:!0,class:{base:"ring-secondary"}},{color:"success",highlight:!0,class:{base:"ring-success"}},{color:"info",highlight:!0,class:{base:"ring-info"}},{color:"warning",highlight:!0,class:{base:"ring-warning"}},{color:"error",highlight:!0,class:{base:"ring-error"}},{color:"neutral",highlight:!0,class:{base:"ring-inverted"}}],defaultVariants:{size:"md",color:"primary",variant:"list",indicator:"start"}},Td=Object.assign({inheritAttrs:!1},{__name:"Checkbox",props:{as:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},indicator:{type:null,required:!1},highlight:{type:Boolean,required:!1},icon:{type:null,required:!1},indeterminateIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},disabled:{type:Boolean,required:!1},required:{type:Boolean,required:!1},name:{type:String,required:!1},value:{type:null,required:!1},id:{type:String,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1}},emits:["change","update:modelValue"],setup(e,{emit:t}){const a=e,n=fa(),r=t,s=zt("checkbox",a),o=kt(),l=Ma(xa(s,"required","value","defaultValue","modelValue","trueValue","falseValue"),r),{id:c,emitFormChange:u,emitFormInput:d,size:f,color:p,highlight:m,name:g,disabled:y,ariaAttrs:_}=gi(a),v=c.value??Uu(),h=r1(),k=$(()=>{const{"data-state":M,...S}=h;return S}),w=$(()=>tt({extend:tt(nce),...o.ui?.checkbox||{}})({size:f.value??s.size,color:p.value??s.color,variant:s.variant,indicator:s.indicator,highlight:m.value??s.highlight,required:s.required,disabled:y.value}));function A(M){const S=new Event("change",{target:{value:M}});r("change",S),u(),d()}return(M,S)=>(x(),N(i(Te),{as:!i(s).variant||i(s).variant==="list"?i(s).as:i(Ep),"data-slot":"root",class:xe(w.value.root({class:[i(s).ui?.root,i(s).class]}))},{default:T(()=>[b("div",{"data-slot":"container",class:xe(w.value.container({class:i(s).ui?.container}))},[I(i(ET),$e({id:i(v)},{...i(l),...k.value,...i(_)},{name:i(g),disabled:i(y),"data-slot":"base",class:w.value.base({class:i(s).ui?.base}),"onUpdate:modelValue":A}),{default:T(({state:P})=>[I(i(OT),{"data-slot":"indicator",class:xe(w.value.indicator({class:i(s).ui?.indicator}))},{default:T(()=>[P==="indeterminate"?(x(),N(Xe,{key:0,name:i(s).indeterminateIcon||i(o).ui.icons.minus,"data-slot":"icon",class:xe(w.value.icon({class:i(s).ui?.icon}))},null,8,["name","class"])):(x(),N(Xe,{key:1,name:i(s).icon||i(o).ui.icons.check,"data-slot":"icon",class:xe(w.value.icon({class:i(s).ui?.icon}))},null,8,["name","class"]))]),_:2},1032,["class"])]),_:1},16,["id","name","disabled","class"])],2),i(s).label||n.label||i(s).description||n.description?(x(),F("div",{key:0,"data-slot":"wrapper",class:xe(w.value.wrapper({class:i(s).ui?.wrapper}))},[i(s).label||n.label?(x(),N(sa(!i(s).variant||i(s).variant==="list"?i(Ep):"p"),{key:0,for:i(v),"data-slot":"label",class:xe(w.value.label({class:i(s).ui?.label}))},{default:T(()=>[Z(M.$slots,"label",{label:i(s).label},()=>[pe(C(i(s).label),1)])]),_:3},8,["for","class"])):se("",!0),i(s).description||n.description?(x(),F("p",{key:1,"data-slot":"description",class:xe(w.value.description({class:i(s).ui?.description}))},[Z(M.$slots,"description",{description:i(s).description},()=>[pe(C(i(s).description),1)])],2)):se("",!0)],2)):se("",!0)]),_:3},8,["as","class"]))}}),rce={class:"space-y-6"},sce={class:"mb-1 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},oce={class:"text-xs text-gray-500 dark:text-gray-400"},ice={class:"space-y-3 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},lce={class:"flex items-center justify-between"},cce={class:"flex-1 pr-4"},uce={class:"text-sm font-medium text-gray-900 dark:text-white"},dce={class:"text-xs text-gray-500 dark:text-gray-400"},fce={class:"flex items-center justify-between"},pce={class:"flex-1 pr-4"},mce={class:"text-sm font-medium text-gray-900 dark:text-white"},gce={class:"text-xs text-gray-500 dark:text-gray-400"},hce={key:0,class:"ml-6 flex items-center justify-between"},vce={class:"text-xs text-gray-500 dark:text-gray-400"},yce={class:"flex items-center justify-between"},bce={class:"flex-1 pr-4"},xce={class:"text-sm font-medium text-gray-900 dark:text-white"},_ce={class:"text-xs text-gray-500 dark:text-gray-400"},wce={class:"flex items-center justify-between"},kce={class:"flex-1 pr-4"},Cce={class:"text-sm font-medium text-gray-900 dark:text-white"},Sce={class:"text-xs text-gray-500 dark:text-gray-400"},Mce={class:"flex items-center justify-between"},$ce={class:"flex-1 pr-4"},Ace={class:"text-sm font-medium text-gray-900 dark:text-white"},Ice={class:"text-xs text-gray-500 dark:text-gray-400"},Tce={key:1,class:"ml-4 space-y-3"},Pce={key:0},Dce={class:"mb-2 flex items-center justify-between gap-3"},Ece={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Rce={class:"space-y-2"},Oce={class:"flex items-center gap-2 px-2.5 py-2"},Lce=["onClick"],qce={class:"min-w-0 flex-1"},Nce={class:"block truncate text-xs font-medium text-gray-700 dark:text-gray-200"},Fce={key:0,class:"block truncate text-[10px] text-gray-400"},Vce={class:"shrink-0 text-[10px] text-gray-400"},Bce={key:0,class:"border-t border-gray-100 px-2 py-1.5 dark:border-gray-800"},zce=["checked","onChange"],Hce={class:"flex-1 text-xs text-gray-700 dark:text-gray-300"},Uce={key:0,class:"shrink-0 text-[10px] text-gray-400"},jce={class:"mb-2 text-xs font-medium text-gray-500 dark:text-gray-400"},Wce={key:0,class:"mb-2 space-y-1.5"},Kce=["checked","onChange"],Gce={class:"flex-1 text-xs text-gray-700 dark:text-gray-300"},Yce=["title"],Xce={class:"space-y-3 rounded-md border border-dashed border-gray-300 p-3 dark:border-gray-600"},Jce={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Qce={class:"grid grid-cols-[auto_1fr] items-center gap-x-3 gap-y-2"},Zce={class:"text-[11px] text-gray-500 dark:text-gray-400 whitespace-nowrap"},eue={class:"text-[11px] text-gray-500 dark:text-gray-400 whitespace-nowrap"},tue={key:0,class:"mt-1 text-xs text-red-500"},aue={class:"text-[11px] text-gray-500 dark:text-gray-400 whitespace-nowrap"},nue={class:"mb-2 text-sm font-medium text-gray-900 dark:text-white"},rue={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},sue={class:"mb-3 flex gap-2"},oue={key:0,class:"flex flex-wrap gap-2"},iue=ue({__name:"AIPreprocessTab",setup(e){const{t,te:a}=ot(),n=Rr(),{aiPreprocessConfig:r}=aa(n);Ke(()=>n.ensureDesensitizeRules());const s=E(""),o=E({}),l=["credentials","global_contact","global_financial","global_network","region_cn","region_us","region_jp","region_kr"];function c(){const V=s.value.trim();if(V){if(r.value.blacklistKeywords.includes(V)){s.value="";return}r.value.blacklistKeywords.push(V),s.value=""}}function u(V){r.value.blacklistKeywords.splice(V,1)}const d=$(()=>r.value.desensitizeRules.filter(V=>V.builtin)),f=$(()=>r.value.desensitizeRules.filter(V=>!V.builtin)),p=$(()=>{const V=new Map;for(const R of d.value){const L=R.group??"global_contact";V.set(L,[...V.get(L)??[],R])}return l.map(R=>({id:R,rules:V.get(R)??[]})).filter(R=>R.rules.length>0)}),m=E({name:"",pattern:"",replacement:""}),g=E("");function y(V){const R=`settings.desensitize.rules.${V.id}`;return a(R)?t(R):V.label}function _(V){const R=`settings.desensitize.rules.${V.id}_desc`;return a(R)?t(R):""}function v(V){const R=`settings.desensitize.groups.${V}`;return a(R)?t(R):V}function h(V){const R=`settings.desensitize.groups.${V}_desc`;return a(R)?t(R):""}function k(V){return o.value[V]??!1}function w(V){o.value={...o.value,[V]:!k(V)}}function A(V){const R=V.filter(L=>L.enabled).length;return{checked:V.length>0&&R===V.length,indeterminate:R>0&&R<V.length}}function M(V,R){r.value.desensitizeBuiltinRuleOverrides={...r.value.desensitizeBuiltinRuleOverrides??{},[V]:R}}function S(V){const R=r.value.desensitizeRules.find(L=>L.id===V);R&&(R.enabled=!R.enabled,R.builtin&&M(R.id,R.enabled))}function P(V,R){V.enabled=R,V.builtin&&M(V.id,R)}function D(V,R){for(const L of V)P(L,R)}function H(){const V={...r.value.desensitizeBuiltinRuleOverrides??{}};for(const R of d.value)delete V[R.id],R.enabled=!0;r.value.desensitizeBuiltinRuleOverrides=V}function Q(){const V=m.value.name.trim(),R=m.value.pattern.trim(),L=m.value.replacement.trim();if(!(!V||!R||!L)){try{new RegExp(R),g.value=""}catch{g.value=t("settings.aiPreprocess.desensitizeRuleInvalidRegex");return}r.value.desensitizeRules.push({id:`custom_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,label:V,pattern:R,replacement:L,enabled:!0,builtin:!1,locales:[]}),m.value={name:"",pattern:"",replacement:""}}}function G(V){const R=r.value.desensitizeRules.findIndex(L=>L.id===V);R!==-1&&r.value.desensitizeRules.splice(R,1)}return(V,R)=>{const L=Xe,z=bi,le=Uw,K=Td,ce=nt,Y=pa,ve=yi;return x(),F("div",rce,[b("div",null,[b("h4",sce,[I(L,{name:"i-heroicons-funnel",class:"h-4 w-4 text-amber-500"}),pe(" "+C(i(t)("settings.aiPreprocess.title")),1)]),b("p",oce,C(i(t)("settings.aiPreprocess.description")),1)]),b("div",ice,[b("div",lce,[b("div",cce,[b("p",uce,C(i(t)("settings.aiPreprocess.dataCleaning")),1),b("p",dce,C(i(t)("settings.aiPreprocess.dataCleaningDesc")),1)]),I(z,{modelValue:i(r).dataCleaning,"onUpdate:modelValue":R[0]||(R[0]=ie=>i(r).dataCleaning=ie)},null,8,["modelValue"])]),b("div",fce,[b("div",pce,[b("p",mce,C(i(t)("settings.aiPreprocess.mergeConsecutive")),1),b("p",gce,C(i(t)("settings.aiPreprocess.mergeConsecutiveDesc")),1)]),I(z,{modelValue:i(r).mergeConsecutive,"onUpdate:modelValue":R[1]||(R[1]=ie=>i(r).mergeConsecutive=ie)},null,8,["modelValue"])]),i(r).mergeConsecutive?(x(),F("div",hce,[b("p",vce,C(i(t)("settings.aiPreprocess.mergeWindow")),1),I(le,{modelValue:i(r).mergeWindowSeconds,"onUpdate:modelValue":R[2]||(R[2]=ie=>i(r).mergeWindowSeconds=ie),min:30,max:600,step:30,class:"w-28"},null,8,["modelValue"])])):se("",!0),b("div",yce,[b("div",bce,[b("p",xce,C(i(t)("settings.aiPreprocess.denoise")),1),b("p",_ce,C(i(t)("settings.aiPreprocess.denoiseDesc")),1)]),I(z,{modelValue:i(r).denoise,"onUpdate:modelValue":R[3]||(R[3]=ie=>i(r).denoise=ie)},null,8,["modelValue"])]),b("div",wce,[b("div",kce,[b("p",Cce,C(i(t)("settings.aiPreprocess.anonymizeNames")),1),b("p",Sce,C(i(t)("settings.aiPreprocess.anonymizeNamesDesc")),1)]),I(z,{modelValue:i(r).anonymizeNames,"onUpdate:modelValue":R[4]||(R[4]=ie=>i(r).anonymizeNames=ie)},null,8,["modelValue"])]),b("div",Mce,[b("div",$ce,[b("p",Ace,C(i(t)("settings.aiPreprocess.desensitize")),1),b("p",Ice,C(i(t)("settings.aiPreprocess.desensitizeDesc")),1)]),I(z,{modelValue:i(r).desensitize,"onUpdate:modelValue":R[5]||(R[5]=ie=>i(r).desensitize=ie)},null,8,["modelValue"])]),i(r).desensitize?(x(),F("div",Tce,[d.value.length>0?(x(),F("div",Pce,[b("div",Dce,[b("p",Ece,C(i(t)("settings.aiPreprocess.desensitizeBuiltin")),1),b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",onClick:H},[I(L,{name:"i-heroicons-arrow-path",class:"h-3.5 w-3.5"}),pe(" "+C(i(t)("settings.aiPreprocess.desensitizeResetBuiltin")),1)])]),b("div",Rce,[(x(!0),F(De,null,Ye(p.value,ie=>(x(),F("div",{key:ie.id,class:"rounded-md border border-gray-200 bg-white dark:border-gray-700 dark:bg-page-dark/40"},[b("div",Oce,[I(K,{"model-value":A(ie.rules).checked,indeterminate:A(ie.rules).indeterminate,size:"xs","onUpdate:modelValue":ye=>D(ie.rules,!!ye)},null,8,["model-value","indeterminate","onUpdate:modelValue"]),b("button",{type:"button",class:"flex min-w-0 flex-1 items-center gap-2 text-left",onClick:ye=>w(ie.id)},[I(L,{name:k(ie.id)?"i-heroicons-chevron-down":"i-heroicons-chevron-right",class:"h-3.5 w-3.5 shrink-0 text-gray-400"},null,8,["name"]),b("span",qce,[b("span",Nce,C(v(ie.id)),1),h(ie.id)?(x(),F("span",Fce,C(h(ie.id)),1)):se("",!0)]),b("span",Vce,C(ie.rules.filter(ye=>ye.enabled).length)+"/"+C(ie.rules.length),1)],8,Lce)]),k(ie.id)?(x(),F("div",Bce,[(x(!0),F(De,null,Ye(ie.rules,ye=>(x(),F("label",{key:ye.id,class:"flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700/50"},[b("input",{type:"checkbox",checked:ye.enabled,class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-500 focus:ring-primary-500",onChange:de=>S(ye.id)},null,40,zce),b("span",Hce,C(y(ye)),1),_(ye)?(x(),F("span",Uce,C(_(ye)),1)):se("",!0)]))),128))])):se("",!0)]))),128))])])):se("",!0),b("div",null,[b("p",jce,C(i(t)("settings.aiPreprocess.desensitizeCustom")),1),f.value.length>0?(x(),F("div",Wce,[(x(!0),F(De,null,Ye(f.value,ie=>(x(),F("div",{key:ie.id,class:"flex items-center gap-2.5 rounded-md px-2 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700/50"},[b("input",{type:"checkbox",checked:ie.enabled,class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-500 focus:ring-primary-500",onChange:ye=>S(ie.id)},null,40,Kce),b("span",Gce,C(ie.label),1),b("code",{class:"max-w-40 shrink-0 truncate text-[10px] text-gray-400",title:ie.pattern},C(ie.pattern),9,Yce),I(ce,{icon:"i-heroicons-x-mark",variant:"ghost",size:"2xs",color:"error",onClick:ye=>G(ie.id)},null,8,["onClick"])]))),128))])):se("",!0),b("div",Xce,[b("p",Jce,C(i(t)("settings.aiPreprocess.desensitizeAddCustom")),1),b("div",Qce,[b("label",Zce,C(i(t)("settings.aiPreprocess.desensitizeRuleName"))+": ",1),I(Y,{modelValue:m.value.name,"onUpdate:modelValue":R[6]||(R[6]=ie=>m.value.name=ie),placeholder:i(t)("settings.aiPreprocess.desensitizeRuleNamePlaceholder"),size:"xs",class:"w-full"},null,8,["modelValue","placeholder"]),b("label",eue,C(i(t)("settings.aiPreprocess.desensitizeRulePattern"))+": ",1),b("div",null,[I(Y,{modelValue:m.value.pattern,"onUpdate:modelValue":R[7]||(R[7]=ie=>m.value.pattern=ie),placeholder:i(t)("settings.aiPreprocess.desensitizeRulePatternPlaceholder"),size:"xs",class:"w-full font-mono"},null,8,["modelValue","placeholder"]),g.value?(x(),F("p",tue,C(g.value),1)):se("",!0)]),b("label",aue,C(i(t)("settings.aiPreprocess.desensitizeRuleReplacement"))+": ",1),I(Y,{modelValue:m.value.replacement,"onUpdate:modelValue":R[8]||(R[8]=ie=>m.value.replacement=ie),placeholder:i(t)("settings.aiPreprocess.desensitizeRuleReplacementPlaceholder"),size:"xs",class:"w-full"},null,8,["modelValue","placeholder"])]),I(ce,{size:"xs",variant:"soft",block:"",disabled:!m.value.name.trim()||!m.value.pattern.trim()||!m.value.replacement.trim(),onClick:Q},{default:T(()=>[pe(C(i(t)("settings.aiPreprocess.desensitizeRuleAdd")),1)]),_:1},8,["disabled"])])])])):se("",!0)]),b("div",null,[b("h4",nue,C(i(t)("settings.aiPreprocess.blacklist")),1),b("p",rue,C(i(t)("settings.aiPreprocess.blacklistDesc")),1),b("div",sue,[I(Y,{modelValue:s.value,"onUpdate:modelValue":R[9]||(R[9]=ie=>s.value=ie),placeholder:i(t)("settings.aiPreprocess.blacklistPlaceholder"),class:"flex-1",size:"sm",onKeydown:ta(ut(c,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),I(ce,{size:"sm",variant:"soft",disabled:!s.value.trim(),onClick:c},{default:T(()=>[pe(C(i(t)("settings.aiPreprocess.blacklistAdd")),1)]),_:1},8,["disabled"])]),i(r).blacklistKeywords.length>0?(x(),F("div",oue,[(x(!0),F(De,null,Ye(i(r).blacklistKeywords,(ie,ye)=>(x(),N(ve,{key:ie,variant:"subtle",color:"error",class:"cursor-pointer",onClick:de=>u(ye)},{default:T(()=>[pe(C(ie)+" ",1),I(L,{name:"i-heroicons-x-mark",class:"ml-1 h-3 w-3"})]),_:2},1032,["onClick"]))),128))])):se("",!0)])])}}}),lue={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},cue={class:"space-y-4 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},uue={class:"flex items-center justify-between"},due={class:"flex-1 pr-4"},fue={class:"text-sm font-medium text-gray-900 dark:text-white"},pue={class:"text-xs text-gray-500 dark:text-gray-400"},mue={class:"flex items-center justify-between"},gue={class:"flex-1 pr-4"},hue={class:"text-sm font-medium text-gray-900 dark:text-white"},vue={class:"text-xs text-gray-500 dark:text-gray-400"},yue=ue({__name:"AIExportSettingsTab",emits:["config-changed"],setup(e,{emit:t}){const{t:a}=ot(),n=t,r=Id(),{aiGlobalSettings:s}=aa(r),o=$(()=>[{label:"Markdown",value:"markdown"},{label:a("settings.aiPrompt.exportFormat.txtLabel"),value:"txt"}]),l=$({get:()=>s.value.exportFormat??"markdown",set:d=>{r.updateAIGlobalSettings({exportFormat:d}),n("config-changed")}}),c=$(()=>[{label:"CSV",value:"csv"},{label:"JSON",value:"json"}]),u=$({get:()=>s.value.sqlExportFormat??"csv",set:d=>{r.updateAIGlobalSettings({sqlExportFormat:d}),n("config-changed")}});return(d,f)=>{const p=Xe,m=eo;return x(),F("div",null,[b("h4",lue,[I(p,{name:"i-heroicons-arrow-down-tray",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(a)("settings.aiPrompt.exportSettings.title")),1)]),b("div",cue,[b("div",uue,[b("div",due,[b("p",fue,C(i(a)("settings.aiPrompt.exportFormat.title")),1),b("p",pue,C(i(a)("settings.aiPrompt.exportFormat.description")),1)]),I(m,{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=g=>l.value=g),items:o.value,size:"xs"},null,8,["modelValue","items"])]),b("div",mue,[b("div",gue,[b("p",hue,C(i(a)("settings.aiPrompt.sqlExportFormat.title")),1),b("p",vue,C(i(a)("settings.aiPrompt.sqlExportFormat.description")),1)]),I(m,{modelValue:u.value,"onUpdate:modelValue":f[1]||(f[1]=g=>u.value=g),items:c.value,size:"xs"},null,8,["modelValue","items"])])])])}}}),bue={class:"space-y-3"},xue={class:"flex items-center justify-between"},_ue={class:"flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},wue={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},kue={class:"flex items-center justify-between rounded-lg border border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-700 dark:bg-gray-800/50"},Cue={class:"text-sm text-gray-700 dark:text-gray-300"},Sue={class:"text-xs text-gray-400"},Mue={class:"flex items-center justify-between rounded-lg border border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-700 dark:bg-gray-800/50"},$ue={class:"text-sm text-gray-700 dark:text-gray-300"},Aue={class:"text-xs text-gray-400"},Iue={class:"flex items-center gap-2"},Tue={class:"text-xs text-gray-500"},Pue={class:"rounded-lg border border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-700 dark:bg-gray-800/50"},Due={class:"flex items-center justify-between"},Eue={class:"text-sm text-gray-700 dark:text-gray-300"},Rue={key:0,class:"mt-1 flex items-center gap-3 text-xs"},Oue={class:"text-gray-500"},Lue={class:"text-green-600 dark:text-green-400"},que={key:0,class:"text-amber-600 dark:text-amber-400"},Nue={key:1,class:"mt-1 flex items-center gap-1 text-xs text-gray-400"},Fue={class:"flex items-center gap-2"},Vue={key:0,class:"mt-3 space-y-2"},Bue={class:"flex items-center justify-between text-xs"},zue={class:"text-gray-500"},Hue={class:"font-medium text-gray-700 dark:text-gray-300"},Uue={class:"p-5"},jue={class:"mb-4 flex items-center gap-3"},Wue={class:"flex h-10 w-10 items-center justify-center rounded-full bg-red-100 dark:bg-red-900/30"},Kue={class:"text-lg font-semibold text-gray-900 dark:text-white"},Gue={class:"space-y-3 text-sm text-gray-600 dark:text-gray-400"},Yue={class:"rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-800/50 dark:bg-red-900/20"},Xue={class:"text-xs text-red-700 dark:text-red-400"},Jue={class:"mt-5 flex justify-end gap-2"},Que=30,Zue=ue({__name:"SessionIndexSection",setup(e){const{t}=ot(),a=E(Que),n=E("standard"),r=$(()=>[{label:t("settings.ai.session.summaryBrief"),value:"brief"},{label:t("settings.ai.session.summaryStandard"),value:"standard"}]),s=E([]),o=E(!1),l=E(!1),c=E({current:0,total:0,currentName:""}),u=E(!1),d=$(()=>{const M=s.value.length,S=s.value.filter(D=>D.hasIndex).length,P=M-S;return{total:M,generated:S,notGenerated:P}}),f=$(()=>c.value.total===0?0:Math.round(c.value.current/c.value.total*100));function p(){a.value<1&&(a.value=1),a.value>1440&&(a.value=1440),vy({session_gap_threshold:a.value*60})}function m(){const M=Is();a.value=Math.round(M/60)}function g(M){n.value=M,vy({summary_strategy:M})}async function y(){o.value=!0;try{const[M,S]=await Promise.all([Va().getSessions(),Sa().getAllIndexStats()]),P=new Map(S.map(D=>[D.sessionId,D]));s.value=M.map(D=>{const H=P.get(D.id);return{id:D.id,name:D.name,hasIndex:H?.hasIndex??!1,sessionCount:H?.sessionCount??0}})}catch(M){console.error("加载会话索引状态失败:",M)}finally{o.value=!1}}async function _(){const M=s.value.filter(P=>!P.hasIndex);if(M.length===0)return;l.value=!0,c.value={current:0,total:M.length,currentName:""};const S=a.value*60;for(let P=0;P<M.length;P++){const D=M[P];c.value={current:P,total:M.length,currentName:D.name};try{const H=await Sa().generate(D.id,S),Q=s.value.find(G=>G.id===D.id);Q&&(Q.hasIndex=!0,Q.sessionCount=H)}catch(H){console.error(`生成会话 ${D.name} 索引失败:`,H)}}c.value={current:M.length,total:M.length,currentName:""},l.value=!1}function v(){u.value=!1,h()}async function h(){if(s.value.length===0)return;l.value=!0,c.value={current:0,total:s.value.length,currentName:""};const M=a.value*60;for(let S=0;S<s.value.length;S++){const P=s.value[S];c.value={current:S,total:s.value.length,currentName:P.name};try{const D=await Sa().generate(P.id,M);P.hasIndex=!0,P.sessionCount=D}catch(D){console.error(`生成会话 ${P.name} 索引失败:`,D)}}c.value={current:s.value.length,total:s.value.length,currentName:""},l.value=!1}const k=E(null);let w=null,A=!1;return Ke(()=>{m(),n.value=$g(),w=new IntersectionObserver(M=>{M[0]?.isIntersecting&&!A&&(A=!0,y(),w?.disconnect())},{threshold:.1}),k.value&&w.observe(k.value)}),Ft(()=>{w?.disconnect()}),(M,S)=>{const P=Xe,D=nt,H=pa,Q=pg,G=$a;return x(),F("div",{ref_key:"sectionRef",ref:k,class:"space-y-6"},[b("div",bue,[b("div",xue,[b("div",null,[b("h3",_ue,[I(P,{name:"i-heroicons-clock",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(t)("settings.ai.session.title")),1)]),b("p",wue,C(i(t)("settings.ai.session.description")),1)]),I(D,{icon:"i-heroicons-arrow-path",variant:"ghost",size:"xs",loading:o.value,onClick:y},null,8,["loading"])]),b("div",kue,[b("div",null,[b("span",Cue,C(i(t)("settings.ai.session.summaryStrategy")),1),b("p",Sue,C(i(t)("settings.ai.session.summaryStrategyHelp")),1)]),I(Ln,{"model-value":n.value,items:r.value,size:"xs","onUpdate:modelValue":g},null,8,["model-value","items"])]),b("div",Mue,[b("div",null,[b("span",$ue,C(i(t)("settings.ai.session.defaultThreshold")),1),b("p",Aue,C(i(t)("settings.ai.session.thresholdHelp")),1)]),b("div",Iue,[I(H,{modelValue:a.value,"onUpdate:modelValue":S[0]||(S[0]=V=>a.value=V),modelModifiers:{number:!0},type:"number",min:1,max:1440,size:"xs",class:"w-20",onBlur:p},null,8,["modelValue"]),b("span",Tue,C(i(t)("settings.ai.session.thresholdUnit")),1)])]),b("div",Pue,[b("div",Due,[b("div",null,[b("span",Eue,C(i(t)("settings.ai.session.batchTitle")),1),o.value?(x(),F("div",Nue,[I(P,{name:"i-heroicons-arrow-path",class:"h-3 w-3 animate-spin"}),pe(" "+C(i(t)("settings.ai.session.loadingStatus")),1)])):(x(),F("div",Rue,[b("span",Oue,C(i(t)("settings.ai.session.totalSessions",{count:d.value.total})),1),b("span",Lue,C(i(t)("settings.ai.session.generatedCount",{count:d.value.generated})),1),d.value.notGenerated>0?(x(),F("span",que,C(i(t)("settings.ai.session.notGeneratedCount",{count:d.value.notGenerated})),1)):se("",!0)]))]),b("div",Fue,[d.value.notGenerated>0?(x(),N(D,{key:0,size:"xs",color:"primary",loading:l.value,disabled:o.value,onClick:_},{default:T(()=>[l.value?se("",!0):(x(),N(P,{key:0,name:"i-heroicons-sparkles",class:"mr-1 h-3 w-3"})),pe(" "+C(i(t)("settings.ai.session.batchGenerate")),1)]),_:1},8,["loading","disabled"])):se("",!0),I(D,{size:"xs",variant:"soft",loading:l.value,disabled:o.value||d.value.total===0,onClick:S[1]||(S[1]=V=>u.value=!0)},{default:T(()=>[l.value?se("",!0):(x(),N(P,{key:0,name:"i-heroicons-arrow-path",class:"mr-1 h-3 w-3"})),pe(" "+C(i(t)("settings.ai.session.batchRegenerate")),1)]),_:1},8,["loading","disabled"])])]),l.value?(x(),F("div",Vue,[b("div",Bue,[b("span",zue,C(i(t)("settings.ai.session.generating"))+" "+C(c.value.currentName),1),b("span",Hue,C(c.value.current)+"/"+C(c.value.total)+" ("+C(f.value)+"%) ",1)]),I(Q,{value:f.value,size:"sm"},null,8,["value"])])):se("",!0)])]),I(G,{open:u.value,"onUpdate:open":S[3]||(S[3]=V=>u.value=V),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",Uue,[b("div",jue,[b("div",Wue,[I(P,{name:"i-heroicons-exclamation-triangle",class:"h-5 w-5 text-red-600 dark:text-red-400"})]),b("h3",Kue,C(i(t)("settings.ai.session.batchRegenerateConfirmTitle")),1)]),b("div",Gue,[b("p",null,C(i(t)("settings.ai.session.batchRegenerateConfirmMessage")),1),b("div",Yue,[b("p",Xue,C(i(t)("settings.ai.session.batchRegenerateConfirmWarning")),1)])]),b("div",Jue,[I(D,{variant:"ghost",onClick:S[2]||(S[2]=V=>u.value=!1)},{default:T(()=>[pe(C(i(t)("common.cancel")),1)]),_:1}),I(D,{color:"error",onClick:v},{default:T(()=>[pe(C(i(t)("settings.ai.session.batchRegenerate")),1)]),_:1})])])]),_:1},8,["open"])],512)}}}),ede={class:"flex max-h-[80vh] flex-col p-5"},tde={class:"mb-3 text-base font-semibold text-gray-900 dark:text-white"},ade={class:"mb-3 flex items-center gap-2"},nde={key:0,class:"mb-2 rounded border border-amber-200 bg-amber-50 px-2 py-1.5 text-xs text-amber-700 dark:border-amber-800/50 dark:bg-amber-900/20 dark:text-amber-400"},rde={key:1,class:"flex items-center gap-2 py-8 text-sm text-gray-400"},sde={key:2,class:"min-h-0 flex-1 space-y-1 overflow-y-auto"},ode=["onClick"],ide={class:"min-w-0 flex-1"},lde={class:"truncate text-sm text-gray-800 dark:text-gray-200"},cde={class:"flex items-center gap-2 text-xs text-gray-400"},ude={key:0,class:"text-blue-500"},dde={class:"mt-3 flex items-center justify-between border-t border-gray-200 pt-3 dark:border-gray-700"},fde={class:"text-xs text-gray-500"},pde={class:"flex gap-2"},mde={class:"p-5"},gde={class:"mb-3 text-base font-semibold text-gray-900 dark:text-white"},hde={class:"mb-3 text-sm text-gray-600 dark:text-gray-400"},vde={class:"mb-4 max-h-32 overflow-y-auto rounded border border-gray-200 p-2 text-xs text-gray-500 dark:border-gray-700"},yde={class:"flex justify-end gap-2"},bde=ue({__name:"SemanticIndexConversationPicker",props:{modelValue:{type:Boolean},apiMode:{type:Boolean}},emits:["update:modelValue","saved"],setup(e,{emit:t}){const a=e,n=t,{t:r}=ot(),s=Va(),o=qw(),l=$({get:()=>a.modelValue,set:P=>n("update:modelValue",P)}),c=E([]),u=E(!1),d=E(!1),f=E(""),p=E("all"),m=E(new Set),g=E(new Set),y=E(!1),_=$(()=>[{label:r("settings.ai.semanticIndex.picker.all"),value:"all"},{label:r("settings.ai.semanticIndex.picker.group"),value:"group"},{label:r("settings.ai.semanticIndex.picker.private"),value:"private"}]),v=$(()=>{const P=f.value.trim().toLowerCase();return c.value.filter(D=>!(p.value!=="all"&&D.type!==p.value||P&&!D.name.toLowerCase().includes(P)))}),h=$(()=>{let P=0;for(const D of c.value)m.value.has(D.id)&&(P+=D.messageCount);return{count:m.value.size,messages:P}}),k=$(()=>c.value.filter(P=>{if(!g.value.has(P.id)||m.value.has(P.id))return!1;const D=P.status;return D?D.indexStatus==="completed"||D.running||D.queued||D.indexStatus==="failed"&&D.chunkCount>0:!1}));async function w(){u.value=!0;try{const P=await s.getSessions(),D=await o.statusForSessions(P.map(G=>G.id)),H=new Map(D.map(G=>[G.sessionId,G]));c.value=P.map(G=>({id:G.id,name:G.name,type:G.type==="private"?"private":"group",messageCount:G.messageCount,status:H.get(G.id)??null}));const Q=new Set(D.filter(G=>G.enabled).map(G=>G.sessionId));g.value=new Set(Q),m.value=new Set(Q)}catch(P){console.error("[semantic-index] picker load failed:",P)}finally{u.value=!1}}function A(P){const D=new Set(m.value);D.has(P)?D.delete(P):D.add(P),m.value=D}function M(){if(k.value.length>0){y.value=!0;return}S()}async function S(){y.value=!1,d.value=!0;try{const P=[...m.value].filter(H=>!g.value.has(H)),D=[...g.value].filter(H=>!m.value.has(H));for(const H of P)await o.enable(H);for(const H of D)await o.remove(H);n("saved"),l.value=!1}catch(P){console.error("[semantic-index] picker save failed:",P)}finally{d.value=!1}}return Pe(()=>a.modelValue,P=>{P&&w()}),(P,D)=>{const H=pa,Q=Hw,G=Xe,V=Td,R=nt,L=$a;return x(),F(De,null,[I(L,{open:l.value,"onUpdate:open":D[4]||(D[4]=z=>l.value=z),ui:{content:"z-[101] max-w-2xl",overlay:"z-[100]"}},{content:T(()=>[b("div",ede,[b("h3",tde,C(i(r)("settings.ai.semanticIndex.picker.title")),1),b("div",ade,[I(H,{modelValue:f.value,"onUpdate:modelValue":D[0]||(D[0]=z=>f.value=z),icon:"i-heroicons-magnifying-glass",size:"sm",class:"flex-1",placeholder:i(r)("settings.ai.semanticIndex.picker.searchPlaceholder")},null,8,["modelValue","placeholder"]),I(Q,{modelValue:p.value,"onUpdate:modelValue":D[1]||(D[1]=z=>p.value=z),items:_.value,size:"sm",class:"w-28"},null,8,["modelValue","items"])]),e.apiMode?(x(),F("p",nde,C(i(r)("settings.ai.semanticIndex.apiCostWarning")),1)):se("",!0),u.value?(x(),F("div",rde,[I(G,{name:"i-heroicons-arrow-path",class:"h-4 w-4 animate-spin"}),pe(" "+C(i(r)("common.loading")),1)])):(x(),F("div",sde,[(x(!0),F(De,null,Ye(v.value,z=>(x(),F("div",{key:z.id,class:"flex cursor-pointer items-center gap-3 rounded-lg px-2 py-2 hover:bg-gray-50 dark:hover:bg-gray-800/50",onClick:le=>A(z.id)},[I(V,{"model-value":m.value.has(z.id),"onUpdate:modelValue":le=>A(z.id),onClick:D[2]||(D[2]=ut(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"]),b("div",ide,[b("div",lde,C(z.name),1),b("div",cde,[b("span",null,C(z.type==="group"?i(r)("settings.ai.semanticIndex.picker.group"):i(r)("settings.ai.semanticIndex.picker.private")),1),b("span",null,C(i(r)("settings.ai.semanticIndex.picker.messages",{count:z.messageCount})),1),z.status?.enabled?(x(),F("span",ude,C(i(r)("settings.ai.semanticIndex.picker.enabled")),1)):se("",!0)])])],8,ode))),128))])),b("div",dde,[b("span",fde,C(i(r)("settings.ai.semanticIndex.picker.selectedSummary",{count:h.value.count,messages:h.value.messages})),1),b("div",pde,[I(R,{variant:"ghost",onClick:D[3]||(D[3]=z=>l.value=!1)},{default:T(()=>[pe(C(i(r)("common.cancel")),1)]),_:1}),I(R,{color:"primary",loading:d.value,onClick:M},{default:T(()=>[pe(C(i(r)("common.save")),1)]),_:1},8,["loading"])])])])]),_:1},8,["open"]),I(L,{open:y.value,"onUpdate:open":D[6]||(D[6]=z=>y.value=z),ui:{content:"z-[103]",overlay:"z-[102]"}},{content:T(()=>[b("div",mde,[b("h3",gde,C(i(r)("settings.ai.semanticIndex.picker.confirmRemoveTitle")),1),b("p",hde,C(i(r)("settings.ai.semanticIndex.picker.confirmRemoveMessage")),1),b("ul",vde,[(x(!0),F(De,null,Ye(k.value,z=>(x(),F("li",{key:z.id,class:"truncate"},C(z.name),1))),128))]),b("div",yde,[I(R,{variant:"ghost",onClick:D[5]||(D[5]=z=>y.value=!1)},{default:T(()=>[pe(C(i(r)("common.cancel")),1)]),_:1}),I(R,{color:"error",loading:d.value,onClick:S},{default:T(()=>[pe(C(i(r)("common.confirm")),1)]),_:1},8,["loading"])])])]),_:1},8,["open"])],64)}}}),tm=[{modelId:"onnx-community/Qwen3-Embedding-0.6B-ONNX",name:"Qwen3-Embedding-0.6B",approxMB:593,recommended:!0,zhOnly:!1},{modelId:"Xenova/bge-base-zh-v1.5",name:"BGE base zh",approxMB:390,recommended:!1,zhOnly:!0}],Af=[{id:"openai-compatible",label:"OpenAI Compatible",baseUrl:"",model:""},{id:"openai",label:"OpenAI",baseUrl:"https://api.openai.com/v1",model:"text-embedding-3-small"},{id:"ollama",label:"Ollama",baseUrl:"http://localhost:11434/v1",model:"nomic-embed-text"},{id:"qwen",label:"通义千问",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",model:"text-embedding-v3",zhOnly:!0},{id:"zhipu",label:"智谱",baseUrl:"https://open.bigmodel.cn/api/paas/v4",model:"embedding-3",zhOnly:!0},{id:"siliconflow",label:"SiliconFlow",baseUrl:"https://api.siliconflow.cn/v1",model:"BAAI/bge-m3"}];function Iy(e){return(e??"").trim().replace(/\/+$/,"")}function jw(e){if(!e)return!0;try{const t=new URL(e),a=t.hostname.toLowerCase(),n=a==="localhost"||a==="127.0.0.1"||a==="::1",r=t.port||(t.protocol==="https:"?"443":"80");return!(n&&r==="11434")}catch{return!0}}function Ww(e,t,a=!0){return!a||e?.mode!=="api"||!e.api?.authProfile?!1:Iy(e.api.baseUrl)===Iy(t)}function xde(e,t){const a=t.apiBaseUrl.trim(),n=t.apiModel.trim(),r=Ww(e,a)?e?.api?.authProfile:void 0;return{version:e?.version??1,enabled:e?.enabled??!0,mode:t.mode,local:{modelId:t.localModelId,downloadSource:t.localDownloadSource},api:t.mode==="api"?{baseUrl:a,model:n,...r?{authProfile:r}:{}}:null,searchMaxResults:10}}const _de={class:"space-y-4 p-5"},wde={class:"flex items-center justify-between gap-3"},kde={class:"text-base font-semibold text-gray-900 dark:text-white"},Cde={key:0,class:"space-y-2"},Sde={class:"grid gap-2 sm:grid-cols-2"},Mde=["onClick"],$de={class:"flex w-full items-center justify-between"},Ade={class:"text-sm font-medium text-gray-900 dark:text-white"},Ide={class:"text-xs text-gray-500"},Tde={class:"space-y-1.5 rounded-lg border border-gray-200 p-3 dark:border-gray-700"},Pde={class:"block text-xs font-medium text-gray-600 dark:text-gray-400"},Dde={key:0,class:"text-xs text-amber-600 dark:text-amber-400"},Ede={class:"text-xs text-gray-400"},Rde={key:1,class:"space-y-3"},Ode={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Lde={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},qde={class:"rounded border border-amber-200 bg-amber-50 px-2 py-1.5 text-xs text-amber-700 dark:border-amber-800/50 dark:bg-amber-900/20 dark:text-amber-400"},Nde={class:"text-xs text-gray-400"},Fde={class:"flex justify-end gap-2 border-t border-gray-200 pt-3 dark:border-gray-700"},Vde=ue({__name:"SemanticIndexModelModal",props:{open:{type:Boolean},config:{},apiKeySet:{type:Boolean},saving:{type:Boolean}},emits:["update:open","confirm"],setup(e,{emit:t}){const a=e,n=t,{t:r,locale:s}=ot(),o=E("local"),l=E(tm[0].modelId),c=E("huggingface"),u=E("openai-compatible"),d=E(""),f=E(""),p=E(""),m=$(()=>s.value.startsWith("zh")),g=$(()=>tm.filter(D=>!D.zhOnly||m.value)),y=$(()=>Af.filter(D=>!D.zhOnly||m.value||D.id===u.value)),_=$(()=>[{label:r("settings.ai.semanticIndex.modeLocal"),value:"local"},{label:r("settings.ai.semanticIndex.modeApi"),value:"api"}]),v=$(()=>[{label:r("settings.ai.semanticIndex.downloadSourceOfficial"),value:"huggingface"},{label:r("settings.ai.semanticIndex.downloadSourceMirror"),value:"hf-mirror"}]),h=$(()=>Ww(a.config,d.value,a.apiKeySet)),k=$(()=>jw(d.value)),w=$(()=>o.value==="local"?!!l.value:!!d.value.trim()&&!!f.value.trim()&&(!k.value||h.value||!!p.value.trim()));function A(){const D=a.config;o.value=D?.mode??"local",l.value=D?.local.modelId??"",c.value=D?.local.downloadSource??"huggingface",d.value=D?.api?.baseUrl??"",f.value=D?.api?.model??"",p.value="";const H=Af.find(Q=>Q.baseUrl===D?.api?.baseUrl);u.value=H?.id??"openai-compatible"}Pe(()=>a.open,D=>{D&&A()});function M(D){u.value=String(D);const H=Af.find(Q=>Q.id===u.value);H&&H.id!=="openai-compatible"&&(d.value=H.baseUrl,f.value=H.model)}function S(){n("update:open",!1)}function P(){w.value&&n("confirm",{mode:o.value,localModelId:l.value,localDownloadSource:c.value,apiBaseUrl:d.value,apiModel:f.value,apiKey:p.value})}return(D,H)=>{const Q=yi,G=pa,V=nt,R=$a;return x(),N(R,{open:e.open,ui:{content:"z-[101] max-w-lg",overlay:"z-[100]"},"onUpdate:open":H[5]||(H[5]=L=>n("update:open",L))},{content:T(()=>[b("div",_de,[b("div",wde,[b("h3",kde,C(i(r)("settings.ai.semanticIndex.modelModalTitle")),1),I(Ln,{"model-value":o.value,items:_.value,size:"xs","onUpdate:modelValue":H[0]||(H[0]=L=>o.value=L)},null,8,["model-value","items"])]),o.value==="local"?(x(),F("div",Cde,[b("div",Sde,[(x(!0),F(De,null,Ye(g.value,L=>(x(),F("button",{key:L.modelId,type:"button",class:xe(["flex flex-col items-start gap-1 rounded-lg border p-3 text-left transition",l.value===L.modelId?"border-blue-500 bg-blue-50 dark:border-blue-400 dark:bg-blue-900/20":"border-gray-200 hover:border-gray-300 dark:border-gray-700 dark:hover:border-gray-600"]),onClick:z=>l.value=L.modelId},[b("div",$de,[b("span",Ade,C(L.name),1),L.recommended?(x(),N(Q,{key:0,color:"primary",variant:"soft",size:"xs"},{default:T(()=>[pe(C(i(r)("settings.ai.semanticIndex.recommended")),1)]),_:1})):se("",!0)]),b("span",Ide,C(i(r)("settings.ai.semanticIndex.approxSize",{mb:L.approxMB})),1)],10,Mde))),128))]),b("div",Tde,[b("label",Pde,C(i(r)("settings.ai.semanticIndex.modelDownloadSource")),1),I(Ln,{"model-value":c.value,items:v.value,size:"xs","onUpdate:modelValue":H[1]||(H[1]=L=>c.value=L)},null,8,["model-value","items"]),c.value==="hf-mirror"?(x(),F("p",Dde,C(i(r)("settings.ai.semanticIndex.mirrorSourceHint")),1)):se("",!0)]),b("p",Ede,C(i(r)("settings.ai.semanticIndex.localDownloadHint")),1)])):(x(),F("div",Rde,[b("div",null,[b("label",Ode,C(i(r)("settings.ai.semanticIndex.apiTemplate")),1),I(Ln,{"model-value":u.value,items:y.value.map(L=>({label:L.label,value:L.id})),size:"xs","onUpdate:modelValue":M},null,8,["model-value","items"])]),b("div",null,[H[6]||(H[6]=b("label",{class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},"Base URL",-1)),I(G,{modelValue:d.value,"onUpdate:modelValue":H[2]||(H[2]=L=>d.value=L),size:"sm",class:"w-full",placeholder:"https://api.example.com/v1"},null,8,["modelValue"])]),b("div",null,[b("label",Lde,C(i(r)("settings.ai.semanticIndex.modelName")),1),I(G,{modelValue:f.value,"onUpdate:modelValue":H[3]||(H[3]=L=>f.value=L),size:"sm",class:"w-full",placeholder:"text-embedding-3-small"},null,8,["modelValue"])]),I(Wc,{modelValue:p.value,"onUpdate:modelValue":H[4]||(H[4]=L=>p.value=L),placeholder:h.value?i(r)("settings.ai.semanticIndex.apiKeySaved"):"",hint:i(r)("settings.ai.semanticIndex.apiKeyHint")},null,8,["modelValue","placeholder","hint"]),b("p",qde,C(i(r)("settings.ai.semanticIndex.apiCostWarning")),1)])),b("p",Nde,C(i(r)("settings.ai.semanticIndex.changeRebuildHint")),1),b("div",Fde,[I(V,{variant:"ghost",disabled:e.saving,onClick:S},{default:T(()=>[pe(C(i(r)("common.cancel")),1)]),_:1},8,["disabled"]),I(V,{color:"primary",loading:e.saving,disabled:!w.value,onClick:P},{default:T(()=>[pe(C(i(r)("common.confirm")),1)]),_:1},8,["loading","disabled"])])])]),_:1},8,["open"])}}}),Bde={class:"flex items-start justify-between gap-3"},zde={class:"min-w-0"},Hde={class:"flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Ude={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},jde={class:"space-y-2 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Wde={class:"flex items-center justify-between gap-3"},Kde={class:"min-w-0"},Gde={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Yde={class:"mt-0.5 flex min-w-0 items-center gap-2 text-xs"},Xde={class:"truncate text-gray-700 dark:text-gray-300"},Jde={key:0,class:"truncate text-gray-400"},Qde={key:1,class:"text-gray-400"},Zde={key:0,class:"text-xs text-amber-500"},efe={key:1,class:"flex items-center gap-1.5 text-xs text-blue-500 dark:text-blue-400"},tfe={key:2,class:"text-xs text-red-500"},afe={class:"space-y-3 rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},nfe={class:"flex items-center justify-between"},rfe={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},sfe={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs"},ofe={class:"text-gray-500"},ife={class:"text-green-600 dark:text-green-400"},lfe={key:0,class:"text-blue-600 dark:text-blue-400"},cfe={key:1,class:"text-gray-500"},ufe={key:2,class:"text-amber-600 dark:text-amber-400"},dfe={key:3,class:"text-red-600 dark:text-red-400"},ffe={class:"text-gray-500"},pfe={class:"flex flex-wrap items-center gap-2"},mfe={key:0,class:"text-xs text-amber-500"},gfe={key:0,class:"space-y-2"},hfe={class:"text-xs font-medium text-gray-500"},vfe={class:"max-h-72 space-y-2 overflow-y-auto"},yfe={class:"min-w-0"},bfe={class:"truncate text-sm text-gray-800 dark:text-gray-200"},xfe={class:"flex items-center gap-2 text-xs"},_fe=["title"],wfe={key:0,class:"mt-1 flex items-center gap-2"},kfe={class:"h-1.5 max-w-[160px] flex-1 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},Cfe={class:"shrink-0 text-[11px] text-gray-400"},Sfe={class:"flex shrink-0 items-center gap-1"},Mfe={class:"p-5"},$fe={class:"mb-4 flex items-center gap-3"},Afe={class:"flex h-10 w-10 items-center justify-center rounded-full bg-red-100 dark:bg-red-900/30"},Ife={class:"text-lg font-semibold text-gray-900 dark:text-white"},Tfe={class:"text-sm text-gray-600 dark:text-gray-400"},Pfe={class:"mt-5 flex justify-end gap-2"},Dfe=ue({__name:"SemanticIndexSection",setup(e){const{t}=ot(),a=qw(),n=E(!1),r=E(!1),s=E(!0),o=E(!1),l=E(null),c=E("idle"),u=E(!1);let d=null;function f(){d||(d=setInterval(async()=>{try{const ge=await a.getConfig();c.value=ge.modelStatus,ge.modelStatus!=="downloading"&&p()}catch{p()}},2e3))}function p(){d&&(clearInterval(d),d=null)}const m=$(()=>r.value&&l.value?.mode==="api"),g=$(()=>{const ge=l.value;return!r.value||!ge?!1:ge.mode==="local"?!!ge.local.modelId:!!ge.api?.baseUrl&&!!ge.api?.model&&(!jw(ge.api.baseUrl)||n.value)}),y=$(()=>{const ge=l.value;if(!r.value||!ge)return null;if(ge.mode==="local"){const W=tm.find(J=>J.modelId===ge.local.modelId),j=ge.local.downloadSource==="hf-mirror"?"downloadSourceMirror":"downloadSourceOfficial";return{type:t("settings.ai.semanticIndex.modeLocal"),name:W?.name??ge.local.modelId,sub:t(`settings.ai.semanticIndex.${j}`)}}let O=ge.api?.baseUrl??"";try{O=new URL(O).host}catch{}return{type:t("settings.ai.semanticIndex.modeApi"),name:ge.api?.model??"",sub:O}}),_=E([]),v=E(new Map),h=E(!1),k=E(null),w=E(!1),A=E(!1),M=E(!1),S=E(!1),P=$(()=>{const ge=_.value;let O=0,W=0,j=0,J=0,ne=0,U=0,q=0;for(const _e of ge)U+=_e.indexedMessages,q+=_e.totalMessages,_e.needsRebuild?W++:_e.running||_e.queued||_e.indexStatus==="running"?j++:_e.indexStatus==="completed"?O++:_e.indexStatus==="failed"?ne++:J++;const oe=q>0?Math.round(U/q*100):0;return{enabled:ge.length,completed:O,needsRebuild:W,building:j,pending:J,failed:ne,indexedMessages:U,totalMessages:q,coverage:oe}}),D=$(()=>_.value.filter(ge=>!ge.running&&!ge.queued&&(ge.needsRebuild||ge.indexStatus!=="completed"||!!ge.hasNewMessages)).length);async function H(ge,O){o.value=!0;try{const W=await a.setConfig(ge,O);return l.value=W.config,n.value=W.apiKeySet,r.value=W.configured,s.value=W.config.enabled,c.value=W.modelStatus,W.modelStatus==="downloading"&&f(),await le(),!0}catch(W){return console.error("[semantic-index] save config failed:",W),!1}finally{o.value=!1}}async function Q(ge){const O=xde(l.value,ge);await H(O,ge.apiKey.trim()||void 0)&&(u.value=!1)}async function G(ge){const O=l.value;!O||O.enabled===ge||await H({...O,enabled:ge})}const V=$(()=>_.value.some(ie));let R=null;function L(){R&&(clearTimeout(R),R=null)}function z(){L(),V.value&&(R=setTimeout(async()=>{try{_.value=await a.listEnabled()}catch(ge){console.error("[semantic-index] poll statuses failed:",ge)}z()},1500))}async function le(){h.value=!0;try{const[ge,O]=await Promise.all([a.listEnabled(),Va().getSessions()]);_.value=ge,v.value=new Map(O.map(W=>[W.id,W.name]))}catch(ge){console.error("[semantic-index] load statuses failed:",ge)}finally{h.value=!1}z()}async function K(ge,O){k.value=O;try{await a[ge](O),await le()}catch(W){console.error(`[semantic-index] ${ge} failed:`,W)}finally{k.value=null}}async function ce(){w.value=!0;try{_.value=await a.buildPending(),z()}catch(ge){console.error("[semantic-index] build pending failed:",ge)}finally{w.value=!1}}async function Y(){M.value=!1,A.value=!0;try{await a.cleanup(),await le()}catch(ge){console.error("[semantic-index] cleanup failed:",ge)}finally{A.value=!1}}function ve(ge){const O="settings.ai.semanticIndex.state";return ge.needsRebuild?{label:t(`${O}.needsRebuild`),color:"text-amber-600 dark:text-amber-400"}:ge.running||ge.queued||ge.indexStatus==="running"?{label:t(`${O}.building`),color:"text-blue-600 dark:text-blue-400"}:ge.indexStatus==="completed"?{label:t(`${O}.completed`),color:"text-green-600 dark:text-green-400"}:ge.indexStatus==="failed"?{label:t(`${O}.failed`),color:"text-red-600 dark:text-red-400"}:ge.indexStatus==="paused"?{label:t(`${O}.paused`),color:"text-gray-500"}:{label:t(`${O}.pending`),color:"text-gray-500"}}function ie(ge){return ge.running||ge.queued||ge.indexStatus==="running"}const ye=E(null);let de=null,he=!1;return Ke(async()=>{try{const ge=await a.getConfig();l.value=ge.config,n.value=ge.apiKeySet,r.value=ge.configured,s.value=ge.config.enabled,c.value=ge.modelStatus,ge.modelStatus==="downloading"&&f()}catch(ge){console.error("[semantic-index] load config failed:",ge)}de=new IntersectionObserver(ge=>{ge[0]?.isIntersecting&&!he&&(he=!0,le(),de?.disconnect())},{threshold:.1}),ye.value&&de.observe(ye.value)}),Ft(()=>{de?.disconnect(),L(),p()}),(ge,O)=>{const W=Xe,j=bi,J=yi,ne=nt,U=$a;return x(),F("div",{ref_key:"sectionRef",ref:ye,class:"space-y-6"},[b("div",Bde,[b("div",zde,[b("h3",Hde,[I(W,{name:"i-heroicons-circle-stack",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(t)("settings.ai.semanticIndex.title")),1)]),b("p",Ude,C(i(t)("settings.ai.semanticIndex.description")),1)]),I(j,{"model-value":s.value,loading:o.value,class:"mt-0.5 shrink-0","onUpdate:modelValue":G},null,8,["model-value","loading"])]),s.value?(x(),F(De,{key:0},[b("div",jde,[b("div",Wde,[b("div",Kde,[b("span",Gde,C(i(t)("settings.ai.semanticIndex.vectorModel")),1),b("div",Yde,[y.value?(x(),F(De,{key:0},[I(J,{color:m.value?"neutral":"primary",variant:"soft",size:"xs"},{default:T(()=>[pe(C(y.value.type),1)]),_:1},8,["color"]),b("span",Xde,C(y.value.name),1),y.value.sub?(x(),F("span",Jde,C(y.value.sub),1)):se("",!0)],64)):(x(),F("span",Qde,C(i(t)("settings.ai.semanticIndex.noModelSelected")),1))])]),I(ne,{size:"xs",color:y.value?"neutral":"primary",variant:y.value?"soft":"solid",class:"shrink-0",onClick:O[0]||(O[0]=q=>u.value=!0)},{default:T(()=>[pe(C(y.value?i(t)("settings.ai.semanticIndex.switchModel"):i(t)("settings.ai.semanticIndex.selectModel")),1)]),_:1},8,["color","variant"])]),g.value?se("",!0):(x(),F("p",Zde,C(i(t)("settings.ai.semanticIndex.configFirst")),1)),c.value==="downloading"?(x(),F("p",efe,[I(W,{name:"i-heroicons-arrow-path",class:"h-3.5 w-3.5 animate-spin shrink-0"}),pe(" "+C(i(t)("settings.ai.semanticIndex.modelDownloading")),1)])):c.value==="error"?(x(),F("p",tfe,C(i(t)("settings.ai.semanticIndex.modelError")),1)):se("",!0)]),I(Vde,{open:u.value,"onUpdate:open":O[1]||(O[1]=q=>u.value=q),config:r.value?l.value:null,"api-key-set":n.value,saving:o.value,onConfirm:Q},null,8,["open","config","api-key-set","saving"]),g.value?(x(),F(De,{key:0},[b("div",afe,[b("div",nfe,[b("span",rfe,C(i(t)("settings.ai.semanticIndex.overview")),1),I(ne,{icon:"i-heroicons-arrow-path",variant:"ghost",size:"xs",loading:h.value,onClick:le},null,8,["loading"])]),b("div",sfe,[b("span",ofe,C(i(t)("settings.ai.semanticIndex.enabledCount",{count:P.value.enabled})),1),b("span",ife,C(i(t)("settings.ai.semanticIndex.state.completed"))+" "+C(P.value.completed),1),P.value.building>0?(x(),F("span",lfe,C(i(t)("settings.ai.semanticIndex.state.building"))+" "+C(P.value.building),1)):se("",!0),P.value.pending>0?(x(),F("span",cfe,C(i(t)("settings.ai.semanticIndex.state.pending"))+" "+C(P.value.pending),1)):se("",!0),P.value.needsRebuild>0?(x(),F("span",ufe,C(i(t)("settings.ai.semanticIndex.state.needsRebuild"))+" "+C(P.value.needsRebuild),1)):se("",!0),P.value.failed>0?(x(),F("span",dfe,C(i(t)("settings.ai.semanticIndex.state.failed"))+" "+C(P.value.failed),1)):se("",!0),b("span",ffe,C(i(t)("settings.ai.semanticIndex.coverage",{percent:P.value.coverage})),1)]),b("div",pfe,[I(ne,{size:"xs",variant:"soft",icon:"i-heroicons-check-circle",onClick:O[2]||(O[2]=q=>S.value=!0)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.selectConversations")),1)]),_:1}),I(ne,{size:"xs",color:"primary",loading:w.value,disabled:!g.value||D.value===0,onClick:ce},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.buildPending")),1)]),_:1},8,["loading","disabled"]),I(ne,{size:"xs",variant:"soft",loading:A.value,onClick:O[3]||(O[3]=q=>M.value=!0)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.cleanup")),1)]),_:1},8,["loading"]),g.value?se("",!0):(x(),F("span",mfe,C(i(t)("settings.ai.semanticIndex.configFirst")),1))])]),_.value.length>0?(x(),F("div",gfe,[b("span",hfe,C(i(t)("settings.ai.semanticIndex.enabledSessions")),1),b("div",vfe,[(x(!0),F(De,null,Ye(_.value,q=>(x(),F("div",{key:q.sessionId,class:"flex items-center justify-between rounded-lg border border-gray-200 px-3 py-2 dark:border-gray-700"},[b("div",yfe,[b("div",bfe,C(v.value.get(q.sessionId)||q.sessionId),1),b("div",xfe,[b("span",{class:xe(ve(q).color)},C(ve(q).label),3),q.error?(x(),F("span",{key:0,class:"truncate text-red-500",title:q.error},C(q.error),9,_fe)):se("",!0)]),ie(q)?(x(),F("div",wfe,[b("div",kfe,[b("div",{class:"h-full rounded-full bg-blue-500 transition-all duration-500",style:Tt({width:`${q.totalMessages>0?Math.round(q.indexedMessages/q.totalMessages*100):0}%`})},null,4)]),b("span",Cfe,C(q.indexedMessages)+"/"+C(q.totalMessages),1)])):se("",!0)]),b("div",Sfe,[ie(q)?(x(),F(De,{key:0},[I(ne,{size:"xs",variant:"ghost",loading:k.value===q.sessionId,onClick:oe=>K("pause",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.pause")),1)]),_:1},8,["loading","onClick"]),I(ne,{size:"xs",variant:"ghost",color:"error",disabled:k.value===q.sessionId,onClick:oe=>K("cancel",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.cancel")),1)]),_:1},8,["disabled","onClick"])],64)):q.indexStatus==="completed"&&!q.needsRebuild?(x(),N(ne,{key:1,size:"xs",variant:"ghost",loading:k.value===q.sessionId,onClick:oe=>K("rebuild",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.rebuild")),1)]),_:1},8,["loading","onClick"])):q.needsRebuild?(x(),N(ne,{key:2,size:"xs",variant:"ghost",loading:k.value===q.sessionId,onClick:oe=>K("rebuild",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.rebuild")),1)]),_:1},8,["loading","onClick"])):(x(),N(ne,{key:3,size:"xs",variant:"ghost",loading:k.value===q.sessionId,onClick:oe=>K("build",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.build")),1)]),_:1},8,["loading","onClick"])),I(ne,{size:"xs",variant:"ghost",color:"neutral",disabled:k.value===q.sessionId,onClick:oe=>K("remove",q.sessionId)},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.action.remove")),1)]),_:1},8,["disabled","onClick"])])]))),128))])])):se("",!0),I(bde,{modelValue:S.value,"onUpdate:modelValue":O[4]||(O[4]=q=>S.value=q),"api-mode":m.value,onSaved:le},null,8,["modelValue","api-mode"]),I(U,{open:M.value,"onUpdate:open":O[6]||(O[6]=q=>M.value=q),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",Mfe,[b("div",$fe,[b("div",Afe,[I(W,{name:"i-heroicons-trash",class:"h-5 w-5 text-red-600 dark:text-red-400"})]),b("h3",Ife,C(i(t)("settings.ai.semanticIndex.cleanup")),1)]),b("p",Tfe,C(i(t)("settings.ai.semanticIndex.cleanupConfirm")),1),b("div",Pfe,[I(ne,{variant:"ghost",onClick:O[5]||(O[5]=q=>M.value=!1)},{default:T(()=>[pe(C(i(t)("common.cancel")),1)]),_:1}),I(ne,{color:"error",onClick:Y},{default:T(()=>[pe(C(i(t)("settings.ai.semanticIndex.cleanup")),1)]),_:1})])])]),_:1},8,["open"])],64)):se("",!0)],64)):se("",!0)],512)}}});function Efe(e,t={}){const a=t.scrollBehavior??"smooth",n=t.scrollLockDuration??500,r=E(e.value[0]?.id||""),s=E(!1),o=E(null),l=E({});function c(p,m){l.value[p]=m}function u(p){const m=l.value[p];!m||!o.value||(s.value=!0,m.scrollIntoView({behavior:a,block:"start"}),setTimeout(()=>{s.value=!1},n))}function d(){if(s.value||!o.value)return;const p=o.value,m=p.getBoundingClientRect(),g=50;if(p.scrollHeight-p.scrollTop-p.clientHeight<5){const _=e.value[e.value.length-1];_&&(r.value=_.id);return}for(const _ of e.value){const v=l.value[_.id];if(!v)continue;const h=v.getBoundingClientRect();if(h.top<=m.top+g&&h.bottom>m.top+g){r.value=_.id;break}}}Ke(()=>{o.value?.addEventListener("scroll",d)}),Ft(()=>{o.value?.removeEventListener("scroll",d)});function f(p){const m=l.value[p];!m||!o.value||(s.value=!0,m.scrollIntoView({behavior:a,block:"start"}),r.value=p,setTimeout(()=>{s.value=!1},n))}return{activeNav:r,scrollContainerRef:o,sectionRefs:l,setSectionRef:c,handleNavChange:u,scrollToId:f}}const Rfe={class:"flex h-full gap-6"},Ofe={class:"w-36 shrink-0"},Lfe={class:"space-y-8"},qfe=ue({__name:"AISettingsTab",emits:["config-changed"],setup(e,{expose:t,emit:a}){const{t:n}=ot(),r=a,s=$(()=>[{id:"model",label:n("settings.tabs.aiConfig")},{id:"defaultModel",label:n("settings.tabs.aiDefaultModel")},{id:"semanticIndex",label:n("settings.tabs.semanticIndex")},{id:"skill",label:n("settings.tabs.chatPreferences")},{id:"chat",label:n("settings.aiPrompt.chatSettings.title")},{id:"compression",label:n("settings.tabs.compression")},{id:"preprocess",label:n("settings.tabs.aiPreprocess")},{id:"sessionIndex",label:n("settings.tabs.sessionManage")},{id:"export",label:n("settings.aiPrompt.exportSettings.title")}]),{activeNav:o,scrollContainerRef:l,setSectionRef:c,handleNavChange:u,scrollToId:d}=Efe(s);function f(){r("config-changed")}function p(g){d(g)}t({scrollToSection:p});const m=E(null);return m.value,(g,y)=>(x(),F("div",Rfe,[b("div",Ofe,[I(i(Fw),{modelValue:i(o),"onUpdate:modelValue":y[0]||(y[0]=_=>at(o)?o.value=_:null),items:s.value,orientation:"vertical",onChange:i(u)},null,8,["modelValue","items","onChange"])]),b("div",{ref_key:"scrollContainerRef",ref:l,class:"min-w-0 flex-1 overflow-y-auto"},[b("div",Lfe,[b("div",{ref:_=>i(c)("model",_)},[I(Lie,{ref_key:"aiModelConfigRef",ref:m,onConfigChanged:f},null,512)],512),b("div",{ref:_=>i(c)("defaultModel",_)},[I(sle,{onConfigChanged:f})],512),b("div",{ref:_=>i(c)("semanticIndex",_)},[I(Dfe)],512),I(ace,{"set-section-ref":i(c),onConfigChanged:f},null,8,["set-section-ref"]),b("div",{ref:_=>i(c)("preprocess",_)},[I(iue)],512),b("div",{ref:_=>i(c)("sessionIndex",_)},[I(Zue)],512),b("div",{ref:_=>i(c)("export",_)},[I(yue,{onConfigChanged:f})],512)])],512)]))}}),Nfe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Ffe={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Vfe={class:"flex items-center justify-between"},Bfe={class:"flex-1 pr-4"},zfe={class:"text-sm font-medium text-gray-900 dark:text-white"},Hfe={class:"text-xs text-gray-500 dark:text-gray-400"},Ufe={class:"w-64"},jfe={key:0,class:"mt-4 space-y-3"},Wfe={class:"mb-1.5 block text-xs font-medium text-gray-700 dark:text-gray-300"},Kfe={key:0,class:"mt-1 text-xs text-red-500"},Gfe={key:1,class:"mt-1 text-xs text-gray-400"},Yfe={class:"flex items-center gap-3"},Xfe={key:0,class:"flex items-center gap-1.5"},Jfe=ue({__name:"NetworkSettingsSection",setup(e){const{t}=ot(),a=E("system"),n=E(""),r=E(""),s=E(!1),o=E(!1),l=E(null),c=$(()=>[{label:t("settings.basic.network.modeOff"),value:"off"},{label:t("settings.basic.network.modeSystem"),value:"system"},{label:t("settings.basic.network.modeManual"),value:"manual"}]);async function u(){try{const _=await window.networkApi.getProxyConfig();a.value=_.mode||"system",n.value=_.url||""}catch(_){console.error("获取代理配置失败:",_)}}function d(_){if(!_)return r.value="",!0;try{const v=new URL(_);return["http:","https:"].includes(v.protocol)?(r.value="",!0):(r.value=t("settings.basic.network.onlyHttpSupported"),!1)}catch{return r.value=t("settings.basic.network.invalidProxyUrl"),!1}}async function f(){if(l.value=null,a.value==="manual"&&!n.value.trim()){r.value=t("settings.basic.network.enterProxyFirst");return}if(!(a.value==="manual"&&!d(n.value))){s.value=!0;try{const _=await window.networkApi.saveProxyConfig({mode:a.value,url:n.value.trim()});_.success||(r.value=_.error||t("settings.basic.network.saveFailed"))}catch(_){console.error("保存代理配置失败:",_),r.value=t("settings.basic.network.saveFailed")}finally{s.value=!1}}}async function p(_){const v=_;a.value=v,l.value=null,r.value="",v!=="manual"&&await f()}function m(){l.value=null,n.value?d(n.value):r.value=""}async function g(){a.value==="manual"&&n.value.trim()&&await f()}async function y(){if(!n.value.trim()){r.value=t("settings.basic.network.enterProxyFirst");return}if(d(n.value)){o.value=!0,l.value=null;try{const _=await window.networkApi.testProxyConnection(n.value.trim());l.value={success:_.success,message:_.success?t("settings.basic.network.connectionSuccess"):_.error||t("settings.basic.network.connectionFailed")}}catch(_){l.value={success:!1,message:t("settings.basic.network.connectionFailed")+": "+(_ instanceof Error?_.message:String(_))}}finally{o.value=!1}}}return Ke(()=>{u()}),(_,v)=>{const h=Xe,k=eo,w=pa,A=nt;return x(),F("div",null,[b("h3",Nfe,[I(h,{name:"i-heroicons-globe-alt",class:"h-4 w-4 text-cyan-500"}),pe(" "+C(i(t)("settings.basic.network.title")),1)]),b("div",Ffe,[b("div",Vfe,[b("div",Bfe,[b("p",zfe,C(i(t)("settings.basic.network.proxyMode")),1),b("p",Hfe,C(i(t)("settings.basic.network.proxyModeDesc")),1)]),b("div",Ufe,[I(k,{"model-value":a.value,size:"sm",class:"gap-0",items:c.value,"onUpdate:modelValue":p},null,8,["model-value","items"])])]),a.value==="manual"?(x(),F("div",jfe,[b("div",null,[b("label",Wfe,C(i(t)("settings.basic.network.proxyAddress")),1),I(w,{modelValue:n.value,"onUpdate:modelValue":v[0]||(v[0]=M=>n.value=M),placeholder:i(t)("settings.basic.network.proxyPlaceholder"),color:r.value?"error":"neutral",size:"sm",class:"w-full",onInput:m,onBlur:g},null,8,["modelValue","placeholder","color"]),r.value?(x(),F("p",Kfe,C(r.value),1)):(x(),F("p",Gfe,C(i(t)("settings.basic.network.proxyHelp")),1))]),b("div",Yfe,[I(A,{loading:o.value,disabled:o.value||!n.value.trim(),color:"neutral",variant:"soft",size:"sm",onClick:y},{default:T(()=>[I(h,{name:"i-heroicons-signal",class:"mr-1 h-4 w-4"}),pe(" "+C(o.value?i(t)("settings.basic.network.testing"):i(t)("settings.basic.network.testConnection")),1)]),_:1},8,["loading","disabled"]),l.value?(x(),F("div",Xfe,[I(h,{name:l.value.success?"i-heroicons-check-circle":"i-heroicons-x-circle",class:xe(["h-4 w-4",l.value.success?"text-green-500":"text-red-500"])},null,8,["name","class"]),b("span",{class:xe(["text-xs",l.value.success?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},C(l.value.message),3)])):se("",!0)])])):se("",!0)])])}}}),Qfe={class:"space-y-6 pb-6"},Zfe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},epe={class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},tpe={class:"flex items-center justify-between p-4"},ape={class:"flex-1 pr-4"},npe={class:"text-sm font-medium text-gray-900 dark:text-white"},rpe={class:"w-72"},spe={class:"flex items-center justify-between p-4"},ope={class:"flex-1 pr-4"},ipe={class:"text-sm font-medium text-gray-900 dark:text-white"},lpe={class:"text-xs text-gray-500 dark:text-gray-400"},cpe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},upe={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},dpe={class:"flex items-center justify-between"},fpe={class:"flex-1 pr-4"},ppe={class:"text-sm font-medium text-gray-900 dark:text-white"},mpe={class:"w-64"},gpe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},hpe={class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},vpe={class:"flex items-center justify-between p-4"},ype={class:"flex-1 pr-4"},bpe={class:"text-sm font-medium text-gray-900 dark:text-white"},xpe={class:"w-64"},_pe={class:"flex items-center justify-between p-4"},wpe={class:"flex-1 pr-4"},kpe={class:"text-sm font-medium text-gray-900 dark:text-white"},Cpe={class:"text-xs text-gray-500 dark:text-gray-400"},Spe={class:"w-64"},Mpe=ue({__name:"BasicSettingsTab",setup(e){const{t}=ot(),a=Er(),n=Rr(),{toolsPanelPosition:r}=aa(a),{locale:s,defaultSessionTab:o}=aa(n),l=E(!1),c=E(!0);Ke(async()=>{{c.value=!1;return}});async function u(_){}const d=gg({emitAuto:!0,initialValue:"light"}),f=$(()=>[{label:t("settings.basic.appearance.auto"),value:"auto"},{label:t("settings.basic.appearance.light"),value:"light"},{label:t("settings.basic.appearance.dark"),value:"dark"}]),p=$(()=>Ag.map(_=>({label:_.nativeName,value:_.code}))),m=$({get:()=>s.value,set:_=>n.setLocale(_)}),g=$(()=>[{label:t("settings.basic.defaultTab.overview"),value:"overview"},{label:t("settings.basic.defaultTab.aiChat"),value:"ai-chat"}]),y=$(()=>[{label:t("settings.basic.toolsPanel.positionHeader"),value:"header"},{label:t("settings.basic.toolsPanel.positionSide"),value:"side"}]);return(_,v)=>{const h=Xe,k=bi,w=eo;return x(),F("div",Qfe,[b("div",null,[b("h3",Zfe,[I(h,{name:"i-heroicons-cog-6-tooth",class:"h-4 w-4 text-gray-500"}),pe(" "+C(i(t)("settings.basic.general.title")),1)]),b("div",epe,[b("div",tpe,[b("div",ape,[b("p",npe,C(i(t)("settings.basic.language.description")),1)]),b("div",rpe,[I(Ln,{modelValue:m.value,"onUpdate:modelValue":v[0]||(v[0]=A=>m.value=A),size:"sm",class:"gap-0",items:p.value},null,8,["modelValue","items"])])]),i(jt)?(x(),F(De,{key:0},[v[5]||(v[5]=b("div",{class:"border-t border-gray-200 dark:border-gray-700"},null,-1)),b("div",spe,[b("div",ope,[b("p",ipe,C(i(t)("settings.basic.autoLaunch.openAtLogin")),1),b("p",lpe,C(c.value?i(t)("settings.basic.autoLaunch.openAtLoginDesc"):i(t)("settings.basic.autoLaunch.devModeHint")),1)]),I(k,{modelValue:l.value,"onUpdate:modelValue":[v[1]||(v[1]=A=>l.value=A),u],disabled:!c.value},null,8,["modelValue","disabled"])])],64)):se("",!0)])]),b("div",null,[b("h3",cpe,[I(h,{name:"i-heroicons-paint-brush",class:"h-4 w-4 text-pink-500"}),pe(" "+C(i(t)("settings.basic.appearance.title")),1)]),b("div",upe,[b("div",dpe,[b("div",fpe,[b("p",ppe,C(i(t)("settings.basic.appearance.themeMode")),1)]),b("div",mpe,[I(w,{modelValue:i(d),"onUpdate:modelValue":v[2]||(v[2]=A=>at(d)?d.value=A:null),size:"sm",class:"gap-0",items:f.value},null,8,["modelValue","items"])])])])]),b("div",null,[b("h3",gpe,[I(h,{name:"i-heroicons-adjustments-horizontal",class:"h-4 w-4 text-purple-500"}),pe(" "+C(i(t)("settings.basic.preferences.title")),1)]),b("div",hpe,[b("div",vpe,[b("div",ype,[b("p",bpe,C(i(t)("settings.basic.defaultTab.description")),1)]),b("div",xpe,[I(w,{modelValue:i(o),"onUpdate:modelValue":v[3]||(v[3]=A=>at(o)?o.value=A:null),size:"sm",class:"gap-0",items:g.value},null,8,["modelValue","items"])])]),v[6]||(v[6]=b("div",{class:"border-t border-gray-200 dark:border-gray-700"},null,-1)),b("div",_pe,[b("div",wpe,[b("p",kpe,C(i(t)("settings.basic.toolsPanel.positionLabel")),1),b("p",Cpe,C(i(t)("settings.basic.toolsPanel.positionDesc")),1)]),b("div",Spe,[I(w,{modelValue:i(r),"onUpdate:modelValue":v[4]||(v[4]=A=>at(r)?r.value=A:null),size:"sm",class:"gap-0",items:y.value},null,8,["modelValue","items"])])])])]),i(jt)?(x(),N(Jfe,{key:0})):se("",!0)])}}});function Kw(e,t,a){for(let n=0;;n++){if(n==e.childCount||n==t.childCount)return e.childCount==t.childCount?null:a;let r=e.child(n),s=t.child(n);if(r==s){a+=r.nodeSize;continue}if(!r.sameMarkup(s))return a;if(r.isText&&r.text!=s.text){for(let o=0;r.text[o]==s.text[o];o++)a++;return a}if(r.content.size||s.content.size){let o=Kw(r.content,s.content,a+1);if(o!=null)return o}a+=r.nodeSize}}function Gw(e,t,a,n){for(let r=e.childCount,s=t.childCount;;){if(r==0||s==0)return r==s?null:{a,b:n};let o=e.child(--r),l=t.child(--s),c=o.nodeSize;if(o==l){a-=c,n-=c;continue}if(!o.sameMarkup(l))return{a,b:n};if(o.isText&&o.text!=l.text){let u=0,d=Math.min(o.text.length,l.text.length);for(;u<d&&o.text[o.text.length-u-1]==l.text[l.text.length-u-1];)u++,a--,n--;return{a,b:n}}if(o.content.size||l.content.size){let u=Gw(o.content,l.content,a-1,n-1);if(u)return u}a-=c,n-=c}}class Lt{constructor(t,a){if(this.content=t,this.size=a||0,a==null)for(let n=0;n<t.length;n++)this.size+=t[n].nodeSize}nodesBetween(t,a,n,r=0,s){for(let o=0,l=0;l<a;o++){let c=this.content[o],u=l+c.nodeSize;if(u>t&&n(c,r+l,s||null,o)!==!1&&c.content.size){let d=l+1;c.nodesBetween(Math.max(0,t-d),Math.min(c.content.size,a-d),n,r+d)}l=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,a,n,r){let s="",o=!0;return this.nodesBetween(t,a,(l,c)=>{let u=l.isText?l.text.slice(Math.max(t,c)-c,a-c):l.isLeaf?r?typeof r=="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&n&&(o?o=!1:s+=n),s+=u},0),s}append(t){if(!t.size)return this;if(!this.size)return t;let a=this.lastChild,n=t.firstChild,r=this.content.slice(),s=0;for(a.isText&&a.sameMarkup(n)&&(r[r.length-1]=a.withText(a.text+n.text),s=1);s<t.content.length;s++)r.push(t.content[s]);return new Lt(r,this.size+t.size)}cut(t,a=this.size){if(t==0&&a==this.size)return this;let n=[],r=0;if(a>t)for(let s=0,o=0;o<a;s++){let l=this.content[s],c=o+l.nodeSize;c>t&&((o<t||c>a)&&(l.isText?l=l.cut(Math.max(0,t-o),Math.min(l.text.length,a-o)):l=l.cut(Math.max(0,t-o-1),Math.min(l.content.size,a-o-1))),n.push(l),r+=l.nodeSize),o=c}return new Lt(n,r)}cutByIndex(t,a){return t==a?Lt.empty:t==0&&a==this.content.length?this:new Lt(this.content.slice(t,a))}replaceChild(t,a){let n=this.content[t];if(n==a)return this;let r=this.content.slice(),s=this.size+a.nodeSize-n.nodeSize;return r[t]=a,new Lt(r,s)}addToStart(t){return new Lt([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new Lt(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let a=0;a<this.content.length;a++)if(!this.content[a].eq(t.content[a]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let a=this.content[t];if(!a)throw new RangeError("Index "+t+" out of range for "+this);return a}maybeChild(t){return this.content[t]||null}forEach(t){for(let a=0,n=0;a<this.content.length;a++){let r=this.content[a];t(r,n,a),n+=r.nodeSize}}findDiffStart(t,a=0){return Kw(this,t,a)}findDiffEnd(t,a=this.size,n=t.size){return Gw(this,t,a,n)}findIndex(t){if(t==0)return kc(0,t);if(t==this.size)return kc(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let a=0,n=0;;a++){let r=this.child(a),s=n+r.nodeSize;if(s>=t)return s==t?kc(a+1,s):kc(a,n);n=s}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(t=>t.toJSON()):null}static fromJSON(t,a){if(!a)return Lt.empty;if(!Array.isArray(a))throw new RangeError("Invalid input for Fragment.fromJSON");return new Lt(a.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return Lt.empty;let a,n=0;for(let r=0;r<t.length;r++){let s=t[r];n+=s.nodeSize,r&&s.isText&&t[r-1].sameMarkup(s)?(a||(a=t.slice(0,r)),a[a.length-1]=s.withText(a[a.length-1].text+s.text)):a&&a.push(s)}return new Lt(a||t,n)}static from(t){if(!t)return Lt.empty;if(t instanceof Lt)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new Lt([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}Lt.empty=new Lt([],0);const If={index:0,offset:0};function kc(e,t){return If.index=e,If.offset=t,If}class $pe extends Error{}class Dt{constructor(t,a,n){this.content=t,this.openStart=a,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,a){let n=Xw(this.content,t+this.openStart,a);return n&&new Dt(n,this.openStart,this.openEnd)}removeBetween(t,a){return new Dt(Yw(this.content,t+this.openStart,a+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,a){if(!a)return Dt.empty;let n=a.openStart||0,r=a.openEnd||0;if(typeof n!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new Dt(Lt.fromJSON(t,a.content),n,r)}static maxOpen(t,a=!0){let n=0,r=0;for(let s=t.firstChild;s&&!s.isLeaf&&(a||!s.type.spec.isolating);s=s.firstChild)n++;for(let s=t.lastChild;s&&!s.isLeaf&&(a||!s.type.spec.isolating);s=s.lastChild)r++;return new Dt(t,n,r)}}Dt.empty=new Dt(Lt.empty,0,0);function Yw(e,t,a){let{index:n,offset:r}=e.findIndex(t),s=e.maybeChild(n),{index:o,offset:l}=e.findIndex(a);if(r==t||s.isText){if(l!=a&&!e.child(o).isText)throw new RangeError("Removing non-flat range");return e.cut(0,t).append(e.cut(a))}if(n!=o)throw new RangeError("Removing non-flat range");return e.replaceChild(n,s.copy(Yw(s.content,t-r-1,a-r-1)))}function Xw(e,t,a,n){let{index:r,offset:s}=e.findIndex(t),o=e.maybeChild(r);if(s==t||o.isText)return n&&!n.canReplace(r,r,a)?null:e.cut(0,t).append(a).append(e.cut(t));let l=Xw(o.content,t-s-1,a,o);return l&&e.replaceChild(r,o.copy(l))}const Jw=65535,Qw=Math.pow(2,16);function Ape(e,t){return e+t*Qw}function Ty(e){return e&Jw}function Ipe(e){return(e-(e&Jw))/Qw}const Zw=1,ek=2,Qc=4,tk=8;class Py{constructor(t,a,n){this.pos=t,this.delInfo=a,this.recover=n}get deleted(){return(this.delInfo&tk)>0}get deletedBefore(){return(this.delInfo&(Zw|Qc))>0}get deletedAfter(){return(this.delInfo&(ek|Qc))>0}get deletedAcross(){return(this.delInfo&Qc)>0}}class Xa{constructor(t,a=!1){if(this.ranges=t,this.inverted=a,!t.length&&Xa.empty)return Xa.empty}recover(t){let a=0,n=Ty(t);if(!this.inverted)for(let r=0;r<n;r++)a+=this.ranges[r*3+2]-this.ranges[r*3+1];return this.ranges[n*3]+a+Ipe(t)}mapResult(t,a=1){return this._map(t,a,!1)}map(t,a=1){return this._map(t,a,!0)}_map(t,a,n){let r=0,s=this.inverted?2:1,o=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?r:0);if(c>t)break;let u=this.ranges[l+s],d=this.ranges[l+o],f=c+u;if(t<=f){let p=u?t==c?-1:t==f?1:a:a,m=c+r+(p<0?0:d);if(n)return m;let g=t==(a<0?c:f)?null:Ape(l/3,t-c),y=t==c?ek:t==f?Zw:Qc;return(a<0?t!=c:t!=f)&&(y|=tk),new Py(m,y,g)}r+=d-u}return n?t+r:new Py(t+r,0,null)}touches(t,a){let n=0,r=Ty(a),s=this.inverted?2:1,o=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?n:0);if(c>t)break;let u=this.ranges[l+s],d=c+u;if(t<=d&&l==r*3)return!0;n+=this.ranges[l+o]-u}return!1}forEach(t){let a=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,s=0;r<this.ranges.length;r+=3){let o=this.ranges[r],l=o-(this.inverted?s:0),c=o+(this.inverted?0:s),u=this.ranges[r+a],d=this.ranges[r+n];t(l,l+u,c,c+d),s+=d-u}}invert(){return new Xa(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Xa.empty:new Xa(t<0?[0,-t,0]:[0,0,t])}}Xa.empty=new Xa([]);const Tf=Object.create(null);class Aa{getMap(){return Xa.empty}merge(t){return null}static fromJSON(t,a){if(!a||!a.stepType)throw new RangeError("Invalid input for Step.fromJSON");let n=Tf[a.stepType];if(!n)throw new RangeError(`No step type ${a.stepType} defined`);return n.fromJSON(t,a)}static jsonID(t,a){if(t in Tf)throw new RangeError("Duplicate use of step JSON ID "+t);return Tf[t]=a,a.prototype.jsonID=t,a}}class Zt{constructor(t,a){this.doc=t,this.failed=a}static ok(t){return new Zt(t,null)}static fail(t){return new Zt(null,t)}static fromReplace(t,a,n,r){try{return Zt.ok(t.replace(a,n,r))}catch(s){if(s instanceof $pe)return Zt.fail(s.message);throw s}}}function Ig(e,t,a){let n=[];for(let r=0;r<e.childCount;r++){let s=e.child(r);s.content.size&&(s=s.copy(Ig(s.content,t,s))),s.isInline&&(s=t(s,a,r)),n.push(s)}return Lt.fromArray(n)}class Ts extends Aa{constructor(t,a,n){super(),this.from=t,this.to=a,this.mark=n}apply(t){let a=t.slice(this.from,this.to),n=t.resolve(this.from),r=n.node(n.sharedDepth(this.to)),s=new Dt(Ig(a.content,(o,l)=>!o.isAtom||!l.type.allowsMarkType(this.mark.type)?o:o.mark(this.mark.addToSet(o.marks)),r),a.openStart,a.openEnd);return Zt.fromReplace(t,this.from,this.to,s)}invert(){return new Ps(this.from,this.to,this.mark)}map(t){let a=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return a.deleted&&n.deleted||a.pos>=n.pos?null:new Ts(a.pos,n.pos,this.mark)}merge(t){return t instanceof Ts&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new Ts(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,a){if(typeof a.from!="number"||typeof a.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Ts(a.from,a.to,t.markFromJSON(a.mark))}}Aa.jsonID("addMark",Ts);class Ps extends Aa{constructor(t,a,n){super(),this.from=t,this.to=a,this.mark=n}apply(t){let a=t.slice(this.from,this.to),n=new Dt(Ig(a.content,r=>r.mark(this.mark.removeFromSet(r.marks)),t),a.openStart,a.openEnd);return Zt.fromReplace(t,this.from,this.to,n)}invert(){return new Ts(this.from,this.to,this.mark)}map(t){let a=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return a.deleted&&n.deleted||a.pos>=n.pos?null:new Ps(a.pos,n.pos,this.mark)}merge(t){return t instanceof Ps&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new Ps(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,a){if(typeof a.from!="number"||typeof a.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Ps(a.from,a.to,t.markFromJSON(a.mark))}}Aa.jsonID("removeMark",Ps);class Ds extends Aa{constructor(t,a){super(),this.pos=t,this.mark=a}apply(t){let a=t.nodeAt(this.pos);if(!a)return Zt.fail("No node at mark step's position");let n=a.type.create(a.attrs,null,this.mark.addToSet(a.marks));return Zt.fromReplace(t,this.pos,this.pos+1,new Dt(Lt.from(n),0,a.isLeaf?0:1))}invert(t){let a=t.nodeAt(this.pos);if(a){let n=this.mark.addToSet(a.marks);if(n.length==a.marks.length){for(let r=0;r<a.marks.length;r++)if(!a.marks[r].isInSet(n))return new Ds(this.pos,a.marks[r]);return new Ds(this.pos,this.mark)}}return new bl(this.pos,this.mark)}map(t){let a=t.mapResult(this.pos,1);return a.deletedAfter?null:new Ds(a.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,a){if(typeof a.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new Ds(a.pos,t.markFromJSON(a.mark))}}Aa.jsonID("addNodeMark",Ds);class bl extends Aa{constructor(t,a){super(),this.pos=t,this.mark=a}apply(t){let a=t.nodeAt(this.pos);if(!a)return Zt.fail("No node at mark step's position");let n=a.type.create(a.attrs,null,this.mark.removeFromSet(a.marks));return Zt.fromReplace(t,this.pos,this.pos+1,new Dt(Lt.from(n),0,a.isLeaf?0:1))}invert(t){let a=t.nodeAt(this.pos);return!a||!this.mark.isInSet(a.marks)?this:new Ds(this.pos,this.mark)}map(t){let a=t.mapResult(this.pos,1);return a.deletedAfter?null:new bl(a.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,a){if(typeof a.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new bl(a.pos,t.markFromJSON(a.mark))}}Aa.jsonID("removeNodeMark",bl);class or extends Aa{constructor(t,a,n,r=!1){super(),this.from=t,this.to=a,this.slice=n,this.structure=r}apply(t){return this.structure&&am(t,this.from,this.to)?Zt.fail("Structure replace would overwrite content"):Zt.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Xa([this.from,this.to-this.from,this.slice.size])}invert(t){return new or(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let a=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return a.deletedAcross&&n.deletedAcross?null:new or(a.pos,Math.max(a.pos,n.pos),this.slice,this.structure)}merge(t){if(!(t instanceof or)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let a=this.slice.size+t.slice.size==0?Dt.empty:new Dt(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new or(this.from,this.to+(t.to-t.from),a,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let a=this.slice.size+t.slice.size==0?Dt.empty:new Dt(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new or(t.from,this.to,a,this.structure)}else return null}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,a){if(typeof a.from!="number"||typeof a.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new or(a.from,a.to,Dt.fromJSON(t,a.slice),!!a.structure)}}Aa.jsonID("replace",or);class Do extends Aa{constructor(t,a,n,r,s,o,l=!1){super(),this.from=t,this.to=a,this.gapFrom=n,this.gapTo=r,this.slice=s,this.insert=o,this.structure=l}apply(t){if(this.structure&&(am(t,this.from,this.gapFrom)||am(t,this.gapTo,this.to)))return Zt.fail("Structure gap-replace would overwrite content");let a=t.slice(this.gapFrom,this.gapTo);if(a.openStart||a.openEnd)return Zt.fail("Gap is not a flat range");let n=this.slice.insertAt(this.insert,a.content);return n?Zt.fromReplace(t,this.from,this.to,n):Zt.fail("Content does not fit in gap")}getMap(){return new Xa([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let a=this.gapTo-this.gapFrom;return new Do(this.from,this.from+this.slice.size+a,this.from+this.insert,this.from+this.insert+a,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let a=t.mapResult(this.from,1),n=t.mapResult(this.to,-1),r=this.from==this.gapFrom?a.pos:t.map(this.gapFrom,-1),s=this.to==this.gapTo?n.pos:t.map(this.gapTo,1);return a.deletedAcross&&n.deletedAcross||r<a.pos||s>n.pos?null:new Do(a.pos,n.pos,r,s,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,a){if(typeof a.from!="number"||typeof a.to!="number"||typeof a.gapFrom!="number"||typeof a.gapTo!="number"||typeof a.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Do(a.from,a.to,a.gapFrom,a.gapTo,Dt.fromJSON(t,a.slice),a.insert,!!a.structure)}}Aa.jsonID("replaceAround",Do);function am(e,t,a){let n=e.resolve(t),r=a-t,s=n.depth;for(;r>0&&s>0&&n.indexAfter(s)==n.node(s).childCount;)s--,r--;if(r>0){let o=n.node(s).maybeChild(n.indexAfter(s));for(;r>0;){if(!o||o.isLeaf)return!0;o=o.firstChild,r--}}return!1}class Yi extends Aa{constructor(t,a,n){super(),this.pos=t,this.attr=a,this.value=n}apply(t){let a=t.nodeAt(this.pos);if(!a)return Zt.fail("No node at attribute step's position");let n=Object.create(null);for(let s in a.attrs)n[s]=a.attrs[s];n[this.attr]=this.value;let r=a.type.create(n,null,a.marks);return Zt.fromReplace(t,this.pos,this.pos+1,new Dt(Lt.from(r),0,a.isLeaf?0:1))}getMap(){return Xa.empty}invert(t){return new Yi(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let a=t.mapResult(this.pos,1);return a.deletedAfter?null:new Yi(a.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,a){if(typeof a.pos!="number"||typeof a.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new Yi(a.pos,a.attr,a.value)}}Aa.jsonID("attr",Yi);class Tu extends Aa{constructor(t,a){super(),this.attr=t,this.value=a}apply(t){let a=Object.create(null);for(let r in t.attrs)a[r]=t.attrs[r];a[this.attr]=this.value;let n=t.type.create(a,t.content,t.marks);return Zt.ok(n)}getMap(){return Xa.empty}invert(t){return new Tu(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,a){if(typeof a.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Tu(a.attr,a.value)}}Aa.jsonID("docAttr",Tu);let xl=class extends Error{};xl=function e(t){let a=Error.call(this,t);return a.__proto__=e.prototype,a};xl.prototype=Object.create(Error.prototype);xl.prototype.constructor=xl;xl.prototype.name="TransformError";const Pf=Object.create(null);class ca{constructor(t,a,n){this.$anchor=t,this.$head=a,this.ranges=n||[new Tpe(t.min(a),t.max(a))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let a=0;a<t.length;a++)if(t[a].$from.pos!=t[a].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(t,a=Dt.empty){let n=a.content.lastChild,r=null;for(let l=0;l<a.openEnd;l++)r=n,n=n.lastChild;let s=t.steps.length,o=this.ranges;for(let l=0;l<o.length;l++){let{$from:c,$to:u}=o[l],d=t.mapping.slice(s);t.replaceRange(d.map(c.pos),d.map(u.pos),l?Dt.empty:a),l==0&&Ry(t,s,(n?n.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(t,a){let n=t.steps.length,r=this.ranges;for(let s=0;s<r.length;s++){let{$from:o,$to:l}=r[s],c=t.mapping.slice(n),u=c.map(o.pos),d=c.map(l.pos);s?t.deleteRange(u,d):(t.replaceRangeWith(u,d,a),Ry(t,n,a.isInline?-1:1))}}static findFrom(t,a,n=!1){let r=t.parent.inlineContent?new Nn(t):vo(t.node(0),t.parent,t.pos,t.index(),a,n);if(r)return r;for(let s=t.depth-1;s>=0;s--){let o=a<0?vo(t.node(0),t.node(s),t.before(s+1),t.index(s),a,n):vo(t.node(0),t.node(s),t.after(s+1),t.index(s)+1,a,n);if(o)return o}return null}static near(t,a=1){return this.findFrom(t,a)||this.findFrom(t,-a)||new yr(t.node(0))}static atStart(t){return vo(t,t,0,0,1)||new yr(t)}static atEnd(t){return vo(t,t,t.content.size,t.childCount,-1)||new yr(t)}static fromJSON(t,a){if(!a||!a.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=Pf[a.type];if(!n)throw new RangeError(`No selection type ${a.type} defined`);return n.fromJSON(t,a)}static jsonID(t,a){if(t in Pf)throw new RangeError("Duplicate use of selection JSON ID "+t);return Pf[t]=a,a.prototype.jsonID=t,a}getBookmark(){return Nn.between(this.$anchor,this.$head).getBookmark()}}ca.prototype.visible=!0;class Tpe{constructor(t,a){this.$from=t,this.$to=a}}let Dy=!1;function Ey(e){!Dy&&!e.parent.inlineContent&&(Dy=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+e.parent.type.name+")"))}class Nn extends ca{constructor(t,a=t){Ey(t),Ey(a),super(t,a)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,a){let n=t.resolve(a.map(this.head));if(!n.parent.inlineContent)return ca.near(n);let r=t.resolve(a.map(this.anchor));return new Nn(r.parent.inlineContent?r:n,n)}replace(t,a=Dt.empty){if(super.replace(t,a),a==Dt.empty){let n=this.$from.marksAcross(this.$to);n&&t.ensureMarks(n)}}eq(t){return t instanceof Nn&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Pd(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,a){if(typeof a.anchor!="number"||typeof a.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Nn(t.resolve(a.anchor),t.resolve(a.head))}static create(t,a,n=a){let r=t.resolve(a);return new this(r,n==a?r:t.resolve(n))}static between(t,a,n){let r=t.pos-a.pos;if((!n||r)&&(n=r>=0?1:-1),!a.parent.inlineContent){let s=ca.findFrom(a,n,!0)||ca.findFrom(a,-n,!0);if(s)a=s.$head;else return ca.near(a,n)}return t.parent.inlineContent||(r==0?t=a:(t=(ca.findFrom(t,-n,!0)||ca.findFrom(t,n,!0)).$anchor,t.pos<a.pos!=r<0&&(t=a))),new Nn(t,a)}}ca.jsonID("text",Nn);class Pd{constructor(t,a){this.anchor=t,this.head=a}map(t){return new Pd(t.map(this.anchor),t.map(this.head))}resolve(t){return Nn.between(t.resolve(this.anchor),t.resolve(this.head))}}class yn extends ca{constructor(t){let a=t.nodeAfter,n=t.node(0).resolve(t.pos+a.nodeSize);super(t,n),this.node=a}map(t,a){let{deleted:n,pos:r}=a.mapResult(this.anchor),s=t.resolve(r);return n?ca.near(s):new yn(s)}content(){return new Dt(Lt.from(this.node),0,0)}eq(t){return t instanceof yn&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new Tg(this.anchor)}static fromJSON(t,a){if(typeof a.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new yn(t.resolve(a.anchor))}static create(t,a){return new yn(t.resolve(a))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==!1}}yn.prototype.visible=!1;ca.jsonID("node",yn);class Tg{constructor(t){this.anchor=t}map(t){let{deleted:a,pos:n}=t.mapResult(this.anchor);return a?new Pd(n,n):new Tg(n)}resolve(t){let a=t.resolve(this.anchor),n=a.nodeAfter;return n&&yn.isSelectable(n)?new yn(a):ca.near(a)}}class yr extends ca{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,a=Dt.empty){if(a==Dt.empty){t.delete(0,t.doc.content.size);let n=ca.atStart(t.doc);n.eq(t.selection)||t.setSelection(n)}else super.replace(t,a)}toJSON(){return{type:"all"}}static fromJSON(t){return new yr(t)}map(t){return new yr(t)}eq(t){return t instanceof yr}getBookmark(){return Ppe}}ca.jsonID("all",yr);const Ppe={map(){return this},resolve(e){return new yr(e)}};function vo(e,t,a,n,r,s=!1){if(t.inlineContent)return Nn.create(e,a);for(let o=n-(r>0?0:1);r>0?o<t.childCount:o>=0;o+=r){let l=t.child(o);if(l.isAtom){if(!s&&yn.isSelectable(l))return yn.create(e,a-(r<0?l.nodeSize:0))}else{let c=vo(e,l,a+r,r<0?l.childCount:0,r,s);if(c)return c}a+=l.nodeSize*r}return null}function Ry(e,t,a){let n=e.steps.length-1;if(n<t)return;let r=e.steps[n];if(!(r instanceof or||r instanceof Do))return;let s=e.mapping.maps[n],o;s.forEach((l,c,u,d)=>{o==null&&(o=d)}),e.setSelection(ca.near(e.doc.resolve(o),a))}function Oy(e,t){return!t||!e?e:e.bind(t)}class Cc{constructor(t,a,n){this.name=t,this.init=Oy(a.init,n),this.apply=Oy(a.apply,n)}}new Cc("doc",{init(e){return e.doc||e.schema.topNodeType.createAndFill()},apply(e){return e.doc}}),new Cc("selection",{init(e,t){return e.selection||ca.atStart(t.doc)},apply(e){return e.selection}}),new Cc("storedMarks",{init(e){return e.storedMarks||null},apply(e,t,a,n){return n.selection.$cursor?e.storedMarks:null}}),new Cc("scrollToSelection",{init(){return 0},apply(e,t){return e.scrolledIntoView?t+1:t}});const Df=Object.create(null);function Dpe(e){return e in Df?e+"$"+ ++Df[e]:(Df[e]=0,e+"$")}class Epe{constructor(t="key"){this.key=Dpe(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}new Epe("suggestion");const Rpe=2e3;function Dd(){const e=__(),t=a=>e.add({duration:Rpe,...a});return{add:t,success:(a,n={})=>t({title:a,color:"success",...n}),fail:(a,n={})=>t({title:a,color:"error",...n}),info:(a,n={})=>t({title:a,color:"primary",...n}),warn:(a,n={})=>t({title:a,color:"warning",...n})}}function Ope(e={}){const t=e.initialState??{field:null,direction:null},a=pt({...t});function n(c){if(a.value.field!==c){a.value={field:c,direction:"asc"};return}if(a.value.direction==="asc"){a.value={field:c,direction:"desc"};return}if(a.value.direction==="desc"){a.value={field:null,direction:null};return}a.value={field:c,direction:"asc"}}function r(c,u){a.value={field:c,direction:u}}function s(){a.value={...t}}function o(c){return a.value.field===c?a.value.direction:null}function l(c,u){return o(c)===u}return{sortState:a,toggleSort:n,setSort:r,resetSort:s,getSortDirection:o,isSortActive:l}}function Lpe(e){const t=pt(new Set),a=E(null);Pe(e.rows,()=>{a.value=null});function n(u){t.value=new Set(u)}function r(){n([]),a.value=null}function s(u){const d=new Set(t.value);d.has(u)?d.delete(u):d.add(u),t.value=d}function o(u){return t.value.has(u)}function l(u,d,f){if(f.shiftKey&&a.value!==null){const p=Math.min(a.value,u),m=Math.max(a.value,u),g=new Set(t.value);for(let y=p;y<=m;y+=1){const _=e.rows.value[y];_&&g.add(e.getRowId(_))}t.value=g}else s(d);a.value=u}function c(u){!u.shiftKey||u.target?.closest?.('input, textarea, [contenteditable="true"]')||u.preventDefault()}return{selectedIds:t,setSelection:n,clearSelection:r,toggleSelection:s,isSelected:o,handleRowClick:l,handleRowMouseDown:c}}const qpe={class:"p-6"},Npe={class:"mb-4 flex items-center justify-between"},Fpe={class:"flex items-center gap-3"},Vpe={class:"text-lg font-semibold text-gray-900 dark:text-white"},Bpe={class:"text-sm text-gray-500 dark:text-gray-400"},zpe={class:"h-56 overflow-y-auto rounded-lg border border-gray-200 dark:border-gray-700"},Hpe={key:0,class:"flex h-full items-center justify-center"},Upe={key:1,class:"flex h-full items-center justify-center"},jpe={class:"text-sm text-gray-500 dark:text-gray-400"},Wpe={key:2,class:"divide-y divide-gray-100 dark:divide-gray-800"},Kpe=["onClick"],Gpe=["src","alt"],Ype={key:1,class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-linear-to-br from-gray-300 to-gray-400 text-xs font-medium text-white dark:from-gray-600 dark:to-gray-700"},Xpe={class:"min-w-0 flex-1"},Jpe={class:"truncate text-sm font-medium text-gray-900 dark:text-white"},Qpe={class:"truncate text-xs text-gray-500 dark:text-gray-400"},Zpe={class:"mt-3 text-xs text-gray-500 dark:text-gray-400"},eme={key:0,class:"mt-2"},tme={class:"mt-5 flex items-center justify-between gap-2"},ame={key:1},nme={class:"flex gap-2"},rme=ue({__name:"OwnerPromptModal",props:{sessionId:{},modelValue:{type:Boolean,default:!1},chatType:{default:"group"},autoCheck:{type:Boolean,default:!1}},emits:["update:modelValue","saved","cleared"],setup(e,{emit:t}){const a=e,n=t,{t:r}=ot(),s=Dd(),o=Ja(),l=$({get:()=>a.modelValue,set:P=>n("update:modelValue",P)}),c=E([]),u=E(!1),d=E(!1),f=E(!1),p=E(""),m=E(null),g=$(()=>o.sessions.find(P=>P.id===a.sessionId)?.ownerId??null);function y(P){return P.groupNickname||P.accountName||P.platformId}const _=$(()=>{const P=p.value.trim().toLowerCase(),D=c.value.filter(H=>H.platformId&&H.platformId.trim()!=="");return P?D.filter(H=>[H.platformId,H.accountName??"",H.groupNickname??"",...H.aliases].some(Q=>Q.toLowerCase().includes(P))):D});async function v(){if(a.sessionId){u.value=!0;try{c.value=await Va().getMembers(a.sessionId)}catch(P){console.error("加载成员列表失败:",P)}finally{u.value=!1}}}async function h(){if(!(!a.sessionId||!a.autoCheck)&&!g.value)try{const P=await o.tryApplyOwnerProfile(a.sessionId);if(P.applied||P.reason==="already_set"||P.reason==="missing_session"||P.dismissed)return;l.value=!0}catch(P){console.error("检查会话 owner 失败:",P)}}async function k(){if(!(!m.value||!a.sessionId)){d.value=!0;try{const P=await o.setOwnerAndApplyProfile(a.sessionId,m.value);P.updatedSessionIds.length>0?s.success(r("members.ownerPrompt.saved"),{description:r("members.ownerPrompt.appliedToOthers",{count:P.updatedSessionIds.length})}):s.success(r("members.ownerPrompt.saved")),n("saved",P.ownerId),l.value=!1}catch(P){console.error("设置会话 owner 失败:",P),s.fail(r("members.ownerPrompt.saveFailed"))}finally{d.value=!1}}}async function w(){if(!(!a.sessionId||!g.value)){d.value=!0;try{await o.updateSessionOwnerId(a.sessionId,null)&&(m.value=null,n("cleared"),l.value=!1)}catch(P){console.error("清除会话 owner 失败:",P)}finally{d.value=!1}}}async function A(){if(a.sessionId){f.value=!0;try{await o.dismissOwnerPrompt(a.sessionId),l.value=!1}catch(P){console.error("忽略 owner 提醒失败:",P)}finally{f.value=!1}}}function M(){l.value=!1}function S(){p.value="",m.value=g.value,c.value=[],v()}return Pe(l,P=>{P&&S()},{immediate:!0}),Pe(()=>a.sessionId,()=>{l.value&&S(),h()}),Ke(()=>{h()}),(P,D)=>{const H=Xe,Q=nt,G=pa,V=$a;return x(),N(V,{open:l.value,"onUpdate:open":D[1]||(D[1]=R=>l.value=R),ui:{content:"max-w-md z-[111]",overlay:"z-[110]"}},{content:T(()=>[b("div",qpe,[b("div",Npe,[b("div",Fpe,[b("div",{class:xe(["flex h-10 w-10 items-center justify-center rounded-full bg-linear-to-br",e.chatType==="group"?"from-pink-400 to-pink-600":"from-purple-400 to-purple-600"])},[I(H,{name:"i-heroicons-user",class:"h-5 w-5 text-white"})],2),b("div",null,[b("h3",Vpe,C(i(r)("members.ownerPrompt.title")),1),b("p",Bpe,C(i(r)("members.ownerPrompt.subtitle")),1)])]),I(Q,{icon:"i-heroicons-x-mark",color:"neutral",variant:"ghost",size:"sm",onClick:M})]),I(G,{modelValue:p.value,"onUpdate:modelValue":D[0]||(D[0]=R=>p.value=R),placeholder:i(r)("members.ownerPrompt.searchPlaceholder"),icon:"i-heroicons-magnifying-glass",class:"mb-3 w-full"},null,8,["modelValue","placeholder"]),b("div",zpe,[u.value?(x(),F("div",Hpe,[I(H,{name:"i-heroicons-arrow-path",class:"h-5 w-5 animate-spin text-gray-400"})])):_.value.length===0?(x(),F("div",Upe,[b("p",jpe,C(p.value?i(r)("members.ownerPrompt.noMatch"):i(r)("members.ownerPrompt.empty")),1)])):(x(),F("ul",Wpe,[(x(!0),F(De,null,Ye(_.value,R=>(x(),F("li",{key:R.id},[b("button",{type:"button",class:xe(["flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-gray-50 dark:hover:bg-gray-800/50",m.value===R.platformId?"bg-primary-50 dark:bg-primary-900/20":""]),onClick:L=>m.value=R.platformId},[R.avatar?(x(),F("img",{key:0,src:R.avatar,alt:y(R),class:"h-8 w-8 shrink-0 rounded-full object-cover"},null,8,Gpe)):(x(),F("div",Ype,C(y(R).slice(0,1)),1)),b("div",Xpe,[b("p",Jpe,C(y(R)),1),b("p",Qpe,C(R.platformId),1)]),m.value===R.platformId?(x(),N(H,{key:2,name:"i-heroicons-check-circle-solid",class:"h-5 w-5 shrink-0 text-primary-500"})):se("",!0)],10,Kpe)]))),128))]))]),b("p",Zpe,C(i(r)("members.ownerPrompt.description")),1),g.value?(x(),F("div",eme,[I(Q,{variant:"link",color:"neutral",size:"xs",disabled:d.value,onClick:w},{default:T(()=>[pe(C(i(r)("members.ownerPrompt.clear")),1)]),_:1},8,["disabled"])])):se("",!0),b("div",tme,[g.value?(x(),F("span",ame)):(x(),N(Q,{key:0,variant:"soft",color:"primary",size:"sm",loading:f.value,onClick:A},{default:T(()=>[pe(C(i(r)("members.ownerPrompt.dontRemind")),1)]),_:1},8,["loading"])),b("div",nme,[I(Q,{variant:"ghost",color:"neutral",onClick:M},{default:T(()=>[pe(C(i(r)("members.ownerPrompt.later")),1)]),_:1}),I(Q,{color:"primary",loading:d.value,disabled:!m.value,onClick:k},{default:T(()=>[pe(C(i(r)("members.ownerPrompt.save")),1)]),_:1},8,["loading","disabled"])])])])]),_:1},8,["open"])}}});var Zc={exports:{}},sme=Zc.exports,Ly;function ome(){return Ly||(Ly=1,(function(e,t){(function(a,n){e.exports=n()})(sme,(function(){return function(a,n,r){a=a||{};var s=n.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function l(u,d,f,p){return s.fromToBase(u,d,f,p)}r.en.relativeTime=o,s.fromToBase=function(u,d,f,p,m){for(var g,y,_,v=f.$locale().relativeTime||o,h=a.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],k=h.length,w=0;w<k;w+=1){var A=h[w];A.d&&(g=p?r(u).diff(f,A.d,!0):f.diff(u,A.d,!0));var M=(a.rounding||Math.round)(Math.abs(g));if(_=g>0,M<=A.r||!A.r){M<=1&&w>0&&(A=h[w-1]);var S=v[A.l];m&&(M=m(""+M)),y=typeof S=="string"?S.replace("%d",M):S(M,d,A.l,_);break}}if(d)return y;var P=_?v.future:v.past;return typeof P=="function"?P(y):P.replace("%s",y)},s.to=function(u,d){return l(u,d,this,!0)},s.from=function(u,d){return l(u,d,this)};var c=function(u){return u.$u?r.utc():r()};s.toNow=function(u){return this.to(c(this),u)},s.fromNow=function(u){return this.from(c(this),u)}}}))})(Zc)),Zc.exports}var ime=ome();const lme=Bw(ime),cme={class:"flex h-full flex-col"},ume={class:"mb-4"},dme={class:"mb-4 flex items-center justify-between"},fme={class:"flex items-center gap-4"},pme={class:"text-xs text-gray-400 dark:text-gray-500"},mme={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},gme={key:1,class:"text-sm text-gray-500 dark:text-gray-400"},hme={class:"flex gap-2"},vme={key:1,class:"flex flex-1 items-center justify-center"},yme={class:"text-center text-gray-500 dark:text-gray-400"},bme={key:2,class:"flex flex-1 items-center justify-center"},xme={class:"text-center text-gray-500 dark:text-gray-400"},_me={key:3,class:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-gray-200/50 dark:border-gray-700/50"},wme={class:"flex shrink-0 items-center gap-3 border-b border-gray-200 bg-gray-50 px-3 py-2 text-xs font-medium text-gray-500 dark:border-gray-700 dark:bg-page-dark/80 dark:text-gray-400"},kme=["onClick"],Cme={class:"flex shrink-0 flex-col leading-none"},Sme=["onClick"],Mme={class:"w-6"},$me={class:"w-8"},Ame={class:"min-w-0 flex-1"},Ime={class:"flex items-center gap-1.5"},Tme=["title","onClick"],Pme={class:"w-20 text-center"},Dme=["title","onClick"],Eme={class:"truncate"},Rme={class:"w-24 text-right text-sm text-gray-600 dark:text-gray-300"},Ome={class:"w-16 text-right text-sm text-gray-600 dark:text-gray-300"},Lme={class:"w-16 text-right text-sm text-gray-600 dark:text-gray-300"},qme={class:"w-28 text-right text-xs text-gray-500 dark:text-gray-400"},Nme={class:"p-4"},Fme={class:"mb-4 flex items-center gap-3"},Vme={class:"flex h-10 w-10 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30"},Bme={class:"text-lg font-semibold text-gray-900 dark:text-white"},zme={class:"mb-4 text-gray-600 dark:text-gray-400"},Hme={class:"mb-4 max-h-40 overflow-y-auto rounded-lg border border-gray-200 dark:border-gray-700"},Ume={class:"text-sm text-gray-700 dark:text-gray-300"},jme={class:"text-xs text-gray-400"},Wme={class:"mb-4"},Kme={key:0,class:"mb-4 rounded-lg border border-red-200 bg-red-50 px-3 py-2 dark:border-red-800/50 dark:bg-red-900/20"},Gme={class:"flex items-start gap-2"},Yme={class:"text-xs leading-5 text-red-700 dark:text-red-300"},Xme={key:1,class:"mb-4 rounded-lg bg-blue-50 px-4 py-3 dark:bg-blue-900/20"},Jme={class:"flex items-center gap-2"},Qme={class:"text-sm text-blue-700 dark:text-blue-300"},Zme={class:"flex justify-end gap-2"},ege={class:"p-4"},tge={class:"mb-4 flex items-center gap-3"},age={class:"flex h-10 w-10 items-center justify-center rounded-full bg-red-100 dark:bg-red-900/30"},nge={class:"text-lg font-semibold text-gray-900 dark:text-white"},rge={class:"mb-6 text-gray-600 dark:text-gray-400"},sge={class:"flex justify-end gap-2"},oge=48,ige=ue({__name:"BatchManageTab",props:{focusOwnerIssues:{type:Boolean,default:!1}},setup(e){Ba.extend(lme);const t=Dd(),a=e,{t:n,locale:r}=ot(),s=Ja(),{sessions:o}=aa(s),l=E(""),c=$(()=>o.value.filter(Ie=>Ie.ownerStatus!=="resolved").length),u=$(()=>{if(!l.value.trim())return o.value;const Ie=l.value.toLowerCase().trim();return o.value.filter(Ee=>Ee.name.toLowerCase().includes(Ie)||Ee.platform.toLowerCase().includes(Ie))}),d=[{key:"spacer-select",type:"spacer",class:"w-6"},{key:"spacer-avatar",type:"spacer",class:"w-8"},{key:"name",type:"sortable",field:"name",labelKey:"tools.batchManage.columns.name",class:"min-w-0 flex-1",align:"left"},{key:"platform",type:"sortable",field:"platform",labelKey:"tools.batchManage.columns.platform",class:"w-20",align:"center"},{key:"owner",type:"sortable",field:"owner",labelKey:"tools.batchManage.columns.owner",class:"w-28",align:"left"},{key:"messages",type:"sortable",field:"messageCount",labelKey:"tools.batchManage.columns.messages",class:"w-24",align:"right"},{key:"summaries",type:"static",labelKey:"tools.batchManage.columns.summaries",class:"w-16",align:"right"},{key:"aiChats",type:"static",labelKey:"tools.batchManage.columns.aiChats",class:"w-16",align:"right"},{key:"importedAt",type:"sortable",field:"importedAt",labelKey:"tools.batchManage.columns.importedAt",class:"w-28",align:"right"}],{sortState:f,toggleSort:p,setSort:m,isSortActive:g}=Ope({initialState:{field:"importedAt",direction:"desc"}});function y(Ie,Ee){return g(Ie,Ee)?"text-primary-500 dark:text-primary-400":"text-gray-300 dark:text-gray-600"}function _(Ie){return Ie==="left"?"justify-start text-left":Ie==="center"?"justify-center text-center":"justify-end text-right"}function v(Ie){return`${Ie.class} ${_(Ie.align)}`}function h(Ie){return`${Ie.class} flex items-center gap-1 transition-colors hover:text-gray-700 dark:hover:text-gray-200 ${_(Ie.align)}`}const k=$(()=>{const Ie=[...u.value],{field:Ee,direction:Ce}=f.value;if(!Ee||!Ce)return Ie;const Oe=Ce==="asc"?1:-1;return Ie.sort((Ae,Re)=>{if(Ee==="name")return Ae.name.localeCompare(Re.name,r.value)*Oe;if(Ee==="platform")return me(Ae.platform).localeCompare(me(Re.platform),r.value)*Oe;if(Ee==="owner"){const Fe=lt=>lt.ownerStatus==="resolved"?`0:${lt.ownerName||lt.ownerId||""}`:lt.ownerStatus==="unresolved"?"1:":"2:";return Fe(Ae).localeCompare(Fe(Re),r.value)*Oe}return Ee==="messageCount"?(Ae.messageCount-Re.messageCount)*Oe:(Ae.importedAt-Re.importedAt)*Oe}),Ie}),w=E(null);function A(){m("owner","desc"),je(()=>w.value?.scrollTo({top:0}))}Pe(()=>a.focusOwnerIssues,Ie=>{Ie&&A()},{immediate:!0});const M=Md($(()=>({count:k.value.length,getScrollElement:()=>w.value,estimateSize:()=>oge,overscan:10,getItemKey:Ie=>k.value[Ie]?.id??Ie}))),S=$(()=>M.value.getVirtualItems().map(Ie=>({virtualItem:Ie,session:k.value[Ie.index]}))),P=$(()=>M.value.getTotalSize()),{selectedIds:D,setSelection:H,clearSelection:Q,isSelected:G,handleRowClick:V,handleRowMouseDown:R}=Lpe({rows:k,getRowId:Ie=>Ie.id}),L=E(!1),z=E(!1),le=E(null),K=E(""),ce=E(null),Y=E(!1),ve=E(!1),ie=$(()=>o.value.find(Ie=>Ie.id===ce.value)??null);function ye(Ie,Ee){Ee.stopPropagation(),ce.value=Ie.id,ve.value=Ie.ownerStatus!=="resolved",Y.value=!0}async function de(){if(await s.loadSessions(),!ve.value)return;await je();const Ie=k.value.find(Ee=>Ee.ownerStatus!=="resolved");Ie?(ce.value=Ie.id,Y.value=!0):ve.value=!1}const he=$(()=>o.value.filter(Ie=>D.value.has(Ie.id))),ge=$(()=>new Set(he.value.map(Ie=>Ie.type))),O=$(()=>D.value.size<2?!1:ge.value.size===1),W=$(()=>k.value.length>0&&k.value.every(Ie=>D.value.has(Ie.id))),j=$(()=>{const Ie=k.value.filter(Ee=>D.value.has(Ee.id)).length;return Ie>0&&Ie<k.value.length});function J(){if(W.value){const Ie=new Set(k.value.map(Ee=>Ee.id));H([...D.value].filter(Ee=>!Ie.has(Ee)))}else{const Ie=new Set(D.value);for(const Ee of k.value)Ie.add(Ee.id);H(Ie)}}function ne(Ie){return Ba.unix(Ie).locale({"zh-CN":"zh-cn","zh-TW":"zh-tw","ja-JP":"ja"}[r.value]??"en").fromNow()}function U(Ie){return Ie.type==="private"}function q(Ie){return U(Ie)?Ie.memberAvatar||null:Ie.groupAvatar||null}function oe(Ie){const Ee=Ie.name||"";return Ee?U(Ie)?Ee.length<=2?Ee:Ee.slice(-2):Ee.length<=2?Ee:Ee.slice(0,2):"?"}const _e={qq:{label:"QQ",class:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},weixin:{label:"微信",class:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},discord:{label:"Discord",class:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/30 dark:text-indigo-300"},whatsapp:{label:"WhatsApp",class:"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300"},instagram:{label:"Instagram",class:"bg-pink-100 text-pink-700 dark:bg-pink-900/30 dark:text-pink-300"},line:{label:"LINE",class:"bg-lime-100 text-lime-700 dark:bg-lime-900/30 dark:text-lime-300"},unknown:{label:"未知",class:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300"}};function me(Ie){return _e[Ie]?.label||Ie}function be(Ie){return _e[Ie]?.class||_e.unknown.class}function B(Ie,Ee){Ee.stopPropagation(),le.value=Ie.id,K.value=Ie.name}async function X(){if(!le.value||!K.value.trim()){le.value=null,K.value="";return}const Ie=K.value.trim(),Ee=o.value.find(Ce=>Ce.id===le.value);Ee&&Ee.name!==Ie&&await s.renameSession(le.value,Ie),le.value=null,K.value=""}function te(){le.value=null,K.value=""}function ee(){D.value.size!==0&&(L.value=!0)}const Me=E(!1),ae=E(!1),re=E(""),fe=E(!1);async function ke(){O.value&&(fe.value=!1,Me.value=!0)}async function Se(){if(!O.value)return;ae.value=!0,re.value=n("tools.batchManage.mergeSteps.exporting");const Ie=Array.from(D.value);let Ee=[];try{const Ce=await window.mergeApi.exportSessionsToTempFiles(Ie);if(!Ce.success)throw new Error(Ce.error||"导出失败");Ee=Ce.tempFiles,re.value=n("tools.batchManage.mergeSteps.parsing");for(const We of Ee)await window.mergeApi.parseFileInfo(We);re.value=n("tools.batchManage.mergeSteps.checking");const Oe=await window.mergeApi.checkConflicts(Ee);Oe.conflicts.length>0&&console.log(`[BatchDelete] 检测到 ${Oe.conflicts.length} 个冲突,使用默认解决方案`),re.value=n("tools.batchManage.mergeSteps.merging");const Fe=`${o.value.find(We=>D.value.has(We.id))?.name||"聊天记录"}(${n("tools.batchManage.mergedSuffix")})`,lt=await window.mergeApi.mergeFiles({filePaths:Ee,outputName:Fe,outputFormat:"json",conflictResolutions:Oe.conflicts.map(We=>({id:We.id,resolution:"keep1"})),andAnalyze:!0});if(!lt.success)throw new Error(lt.error||"合并失败");if(fe.value){re.value=n("tools.batchManage.mergeSteps.cleaning");for(const We of Ie)await s.deleteSession(We)}await window.mergeApi.cleanupTempExportFiles(Ee),await s.loadSessions(),Q(),Me.value=!1,t.success(n("tools.batchManage.mergeSuccess",{count:Ie.length}))}catch(Ce){console.error("[BatchDelete] 合并失败:",Ce),t.fail(n("tools.batchManage.mergeError",{error:String(Ce)})),Ee.length>0&&await window.mergeApi.cleanupTempExportFiles(Ee)}finally{ae.value=!1,re.value=""}}async function we(){if(D.value.size!==0){z.value=!0;try{const Ie=Array.from(D.value);for(const Ee of Ie)await s.deleteSession(Ee);Q(),L.value=!1}catch(Ie){console.error("Batch delete failed:",Ie)}finally{z.value=!1}}}function Ve(){L.value=!1}return Ke(()=>{s.loadSessions()}),(Ie,Ee)=>{const Ce=Xe,Oe=pa,Ae=Td,Re=nt,Fe=hi,lt=$a;return x(),F("div",cme,[c.value>0?(x(),F("button",{key:0,type:"button",class:"mb-3 inline-flex w-fit max-w-full items-center gap-2 rounded-lg bg-amber-50 px-3 py-2 text-left text-xs text-amber-800 transition-colors hover:bg-amber-100 dark:bg-amber-950/20 dark:text-amber-300 dark:hover:bg-amber-950/30",onClick:A},[I(Ce,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),b("span",null,C(i(n)("tools.batchManage.ownerIssues",{count:c.value})),1),I(Ce,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):se("",!0),b("div",ume,[I(Oe,{modelValue:l.value,"onUpdate:modelValue":Ee[0]||(Ee[0]=We=>l.value=We),placeholder:i(n)("tools.batchManage.searchPlaceholder"),icon:"i-heroicons-magnifying-glass",size:"md",class:"w-80"},null,8,["modelValue","placeholder"])]),b("div",dme,[b("div",fme,[I(Ae,{"model-value":W.value,indeterminate:j.value,label:i(n)("tools.batchManage.selectAll"),"onUpdate:modelValue":J},null,8,["model-value","indeterminate","label"]),b("span",pme,C(i(n)("tools.batchManage.shiftClickHint")),1),i(D).size>0?(x(),F("span",mme,C(i(n)("tools.batchManage.selected",{count:i(D).size})),1)):se("",!0),l.value.trim()&&u.value.length!==i(o).length?(x(),F("span",gme,C(i(n)("tools.batchManage.searchResult",{count:u.value.length,total:i(o).length})),1)):se("",!0)]),b("div",hme,[I(Fe,{text:O.value?"":i(n)("tools.batchManage.mergeHint")},{default:T(()=>[I(Re,{color:"primary",disabled:!O.value,icon:"i-heroicons-document-duplicate",onClick:ke},{default:T(()=>[pe(C(i(n)("tools.batchManage.merge")),1)]),_:1},8,["disabled"])]),_:1},8,["text"]),I(Re,{color:"primary",disabled:i(D).size===0,icon:"i-heroicons-trash",onClick:ee},{default:T(()=>[pe(C(i(n)("tools.batchManage.delete")),1)]),_:1},8,["disabled"])])]),i(o).length===0?(x(),F("div",vme,[b("div",yme,[I(Ce,{name:"i-heroicons-inbox",class:"mb-2 h-12 w-12"}),b("p",null,C(i(n)("tools.batchManage.empty")),1)])])):u.value.length===0?(x(),F("div",bme,[b("div",xme,[I(Ce,{name:"i-heroicons-magnifying-glass",class:"mb-2 h-12 w-12"}),b("p",null,C(i(n)("tools.batchManage.noSearchResult")),1)])])):(x(),F("div",_me,[b("div",wme,[(x(),F(De,null,Ye(d,We=>(x(),F(De,{key:We.key},[We.type==="spacer"?(x(),F("div",{key:0,class:xe(We.class)},null,2)):We.type==="static"?(x(),F("div",{key:1,class:xe(v(We))},C(i(n)(We.labelKey)),3)):(x(),F("button",{key:2,class:xe(h(We)),onClick:ft=>i(p)(We.field)},[b("span",null,C(i(n)(We.labelKey)),1),b("span",Cme,[I(Ce,{name:"i-heroicons-chevron-up",class:xe(["h-2.5 w-2.5",y(We.field,"asc")])},null,8,["class"]),I(Ce,{name:"i-heroicons-chevron-down",class:xe(["-mt-0.5 h-2.5 w-2.5",y(We.field,"desc")])},null,8,["class"])])],10,kme))],64))),64))]),b("div",{ref_key:"listScrollRef",ref:w,class:"min-h-0 flex-1 overflow-y-auto"},[b("div",{class:"relative",style:Tt({height:`${P.value}px`})},[(x(!0),F(De,null,Ye(S.value,({virtualItem:We,session:ft})=>(x(),F("div",{key:String(We.key),class:xe(["absolute left-0 right-0 top-0 flex h-12 cursor-pointer items-center gap-3 px-3 py-2 transition-colors hover:bg-gray-100 dark:hover:bg-gray-800",[i(G)(ft.id)?"bg-pink-50 dark:bg-pink-900/20":"",We.index!==k.value.length-1?"border-b border-gray-100 dark:border-gray-800":""]]),style:Tt({transform:`translateY(${We.start}px)`}),onMousedown:Ee[3]||(Ee[3]=(...Ot)=>i(R)&&i(R)(...Ot)),onClick:Ot=>i(V)(We.index,ft.id,Ot)},[b("div",Mme,[I(Ae,{"model-value":i(G)(ft.id),onClick:ut(Ot=>i(V)(We.index,ft.id,Ot),["stop"])},null,8,["model-value","onClick"])]),b("div",$me,[I(Tw,{src:q(ft),alt:ft.name,text:oe(ft),"fallback-class":["flex h-8 w-8 items-center justify-center rounded-full text-[10px] font-bold",U(ft)?"bg-pink-500 text-white":"bg-primary-500 text-white"]},null,8,["src","alt","text","fallback-class"])]),b("div",Ame,[b("div",Ime,[I(Ce,{name:U(ft)?"i-heroicons-user":"i-heroicons-user-group",class:"h-3.5 w-3.5 shrink-0 text-gray-400"},null,8,["name"]),le.value===ft.id?d5((x(),F("input",{key:0,"onUpdate:modelValue":Ee[1]||(Ee[1]=Ot=>K.value=Ot),type:"text",class:"w-full rounded border border-pink-300 bg-white px-2 py-0.5 text-sm font-medium text-gray-900 focus:border-pink-500 focus:outline-none focus:ring-1 focus:ring-pink-500 dark:border-pink-600 dark:bg-gray-800 dark:text-white",autofocus:"",onBlur:X,onKeydown:[ta(X,["enter"]),ta(te,["escape"])],onClick:Ee[2]||(Ee[2]=ut(()=>{},["stop"]))},null,544)),[[LC,K.value]]):(x(),F("p",{key:1,class:"cursor-text truncate rounded px-1 text-sm font-medium text-gray-900 hover:bg-gray-200 dark:text-white dark:hover:bg-gray-700",title:i(n)("tools.batchManage.clickToEdit"),onClick:Ot=>B(ft,Ot)},C(ft.name),9,Tme))])]),b("div",Pme,[b("span",{class:xe(["inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",be(ft.platform)])},C(me(ft.platform)),3)]),b("button",{type:"button",class:xe(["flex w-28 min-w-0 items-center gap-1.5 text-left text-xs transition-colors hover:text-primary-600 dark:hover:text-primary-400",ft.ownerStatus==="resolved"?"text-gray-600 dark:text-gray-300":"text-amber-600 dark:text-amber-400"]),title:ft.ownerId||i(n)("tools.batchManage.ownerStatus.missing"),onClick:Ot=>ye(ft,Ot)},[I(Ce,{name:ft.ownerStatus==="resolved"?"i-heroicons-user-circle":"i-heroicons-exclamation-circle",class:"h-3.5 w-3.5 shrink-0"},null,8,["name"]),b("span",Eme,C(ft.ownerStatus==="resolved"?ft.ownerName||ft.ownerId:i(n)(`tools.batchManage.ownerStatus.${ft.ownerStatus}`)),1),I(Ce,{name:"i-heroicons-chevron-right",class:"h-3 w-3 shrink-0 opacity-60"})],10,Dme),b("div",Rme,C(ft.messageCount.toLocaleString()),1),b("div",Ome,C(ft.summaryCount||0),1),b("div",Lme,C(ft.aiConversationCount||0),1),b("div",qme,C(ne(ft.importedAt)),1)],46,Sme))),128))],4)],512)])),ie.value?(x(),N(rme,{key:4,modelValue:Y.value,"onUpdate:modelValue":Ee[4]||(Ee[4]=We=>Y.value=We),"session-id":ie.value.id,"chat-type":ie.value.type,onSaved:de,onCleared:de},null,8,["modelValue","session-id","chat-type"])):se("",!0),I(lt,{open:Me.value,"onUpdate:open":Ee[7]||(Ee[7]=We=>Me.value=We),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",Nme,[b("div",Fme,[b("div",Vme,[I(Ce,{name:"i-heroicons-document-duplicate",class:"h-5 w-5 text-blue-600 dark:text-blue-400"})]),b("h3",Bme,C(i(n)("tools.batchManage.mergeConfirmTitle")),1)]),b("p",zme,C(i(n)("tools.batchManage.mergeConfirmMessage",{count:i(D).size})),1),b("div",Hme,[(x(!0),F(De,null,Ye(he.value,We=>(x(),F("div",{key:We.id,class:"flex items-center gap-2 border-b border-gray-100 px-3 py-2 last:border-b-0 dark:border-gray-800"},[I(Ce,{name:U(We)?"i-heroicons-user":"i-heroicons-user-group",class:"h-4 w-4 text-gray-400"},null,8,["name"]),b("span",Ume,C(We.name),1),b("span",jme,C(We.messageCount.toLocaleString())+" 条",1)]))),128))]),b("div",Wme,[I(Ae,{modelValue:fe.value,"onUpdate:modelValue":Ee[5]||(Ee[5]=We=>fe.value=We),label:i(n)("tools.batchManage.deleteOriginalsLabel")},null,8,["modelValue","label"])]),fe.value?(x(),F("div",Kme,[b("div",Gme,[I(Ce,{name:"i-heroicons-exclamation-triangle",class:"mt-0.5 h-4 w-4 shrink-0 text-red-600"}),b("p",Yme,C(i(n)("tools.batchManage.mergeRiskWarning")),1)])])):se("",!0),ae.value?(x(),F("div",Xme,[b("div",Jme,[I(Ce,{name:"i-heroicons-arrow-path",class:"h-4 w-4 animate-spin text-blue-600 dark:text-blue-400"}),b("span",Qme,C(re.value),1)])])):se("",!0),b("div",Zme,[I(Re,{variant:"soft",disabled:ae.value,onClick:Ee[6]||(Ee[6]=We=>Me.value=!1)},{default:T(()=>[pe(C(i(n)("common.cancel")),1)]),_:1},8,["disabled"]),I(Re,{color:"primary",loading:ae.value,onClick:Se},{default:T(()=>[pe(C(ae.value?re.value:i(n)("tools.batchManage.merge")),1)]),_:1},8,["loading"])])])]),_:1},8,["open"]),I(lt,{open:L.value,"onUpdate:open":Ee[8]||(Ee[8]=We=>L.value=We),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",ege,[b("div",tge,[b("div",age,[I(Ce,{name:"i-heroicons-exclamation-triangle",class:"h-5 w-5 text-red-600 dark:text-red-400"})]),b("h3",nge,C(i(n)("tools.batchManage.confirmTitle")),1)]),b("p",rge,C(i(n)("tools.batchManage.confirmMessage",{count:i(D).size})),1),b("div",sge,[I(Re,{variant:"soft",disabled:z.value,onClick:Ve},{default:T(()=>[pe(C(i(n)("common.cancel")),1)]),_:1},8,["disabled"]),I(Re,{color:"error",loading:z.value,onClick:we},{default:T(()=>[pe(C(z.value?i(n)("tools.batchManage.deleting"):i(n)("common.delete")),1)]),_:1},8,["loading"])])])]),_:1},8,["open"])])}}});function jr(){return An("cache")}const Y_e=Object.freeze(Object.defineProperty({__proto__:null,useCacheService:jr},Symbol.toStringTag,{value:"Module"})),Pg="chatlab_ignore_migrate_default_hint";function lge(e){const t=e.getItem(Pg);if(!t)return null;try{const a=JSON.parse(t);return!a.ignoredForDataDir||!a.ignoredAt?null:{ignoredForDataDir:a.ignoredForDataDir,ignoredAt:a.ignoredAt}}catch{return null}}function cge(e,t){return lge(e)?.ignoredForDataDir===t}function uge(e,t){e.setItem(Pg,JSON.stringify({ignoredForDataDir:t,ignoredAt:new Date().toISOString()}))}function dge(e){e.removeItem(Pg)}const fge={class:"space-y-6"},pge={class:"flex items-center justify-between"},mge={class:"flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},gge={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},hge={class:"flex items-center gap-2"},vge={class:"rounded-lg bg-gray-100 px-3 py-1.5 dark:bg-gray-800"},yge={class:"text-xs text-gray-500 dark:text-gray-400"},bge={class:"text-sm font-semibold text-gray-900 dark:text-white"},xge={key:0,class:"rounded-lg border border-gray-200 border-l-2 border-l-primary-400 bg-gray-50 px-3 py-3 dark:border-gray-700 dark:border-l-primary-500 dark:bg-gray-800/50"},_ge={class:"flex items-start gap-3"},wge={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary-100 text-primary-600 dark:bg-primary-900/50 dark:text-primary-300"},kge={class:"min-w-0 flex-1"},Cge={class:"text-sm font-semibold text-gray-900 dark:text-white"},Sge={class:"mt-0.5 text-xs leading-5 text-gray-600 dark:text-gray-400"},Mge={class:"mt-2.5 divide-y divide-gray-200 pl-11 dark:divide-gray-700"},$ge={class:"min-w-0 flex-1"},Age=["title"],Ige={class:"mt-0.5 text-xs text-gray-400"},Tge={class:"flex shrink-0 items-center gap-1"},Pge={key:1,class:"flex items-center justify-center py-8"},Dge={class:"ml-2 text-sm text-gray-500"},Ege={key:2,class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},Rge={class:"divide-y divide-gray-200 dark:divide-gray-700"},Oge={class:"flex min-w-0 items-center gap-3"},Lge={class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-200 text-gray-500 dark:bg-gray-700 dark:text-gray-400"},qge={class:"flex min-w-0 items-center gap-2"},Nge={class:"w-32 shrink-0 truncate text-sm font-medium text-gray-900 dark:text-white"},Fge={class:"flex min-w-0 items-center gap-1.5 text-xs text-gray-500 dark:text-gray-400"},Vge={class:"truncate"},Bge={class:"ml-4 flex shrink-0 items-center gap-3"},zge={class:"flex items-center gap-1.5 text-xs text-gray-400 tabular-nums"},Hge={class:"w-20 text-right"},Uge={class:"w-16 text-right"},jge={class:"flex w-16 shrink-0 items-center justify-end gap-1"},Wge={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Kge={class:"flex items-start justify-between gap-3"},Gge={class:"min-w-0 flex-1"},Yge={class:"text-sm font-medium text-gray-900 dark:text-white"},Xge={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Jge={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Qge={class:"shrink-0"},Zge={class:"mt-3 flex items-center gap-2"},ehe={key:0,class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},the={key:1,class:"mt-3 flex items-center justify-between rounded-lg border border-blue-200 bg-blue-50 p-3 dark:border-blue-800/50 dark:bg-blue-900/20"},ahe={class:"text-xs font-medium text-blue-700 dark:text-blue-300"},nhe={class:"mt-0.5 font-mono text-xs text-blue-600 dark:text-blue-400"},rhe={class:"flex shrink-0 items-center gap-2"},she={class:"mt-2 text-xs text-amber-600 dark:text-amber-400"},ohe={key:2,class:"mt-1 text-xs text-red-500"},ihe={class:"p-5"},lhe={class:"mb-4 flex items-center gap-3"},che={class:"flex h-10 w-10 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-900/30"},uhe={class:"text-lg font-semibold text-gray-900 dark:text-white"},dhe={class:"space-y-3 text-sm text-gray-600 dark:text-gray-400"},fhe={class:"rounded-lg bg-gray-100 p-3 dark:bg-gray-800"},phe={class:"text-xs text-gray-500 dark:text-gray-400"},mhe={class:"mt-1 font-mono text-sm text-gray-900 dark:text-white"},ghe={class:"rounded-lg border border-amber-200 bg-amber-50 p-3 dark:border-amber-800/50 dark:bg-amber-900/20"},hhe={class:"text-xs text-amber-700 dark:text-amber-400"},vhe={class:"mt-5 flex justify-end gap-2"},yhe={class:"p-5"},bhe={class:"flex items-start gap-3"},xhe={class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-red-50 text-red-600 dark:bg-red-950/40 dark:text-red-400"},_he={class:"min-w-0 flex-1"},whe={class:"text-base font-semibold text-gray-900 dark:text-white"},khe={class:"mt-1 text-sm leading-6 text-gray-600 dark:text-gray-400"},Che={key:0,class:"mt-4 rounded-lg bg-gray-50 px-3 py-2.5 dark:bg-gray-800/60"},She={class:"break-all font-mono text-xs text-gray-700 dark:text-gray-300"},Mhe={class:"mt-5 flex justify-end gap-2"},$he={class:"p-5"},Ahe={class:"mb-4 flex items-center gap-3"},Ihe={class:"flex h-10 w-10 items-center justify-center rounded-full bg-green-100 dark:bg-green-900/30"},The={class:"text-lg font-semibold text-gray-900 dark:text-white"},Phe={class:"text-sm text-gray-600 dark:text-gray-400"},Dhe={class:"mt-5 flex justify-end"},Ehe=ue({__name:"StorageManageSection",setup(e,{expose:t}){const{t:a}=ot(),n=E(null),r=E(!1),s=E(null),o=E(""),l=E(""),c=E(""),u=E("settings.storage.dataLocation.managedDescription"),d=E(!1),f=E(!1),p=E(!1),m=E(!1),g=E(null),y=E(!1),_=E([]),v=E(null),h=E(null),k=E(!1),w=E(!1),A=E(null),M=E(!1),S=E(!1);function P(ne){if(ne===0)return"0 B";const U=["B","KB","MB","GB"],q=Math.floor(Math.log(ne)/Math.log(1024));return`${(ne/Math.pow(1024,q)).toFixed(q>0?1:0)} ${U[q]}`}const D=$(()=>n.value?P(n.value.totalSize):"0 B");async function H(){r.value=!0;try{n.value=await jr().getInfo()}catch(ne){console.error("获取缓存信息失败:",ne)}finally{r.value=!1}}const Q=$(()=>p.value||!!o.value),G=$(()=>Q.value&&o.value&&c.value&&o.value!==c.value&&d.value&&!y.value);function V(){if(!o.value||!c.value){y.value=!1;return}try{y.value=cge(localStorage,o.value)}catch{y.value=!1}}async function R(){try{const ne=await jr().getDataDir();o.value=ne.path,l.value=ne.pendingMigration?.to||ne.path,c.value=ne.defaultPath||"",u.value=ne.managedDescription||"settings.storage.dataLocation.managedDescription",d.value=!!ne.hasLegacyDataAtDefaultDir,f.value=ne.isCustom,p.value=jt||!!ne.canSetDataDir,_.value=ne.pendingCleanups??[],V()}catch(ne){console.error("获取数据目录失败:",ne)}}async function L(ne){s.value=ne;try{const U=await jr().clear(ne);U.success?await H():console.error("清理缓存失败:",U.error)}catch(U){console.error("清理缓存失败:",U)}finally{s.value=null}}async function z(ne){try{await jr().openDir(ne)}catch(U){console.error("打开目录失败:",U)}}async function le(){await z("base")}async function K(){await z("userData")}async function ce(ne){try{await jr().openDataDirCleanup(ne)}catch(U){g.value=U instanceof Error?U.message:String(U)}}function Y(ne){v.value=ne,k.value=!0}async function ve(){const ne=v.value;if(ne){h.value=ne.id;try{const U=await jr().deleteDataDirCleanup(ne.id);if(!U.success){g.value=U.error||a("settings.storage.dataLocation.cleanupDeleteFailed");return}k.value=!1,v.value=null,await Promise.all([R(),H()])}catch(U){g.value=U instanceof Error?U.message:String(U)}finally{h.value=null}}}async function ie(){g.value=null;try{const ne=await window.cacheApi.selectDataDir();if(!ne.success||!ne.path){ne.error==="INSTALL_DIR_FORBIDDEN"&&(g.value=a("settings.storage.dataLocation.installDirForbidden"));return}A.value=ne.path,M.value=!0,w.value=!0}catch(ne){g.value=ne instanceof Error?ne.message:String(ne)}}async function ye(){g.value=null,A.value=null,M.value=!0,w.value=!0}function de(){g.value=null,A.value=null,M.value=!0,w.value=!0}function he(){g.value=null;const ne=l.value.trim();if(!ne){g.value=a("settings.storage.dataLocation.pathRequired");return}A.value=ne,M.value=!0,w.value=!0}function ge(){if(!(!o.value||!c.value)){try{uge(localStorage,o.value)}catch{}y.value=!0}}async function O(){w.value=!1,await j(A.value,M.value)}function W(){w.value=!1,A.value=null,M.value=!1}async function j(ne,U){m.value=!0;try{const q=jt?await window.cacheApi.setDataDir(ne,U):await jr().setDataDir(ne,U);if(!q.success){g.value=q.error||"设置失败";return}if(q.requiresRelaunch!==!1)try{dge(localStorage)}catch{}if(q.requiresRelaunch===!1){await R();return}S.value=!0}catch(q){g.value=q instanceof Error?q.message:String(q)}finally{m.value=!1}}async function J(){S.value=!1}return Ke(()=>{H(),R()}),t({refresh:H}),(ne,U)=>{const q=Xe,oe=nt,_e=yi,me=pa,be=$a;return x(),F("div",fge,[b("div",pge,[b("div",null,[b("h3",mge,[I(q,{name:"i-heroicons-folder-open",class:"h-4 w-4 text-amber-500"}),pe(" "+C(i(a)("settings.storage.title")),1)]),b("p",gge,C(i(a)("settings.storage.description")),1)]),b("div",hge,[n.value?.baseDir?(x(),N(oe,{key:0,icon:"i-heroicons-folder-open",variant:"ghost",size:"sm",onClick:le},{default:T(()=>[pe(C(i(a)("settings.storage.openRootDir")),1)]),_:1})):se("",!0),b("div",vge,[b("span",yge,C(i(a)("settings.storage.totalUsage")),1),b("span",bge,C(D.value),1)]),I(oe,{icon:"i-heroicons-arrow-path",variant:"ghost",size:"sm",loading:r.value,onClick:H},null,8,["loading"])])]),_.value.length>0?(x(),F("div",xge,[b("div",_ge,[b("div",wge,[I(q,{name:"i-heroicons-archive-box",class:"h-4 w-4"})]),b("div",kge,[b("p",Cge,C(i(a)("settings.storage.dataLocation.cleanupTitle")),1),b("p",Sge,C(i(a)("settings.storage.dataLocation.cleanupDescription")),1)])]),b("div",Mge,[(x(!0),F(De,null,Ye(_.value,B=>(x(),F("div",{key:B.id,class:"flex items-center gap-3 py-2.5 first:pt-0 last:pb-0"},[b("div",$ge,[b("p",{class:"truncate font-mono text-xs text-gray-700 dark:text-gray-300",title:B.sourceDir},C(B.sourceDir),9,Age),b("p",Ige,C(B.exists?P(B.size):i(a)("settings.storage.notExist")),1)]),b("div",Tge,[I(oe,{icon:"i-heroicons-folder-open",variant:"ghost",size:"xs",disabled:!B.exists||h.value!==null,onClick:X=>ce(B.id)},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.open")),1)]),_:1},8,["disabled","onClick"]),I(oe,{icon:"i-heroicons-trash",color:"red",variant:"soft",size:"xs",loading:h.value===B.id,disabled:h.value!==null,onClick:X=>Y(B)},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.cleanupDeleteAction")),1)]),_:1},8,["loading","disabled","onClick"])])]))),128))])])):se("",!0),r.value&&!n.value?(x(),F("div",Pge,[I(q,{name:"i-heroicons-arrow-path",class:"h-5 w-5 animate-spin text-gray-400"}),b("span",Dge,C(i(a)("settings.storage.loading")),1)])):n.value?(x(),F("div",Ege,[b("div",Rge,[(x(!0),F(De,null,Ye(n.value.directories,B=>(x(),F("div",{key:B.id,class:"group flex items-center justify-between px-4 py-2.5 transition-colors hover:bg-gray-100/50 dark:hover:bg-gray-700/30"},[b("div",Oge,[b("div",Lge,[I(q,{name:B.icon,class:"h-3.5 w-3.5"},null,8,["name"])]),b("div",qge,[b("span",Nge,C(i(a)(B.name)),1),b("span",Fge,[b("span",Vge,C(i(a)(B.description)),1),B.exists?se("",!0):(x(),N(_e,{key:0,color:"neutral",variant:"subtle",size:"xs"},{default:T(()=>[pe(C(i(a)("settings.storage.notExist")),1)]),_:1}))])])]),b("div",Bge,[b("div",zge,[b("span",Hge,C(B.fileCount)+" "+C(i(a)("settings.storage.files")),1),U[5]||(U[5]=b("span",null,"·",-1)),b("span",Uge,C(P(B.size)),1)]),b("div",jge,[I(oe,{icon:"i-heroicons-folder-open",color:"neutral",variant:"ghost",size:"xs",class:"hover:bg-gray-200/80 dark:hover:bg-gray-700","aria-label":i(a)("settings.storage.open"),title:i(a)("settings.storage.open"),onClick:X=>z(B.id)},null,8,["aria-label","title","onClick"]),B.canClear&&B.size>0?(x(),N(oe,{key:0,icon:"i-heroicons-trash",color:"error",variant:"ghost",size:"xs",loading:s.value===B.id,disabled:s.value!==null,"aria-label":i(a)("settings.storage.clear"),title:i(a)("settings.storage.clear"),onClick:X=>L(B.id)},null,8,["loading","disabled","aria-label","title","onClick"])):se("",!0)])])]))),128))])])):se("",!0),Q.value?(x(),F(De,{key:3},[b("div",Wge,[b("div",Kge,[b("div",Gge,[b("p",Yge,C(i(a)("settings.storage.dataLocation.title")),1),b("p",Xge,C(i(a)("settings.storage.dataLocation.description")),1),b("p",Jge,C(i(a)(u.value)),1)]),b("div",Qge,[I(oe,{icon:"i-heroicons-folder-open",variant:"ghost",size:"xs",onClick:K},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.open")),1)]),_:1})])]),b("div",Zge,[I(me,{modelValue:l.value,"onUpdate:modelValue":U[0]||(U[0]=B=>l.value=B),readonly:i(jt)||!p.value,size:"sm",class:"min-w-0 flex-1"},null,8,["modelValue","readonly"]),i(jt)?(x(),N(oe,{key:0,size:"sm",variant:"soft",loading:m.value,disabled:m.value,onClick:ie},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.choose")),1)]),_:1},8,["loading","disabled"])):p.value?(x(),N(oe,{key:1,size:"sm",variant:"soft",loading:m.value,disabled:m.value||!l.value.trim(),onClick:he},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.applyPath")),1)]),_:1},8,["loading","disabled"])):se("",!0),f.value?(x(),N(oe,{key:2,size:"sm",variant:"ghost",disabled:m.value,onClick:ye},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.reset")),1)]),_:1},8,["disabled"])):se("",!0)]),!i(jt)&&p.value?(x(),F("p",ehe,C(i(a)("settings.storage.dataLocation.serverPathHint")),1)):se("",!0),G.value?(x(),F("div",the,[b("div",null,[b("p",ahe,C(i(a)("settings.storage.dataLocation.migrateHint")),1),b("p",nhe,C(c.value),1)]),b("div",rhe,[I(oe,{size:"sm",variant:"ghost",disabled:m.value,onClick:ge},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.ignoreMigrateHint")),1)]),_:1},8,["disabled"]),I(oe,{size:"sm",color:"primary",variant:"soft",loading:m.value,disabled:m.value,onClick:de},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.migrateAction")),1)]),_:1},8,["loading","disabled"])])])):se("",!0),b("p",she,C(i(jt)?i(a)("settings.storage.dataLocation.restartTip"):i(a)("settings.storage.dataLocation.cliRestartTip")),1),g.value?(x(),F("p",ohe,C(g.value),1)):se("",!0)]),I(be,{open:w.value,"onUpdate:open":U[1]||(U[1]=B=>w.value=B),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",ihe,[b("div",lhe,[b("div",che,[I(q,{name:"i-heroicons-exclamation-triangle",class:"h-5 w-5 text-amber-600 dark:text-amber-400"})]),b("h3",uhe,C(i(a)("settings.storage.dataLocation.confirmTitle")),1)]),b("div",dhe,[b("p",null,C(i(a)("settings.storage.dataLocation.confirmMessage")),1),b("div",fhe,[b("p",phe,C(i(a)("settings.storage.dataLocation.newPath")),1),b("p",mhe,C(A.value||i(a)("settings.storage.dataLocation.defaultPath")),1)]),b("div",ghe,[b("p",hhe,C(i(jt)?i(a)("settings.storage.dataLocation.confirmWarning"):i(a)("settings.storage.dataLocation.cliConfirmWarning")),1)])]),b("div",vhe,[I(oe,{variant:"ghost",onClick:W},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.cancel")),1)]),_:1}),I(oe,{color:"primary",onClick:O},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.confirm")),1)]),_:1})])])]),_:1},8,["open"]),I(be,{open:k.value,"onUpdate:open":U[3]||(U[3]=B=>k.value=B),ui:{content:"sm:max-w-[500px] z-[103]",overlay:"z-[102]"}},{content:T(()=>[b("div",yhe,[b("div",bhe,[b("div",xhe,[I(q,{name:"i-heroicons-trash",class:"h-5 w-5"})]),b("div",_he,[b("h3",whe,C(i(a)("settings.storage.dataLocation.cleanupDeleteConfirmTitle")),1),b("p",khe,C(i(a)("settings.storage.dataLocation.cleanupDeleteConfirmDescription")),1)])]),v.value?(x(),F("div",Che,[b("p",She,C(v.value.sourceDir),1)])):se("",!0),b("div",Mhe,[I(oe,{variant:"ghost",disabled:h.value!==null,onClick:U[2]||(U[2]=B=>k.value=!1)},{default:T(()=>[pe(C(i(a)("common.cancel")),1)]),_:1},8,["disabled"]),I(oe,{color:"red",loading:h.value!==null,onClick:ve},{default:T(()=>[pe(C(i(a)("settings.storage.dataLocation.cleanupDeleteConfirmAction")),1)]),_:1},8,["loading"])])])]),_:1},8,["open"]),I(be,{open:S.value,"onUpdate:open":U[4]||(U[4]=B=>S.value=B),dismissible:!1,ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",$he,[b("div",Ahe,[b("div",Ihe,[I(q,{name:"i-heroicons-check-circle",class:"h-5 w-5 text-green-600 dark:text-green-400"})]),b("h3",The,C(i(a)("settings.storage.dataLocation.migrationQueuedTitle")),1)]),b("p",Phe,C(i(jt)?i(a)("settings.storage.dataLocation.migrationSuccessMessage"):i(a)("settings.storage.dataLocation.cliMigrationSuccessMessage")),1),b("div",Dhe,[I(oe,{color:"primary",onClick:J},{default:T(()=>[pe(C(i(jt)?i(a)("settings.storage.dataLocation.relaunchNow"):i(a)("settings.storage.dataLocation.acknowledge")),1)]),_:1})])])]),_:1},8,["open"])],64)):se("",!0)])}}}),Rhe={class:"h-full overflow-y-auto"},Ohe=ue({__name:"StorageTab",setup(e,{expose:t}){const a=E(null);return t({refresh:()=>a.value?.refresh()}),(n,r)=>(x(),F("div",Rhe,[I(Ehe,{ref_key:"storageManageRef",ref:a},null,512)]))}}),Br="chatlab_auth_token",Sc="chatlab_remember_device",Dg=Wn("auth",()=>{const e=E(sessionStorage.getItem(Br)||localStorage.getItem(Br)||""),t=E(!!localStorage.getItem(Sc)),a=E(!1),n=$(()=>!!e.value);function r(){a.value=!0}function s(l,c){e.value=l,t.value=c,r(),c?(localStorage.setItem(Br,l),localStorage.setItem(Sc,"1"),sessionStorage.removeItem(Br)):(sessionStorage.setItem(Br,l),localStorage.removeItem(Br),localStorage.removeItem(Sc))}function o(){e.value="",t.value=!1,a.value=!1,sessionStorage.removeItem(Br),localStorage.removeItem(Br),localStorage.removeItem(Sc)}return{token:e,requiresAuth:a,rememberDevice:t,isAuthenticated:n,login:s,logout:o,markRequiresAuth:r}}),Lhe={class:"space-y-6 pr-1"},qhe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Nhe={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Fhe={class:"flex items-center justify-between"},Vhe={class:"flex items-center gap-3"},Bhe={class:"flex h-12 w-12 items-center justify-center rounded-xl bg-linear-to-br from-pink-500 to-pink-600"},zhe={class:"text-xs text-gray-500 dark:text-gray-400"},Hhe={class:"mt-1 text-xs text-gray-400"},Uhe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},jhe={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Whe={class:"flex items-center justify-between"},Khe={class:"text-sm font-medium text-gray-900 dark:text-white"},Ghe={class:"text-xs text-gray-500 dark:text-gray-400"},Yhe={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Xhe={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Jhe={class:"flex items-center justify-between"},Qhe={class:"text-sm font-medium text-gray-900 dark:text-white"},Zhe={class:"text-xs text-gray-500 dark:text-gray-400"},eve={key:0},tve={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},ave={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},nve={class:"flex items-center justify-between"},rve={class:"text-sm font-medium text-gray-900 dark:text-white"},sve=ue({__name:"AboutTab",setup(e){const{t}=ot(),a=Dd(),n=Rl(),r=Rr(),s=Er(),o=Dg(),{debugMode:l}=aa(r),c=o.isAuthenticated;function u(){s.closeSettings(),o.logout(),n.push({name:"login"})}const d=E(t("common.loading")),f=E(!1),p=E(!0);async function m(){try{d.value=await sn().getVersion()}catch(v){console.error("Failed to get version:",v),d.value=t("settings.about.unknown")}}async function g(){try{p.value=await sn().getAnalyticsEnabled()}catch(v){console.error("Failed to get analytics status:",v)}}async function y(v){try{await sn().setAnalyticsEnabled(v),p.value=v}catch(h){console.error("Failed to set analytics:",h)}}async function _(){f.value=!0;try{const v=await sn().checkUpdate();if(!v)return;v.error?a.fail(t("settings.about.updateCheckFailed",{error:v.error})):v.hasUpdate?a.success(t("settings.about.newVersionAvailable",{version:v.latestVersion}),{duration:15e3,description:jt?void 0:t("settings.about.webUpdateHint")}):a.success(t("settings.about.upToDate"))}catch(v){console.error("Update check failed:",v)}finally{f.value=!1}}return Ke(()=>{m(),g()}),(v,h)=>{const k=Xe,w=nt,A=bi;return x(),F("div",Lhe,[b("div",null,[b("h3",qhe,[I(k,{name:"i-heroicons-information-circle",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(t)("settings.about.title")),1)]),b("div",Nhe,[b("div",Fhe,[b("div",Vhe,[b("div",Bhe,[I(k,{name:"i-heroicons-chat-bubble-left-right",class:"h-6 w-6 text-white"})]),b("div",null,[h[0]||(h[0]=b("p",{class:"text-sm font-semibold text-gray-900 dark:text-white"},"ChatLab",-1)),b("p",zhe,C(i(t)("settings.about.description")),1),b("p",Hhe,C(i(t)("settings.about.version"))+" "+C(d.value),1)])]),I(w,{disabled:f.value,color:"primary",variant:"soft",size:"sm",onClick:_},{default:T(()=>[I(k,{name:"i-heroicons-arrow-path",class:xe(["mr-1 h-4 w-4",{"animate-spin":f.value}])},null,8,["class"]),pe(" "+C(f.value?i(t)("settings.about.checking"):i(t)("settings.about.checkUpdate")),1)]),_:1},8,["disabled"])])])]),b("div",null,[b("h3",Uhe,[I(k,{name:"i-heroicons-shield-check",class:"h-4 w-4 text-purple-500"}),pe(" "+C(i(t)("settings.about.privacy.title")),1)]),b("div",jhe,[b("div",Whe,[b("div",null,[b("p",Khe,C(i(t)("settings.about.privacy.analytics")),1),b("p",Ghe,C(i(t)("settings.about.privacy.analyticsDesc")),1)]),I(A,{"model-value":p.value,"onUpdate:modelValue":y},null,8,["model-value"])])])]),b("div",null,[b("h3",Yhe,[I(k,{name:"i-heroicons-wrench-screwdriver",class:"h-4 w-4 text-orange-500"}),pe(" "+C(i(t)("settings.about.developer.title")),1)]),b("div",Xhe,[b("div",Jhe,[b("div",null,[b("p",Qhe,C(i(t)("settings.about.developer.debugMode")),1),b("p",Zhe,C(i(t)("settings.about.developer.debugModeDesc")),1)]),I(A,{"model-value":i(l),"onUpdate:modelValue":i(r).setDebugMode},null,8,["model-value","onUpdate:modelValue"])])])]),i(c)?(x(),F("div",eve,[b("h3",tve,[I(k,{name:"i-heroicons-arrow-right-on-rectangle",class:"h-4 w-4 text-red-500"}),pe(" "+C(i(t)("common.login.logoutTitle")),1)]),b("div",ave,[b("div",nve,[b("div",null,[b("p",rve,C(i(t)("common.login.logoutDesc")),1)]),I(w,{color:"error",variant:"soft",size:"sm",onClick:u},{default:T(()=>[I(k,{name:"i-heroicons-arrow-right-on-rectangle",class:"mr-1 h-4 w-4"}),pe(" "+C(i(t)("common.login.logout")),1)]),_:1})])])])):se("",!0)])}}});function ove(e){const t=new Map;for(const a of e)for(const n of a.sessions)t.set(`${a.id}:${n.id}`,JSON.stringify([n.targetSessionId,n.lastPullAt,n.lastStatus,n.lastNewMessages]));return t}function ive(e){const t=e.schedule??((c,u)=>setInterval(c,u)),a=e.cancelSchedule??(c=>clearInterval(c));let n=null,r=!1,s=!1;const o=async()=>{if(!(r||s)){s=!0;try{const c=await e.loadDataSources();if(r)return;const u=ove(c);n&&c.some(f=>f.sessions.some(p=>{const m=`${f.id}:${p.id}`;return p.lastStatus!=="idle"&&n?.get(m)!==u.get(m)}))&&await e.onResult(),n=u}catch{}finally{s=!1}}};o();const l=t(()=>{o()},e.intervalMs??5e3);return()=>{r=!0,a(l)}}function lve(){const e=()=>()=>{};async function t(a,n){const r=await ur(a,n);if(!r.ok){const o=await r.json().catch(()=>({})),l=typeof o.error=="string"?o.error:typeof o.error=="object"&&o.error&&"message"in o.error&&typeof o.error.message=="string"?o.error.message:`HTTP ${r.status}`;throw new Error(l)}return r.json()}return{getConfig:()=>t("/_web/automation/config"),getStatus:async()=>({running:!0,port:null,startedAt:null,error:null}),setEnabled:async()=>({running:!0,port:null,startedAt:null,error:null}),setPort:async()=>({running:!0,port:null,startedAt:null,error:null}),regenerateToken:async()=>t("/_web/automation/config"),onStartupError:e,getDataSources:()=>t("/_web/automation/data-sources"),addDataSource:a=>t("/_web/automation/data-sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),updateDataSource:(a,n)=>t(`/_web/automation/data-sources/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),deleteDataSource:async a=>(await t(`/_web/automation/data-sources/${a}`,{method:"DELETE"})).success,addImportSessions:(a,n)=>t(`/_web/automation/data-sources/${a}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessions:n})}),removeImportSession:async(a,n,r)=>(await t(`/_web/automation/data-sources/${a}/sessions/${n}${r?"?deleteData=true":""}`,{method:"DELETE"})).success,triggerPull:(a,n)=>t(`/_web/automation/data-sources/${a}/pull`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:n})}),triggerPullAll:a=>t(`/_web/automation/data-sources/${a}/pull-all`,{method:"POST"}),onPullResult:a=>ive({loadDataSources:()=>t("/_web/automation/data-sources"),onResult:a}),fetchRemoteSessions:async(a,n,r)=>{const s=new URLSearchParams({baseUrl:a});return n&&s.set("token",n),r?.keyword&&s.set("keyword",r.keyword),r?.limit&&s.set("limit",String(r.limit)),r?.cursor&&s.set("cursor",r.cursor),t(`/_web/automation/remote-sessions?${s}`)}}}function cve(){return lve()}const Eg=Wn("apiServer",()=>{const e=cve(),t=E({enabled:!1,port:3110,token:"",createdAt:0}),a=E({running:!1,port:null,startedAt:null,error:null}),n=E(!1),r=E([]),s=E(new Set),o=E(new Map),l=$(()=>!0),c=$(()=>a.value.running),u=$(()=>!!a.value.error),d=$(()=>a.value.error?.startsWith("PORT_IN_USE")??!1),f=$(()=>!jt);async function p(){try{t.value=await e.getConfig()}catch(K){console.error("[ApiServerStore] Failed to fetch config:",K)}}async function m(){try{a.value=await e.getStatus()}catch(K){console.error("[ApiServerStore] Failed to fetch status:",K)}}async function g(){await Promise.all([p(),m(),k()])}async function y(K){n.value=!0;try{a.value=await e.setEnabled(K),await p()}catch(ce){console.error("[ApiServerStore] Failed to set enabled:",ce)}finally{n.value=!1}}async function _(K){n.value=!0;try{a.value=await e.setPort(K),await p()}catch(ce){console.error("[ApiServerStore] Failed to set port:",ce)}finally{n.value=!1}}async function v(){try{t.value=await e.regenerateToken()}catch(K){console.error("[ApiServerStore] Failed to regenerate token:",K)}}function h(){return e.onStartupError(K=>{a.value.error=K.error,a.value.running=!1})}async function k(){try{r.value=await e.getDataSources()}catch(K){console.error("[ApiServerStore] Failed to fetch data sources:",K)}}async function w(K){try{const ce=await e.addDataSource(K);return r.value.push(ce),ce}catch(ce){return console.error("[ApiServerStore] Failed to add data source:",ce),null}}async function A(K,ce){try{const Y=await e.updateDataSource(K,ce);if(Y){const ve=r.value.findIndex(ie=>ie.id===K);ve!==-1&&(r.value[ve]=Y)}return Y}catch(Y){return console.error("[ApiServerStore] Failed to update data source:",Y),null}}async function M(K){try{const ce=await e.deleteDataSource(K);return ce&&(r.value=r.value.filter(Y=>Y.id!==K)),ce}catch(ce){return console.error("[ApiServerStore] Failed to delete data source:",ce),!1}}async function S(K,ce){try{const Y=await e.addImportSessions(K,ce);if(await k(),Y.length>0){for(const ve of Y)s.value.add(ve.id);s.value=new Set(s.value),P(K,Y.map(ve=>ve.id))}return Y}catch(Y){return console.error("[ApiServerStore] Failed to add import sessions:",Y),[]}}function P(K,ce,Y=24,ve=5e3){let ie=0;const ye=setInterval(async()=>{ie++,await Promise.all([k(),D()]);const de=r.value.find(ge=>ge.id===K);if(ce.filter(ge=>{const O=de?.sessions.find(W=>W.id===ge);return O&&O.lastStatus==="idle"}).length===0||ie>=Y){for(const ge of ce)s.value.delete(ge),o.value.delete(ge);s.value=new Set(s.value),o.value=new Map(o.value),clearInterval(ye)}},ve)}async function D(){if(f.value)try{const K=await ur("/_web/automation/sync-progress").then(Y=>Y.json()),ce=new Map;for(const Y of K)Y.done||ce.set(Y.sessionId,{current:Y.current,pages:Y.pages});o.value=ce}catch{}}async function H(K,ce,Y){try{const ve=await e.removeImportSession(K,ce,Y);return ve&&(await k(),Y&&Ja().loadSessions()),ve}catch(ve){return console.error("[ApiServerStore] Failed to remove import session:",ve),!1}}async function Q(K,ce){const Y=ce||K;s.value.add(Y),s.value=new Set(s.value);const ve=V();try{const ie=await e.triggerPull(K,ce);return await k(),await Ja().loadSessions(),L(K,ce),ie}catch(ie){return console.error("[ApiServerStore] Failed to trigger pull:",ie),{success:!1,error:String(ie)}}finally{clearInterval(ve),s.value.delete(Y),s.value=new Set(s.value),o.value.delete(Y),o.value=new Map(o.value)}}async function G(K){const ce=r.value.find(ie=>ie.id===K),Y=[K,...ce?.sessions.map(ie=>ie.id)??[]];for(const ie of Y)s.value.add(ie);s.value=new Set(s.value);const ve=V();try{const ie=await e.triggerPullAll(K);return await k(),await Ja().loadSessions(),L(K),ie}catch(ie){return console.error("[ApiServerStore] Failed to trigger pull all:",ie),{success:!1,error:String(ie)}}finally{clearInterval(ve);for(const ie of Y)s.value.delete(ie),o.value.delete(ie);s.value=new Set(s.value),o.value=new Map(o.value)}}function V(){return setInterval(D,3e3)}function R(){return e.onPullResult(async()=>{await k(),await Ja().loadSessions(),z()})}function L(K,ce){const Y=r.value.find(de=>de.id===K);if(!Y)return;const ve=ce?Y.sessions.filter(de=>de.id===ce&&de.targetSessionId):Y.sessions.filter(de=>de.targetSessionId),ie=Sa(),ye=Is();for(const de of ve)ie.generateIncremental(de.targetSessionId,ye).catch(()=>{})}function z(){const K=Sa(),ce=Is();for(const Y of r.value)for(const ve of Y.sessions)ve.targetSessionId&&K.generateIncremental(ve.targetSessionId,ce).catch(()=>{})}async function le(K,ce,Y){return e.fetchRemoteSessions(K,ce,Y)}return{config:t,status:a,loading:n,dataSources:r,pullingIds:s,syncProgress:o,available:l,isRunning:c,hasError:u,isPortInUse:d,isWebMode:f,fetchConfig:p,fetchStatus:m,refresh:g,setEnabled:y,setPort:_,regenerateToken:v,listenStartupError:h,fetchDataSources:k,addDataSource:w,updateDataSource:A,deleteDataSource:M,addImportSessions:S,removeImportSession:H,triggerPull:Q,triggerPullAll:G,listenPullResult:R,fetchRemoteSessions:le}});function Ef(e){const t=String(e.type||"").trim().toLowerCase(),a=String(e.id||"").trim().toLowerCase();return t==="group"||a.endsWith("@chatroom")?"group":t==="private"?"private":(t==="channel"||t==="official"||t==="other"||a.startsWith("gh_")||a.includes("@openim")||a.startsWith("weixin")&&a!=="weixin","other")}const uve={class:"p-6",style:{"min-width":"480px","max-height":"80vh","overflow-y":"auto"}},dve={class:"mb-4 text-lg font-semibold text-gray-900 dark:text-white"},fve={class:"space-y-4"},pve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},mve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},gve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},hve={class:"grid grid-cols-2 gap-3"},vve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},yve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},bve={key:1,class:"rounded-md bg-red-50 p-3 text-xs text-red-600 dark:bg-red-900/20 dark:text-red-400"},xve={key:2},_ve={class:"mb-2 flex items-center justify-between"},wve={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},kve={class:"mb-3 flex items-center gap-2"},Cve={class:"mb-2 flex flex-wrap items-center gap-2"},Sve={class:"text-xs text-gray-500 dark:text-gray-400"},Mve={class:"inline-flex rounded-lg bg-gray-100 p-0.5 dark:bg-gray-800"},$ve=["disabled","onClick"],Ave={key:0,class:"max-h-64 overflow-y-auto rounded-lg border border-gray-200 dark:border-gray-600"},Ive=["onClick"],Tve={class:"min-w-0 flex-1"},Pve={class:"flex items-center gap-2 truncate text-sm font-medium text-gray-900 dark:text-white"},Dve={key:0,class:"rounded-full bg-green-100 px-1.5 py-0.5 text-[10px] text-green-700 dark:bg-green-900/30 dark:text-green-400"},Eve={class:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"},Rve={class:"rounded bg-gray-100 px-1 dark:bg-gray-700"},Ove={key:0},Lve={key:1,class:"rounded-lg border border-dashed border-gray-200 px-3 py-6 text-center text-xs text-gray-500 dark:border-gray-700 dark:text-gray-400"},qve={key:2,class:"mt-3 flex justify-center"},Nve={class:"flex justify-end gap-2 pt-2"},qy=200,Fve=5e3,Ny=ue({__name:"DataSourceAddModal",props:{open:{type:Boolean},manageSource:{},subscribedRemoteIds:{}},emits:["update:open","sourceAdded","sessionsAdded"],setup(e,{emit:t}){const a=e,n=t,{t:r}=ot(),s=Eg(),o=$(()=>!!a.manageSource),l=E({name:"",baseUrl:"",token:"",intervalMinutes:60,pullLimit:1e3}),c=E([]),u=E(new Set),d=E(!1),f=E(!1),p=E(!1),m=E(""),g=E(""),y=E(),_=E(!1),v=E(!1),h=E("all");Pe(()=>a.open,async ce=>{ce&&(o.value&&a.manageSource?l.value={name:a.manageSource.name||"",baseUrl:a.manageSource.baseUrl,token:a.manageSource.token,intervalMinutes:a.manageSource.intervalMinutes,pullLimit:a.manageSource.pullLimit}:l.value={name:"",baseUrl:"",token:"",intervalMinutes:60,pullLimit:1e3},c.value=[],u.value=new Set,m.value="",g.value="",y.value=void 0,_.value=!1,v.value=!1,h.value="all",o.value&&await G())},{immediate:!0});const k=$(()=>c.value.filter(ce=>Ef(ce)!=="other")),w=$(()=>h.value==="all"?k.value:k.value.filter(ce=>Ef(ce)===h.value)),A=$(()=>w.value.filter(ce=>!a.subscribedRemoteIds?.has(ce.id))),M=$(()=>A.value.length>0&&A.value.every(ce=>u.value.has(ce.id))),S=$(()=>[{value:"all",label:r("settings.api.dataSources.discovery.typeAll")},{value:"private",label:r("settings.api.dataSources.discovery.typePrivate")},{value:"group",label:r("settings.api.dataSources.discovery.typeGroup")}].map(ce=>({...ce,count:ce.value==="all"?k.value.length:k.value.filter(Y=>Ef(Y)===ce.value).length})));function P(ce){h.value=ce}function D(){const ce=A.value.map(Y=>Y.id);if(M.value){const Y=new Set(u.value);for(const ve of ce)Y.delete(ve);u.value=Y}else u.value=new Set([...u.value,...ce])}function H(ce){if(a.subscribedRemoteIds?.has(ce))return;const Y=new Set(u.value);Y.has(ce)?Y.delete(ce):Y.add(ce),u.value=Y}function Q(){n("update:open",!1)}async function G(){await z({append:!1,resetSelection:!0})}async function V(){await z({append:!1,resetSelection:!0})}async function R(){!_.value||!y.value||await z({append:!0,resetSelection:!1})}function L(ce,Y){const ve=new Map(ce.map(ie=>[ie.id,ie]));for(const ie of Y)ve.set(ie.id,ie);return[...ve.values()]}async function z(ce){if(l.value.baseUrl){ce.append?f.value=!0:d.value=!0,v.value=!0,m.value="",ce.append||(c.value=[],y.value=void 0,_.value=!1,h.value="all",ce.resetSelection&&(u.value=new Set));try{const Y=await s.fetchRemoteSessions(l.value.baseUrl,l.value.token,{keyword:g.value.trim()||void 0,limit:qy,cursor:ce.append?y.value:void 0});if(!ce.append&&!Y.page&&Y.sessions.length>=qy){const ve=await s.fetchRemoteSessions(l.value.baseUrl,l.value.token,{keyword:g.value.trim()||void 0,limit:Fve});c.value=ve.sessions,_.value=!1,y.value=void 0}else c.value=ce.append?L(c.value,Y.sessions):Y.sessions,_.value=!!Y.page?.hasMore,y.value=Y.page?.nextCursor}catch(Y){m.value=Y.message||r("settings.api.dataSources.discovery.error")}finally{d.value=!1,f.value=!1}}}async function le(){if(o.value){if(u.value.size===0||!a.manageSource)return;const ce=c.value.filter(Y=>u.value.has(Y.id)).map(Y=>({name:Y.name,remoteSessionId:Y.id}));n("sessionsAdded",a.manageSource.id,ce),Q();return}p.value=!0,m.value="";try{await s.fetchRemoteSessions(l.value.baseUrl,l.value.token,{limit:1})}catch(ce){m.value=ce.message||r("settings.api.dataSources.discovery.connectionCheckFailed");return}finally{p.value=!1}p.value=!0;try{await s.addDataSource({name:l.value.name||void 0,baseUrl:l.value.baseUrl,token:l.value.token,intervalMinutes:l.value.intervalMinutes,pullLimit:l.value.pullLimit||void 0}),n("sourceAdded"),Q()}finally{p.value=!1}}function K(ce){return ce===void 0?"-":ce>=1e4?`${(ce/1e4).toFixed(1)}w`:ce>=1e3?`${(ce/1e3).toFixed(1)}k`:String(ce)}return(ce,Y)=>{const ve=pa,ie=nt,ye=Td,de=$a;return x(),N(de,{open:e.open,ui:{content:"z-[101]",overlay:"z-[100]"},"onUpdate:open":Y[7]||(Y[7]=he=>n("update:open",he))},{content:T(()=>[b("div",uve,[b("h3",dve,C(o.value?i(r)("settings.api.dataSources.edit.manageSessions"):i(r)("settings.api.dataSources.form.modalTitle")),1),b("div",fve,[o.value?se("",!0):(x(),F(De,{key:0},[b("div",null,[b("label",pve,C(i(r)("settings.api.dataSources.form.name")),1),I(ve,{modelValue:l.value.name,"onUpdate:modelValue":Y[0]||(Y[0]=he=>l.value.name=he),class:"w-full",placeholder:i(r)("settings.api.dataSources.form.namePlaceholder")},null,8,["modelValue","placeholder"])]),b("div",null,[b("label",mve,C(i(r)("settings.api.dataSources.discovery.baseUrl")),1),I(ve,{modelValue:l.value.baseUrl,"onUpdate:modelValue":Y[1]||(Y[1]=he=>l.value.baseUrl=he),class:"w-full",placeholder:i(r)("settings.api.dataSources.discovery.baseUrlPlaceholder")},null,8,["modelValue","placeholder"])]),b("div",null,[b("label",gve,[pe(C(i(r)("settings.api.dataSources.form.token"))+" ",1),Y[8]||(Y[8]=b("span",{class:"text-red-500"},"*",-1))]),I(ve,{modelValue:l.value.token,"onUpdate:modelValue":Y[2]||(Y[2]=he=>l.value.token=he),class:"w-full",placeholder:i(r)("settings.api.dataSources.form.tokenPlaceholder")},null,8,["modelValue","placeholder"])]),b("div",hve,[b("div",null,[b("label",vve,C(i(r)("settings.api.dataSources.form.interval")),1),I(ve,{modelValue:l.value.intervalMinutes,"onUpdate:modelValue":Y[3]||(Y[3]=he=>l.value.intervalMinutes=he),modelModifiers:{number:!0},type:"number",min:1,class:"w-full"},null,8,["modelValue"])]),b("div",null,[b("label",yve,C(i(r)("settings.api.dataSources.form.pullLimit")),1),I(ve,{modelValue:l.value.pullLimit,"onUpdate:modelValue":Y[4]||(Y[4]=he=>l.value.pullLimit=he),modelModifiers:{number:!0},type:"number",min:100,max:1e4,class:"w-full",placeholder:i(r)("settings.api.dataSources.form.pullLimitPlaceholder")},null,8,["modelValue","placeholder"])])])],64)),m.value?(x(),F("div",bve,C(m.value),1)):se("",!0),o.value&&v.value?(x(),F("div",xve,[b("div",_ve,[b("span",wve,C(i(r)("settings.api.dataSources.discovery.found",{count:k.value.length})),1),b("button",{class:"text-xs text-blue-500 hover:text-blue-700 dark:hover:text-blue-400",onClick:D},C(M.value?i(r)("settings.api.dataSources.discovery.deselectAll"):i(r)("settings.api.dataSources.discovery.selectAll")),1)]),b("div",kve,[I(ve,{modelValue:g.value,"onUpdate:modelValue":Y[5]||(Y[5]=he=>g.value=he),class:"flex-1",placeholder:i(r)("settings.api.dataSources.discovery.searchPlaceholder"),onKeydown:ta(ut(V,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),I(ie,{color:"primary",variant:"soft",loading:d.value,onClick:V},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.discovery.search")),1)]),_:1},8,["loading"])]),b("div",Cve,[b("span",Sve,C(i(r)("settings.api.dataSources.discovery.selectByType")),1),b("div",Mve,[(x(!0),F(De,null,Ye(S.value,he=>(x(),F("button",{key:he.value,type:"button",class:xe(["rounded-md px-2.5 py-1 text-xs transition-colors",h.value===he.value?"bg-white text-blue-600 shadow-sm dark:bg-gray-700 dark:text-blue-300":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"]),disabled:he.count===0,onClick:ge=>P(he.value)},C(he.label)+" ("+C(he.count)+") ",11,$ve))),128))])]),k.value.length>0?(x(),F("div",Ave,[(x(!0),F(De,null,Ye(w.value,he=>(x(),F("div",{key:he.id,class:xe(["flex items-center gap-3 border-b border-gray-100 px-3 py-2 last:border-0",e.subscribedRemoteIds?.has(he.id)?"opacity-60":"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800"]),onClick:ge=>H(he.id)},[I(ye,{"model-value":e.subscribedRemoteIds?.has(he.id)||u.value.has(he.id),disabled:e.subscribedRemoteIds?.has(he.id),onClick:Y[6]||(Y[6]=ut(()=>{},["stop"])),"onUpdate:modelValue":ge=>H(he.id)},null,8,["model-value","disabled","onUpdate:modelValue"]),b("div",Tve,[b("div",Pve,[pe(C(he.name)+" ",1),e.subscribedRemoteIds?.has(he.id)?(x(),F("span",Dve,C(i(r)("settings.api.dataSources.edit.subscribed")),1)):se("",!0)]),b("div",Eve,[b("span",Rve,C(he.platform),1),b("span",null,C(he.type),1),he.messageCount!==void 0?(x(),F("span",Ove,C(K(he.messageCount))+" "+C(i(r)("settings.api.dataSources.discovery.messages")),1)):se("",!0)])])],10,Ive))),128))])):(x(),F("div",Lve,C(i(r)("settings.api.dataSources.discovery.found",{count:0})),1)),_.value?(x(),F("div",qve,[I(ie,{color:"neutral",variant:"soft",loading:f.value,onClick:R},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.discovery.loadMore")),1)]),_:1},8,["loading"])])):se("",!0)])):se("",!0),b("div",Nve,[I(ie,{variant:"soft",onClick:Q},{default:T(()=>[pe(C(i(r)("common.cancel")),1)]),_:1}),o.value?(x(),N(ie,{key:0,color:"primary",disabled:u.value.size===0,onClick:le},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.discovery.subscribe",{count:u.value.size})),1)]),_:1},8,["disabled"])):(x(),N(ie,{key:1,color:"primary",disabled:!l.value.baseUrl||!l.value.token,loading:p.value,onClick:le},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.addBtn")),1)]),_:1},8,["disabled","loading"]))])])])]),_:1},8,["open"])}}}),Vve={class:"p-6",style:{"min-width":"420px"}},Bve={class:"mb-4 text-lg font-semibold text-gray-900 dark:text-white"},zve={class:"space-y-4"},Hve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},Uve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},jve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},Wve={class:"grid grid-cols-2 gap-3"},Kve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},Gve={class:"mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300"},Yve={class:"flex justify-end gap-2 pt-2"},Xve=ue({__name:"DataSourceEditModal",props:{open:{type:Boolean},dataSource:{}},emits:["update:open","saved"],setup(e,{emit:t}){const a=e,n=t,{t:r}=ot(),s=E({name:"",baseUrl:"",token:"",intervalMinutes:60,pullLimit:1e3});Pe(()=>a.open,l=>{l&&a.dataSource&&(s.value={name:a.dataSource.name,baseUrl:a.dataSource.baseUrl,token:a.dataSource.token,intervalMinutes:a.dataSource.intervalMinutes,pullLimit:a.dataSource.pullLimit})});function o(){n("saved",{name:s.value.name,baseUrl:s.value.baseUrl,token:s.value.token,intervalMinutes:s.value.intervalMinutes,pullLimit:s.value.pullLimit}),n("update:open",!1)}return(l,c)=>{const u=pa,d=nt,f=$a;return x(),N(f,{open:e.open,ui:{content:"z-[101]",overlay:"z-[100]"},"onUpdate:open":c[6]||(c[6]=p=>n("update:open",p))},{content:T(()=>[b("div",Vve,[b("h3",Bve,C(i(r)("settings.api.dataSources.edit.title")),1),b("div",zve,[b("div",null,[b("label",Hve,C(i(r)("settings.api.dataSources.form.name")),1),I(u,{modelValue:s.value.name,"onUpdate:modelValue":c[0]||(c[0]=p=>s.value.name=p),class:"w-full",placeholder:i(r)("settings.api.dataSources.form.namePlaceholder")},null,8,["modelValue","placeholder"])]),b("div",null,[b("label",Uve,C(i(r)("settings.api.dataSources.discovery.baseUrl")),1),I(u,{modelValue:s.value.baseUrl,"onUpdate:modelValue":c[1]||(c[1]=p=>s.value.baseUrl=p),class:"w-full",placeholder:"https://example.com"},null,8,["modelValue"])]),b("div",null,[b("label",jve,C(i(r)("settings.api.dataSources.form.token")),1),I(u,{modelValue:s.value.token,"onUpdate:modelValue":c[2]||(c[2]=p=>s.value.token=p),class:"w-full",placeholder:i(r)("settings.api.dataSources.form.tokenPlaceholder")},null,8,["modelValue","placeholder"])]),b("div",Wve,[b("div",null,[b("label",Kve,C(i(r)("settings.api.dataSources.form.interval")),1),I(u,{modelValue:s.value.intervalMinutes,"onUpdate:modelValue":c[3]||(c[3]=p=>s.value.intervalMinutes=p),modelModifiers:{number:!0},type:"number",min:1,class:"w-full"},null,8,["modelValue"])]),b("div",null,[b("label",Gve,C(i(r)("settings.api.dataSources.form.pullLimit")),1),I(u,{modelValue:s.value.pullLimit,"onUpdate:modelValue":c[4]||(c[4]=p=>s.value.pullLimit=p),modelModifiers:{number:!0},type:"number",min:100,max:1e4,class:"w-full",placeholder:i(r)("settings.api.dataSources.form.pullLimitPlaceholder")},null,8,["modelValue","placeholder"])])]),b("div",Yve,[I(d,{variant:"soft",onClick:c[5]||(c[5]=p=>n("update:open",!1))},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.edit.cancel")),1)]),_:1}),I(d,{color:"primary",onClick:o},{default:T(()=>[pe(C(i(r)("settings.api.dataSources.edit.save")),1)]),_:1})])])])]),_:1},8,["open"])}}}),Jve={class:"space-y-6 pb-6"},Qve={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Zve={class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},e0e={class:"p-4"},t0e={class:"text-sm text-gray-600 dark:text-gray-300"},a0e={class:"mt-3 flex flex-wrap gap-2"},n0e={class:"inline-flex items-center gap-1.5 rounded-full bg-emerald-100 px-2.5 py-1 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400"},r0e={class:"inline-flex items-center gap-1.5 rounded-full bg-blue-100 px-2.5 py-1 text-xs font-medium text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"},s0e={class:"p-4"},o0e={class:"text-sm text-gray-600 dark:text-gray-300"},i0e={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},l0e={class:"rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800/50"},c0e={class:"flex items-center justify-between p-4"},u0e={class:"flex-1 pr-4"},d0e={class:"text-sm font-medium text-gray-900 dark:text-white"},f0e={class:"w-72"},p0e={class:"p-4"},m0e={class:"relative"},g0e={class:"overflow-x-auto rounded-lg bg-gray-900 p-4 text-xs leading-relaxed text-gray-100 dark:bg-page-dark"},h0e={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},v0e={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},y0e={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},b0e={class:"space-y-2 text-xs text-gray-600 dark:text-gray-400"},x0e={class:"flex items-start gap-2"},_0e={class:"flex items-start gap-2"},w0e={class:"flex items-start gap-2"},k0e={class:"flex items-start gap-2"},C0e=ue({__name:"McpSettingsTab",setup(e){const{t}=ot(),{copy:a,copied:n}=KL({copiedDuring:2e3}),r=E("claude"),s=$(()=>[{label:"ClaudeCode",value:"claude"},{label:"Codex",value:"codex"},{label:"OpenClaw",value:"openclaw"},{label:t("settings.mcp.clients.other"),value:"other"}]),o=$(()=>{const c="chatlab",u=["mcp"];switch(r.value){case"codex":return["[mcp_servers.chatlab]",`command = "${c}"`,`args = ["${u[0]}"]`].join(`
38
+ `);case"openclaw":return JSON.stringify({mcp:{servers:{chatlab:{command:c,args:u}}}},null,2);case"claude":return JSON.stringify({mcpServers:{chatlab:{command:c,args:u}}},null,2);default:return JSON.stringify({command:c,args:u},null,2)}});function l(){a(o.value)}return(c,u)=>{const d=Xe,f=eo,p=nt;return x(),F("div",Jve,[b("div",null,[b("h3",Qve,[I(d,{name:"i-heroicons-command-line",class:"h-4 w-4 text-emerald-500"}),pe(" "+C(i(t)("settings.mcp.overview.title")),1)]),b("div",Zve,[b("div",e0e,[b("p",t0e,C(i(t)("settings.mcp.overview.description")),1),b("div",a0e,[b("span",n0e,[u[1]||(u[1]=b("span",{class:"h-1.5 w-1.5 rounded-full bg-emerald-500"},null,-1)),pe(" "+C(i(t)("settings.mcp.overview.toolCount",{count:33})),1)]),b("span",r0e,[u[2]||(u[2]=b("span",{class:"h-1.5 w-1.5 rounded-full bg-blue-500"},null,-1)),pe(" "+C(i(t)("settings.mcp.overview.resourceCount",{count:3})),1)]),u[3]||(u[3]=b("span",{class:"inline-flex items-center gap-1.5 rounded-full bg-purple-100 px-2.5 py-1 text-xs font-medium text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"},[b("span",{class:"h-1.5 w-1.5 rounded-full bg-purple-500"}),pe(" stdio ")],-1))])]),u[5]||(u[5]=b("div",{class:"border-t border-gray-200 dark:border-gray-700"},null,-1)),b("div",s0e,[b("p",o0e,C(i(t)("settings.mcp.overview.installHint")),1),u[4]||(u[4]=b("div",{class:"mt-2"},[b("code",{class:"inline-block rounded-md bg-gray-900 px-3 py-1.5 text-xs text-gray-100 dark:bg-page-dark"}," npm install -g chatlab-cli ")],-1))])])]),b("div",null,[b("h3",i0e,[I(d,{name:"i-heroicons-clipboard-document",class:"h-4 w-4 text-pink-500"}),pe(" "+C(i(t)("settings.mcp.config.title")),1)]),b("div",l0e,[b("div",c0e,[b("div",u0e,[b("p",d0e,C(i(t)("settings.mcp.config.clientLabel")),1)]),b("div",f0e,[I(f,{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=m=>r.value=m),size:"sm",class:"gap-0",items:s.value},null,8,["modelValue","items"])])]),u[6]||(u[6]=b("div",{class:"border-t border-gray-200 dark:border-gray-700"},null,-1)),b("div",p0e,[b("div",m0e,[b("pre",g0e,[b("code",null,C(o.value),1)]),I(p,{icon:i(n)?"i-heroicons-check":"i-heroicons-clipboard",color:i(n)?"success":"neutral",variant:"soft",size:"xs",class:"absolute right-2 top-2",onClick:l},{default:T(()=>[pe(C(i(n)?i(t)("settings.mcp.config.copied"):i(t)("settings.mcp.config.copy")),1)]),_:1},8,["icon","color"])]),b("p",h0e,C(i(t)(`settings.mcp.config.${r.value}Hint`)),1)])])]),b("div",null,[b("h3",v0e,[I(d,{name:"i-heroicons-light-bulb",class:"h-4 w-4 text-amber-500"}),pe(" "+C(i(t)("settings.mcp.tips.title")),1)]),b("div",y0e,[b("ul",b0e,[b("li",x0e,[u[7]||(u[7]=b("span",{class:"mt-0.5 text-gray-400"},"•",-1)),pe(" "+C(i(t)("settings.mcp.tips.dataDir")),1)]),b("li",_0e,[u[8]||(u[8]=b("span",{class:"mt-0.5 text-gray-400"},"•",-1)),pe(" "+C(i(t)("settings.mcp.tips.readOnly")),1)]),b("li",w0e,[u[9]||(u[9]=b("span",{class:"mt-0.5 text-gray-400"},"•",-1)),pe(" "+C(i(t)("settings.mcp.tips.nodeRequired")),1)]),b("li",k0e,[u[10]||(u[10]=b("span",{class:"mt-0.5 text-gray-400"},"•",-1)),pe(" "+C(i(t)("settings.mcp.tips.docs")),1)])])])])])}}}),S0e={class:"flex h-full flex-col -mx-6 -mt-6"},M0e={class:"flex-1 min-h-0 overflow-auto"},$0e={class:"space-y-6 px-6 pt-4 pb-6"},A0e={key:0},I0e={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},T0e={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},P0e={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},D0e={key:0,class:"mb-4 space-y-4"},E0e={class:"flex items-center justify-between border-b border-gray-100 px-3 py-2 dark:border-gray-700"},R0e={class:"flex items-center gap-2"},O0e={key:0,class:"text-xs font-medium text-gray-700 dark:text-gray-300"},L0e={class:"text-xs font-mono text-gray-500 dark:text-gray-400"},q0e={key:1,class:"text-xs text-gray-400"},N0e={class:"flex items-center gap-1"},F0e={key:0,class:"max-h-80 overflow-y-auto"},V0e={class:"flex items-center justify-between"},B0e={class:"flex items-center gap-2"},z0e={class:"text-sm font-medium text-gray-900 dark:text-white"},H0e={class:"flex items-center gap-1"},U0e={class:"mt-1 flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"},j0e={key:0,class:"text-blue-500"},W0e={key:1,class:"text-blue-500"},K0e={key:2},G0e={class:"text-gray-400"},Y0e={key:0,class:"text-green-500"},X0e={key:1,class:"text-red-500"},J0e={key:1,class:"px-3 py-4 text-center text-xs text-gray-400"},Q0e={key:1,class:"mb-4 py-4 text-center text-xs text-gray-400"},Z0e={key:0},eye={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},tye={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},aye={class:"flex items-center gap-2"},nye={class:"text-xs text-green-500"},rye={class:"mt-3 space-y-2 border-t border-gray-200 pt-3 text-xs text-gray-600 dark:border-gray-700 dark:text-gray-400"},sye={class:"flex items-center justify-between"},oye={class:"font-mono text-gray-700 dark:text-gray-300"},iye={key:0,class:"flex items-center justify-between gap-2"},lye={class:"flex items-center gap-1"},cye={class:"rounded bg-gray-100 px-2 py-0.5 font-mono text-gray-700 dark:bg-gray-800 dark:text-gray-300"},uye={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},dye={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},fye={class:"flex items-center justify-between"},pye={class:"flex-1 pr-4"},mye={class:"text-sm font-medium text-gray-900 dark:text-white"},gye={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},hye={key:0,class:"mt-3 flex items-center gap-2 border-t border-gray-200 pt-3 dark:border-gray-700"},vye={key:0,class:"ml-auto text-xs text-gray-500 dark:text-gray-400"},yye={key:1,class:"mt-2 rounded-md bg-red-50 p-2 text-xs text-red-600 dark:bg-red-900/20 dark:text-red-400"},bye={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},xye={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},_ye={class:"flex items-center justify-between"},wye={class:"flex-1 pr-4"},kye={class:"text-sm font-medium text-gray-900 dark:text-white"},Cye={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Sye={key:0,class:"flex items-center gap-2"},Mye={key:1,class:"flex items-center gap-2"},$ye={class:"font-mono text-sm text-gray-700 dark:text-gray-300"},Aye={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Iye={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Tye={class:"mb-2 text-sm font-medium text-gray-900 dark:text-white"},Pye={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},Dye={key:0,class:"flex items-center gap-2"},Eye={class:"flex-1 rounded bg-gray-100 px-3 py-2 font-mono text-xs text-gray-700 dark:bg-gray-800 dark:text-gray-300"},Rye={key:1,class:"text-xs text-gray-400"},Oye={class:"mt-3"},Lye={class:"mt-3 border-t border-gray-200 pt-3 dark:border-gray-700"},qye={class:"text-xs text-gray-500 dark:text-gray-400"},Nye={class:"mt-1 rounded bg-gray-100 p-2 font-mono text-xs text-gray-700 dark:bg-gray-800 dark:text-gray-300"},Fye={class:"mb-3 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Vye={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-800/50"},Bye={class:"text-xs text-gray-600 dark:text-gray-400"},zye=["href"],Hye={class:"p-4"},Uye={class:"mb-3 font-semibold text-gray-900 dark:text-white"},jye={class:"mb-4 text-sm text-gray-600 dark:text-gray-400"},Wye={class:"flex justify-end gap-2"},Kye={class:"p-4"},Gye={class:"mb-3 font-semibold text-gray-900 dark:text-white"},Yye={class:"mb-4 text-sm text-gray-600 dark:text-gray-400"},Xye={class:"flex justify-end gap-2"},Jye=ue({__name:"ApiSettingsTab",setup(e){const{t,locale:a}=ot(),n=Eg(),{config:r,status:s,loading:o,isRunning:l,hasError:c,isPortInUse:u,dataSources:d,pullingIds:f,syncProgress:p,isWebMode:m}=aa(n),g=E("sync"),y=Er();Pe(()=>y.settingsSubTab,te=>{y.settingsTab==="api"&&te&&["sync","api","mcp"].includes(te)&&(g.value=te)},{immediate:!0});const _=$(()=>[{id:"sync",label:t("settings.tabs.apiSubTabs.autoSync"),icon:"i-heroicons-cloud-arrow-down"},{id:"api",label:t("settings.tabs.apiSubTabs.apiService"),icon:"i-heroicons-server-stack"},{id:"mcp",label:t("settings.tabs.apiSubTabs.mcp"),icon:"i-heroicons-command-line"}]),v=E(!1),h=E(!1),k=E(3110),w=E(!1),A=E(!1),M=E(!1),S=E(null),P=E(!1),D=E(null),H=E(!1),Q=E(null),G=E(!1),V=E(null);let R=null;Ke(async()=>{await n.refresh(),k.value=r.value.port,R=n.listenStartupError()}),Ft(()=>{R?.()});const L=$(()=>r.value.token?r.value.token.slice(0,8)+"••••••••••••••••":""),z=$(()=>o.value?t("settings.api.status.starting"):l.value?t("settings.api.status.running"):u.value?t("settings.api.status.portInUse"):c.value?t("settings.api.status.error"):t("settings.api.status.stopped")),le=$(()=>o.value?"text-yellow-500":l.value?"text-green-500":c.value?"text-red-500":"text-gray-400"),K=$(()=>`http://127.0.0.1:${s.value.port||r.value.port}/api/v1`),ce=$(()=>a.value==="zh-CN"||a.value==="zh-TW"?"https://docs.chatlab.fun/cn/standard/chatlab-api":"https://docs.chatlab.fun/en/standard/chatlab-api");async function Y(){await n.setEnabled(!r.value.enabled)}async function ve(){const te=k.value;te<1024||te>65535||(await n.setPort(te),h.value=!1)}function ie(){h.value=!0,k.value=r.value.port}function ye(){k.value=r.value.port,h.value=!1}async function de(){try{await navigator.clipboard.writeText(r.value.token),w.value=!0,setTimeout(()=>{w.value=!1},2e3)}catch{}}async function he(){await n.regenerateToken()}function ge(te){S.value=te,M.value=!0}async function O(te){S.value&&await n.updateDataSource(S.value.id,te)}function W(te){D.value=te,P.value=!0}async function j(te,ee){await n.addImportSessions(te,ee)}async function J(te){await n.updateDataSource(te.id,{enabled:!te.enabled})}function ne(te){Q.value=te,H.value=!0}async function U(){if(!Q.value)return;const te=Q.value;te.enabled&&await n.updateDataSource(te.id,{enabled:!1}),await n.deleteDataSource(te.id),H.value=!1,Q.value=null}function q(te,ee){V.value={ds:te,sess:ee},G.value=!0}async function oe(){if(!V.value)return;const{ds:te,sess:ee}=V.value;await n.removeImportSession(te.id,ee.id,!1),G.value=!1,V.value=null}async function _e(){if(!V.value)return;const{ds:te,sess:ee}=V.value;await n.removeImportSession(te.id,ee.id,!0),G.value=!1,V.value=null}async function me(te){await n.triggerPullAll(te.id)}async function be(te,ee){await n.triggerPull(te.id,ee.id)}function B(te){return te?new Date(te*1e3).toLocaleString():"-"}function X(te){return new Set(te.sessions.map(ee=>ee.remoteSessionId))}return(te,ee)=>{const Me=Xe,ae=nt,re=bi,fe=pa,ke=$a;return x(),F("div",S0e,[I(i(AV),{modelValue:g.value,"onUpdate:modelValue":ee[0]||(ee[0]=Se=>g.value=Se),items:_.value,"persist-key":"apiSubTab"},null,8,["modelValue","items"]),b("div",M0e,[b("div",$0e,[g.value==="sync"?(x(),F("div",A0e,[b("h3",I0e,[I(Me,{name:"i-heroicons-cloud-arrow-down",class:"h-4 w-4 text-indigo-500"}),pe(" "+C(i(t)("settings.api.dataSources.title")),1)]),b("div",T0e,[b("p",P0e,C(i(t)("settings.api.dataSources.desc")),1),i(d).length>0?(x(),F("div",D0e,[(x(!0),F(De,null,Ye(i(d),Se=>(x(),F("div",{key:Se.id,class:"rounded-lg border border-gray-200 bg-white dark:border-gray-600 dark:bg-gray-800"},[b("div",E0e,[b("div",R0e,[I(Me,{name:"i-heroicons-server-stack",class:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400"}),Se.name?(x(),F("span",O0e,C(Se.name),1)):se("",!0),b("span",L0e,C(Se.baseUrl),1),Se.enabled?se("",!0):(x(),F("span",q0e," ("+C(i(t)("settings.api.dataSources.disabled"))+") ",1))]),b("div",N0e,[I(ae,{size:"xs",variant:"ghost",onClick:we=>ge(Se)},{default:T(()=>[I(Me,{name:"i-heroicons-pencil-square",class:"mr-1 h-3.5 w-3.5"}),pe(" "+C(i(t)("settings.api.dataSources.edit.editSource")),1)]),_:1},8,["onClick"]),I(ae,{size:"xs",variant:"ghost",onClick:we=>W(Se)},{default:T(()=>[I(Me,{name:"i-heroicons-queue-list",class:"mr-1 h-3.5 w-3.5"}),pe(" "+C(i(t)("settings.api.dataSources.edit.manageSessions")),1)]),_:1},8,["onClick"]),I(ae,{size:"xs",variant:"ghost",onClick:we=>J(Se)},{default:T(()=>[I(Me,{name:Se.enabled?"i-heroicons-pause":"i-heroicons-play",class:"h-3.5 w-3.5"},null,8,["name"])]),_:2},1032,["onClick"]),I(ae,{size:"xs",variant:"ghost",disabled:i(f).has(Se.id)||Se.sessions.some(we=>i(f).has(we.id)),onClick:we=>me(Se)},{default:T(()=>[I(Me,{name:"i-heroicons-arrow-path",class:xe(["h-3.5 w-3.5",{"animate-spin":i(f).has(Se.id)||Se.sessions.some(we=>i(f).has(we.id))}])},null,8,["class"])]),_:2},1032,["disabled","onClick"]),I(ae,{size:"xs",variant:"ghost",color:"error",disabled:Se.sessions.some(we=>i(f).has(we.id)),onClick:we=>ne(Se)},{default:T(()=>[I(Me,{name:"i-heroicons-trash",class:"h-3.5 w-3.5"})]),_:1},8,["disabled","onClick"])])]),Se.sessions.length>0?(x(),F("div",F0e,[(x(!0),F(De,null,Ye(Se.sessions,we=>(x(),F("div",{key:we.id,class:"border-b border-gray-50 px-3 py-2.5 last:border-0 dark:border-gray-700/50"},[b("div",V0e,[b("div",B0e,[b("span",{class:xe(["inline-block h-2 w-2 rounded-full",i(f).has(we.id)?"animate-pulse bg-blue-500":we.lastStatus==="success"?"bg-green-500":we.lastStatus==="error"?"bg-red-500":"bg-gray-400"])},null,2),b("span",z0e,C(we.name),1)]),b("div",H0e,[I(ae,{size:"xs",variant:"ghost",disabled:i(f).has(we.id),onClick:Ve=>be(Se,we)},{default:T(()=>[I(Me,{name:"i-heroicons-arrow-path",class:xe(["h-3.5 w-3.5",{"animate-spin":i(f).has(we.id)}])},null,8,["class"])]),_:2},1032,["disabled","onClick"]),I(ae,{size:"xs",variant:"ghost",color:"error",disabled:i(f).has(we.id),onClick:Ve=>q(Se,we)},{default:T(()=>[I(Me,{name:"i-heroicons-trash",class:"h-3.5 w-3.5"})]),_:1},8,["disabled","onClick"])])]),b("div",U0e,[i(p).get(we.id)?(x(),F("span",j0e,C(i(t)("settings.api.dataSources.syncing"))+"... "+C(i(p).get(we.id).current)+" "+C(i(t)("settings.api.dataSources.messages")),1)):i(f).has(we.id)&&!i(p).get(we.id)?(x(),F("span",W0e,C(i(t)("settings.api.dataSources.syncing"))+"...",1)):(x(),F("span",K0e,C(i(t)("settings.api.dataSources.every"))+" "+C(Se.intervalMinutes)+" "+C(i(t)("settings.api.dataSources.minutes")),1)),!i(f).has(we.id)&&we.lastPullAt?(x(),F(De,{key:3},[ee[13]||(ee[13]=b("span",{class:"text-gray-300 dark:text-gray-600"},"·",-1)),b("span",G0e,C(i(t)("settings.api.dataSources.lastSync"))+": "+C(B(we.lastPullAt)),1),we.lastStatus==="success"?(x(),F("span",Y0e," (+"+C(we.lastNewMessages)+") ",1)):se("",!0),we.lastStatus==="error"?(x(),F("span",X0e,C(we.lastError),1)):se("",!0)],64)):se("",!0)])]))),128))])):(x(),F("div",J0e,C(i(t)("settings.api.dataSources.noSessions")),1))]))),128))])):(x(),F("div",Q0e,C(i(t)("settings.api.dataSources.empty")),1)),I(ae,{variant:"soft",onClick:ee[1]||(ee[1]=Se=>A.value=!0)},{default:T(()=>[I(Me,{name:"i-heroicons-plus",class:"mr-2 h-4 w-4"}),pe(" "+C(i(t)("settings.api.dataSources.addBtn")),1)]),_:1})])])):se("",!0),g.value==="api"?(x(),F(De,{key:1},[i(m)?(x(),F("div",Z0e,[b("h3",eye,[I(Me,{name:"i-heroicons-server-stack",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(t)("settings.api.service.title")),1)]),b("div",tye,[b("div",aye,[ee[14]||(ee[14]=b("span",{class:"inline-block h-2 w-2 rounded-full bg-green-500"},null,-1)),b("span",nye,C(i(t)("settings.api.status.running")),1)]),b("div",rye,[b("div",sye,[b("span",null,C(i(t)("settings.api.port.label")),1),b("span",oye,C(i(r).port||"-"),1)]),i(r).token?(x(),F("div",iye,[b("span",null,C(i(t)("settings.api.token.label")),1),b("div",lye,[b("code",cye,C(v.value?i(r).token:L.value),1),I(ae,{size:"xs",variant:"ghost",onClick:ee[2]||(ee[2]=Se=>v.value=!v.value)},{default:T(()=>[I(Me,{name:v.value?"i-heroicons-eye-slash":"i-heroicons-eye",class:"h-3.5 w-3.5"},null,8,["name"])]),_:1}),I(ae,{size:"xs",variant:"ghost",onClick:de},{default:T(()=>[I(Me,{name:w.value?"i-heroicons-check":"i-heroicons-clipboard",class:"h-3.5 w-3.5"},null,8,["name"])]),_:1})])])):se("",!0)])])])):(x(),F(De,{key:1},[b("div",null,[b("h3",uye,[I(Me,{name:"i-heroicons-server-stack",class:"h-4 w-4 text-blue-500"}),pe(" "+C(i(t)("settings.api.service.title")),1)]),b("div",dye,[b("div",fye,[b("div",pye,[b("p",mye,C(i(t)("settings.api.service.enable")),1),b("p",gye,C(i(t)("settings.api.service.enableDesc")),1)]),I(re,{"model-value":i(r).enabled,loading:i(o),"onUpdate:modelValue":Y},null,8,["model-value","loading"])]),i(r).enabled?(x(),F("div",hye,[b("span",{class:xe(["inline-block h-2 w-2 rounded-full",i(l)?"bg-green-500":i(c)?"bg-red-500":"bg-gray-400"])},null,2),b("span",{class:xe(["text-xs",le.value])},C(z.value),3),i(l)&&i(s).port?(x(),F("span",vye,C(K.value),1)):se("",!0)])):se("",!0),i(u)?(x(),F("div",yye,C(i(t)("settings.api.service.portInUseHint")),1)):se("",!0)])]),b("div",null,[b("h3",bye,[I(Me,{name:"i-heroicons-globe-alt",class:"h-4 w-4 text-purple-500"}),pe(" "+C(i(t)("settings.api.port.title")),1)]),b("div",xye,[b("div",_ye,[b("div",wye,[b("p",kye,C(i(t)("settings.api.port.label")),1),b("p",Cye,C(i(t)("settings.api.port.desc")),1)]),h.value?(x(),F("div",Sye,[I(fe,{modelValue:k.value,"onUpdate:modelValue":ee[3]||(ee[3]=Se=>k.value=Se),modelModifiers:{number:!0},type:"number",min:1024,max:65535,size:"sm",class:"w-24"},null,8,["modelValue"]),I(ae,{size:"xs",color:"primary",loading:i(o),onClick:ve},{default:T(()=>[pe(C(i(t)("settings.api.port.save")),1)]),_:1},8,["loading"]),I(ae,{size:"xs",variant:"ghost",onClick:ye},{default:T(()=>[pe(C(i(t)("settings.api.port.cancel")),1)]),_:1})])):(x(),F("div",Mye,[b("span",$ye,C(i(r).port),1),I(ae,{size:"xs",variant:"ghost",onClick:ie},{default:T(()=>[pe(C(i(t)("settings.api.port.edit")),1)]),_:1})]))])])]),b("div",null,[b("h3",Aye,[I(Me,{name:"i-heroicons-key",class:"h-4 w-4 text-amber-500"}),pe(" "+C(i(t)("settings.api.token.title")),1)]),b("div",Iye,[b("p",Tye,C(i(t)("settings.api.token.label")),1),b("p",Pye,C(i(t)("settings.api.token.desc")),1),i(r).token?(x(),F("div",Dye,[b("code",Eye,C(v.value?i(r).token:L.value),1),I(ae,{size:"xs",variant:"ghost",onClick:ee[4]||(ee[4]=Se=>v.value=!v.value)},{default:T(()=>[I(Me,{name:v.value?"i-heroicons-eye-slash":"i-heroicons-eye",class:"h-4 w-4"},null,8,["name"])]),_:1}),I(ae,{size:"xs",variant:"ghost",onClick:de},{default:T(()=>[I(Me,{name:w.value?"i-heroicons-check":"i-heroicons-clipboard",class:"h-4 w-4"},null,8,["name"])]),_:1})])):(x(),F("div",Rye,C(i(t)("settings.api.token.noToken")),1)),b("div",Oye,[I(ae,{variant:"soft",color:"warning",onClick:he},{default:T(()=>[I(Me,{name:"i-heroicons-arrow-path",class:"mr-1 h-4 w-4"}),pe(" "+C(i(t)("settings.api.token.regenerate")),1)]),_:1})]),b("div",Lye,[b("p",qye,C(i(t)("settings.api.usage.authHint")),1),b("div",Nye," Authorization: Bearer "+C(i(r).token?L.value:"clb_..."),1)])])])],64)),b("div",null,[b("h3",Fye,[I(Me,{name:"i-heroicons-book-open",class:"h-4 w-4 text-teal-500"}),pe(" "+C(i(t)("settings.api.usage.title")),1)]),b("div",Vye,[b("p",Bye,C(i(t)("settings.api.usage.desc")),1),b("a",{href:ce.value,target:"_blank",class:"mt-2 inline-flex items-center gap-1 text-xs text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300"},[I(Me,{name:"i-heroicons-arrow-top-right-on-square",class:"h-3.5 w-3.5"}),pe(" "+C(i(t)("settings.api.usage.docLink")),1)],8,zye)])])],64)):se("",!0),g.value==="mcp"?(x(),N(C0e,{key:2})):se("",!0)])]),I(Ny,{open:A.value,"onUpdate:open":ee[5]||(ee[5]=Se=>A.value=Se),onSourceAdded:ee[6]||(ee[6]=Se=>i(n).fetchDataSources())},null,8,["open"]),I(Xve,{open:M.value,"onUpdate:open":ee[7]||(ee[7]=Se=>M.value=Se),"data-source":S.value,onSaved:O},null,8,["open","data-source"]),D.value?(x(),N(Ny,{key:0,open:P.value,"onUpdate:open":ee[8]||(ee[8]=Se=>P.value=Se),"manage-source":D.value,"subscribed-remote-ids":X(D.value),onSessionsAdded:j},null,8,["open","manage-source","subscribed-remote-ids"])):se("",!0),I(ke,{open:H.value,"onUpdate:open":ee[10]||(ee[10]=Se=>H.value=Se),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",Hye,[b("h3",Uye,C(i(t)("settings.api.dataSources.deleteConfirm.title")),1),b("p",jye,C(i(t)("settings.api.dataSources.deleteConfirm.message",{name:Q.value?.baseUrl})),1),b("div",Wye,[I(ae,{variant:"soft",onClick:ee[9]||(ee[9]=Se=>H.value=!1)},{default:T(()=>[pe(C(i(t)("common.cancel")),1)]),_:1}),I(ae,{color:"error",onClick:U},{default:T(()=>[pe(C(i(t)("common.delete")),1)]),_:1})])])]),_:1},8,["open"]),I(ke,{open:G.value,"onUpdate:open":ee[12]||(ee[12]=Se=>G.value=Se),ui:{content:"z-[101]",overlay:"z-[100]"}},{content:T(()=>[b("div",Kye,[b("h3",Gye,C(i(t)("settings.api.dataSources.deleteSessionConfirm.title")),1),b("p",Yye,C(i(t)("settings.api.dataSources.deleteSessionConfirm.message",{name:V.value?.sess.name})),1),b("div",Xye,[I(ae,{variant:"soft",onClick:ee[11]||(ee[11]=Se=>G.value=!1)},{default:T(()=>[pe(C(i(t)("common.cancel")),1)]),_:1}),I(ae,{variant:"soft",onClick:oe},{default:T(()=>[pe(C(i(t)("settings.api.dataSources.deleteSessionConfirm.keepData")),1)]),_:1}),I(ae,{color:"error",onClick:_e},{default:T(()=>[pe(C(i(t)("settings.api.dataSources.deleteSessionConfirm.deleteData")),1)]),_:1})])])]),_:1},8,["open"])])}}}),Qye={class:"flex min-h-[650px] h-[85vh] flex-col overflow-hidden"},Zye={class:"shrink-0 border-b border-gray-200 px-6 pt-5 pb-0 dark:border-gray-800"},ebe={class:"flex items-center justify-between"},tbe={class:"flex items-center gap-3"},abe={class:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary-600 dark:bg-primary-500"},nbe={class:"text-lg font-semibold text-gray-900 dark:text-white"},rbe={class:"relative flex-1"},sbe={class:"absolute inset-0 overflow-y-auto p-6"},obe={key:"settings",class:"h-full"},ibe={key:"about",class:"h-full overflow-y-auto"},lbe=ue({__name:"SettingsModal",setup(e){const{t:a}=ot(),n=Id(),r=Er(),{showSettings:s,settingsTab:o,settingsSubTab:l}=aa(r),c=$(()=>[{id:"settings",label:a("settings.tabs.basic"),icon:"i-heroicons-cog-6-tooth"},{id:"ai",label:a("settings.tabs.ai"),icon:"i-heroicons-sparkles"},{id:"api",label:a("settings.tabs.api"),icon:"i-heroicons-server-stack"},{id:"data",label:a("settings.tabs.dataManage"),icon:"i-heroicons-rectangle-stack"},{id:"storage",label:a("settings.tabs.storage"),icon:"i-heroicons-folder-open"},{id:"about",label:a("settings.tabs.about"),icon:"i-heroicons-information-circle"}]),u=E("settings"),d=E({});function f(y,_){d.value[y]=_}function p(){n.notifyAIConfigChanged()}function m(y){u.value=y,je(()=>{d.value[y]?.refresh?.()})}function g(y){const _=d.value[u.value];_?.scrollToSection&&_.scrollToSection(y)}return Pe(s,async y=>{if(y){const _=o.value||"settings";u.value=c.value.some(v=>v.id===_)?_:"settings",l.value&&(await je(),setTimeout(()=>g(l.value),100)),je(()=>{d.value[u.value]?.refresh?.()})}}),(y,_)=>{const v=Xe,h=nt,k=$a;return x(),N(k,{open:i(s),"onUpdate:open":_[2]||(_[2]=w=>at(s)?s.value=w:null),ui:{content:"sm:max-w-[900px] z-[100]",overlay:"z-[99] bg-gray-200/80 backdrop-blur-sm dark:bg-page-dark/80"}},{content:T(()=>[b("div",Qye,[b("div",Zye,[b("div",ebe,[b("div",tbe,[b("div",abe,[I(v,{name:"i-heroicons-cog-6-tooth",class:"h-4 w-4 text-white"})]),b("h2",nbe,C(i(a)("settings.title")),1)]),I(h,{icon:"i-heroicons-x-mark",color:"neutral",variant:"ghost",size:"sm",onClick:_[0]||(_[0]=w=>i(r).closeSettings())})]),I(i(SV),{modelValue:u.value,"onUpdate:modelValue":_[1]||(_[1]=w=>u.value=w),class:"mt-4 pb-3",items:c.value,onChange:m},null,8,["modelValue","items"])]),b("div",rbe,[b("div",sbe,[I(Sm,{name:"tab-slide",mode:"out-in"},{default:T(()=>[u.value==="settings"?(x(),F("div",obe,[I(Mpe)])):u.value==="ai"?(x(),N(qfe,{key:"ai",ref:w=>f("ai",w),onConfigChanged:p},null,512)):u.value==="data"?(x(),N(ige,{key:"data","focus-owner-issues":i(l)==="missing-owner"},null,8,["focus-owner-issues"])):u.value==="api"?(x(),N(Jye,{key:"api"})):u.value==="storage"?(x(),N(Ohe,{key:"storage",ref:w=>f("storage",w)},null,512)):i(jt)&&u.value==="security"?(x(),N(i(null),{key:"security"})):u.value==="about"?(x(),F("div",ibe,[I(sve)])):se("",!0)]),_:1})])])])]),_:1},8,["open"])}}}),cbe=cs(lbe,[["__scopeId","data-v-f57600de"]]);(function(){var e;try{if(typeof document<"u"){var t=document.createElement("style");t.nonce=(e=document.head.querySelector("meta[property=csp-nonce]"))==null?void 0:e.content,t.appendChild(document.createTextNode('[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1);animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform, 100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform, 100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true]):after{content:"";position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:hover,[data-vaul-handle]:active{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover: hover) and (pointer: fine){[data-vaul-drawer]{-webkit-user-select:none;user-select:none}}@media (pointer: fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{0%{transform:translate3d(0,var(--initial-transform, 100%),0)}to{transform:translateZ(0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform, 100%),0)}}@keyframes slideFromTop{0%{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}to{transform:translateZ(0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}}@keyframes slideFromLeft{0%{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}to{transform:translateZ(0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}}@keyframes slideFromRight{0%{transform:translate3d(var(--initial-transform, 100%),0,0)}to{transform:translateZ(0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform, 100%),0,0)}}')),document.head.appendChild(t)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();const ube=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const dbe=e=>typeof e<"u";function fbe(e){return JSON.parse(JSON.stringify(e))}function Fy(e,t,a,n={}){var r,s,o;const{clone:l=!1,passive:c=!1,eventName:u,deep:d=!1,defaultValue:f,shouldEmit:p}=n,m=Rt(),g=a||m?.emit||((r=m?.$emit)==null?void 0:r.bind(m))||((o=(s=m?.proxy)==null?void 0:s.$emit)==null?void 0:o.bind(m?.proxy));let y=u;t||(t="modelValue"),y=y||`update:${t.toString()}`;const _=k=>l?typeof l=="function"?l(k):fbe(k):k,v=()=>dbe(e[t])?_(e[t]):f,h=k=>{p?p(k)&&g(y,k):g(y,k)};if(c){const k=v(),w=E(k);let A=!1;return Pe(()=>e[t],M=>{A||(A=!0,w.value=_(M),je(()=>A=!1))}),Pe(w,M=>{!A&&(M!==e[t]||d)&&h(M)},{deep:d}),w}else return $({get(){return v()},set(k){h(k)}})}const[Kl,pbe]=st("DrawerRoot"),ak=new WeakMap;function la(e,t,a=!1){if(!e||!(e instanceof HTMLElement)||!t)return;const n={};Object.entries(t).forEach(([r,s])=>{if(r.startsWith("--")){e.style.setProperty(r,s);return}n[r]=e.style[r],e.style[r]=s}),!a&&ak.set(e,n)}function mbe(e,t){if(!e||!(e instanceof HTMLElement))return;const a=ak.get(e);a&&Object.entries(a).forEach(([n,r])=>{e.style[n]=r})}function Mc(e,t){const a=window.getComputedStyle(e),n=a.transform||a.webkitTransform||a.mozTransform;let r=n.match(/^matrix3d\((.+)\)$/);return r?Number.parseFloat(r[1].split(", ")[Jt(t)?13:12]):(r=n.match(/^matrix\((.+)\)$/),r?Number.parseFloat(r[1].split(", ")[Jt(t)?5:4]):null)}function gbe(e){return 8*(Math.log(e+1)-2)}function Jt(e){switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}}function Rf(e,t){if(!e)return()=>{};const a=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=a}}function hbe(...e){return(...t)=>{for(const a of e)typeof a=="function"&&a(...t)}}const Vt={DURATION:.5,EASE:[.32,.72,0,1]},nk=.4,vbe=.25,ybe=100,rk=8,$c=16,sk=26,Vy="vaul-dragging";function bbe({activeSnapPoint:e,snapPoints:t,drawerRef:a,overlayRef:n,fadeFromIndex:r,onSnapPointChange:s,direction:o}){const l=E(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function c(){l.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}Ke(()=>{typeof window<"u"&&window.addEventListener("resize",c)}),Hs(()=>{typeof window<"u"&&window.removeEventListener("resize",c)});const u=$(()=>(t.value&&e.value===t.value[t.value.length-1])??null),d=$(()=>t.value&&t.value.length>0&&(r?.value||r?.value===0)&&!Number.isNaN(r?.value)&&t.value[r?.value??-1]===e.value||!t.value),f=$(()=>{var h;return((h=t.value)==null?void 0:h.findIndex(k=>k===e.value))??null}),p=$(()=>{var h;return((h=t.value)==null?void 0:h.map(k=>{const w=typeof k=="string";let A=0;if(w&&(A=Number.parseInt(k,10)),Jt(o.value)){const S=w?A:l.value?k*l.value.innerHeight:0;return l.value?o.value==="bottom"?l.value.innerHeight-S:-l.value.innerHeight+S:S}const M=w?A:l.value?k*l.value.innerWidth:0;return l.value?o.value==="right"?l.value.innerWidth-M:-l.value.innerWidth+M:M}))??[]}),m=$(()=>{var h;return f.value!==null?(h=p.value)==null?void 0:h[f.value]:null}),g=h=>{var k,w,A,M;const S=((k=p.value)==null?void 0:k.findIndex(P=>P===h))??null;je(()=>{var P;s(S,p.value),la((P=a.value)==null?void 0:P.$el,{transition:`transform ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,transform:Jt(o.value)?`translate3d(0, ${h}px, 0)`:`translate3d(${h}px, 0, 0)`})}),p.value&&S!==p.value.length-1&&S!==r?.value?la((w=n.value)==null?void 0:w.$el,{transition:`opacity ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,opacity:"0"}):la((A=n.value)==null?void 0:A.$el,{transition:`opacity ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,opacity:"1"}),e.value=S!==null?((M=t.value)==null?void 0:M[S])??null:null};Pe([e,p,t],()=>{var h;if(e.value){const k=((h=t.value)==null?void 0:h.findIndex(w=>w===e.value))??-1;p.value&&k!==-1&&typeof p.value[k]=="number"&&g(p.value[k])}},{immediate:!0});function y({draggedDistance:h,closeDrawer:k,velocity:w,dismissible:A}){var M,S,P;if(r.value===void 0)return;const D=o.value==="bottom"||o.value==="right"?(m.value??0)-h:(m.value??0)+h,H=f.value===r.value-1,Q=f.value===0,G=h>0;if(H&&la((M=n.value)==null?void 0:M.$el,{transition:`opacity ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`}),w>2&&!G){A?k():g(p.value[0]);return}if(w>2&&G&&p&&t.value){g(p.value[t.value.length-1]);return}const V=(S=p.value)==null?void 0:S.reduce((L,z)=>typeof L!="number"||typeof z!="number"?L:Math.abs(z-D)<Math.abs(L-D)?z:L),R=Jt(o.value)?window.innerHeight:window.innerWidth;if(w>nk&&Math.abs(h)<R*.4){const L=G?1:-1;if(L>0&&u){g(p.value[(((P=t.value)==null?void 0:P.length)??0)-1]);return}if(Q&&L<0&&A&&k(),f.value===null)return;g(p.value[f.value+L]);return}g(V)}function _({draggedDistance:h}){var k;if(m.value===null)return;const w=o.value==="bottom"||o.value==="right"?m.value-h:m.value+h;(o.value==="bottom"||o.value==="right")&&w<p.value[p.value.length-1]||(o.value==="top"||o.value==="left")&&w>p.value[p.value.length-1]||la((k=a.value)==null?void 0:k.$el,{transform:Jt(o.value)?`translate3d(0, ${w}px, 0)`:`translate3d(${w}px, 0, 0)`})}function v(h,k){if(!t.value||typeof f.value!="number"||!p.value||r.value===void 0)return null;const w=f.value===r.value-1;if(f.value>=r.value&&k)return 0;if(w&&!k)return 1;if(!d.value&&!w)return null;const A=w?f.value+1:f.value-1,M=w?p.value[A]-p.value[A-1]:p.value[A+1]-p.value[A],S=h/Math.abs(M);return w?1-S:S}return{isLastSnapPoint:u,shouldFade:d,getPercentageDragged:v,activeSnapPointIndex:f,onRelease:y,onDrag:_,snapPointsOffset:p}}function By(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}let Di=null;function xbe(e){const{isOpen:t,modal:a,nested:n,hasBeenOpened:r,preventScrollRestoration:s,noBodyStyles:o}=e,l=E(typeof window<"u"?window.location.href:""),c=E(0);function u(){if(By()&&Di===null&&t.value&&!o.value){Di={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:f,innerHeight:p}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-c.value}px`,left:`${-f}px`,right:"0px",height:"auto"}),setTimeout(()=>{requestAnimationFrame(()=>{const m=p-window.innerHeight;m&&c.value>=p&&(document.body.style.top=`-${c.value+m}px`)})},300)}}function d(){if(By()&&Di!==null&&!o.value){const f=-Number.parseInt(document.body.style.top,10),p=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,Di),window.requestAnimationFrame(()=>{if(s.value&&l.value!==window.location.href){l.value=window.location.href;return}window.scrollTo(p,f)}),Di=null}}return Ke(()=>{function f(){c.value=window.scrollY}f(),window.addEventListener("scroll",f),Ft(()=>{window.removeEventListener("scroll",f)})}),Pe([t,r,l],()=>{n.value||!r.value||(t.value?(window.matchMedia("(display-mode: standalone)").matches||u(),a.value||setTimeout(()=>{d()},500)):d())}),{restorePositionSetting:d}}function _be(e,t){return e&&e.value?e:t}function wbe(e){const{emitDrag:t,emitRelease:a,emitClose:n,emitOpenChange:r,open:s,dismissible:o,nested:l,modal:c,shouldScaleBackground:u,setBackgroundColorOnScale:d,scrollLockTimeout:f,closeThreshold:p,activeSnapPoint:m,fadeFromIndex:g,direction:y,noBodyStyles:_,handleOnly:v,preventScrollRestoration:h}=e,k=E(s.value??!1),w=E(!1),A=E(!1),M=E(!1),S=E(null),P=E(null),D=E(null),H=E(null),Q=E(null),G=E(!1),V=E(null),R=E(0),L=E(!1),z=E(null),le=$(()=>{var B;return((B=z.value)==null?void 0:B.$el.getBoundingClientRect().height)||0}),K=_be(e.snapPoints,E(void 0)),ce=$(()=>{var B;return K&&(((B=K.value)==null?void 0:B.length)??0)>0}),Y=E(null),{activeSnapPointIndex:ve,onRelease:ie,snapPointsOffset:ye,onDrag:de,shouldFade:he,getPercentageDragged:ge}=bbe({snapPoints:K,activeSnapPoint:m,drawerRef:z,fadeFromIndex:g,overlayRef:S,onSnapPointChange:O,direction:y});function O(B,X){K.value&&B===X.length-1&&(P.value=new Date)}xbe({isOpen:k,modal:c,nested:l,hasBeenOpened:w,noBodyStyles:_,preventScrollRestoration:h});function W(){return(window.innerWidth-sk)/window.innerWidth}function j(B,X){var te;if(!B)return!1;let ee=B;const Me=(te=window.getSelection())==null?void 0:te.toString(),ae=z.value?Mc(z.value.$el,y.value):null,re=new Date;if(ee.hasAttribute("data-vaul-no-drag")||ee.closest("[data-vaul-no-drag]"))return!1;if(y.value==="right"||y.value==="left")return!0;if(P.value&&re.getTime()-P.value.getTime()<500)return!1;if(ae!==null&&(y.value==="bottom"?ae>0:ae<0))return!0;if(Me&&Me.length>0)return!1;if(Q.value&&re.getTime()-Q.value.getTime()<f.value&&ae===0||X)return Q.value=re,!1;for(;ee;){if(ee.scrollHeight>ee.clientHeight){if(ee.scrollTop!==0)return Q.value=new Date,!1;if(ee.getAttribute("role")==="dialog")return!0}ee=ee.parentNode}return!0}function J(B){!o.value&&!K.value||z.value&&!z.value.$el.contains(B.target)||(A.value=!0,D.value=new Date,B.target.setPointerCapture(B.pointerId),R.value=Jt(y.value)?B.clientY:B.clientX)}function ne(B){var X,te,ee,Me,ae,re;if(z.value&&A.value){const fe=y.value==="bottom"||y.value==="right"?1:-1,ke=(R.value-(Jt(y.value)?B.clientY:B.clientX))*fe,Se=ke>0,we=K.value&&!o.value&&!Se;if(we&&ve.value===0)return;const Ve=Math.abs(ke),Ie=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");let Ee=Ve/le.value;const Ce=ge(Ve,Se);if(Ce!==null&&(Ee=Ce),we&&Ee>=1||!G.value&&!j(B.target,Se))return;if((X=z?.value)==null||X.$el.classList.add(Vy),G.value=!0,la((te=z.value)==null?void 0:te.$el,{transition:"none"}),la((ee=S.value)==null?void 0:ee.$el,{transition:"none"}),K.value&&de({draggedDistance:ke}),Se&&!K.value){const Ae=gbe(ke),Re=Math.min(Ae*-1,0)*fe;la((Me=z.value)==null?void 0:Me.$el,{transform:Jt(y.value)?`translate3d(0, ${Re}px, 0)`:`translate3d(${Re}px, 0, 0)`});return}const Oe=1-Ee;if((he.value||g.value&&ve.value===g.value-1)&&(t(Ee),la((ae=S.value)==null?void 0:ae.$el,{opacity:`${Oe}`,transition:"none"},!0)),Ie&&S.value&&u.value){const Ae=Math.min(W()+Ee*(1-W()),1),Re=8-Ee*8,Fe=Math.max(0,14-Ee*14);la(Ie,{borderRadius:`${Re}px`,transform:Jt(y.value)?`scale(${Ae}) translate3d(0, ${Fe}px, 0)`:`scale(${Ae}) translate3d(${Fe}px, 0, 0)`,transition:"none"},!0)}if(!K.value){const Ae=Ve*fe;la((re=z.value)==null?void 0:re.$el,{transform:Jt(y.value)?`translate3d(0, ${Ae}px, 0)`:`translate3d(${Ae}px, 0, 0)`})}}}function U(){var B;if(!z.value)return;const X=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]"),te=Mc(z.value.$el,y.value);la(z.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`}),la((B=S.value)==null?void 0:B.$el,{transition:`opacity ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,opacity:"1"}),u.value&&te&&te>0&&k.value&&la(X,{borderRadius:`${rk}px`,overflow:"hidden",...Jt(y.value)?{transform:`scale(${W()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${W()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Vt.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Vt.EASE.join(",")})`},!0)}function q(B){z.value&&(n(),B||(k.value=!1),window.setTimeout(()=>{K.value&&(m.value=K.value[0])},Vt.DURATION*1e3))}Bt(()=>{if(!k.value&&u.value&&ube){const B=setTimeout(()=>{mbe(document.body)},200);return()=>clearTimeout(B)}}),Pe(s,()=>{k.value=s.value,s.value||q()});function oe(B){if(!A.value||!z.value)return;z.value.$el.classList.remove(Vy),G.value=!1,A.value=!1,H.value=new Date;const X=Mc(z.value.$el,y.value);if(!j(B.target,!1)||!X||Number.isNaN(X)||D.value===null)return;const te=H.value.getTime()-D.value.getTime(),ee=R.value-(Jt(y.value)?B.clientY:B.clientX),Me=Math.abs(ee)/te;if(Me>.05&&(M.value=!0,window.setTimeout(()=>{M.value=!1},200)),K.value){const re=y.value==="bottom"||y.value==="right"?1:-1;ie({draggedDistance:ee*re,closeDrawer:q,velocity:Me,dismissible:o.value}),a(!0);return}if(y.value==="bottom"||y.value==="right"?ee>0:ee<0){U(),a(!0);return}if(Me>nk){q(),a(!1);return}const ae=Math.min(z.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(X>=ae*p.value){q(),a(!1);return}a(!0),U()}Pe(k,B=>{B&&(P.value=new Date),r(B)},{immediate:!0});function _e(B){var X,te;const ee=B?(window.innerWidth-$c)/window.innerWidth:1,Me=B?-16:0;V.value&&window.clearTimeout(V.value),la((X=z.value)==null?void 0:X.$el,{transition:`transform ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,transform:`scale(${ee}) translate3d(0, ${Me}px, 0)`}),!B&&(te=z.value)!=null&&te.$el&&(V.value=window.setTimeout(()=>{var ae,re;const fe=Mc((ae=z.value)==null?void 0:ae.$el,y.value);la((re=z.value)==null?void 0:re.$el,{transition:"none",transform:Jt(y.value)?`translate3d(0, ${fe}px, 0)`:`translate3d(${fe}px, 0, 0)`})},500))}function me(B){var X;if(B<0)return;const te=Jt(y.value)?window.innerHeight:window.innerWidth,ee=(te-$c)/te,Me=ee+B*(1-ee),ae=-16+B*$c;la((X=z.value)==null?void 0:X.$el,{transform:Jt(y.value)?`scale(${Me}) translate3d(0, ${ae}px, 0)`:`scale(${Me}) translate3d(${ae}px, 0, 0)`,transition:"none"})}function be(B){var X;const te=Jt(y.value)?window.innerHeight:window.innerWidth,ee=B?(te-$c)/te:1,Me=B?-16:0;B&&la((X=z.value)==null?void 0:X.$el,{transition:`transform ${Vt.DURATION}s cubic-bezier(${Vt.EASE.join(",")})`,transform:Jt(y.value)?`scale(${ee}) translate3d(0, ${Me}px, 0)`:`scale(${ee}) translate3d(${Me}px, 0, 0)`})}return{open:s,isOpen:k,modal:c,keyboardIsOpen:L,hasBeenOpened:w,drawerRef:z,drawerHeightRef:le,overlayRef:S,handleRef:Y,isDragging:A,dragStartTime:D,isAllowedToDrag:G,snapPoints:K,activeSnapPoint:m,hasSnapPoints:ce,pointerStart:R,dismissible:o,snapPointsOffset:ye,direction:y,shouldFade:he,fadeFromIndex:g,shouldScaleBackground:u,setBackgroundColorOnScale:d,onPress:J,onDrag:ne,onRelease:oe,closeDrawer:q,onNestedDrag:me,onNestedRelease:be,onNestedOpenChange:_e,emitClose:n,emitDrag:t,emitRelease:a,emitOpenChange:r,nested:l,handleOnly:v,noBodyStyles:_}}const ok=ue({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:vbe},shouldScaleBackground:{type:Boolean,default:void 0},setBackgroundColorOnScale:{type:Boolean,default:!0},scrollLockTimeout:{default:ybe},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean,default:!1},preventScrollRestoration:{type:Boolean},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{expose:t,emit:a}){const n=e,r=a;fa();const s=$(()=>n.fadeFromIndex??(n.snapPoints&&n.snapPoints.length-1)),o=Fy(n,"open",r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),l=Fy(n,"activeSnapPoint",r,{passive:n.activeSnapPoint===void 0}),c={emitDrag:g=>r("drag",g),emitRelease:g=>r("release",g),emitClose:()=>r("close"),emitOpenChange:g=>{r("update:open",g),setTimeout(()=>{r("animationEnd",g)},Vt.DURATION*1e3)}},{closeDrawer:u,hasBeenOpened:d,modal:f,isOpen:p}=pbe(wbe({...c,...dt(n),activeSnapPoint:l,fadeFromIndex:s,open:o}));function m(g){if(o.value!==void 0){c.emitOpenChange(g);return}p.value=g,g?d.value=!0:u()}return t({open:p}),(g,y)=>(x(),N(i(px),{open:i(p),modal:i(f),"onUpdate:open":m},{default:T(()=>[Z(g.$slots,"default",{open:i(p)})]),_:3},8,["open","modal"]))}}),kbe=ue({__name:"DrawerRootNested",props:{activeSnapPoint:{},closeThreshold:{},shouldScaleBackground:{type:Boolean},setBackgroundColorOnScale:{type:Boolean},scrollLockTimeout:{},fixed:{type:Boolean},dismissible:{type:Boolean},modal:{type:Boolean},open:{type:Boolean},defaultOpen:{type:Boolean},nested:{type:Boolean},direction:{},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean},preventScrollRestoration:{type:Boolean},snapPoints:{},fadeFromIndex:{}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{emit:t}){const a=e,n=t,{onNestedDrag:r,onNestedOpenChange:s,onNestedRelease:o}=Kl();function l(){s(!1)}function c(f){r(f)}function u(f){f&&s(f),n("update:open",f)}const d=Ka(a,n);return(f,p)=>(x(),N(ok,$e(i(d),{nested:"",onClose:l,onDrag:c,onRelease:i(o),"onUpdate:open":u}),{default:T(()=>[Z(f.$slots,"default")]),_:3},16,["onRelease"]))}}),Cbe=ue({__name:"DrawerOverlay",setup(e){const{overlayRef:t,hasSnapPoints:a,isOpen:n,shouldFade:r}=Kl();return(s,o)=>(x(),N(i($p),{ref_key:"overlayRef",ref:t,"data-vaul-overlay":"","data-vaul-snap-points":i(n)&&i(a)?"true":"false","data-vaul-snap-points-overlay":i(n)&&i(r)?"true":"false"},null,8,["data-vaul-snap-points","data-vaul-snap-points-overlay"]))}}),Sbe=()=>()=>{};function Mbe(){const{direction:e,isOpen:t,shouldScaleBackground:a,setBackgroundColorOnScale:n,noBodyStyles:r}=Kl(),s=E(null),o=E(document.body.style.backgroundColor);function l(){return(window.innerWidth-sk)/window.innerWidth}Bt(c=>{if(t.value&&a.value){s.value&&clearTimeout(s.value);const u=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!u)return;hbe(n.value&&!r.value?Rf(document.body,{background:"black"}):Sbe,Rf(u,{transformOrigin:Jt(e.value)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${Vt.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Vt.EASE.join(",")})`}));const d=Rf(u,{borderRadius:`${rk}px`,overflow:"hidden",...Jt(e.value)?{transform:`scale(${l()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${l()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});c(()=>{d(),s.value=window.setTimeout(()=>{o.value?document.body.style.background=o.value:document.body.style.removeProperty("background")},Vt.DURATION*1e3)})}},{flush:"pre"})}const $be=ue({__name:"DrawerContent",setup(e){const{open:t,isOpen:a,snapPointsOffset:n,hasSnapPoints:r,drawerRef:s,onPress:o,onDrag:l,onRelease:c,modal:u,emitOpenChange:d,dismissible:f,keyboardIsOpen:p,closeDrawer:m,direction:g,handleOnly:y}=Kl();Mbe();const _=E(!1),v=$(()=>n.value&&n.value.length>0?`${n.value[0]}px`:"0");function h(A){if(!u.value||A.defaultPrevented){A.preventDefault();return}p.value&&(p.value=!1),f.value?d(!1):A.preventDefault()}function k(A){y.value||o(A)}function w(A){y.value||l(A)}return Bt(()=>{r.value&&window.requestAnimationFrame(()=>{_.value=!0})}),(A,M)=>(x(),N(i(vx),{ref_key:"drawerRef",ref:s,"data-vaul-drawer":"","data-vaul-drawer-direction":i(g),"data-vaul-delayed-snap-points":_.value?"true":"false","data-vaul-snap-points":i(a)&&i(r)?"true":"false",style:Tt({"--snap-point-height":v.value}),onPointerdown:k,onPointermove:w,onPointerup:i(c),onPointerDownOutside:h,onOpenAutoFocus:M[0]||(M[0]=ut(()=>{},["prevent"])),onEscapeKeyDown:M[1]||(M[1]=S=>{i(f)||S.preventDefault()})},{default:T(()=>[Z(A.$slots,"default")]),_:3},8,["data-vaul-drawer-direction","data-vaul-delayed-snap-points","data-vaul-snap-points","style","onPointerup"]))}}),Abe=["data-vaul-drawer-visible"],Ibe={"data-vaul-handle-hitarea":"","aria-hidden":"true"},Tbe=250,Pbe=120,Dbe=ue({__name:"DrawerHandle",props:{preventCycle:{type:Boolean,default:!1}},setup(e){const t=e,{onPress:a,onDrag:n,handleRef:r,handleOnly:s,isOpen:o,snapPoints:l,activeSnapPoint:c,isDragging:u,dismissible:d,closeDrawer:f}=Kl(),p=E(null),m=E(!1);function g(){if(m.value){v();return}window.setTimeout(()=>{y()},Pbe)}function y(){if(u.value||t.preventCycle||m.value){v();return}if(v(),!l.value||l.value.length===0){d.value||f();return}const w=c.value===l.value[l.value.length-1];if(w&&d.value){f();return}const A=l.value.findIndex(S=>S===c.value);if(A===-1)return;const M=w?0:A+1;c.value=l.value[M]}function _(){p.value=window.setTimeout(()=>{m.value=!0},Tbe)}function v(){p.value&&window.clearTimeout(p.value),m.value=!1}function h(w){s.value&&a(w),_()}function k(w){s.value&&n(w)}return(w,A)=>(x(),F("div",{ref_key:"handleRef",ref:r,"data-vaul-drawer-visible":i(o)?"true":"false","data-vaul-handle":"","aria-hidden":"true",onClick:g,onPointercancel:v,onPointerdown:h,onPointermove:k},[b("span",Ibe,[Z(w.$slots,"default")])],40,Abe))}}),Ebe={slots:{overlay:"fixed inset-0 bg-elevated/75",content:"fixed bg-default ring ring-default flex focus:outline-none",handle:["shrink-0 !bg-accented","transition-opacity"],container:"w-full flex flex-col gap-4 p-4 overflow-y-auto",header:"",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"flex-1",footer:"flex flex-col gap-1.5"},variants:{direction:{top:{content:"mb-24 flex-col-reverse",handle:"mb-4"},right:{content:"flex-row rtl:flex-row-reverse",handle:"!ml-4"},bottom:{content:"mt-24 flex-col",handle:"mt-4"},left:{content:"flex-row-reverse rtl:flex-row",handle:"!mr-4"}},inset:{true:{content:"rounded-lg after:hidden overflow-hidden [--initial-transform:calc(100%+1.5rem)]"}},snapPoints:{true:""}},compoundVariants:[{direction:["top","bottom"],class:{content:"h-auto max-h-[96%]",handle:"!w-12 !h-1.5 mx-auto"}},{direction:["top","bottom"],snapPoints:!0,class:{content:"h-full"}},{direction:["right","left"],class:{content:"w-auto max-w-[calc(100%-2rem)]",handle:"!h-12 !w-1.5 mt-auto mb-auto"}},{direction:["right","left"],snapPoints:!0,class:{content:"w-full"}},{direction:"top",inset:!0,class:{content:"inset-x-4 top-4"}},{direction:"top",inset:!1,class:{content:"inset-x-0 top-0 rounded-b-lg"}},{direction:"bottom",inset:!0,class:{content:"inset-x-4 bottom-4"}},{direction:"bottom",inset:!1,class:{content:"inset-x-0 bottom-0 rounded-t-lg"}},{direction:"left",inset:!0,class:{content:"inset-y-4 left-4"}},{direction:"left",inset:!1,class:{content:"inset-y-0 left-0 rounded-r-lg"}},{direction:"right",inset:!0,class:{content:"inset-y-4 right-4"}},{direction:"right",inset:!1,class:{content:"inset-y-0 right-0 rounded-l-lg"}}]},Rbe={__name:"Drawer",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},inset:{type:Boolean,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},handle:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},nested:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},activeSnapPoint:{type:[Number,String,null],required:!1},closeThreshold:{type:Number,required:!1},shouldScaleBackground:{type:Boolean,required:!1},setBackgroundColorOnScale:{type:Boolean,required:!1},scrollLockTimeout:{type:Number,required:!1},fixed:{type:Boolean,required:!1},dismissible:{type:Boolean,required:!1,default:!0},modal:{type:Boolean,required:!1,default:!0},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},direction:{type:String,required:!1,default:"bottom"},noBodyStyles:{type:Boolean,required:!1},handleOnly:{type:Boolean,required:!1},preventScrollRestoration:{type:Boolean,required:!1},snapPoints:{type:Array,required:!1}},emits:["close:prevent","drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{emit:t}){const a=e,n=t,r=fa(),s=zt("drawer",a),o=kt(),l=Ma(xa(s,"activeSnapPoint","closeThreshold","shouldScaleBackground","setBackgroundColorOnScale","scrollLockTimeout","fixed","dismissible","modal","open","defaultOpen","nested","direction","noBodyStyles","handleOnly","preventScrollRestoration","snapPoints"),n),c=Qs(_t(()=>s.portal)),u=_t(()=>s.content),d=$(()=>s.dismissible?{pointerDownOutside:Sg}:["interactOutside","escapeKeyDown"].reduce((m,g)=>(m[g]=y=>{y.preventDefault(),n("close:prevent")},m),{})),f=$(()=>tt({extend:tt(Ebe),...o.ui?.drawer||{}})({direction:s.direction,inset:s.inset,snapPoints:s.snapPoints&&s.snapPoints.length>0}));return(p,m)=>(x(),N(sa(i(s).nested?i(kbe):i(ok)),He(Ge(i(l))),{default:T(()=>[r.default?(x(),N(i(bx),{key:0,"as-child":"",class:xe(i(s).class)},{default:T(()=>[Z(p.$slots,"default")]),_:3},8,["class"])):se("",!0),I(i(yx),He(Ge(i(c))),{default:T(()=>[I(i(mi),null,{default:T(()=>[i(s).overlay?(x(),N(i(Cbe),{key:0,"data-slot":"overlay",class:xe(f.value.overlay({class:i(s).ui?.overlay}))},null,8,["class"])):se("",!0),I(i($be),$e({"data-slot":"content",class:f.value.content({class:[!r.default&&i(s).class,i(s).ui?.content]})},u.value,Wu(d.value)),{default:T(()=>[i(s).handle?(x(),N(i(Dbe),{key:0,"data-slot":"handle",class:xe(f.value.handle({class:i(s).ui?.handle}))},null,8,["class"])):se("",!0),!i(s).title&&!r.title||!i(s).description&&!r.description||r.content?(x(),N(i(Ys),{key:1},{default:T(()=>[!i(s).title&&!r.title?(x(),N(i(Io),{key:0})):r.content?(x(),N(i(Io),{key:1},{default:T(()=>[Z(p.$slots,"title",{},()=>[pe(C(i(s).title),1)])]),_:3})):se("",!0),!i(s).description&&!r.description?(x(),N(i(Ao),{key:2})):r.content?(x(),N(i(Ao),{key:3},{default:T(()=>[Z(p.$slots,"description",{},()=>[pe(C(i(s).description),1)])]),_:3})):se("",!0)]),_:3})):se("",!0),Z(p.$slots,"content",{},()=>[b("div",{"data-slot":"container",class:xe(f.value.container({class:i(s).ui?.container}))},[r.header||i(s).title||r.title||i(s).description||r.description?(x(),F("div",{key:0,"data-slot":"header",class:xe(f.value.header({class:i(s).ui?.header}))},[Z(p.$slots,"header",{},()=>[i(s).title||r.title?(x(),N(i(Io),{key:0,"data-slot":"title",class:xe(f.value.title({class:i(s).ui?.title}))},{default:T(()=>[Z(p.$slots,"title",{},()=>[pe(C(i(s).title),1)])]),_:3},8,["class"])):se("",!0),i(s).description||r.description?(x(),N(i(Ao),{key:1,"data-slot":"description",class:xe(f.value.description({class:i(s).ui?.description}))},{default:T(()=>[Z(p.$slots,"description",{},()=>[pe(C(i(s).description),1)])]),_:3},8,["class"])):se("",!0)])],2)):se("",!0),r.body?(x(),F("div",{key:1,"data-slot":"body",class:xe(f.value.body({class:i(s).ui?.body}))},[Z(p.$slots,"body")],2)):se("",!0),r.footer?(x(),F("div",{key:2,"data-slot":"footer",class:xe(f.value.footer({class:i(s).ui?.footer}))},[Z(p.$slots,"footer")],2)):se("",!0)],2)])]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16))}},ik={"en-US":"en","zh-CN":"cn","zh-TW":"tw","ja-JP":"ja"};function Obe(e){return"/_proxy/chatlab.fun"}const lk=Obe();function X_e(e){return ik[e]??""}function J_e(e){const t=ik[e];return t?`?lang=${t}`:""}const zy=lk,Lbe={"zh-CN":"cn","zh-TW":"cn","en-US":"en","ja-JP":"ja"},ck=Wn("assistant",()=>{const e=E([]),t=E(null),a=E(!1),n=new Set;let r=null;const s=E([]),o=E([]),l=E([]),c=E(!1),u=E(null),d=E("group"),f=E("zh-CN"),p=$(()=>t.value?e.value.find(ye=>ye.id===t.value)??null:null),m=$(()=>e.value.filter(ye=>{const de=!ye.applicableChatTypes?.length||ye.applicableChatTypes.includes(d.value),he=!ye.supportedLocales?.length||ye.supportedLocales.some(ge=>f.value.startsWith(ge));return de&&he})),g=4,y=$(()=>m.value.slice(0,g)),_=$(()=>m.value.slice(g)),v=$(()=>m.value.length>g),h=$(()=>{const ye=new Set(e.value.map(de=>de.id));return l.value.map(de=>({...de,imported:ye.has(de.id)}))});function k(ye,de){d.value=ye,f.value=de}async function w(){try{const ye=Na();e.value=await ye.getAll(),a.value=!0}catch(ye){console.error("[AssistantStore] Failed to load assistants:",ye)}}async function A(){try{s.value=await Na().getBuiltinCatalog()}catch(ye){console.error("[AssistantStore] Failed to load builtin catalog:",ye)}}async function M(){try{o.value=await Na().getBuiltinToolCatalog()}catch(ye){console.error("[AssistantStore] Failed to load builtin tool catalog:",ye)}}async function S(ye){const de=Lbe[ye||f.value]??"en",he=`${zy}/${de}/assistant.json`;c.value=!0,u.value=null;try{const ge=await sn().fetchRemoteConfig(he);if(!ge.success||!ge.data){u.value=ge.error||"Failed to fetch cloud catalog",l.value=[];return}const O=ge.data;if(!Array.isArray(O)){u.value="Invalid catalog format",l.value=[];return}l.value=O.filter(W=>W.id&&W.name&&W.path)}catch(ge){u.value=String(ge),l.value=[]}finally{c.value=!1}}async function P(ye){const de=`${zy}${ye.path}`;try{const he=await sn().fetchRemoteConfig(de);if(!he.success||typeof he.data!="string")return{success:!1,error:he.error||"Failed to fetch assistant content"};const ge=await Na().importFromMd(he.data);return ge.success&&await w(),ge}catch(he){return{success:!1,error:String(he)}}}function D(ye){return e.value.some(de=>de.id===ye)}function H(ye){t.value=ye}function Q(){t.value=null}async function G(ye){try{return await Na().getConfig(ye)}catch(de){return console.error("[AssistantStore] Failed to get config:",de),null}}async function V(ye,de){try{const he=await Na().update(ye,de);return he.success&&await w(),he}catch(he){return{success:!1,error:String(he)}}}async function R(ye){try{const de=await Na().reset(ye);return de.success&&await w(),de}catch(de){return{success:!1,error:String(de)}}}async function L(ye){const de=Hc(ye);if(n.has(de))return null;n.add(de);try{const he=await Na().getUpgradeInfo(de);if(!he)return null;try{if(r||(r={...(await jc().getPreferences()).assistantUpgradeSkippedVersions}),he.latestVersion!==null&&r[he.builtinId]===he.latestVersion)return null}catch(ge){console.error("[AssistantStore] Failed to load skipped assistant upgrades:",ge)}return he}catch(he){return n.delete(de),console.error("[AssistantStore] Failed to check assistant upgrade:",he),null}}async function z(ye){if(ye.latestVersion===null)return{success:!1,error:"Assistant template version is unavailable"};try{r||(r={...(await jc().getPreferences()).assistantUpgradeSkippedVersions});const de={...r,[ye.builtinId]:ye.latestVersion},he=await jc().savePreferences({assistantUpgradeSkippedVersions:de});return he.success&&(r=de),he}catch(de){return{success:!1,error:String(de)}}}async function le(ye,de){try{const he=await Na().upgradeWithBackup(ye.assistantId,de);return he.success&&await w(),he}catch(he){return{success:!1,error:String(he)}}}async function K(ye){try{const de=await Na().importBuiltin(ye);return de.success&&(await w(),await A()),de}catch(de){return{success:!1,error:String(de)}}}async function ce(ye){try{const de=await Na().reimport(ye);return de.success&&(await w(),await A()),de}catch(de){return{success:!1,error:String(de)}}}async function Y(ye){try{const de=await Na().create(ye);return de.success&&await w(),de}catch(de){return{success:!1,error:String(de)}}}async function ve(ye){try{const de=Na(),he=await de.getConfig(ye);if(!he)return{success:!1,error:"Assistant not found"};const{id:ge,builtinId:O,...W}=he,j=await de.create({...W,name:`${he.name}${Ad.global.t("ai.assistant.duplicateSuffix")}`});return j.success&&await w(),j}catch(de){return{success:!1,error:String(de)}}}async function ie(ye){try{const de=await Na().delete(ye);return de.success&&await w(),de}catch(de){return{success:!1,error:String(de)}}}return{assistants:e,selectedAssistantId:t,selectedAssistant:p,isLoaded:a,builtinCatalog:s,builtinToolCatalog:o,cloudCatalog:l,cloudLoading:c,cloudError:u,cloudCatalogWithStatus:h,currentChatType:d,currentLocale:f,filteredAssistants:m,defaultAssistants:y,moreAssistants:_,hasMoreAssistants:v,loadAssistants:w,loadBuiltinCatalog:A,loadBuiltinToolCatalog:M,fetchCloudCatalog:S,importFromCloud:P,isCloudItemImported:D,selectAssistant:H,clearSelection:Q,setFilterContext:k,getAssistantConfig:G,updateAssistant:V,createAssistant:Y,duplicateAssistant:ve,resetAssistant:R,checkDefaultAssistantUpgrade:L,skipAssistantUpgrade:z,upgradeAssistantWithBackup:le,importAssistant:K,reimportAssistant:ce,deleteAssistant:ie}}),Hy=lk,qbe={"zh-CN":"cn","zh-TW":"cn","en-US":"en","ja-JP":"ja"},Nbe=Wn("skill",()=>{const e=E([]),t=E(null),a=E(!1),n=E([]),r=E([]),s=E(!1),o=E(null),l=E("group"),c=E("zh-CN");function u(){const V=c.value.startsWith("zh");return{id:Pi,name:V?"绘图助手":"Chart Assistant",description:V?"按本轮问题生成灵活的聊天数据图表":"Generate flexible charts for this chat question",tags:[V?"图表":"chart"],chatScope:"all",tools:["render_chart","get_schema"],builtinId:Pi}}const d=$(()=>t.value?t.value===Pi?u():e.value.find(V=>V.id===t.value)??null:null),f=$(()=>u()),p=$(()=>e.value.filter(V=>V.chatScope==="all"||V.chatScope===l.value)),m=$(()=>{const R=ck().selectedAssistant,L=[f.value,...p.value];return R?L.filter(z=>(z.tools.length,!0)):L}),g=$(()=>{const V={};for(const R of m.value){const L=R.tags[0]||"other";V[L]||(V[L]=[]),V[L].push(R)}return V}),y=$(()=>{const V=new Set(e.value.map(R=>R.id));return r.value.map(R=>({...R,imported:V.has(R.id)}))});function _(V,R){l.value=V,R&&(c.value=R)}async function v(){try{e.value=await er().getAll(),a.value=!0}catch(V){console.error("[SkillStore] Failed to load skills:",V)}}async function h(){try{n.value=await er().getBuiltinCatalog()}catch(V){console.error("[SkillStore] Failed to load builtin catalog:",V)}}async function k(){const V=qbe[c.value]??"en",R=`${Hy}/${V}/skill.json`;s.value=!0,o.value=null;try{const L=await sn().fetchRemoteConfig(R);if(!L.success||!L.data){o.value=L.error||"Failed to fetch cloud catalog",r.value=[];return}const z=L.data;if(!Array.isArray(z)){o.value="Invalid catalog format",r.value=[];return}r.value=z.filter(le=>le.id&&le.name&&le.path)}catch(L){o.value=String(L),r.value=[]}finally{s.value=!1}}async function w(V){const R=`${Hy}${V.path}`;try{const L=await sn().fetchRemoteConfig(R);if(!L.success||typeof L.data!="string")return{success:!1,error:L.error||"Failed to fetch skill content"};const z=await er().importFromMd(L.data);return z.success&&await v(),z}catch(L){return{success:!1,error:String(L)}}}function A(V){return e.value.some(R=>R.id===V)}function M(V){t.value=V}async function S(V){if(V===Pi)return{...u(),prompt:"",builtinId:Pi};try{return await er().getConfig(V)}catch(R){return console.error("[SkillStore] Failed to get skill config:",R),null}}async function P(V,R){try{const L=await er().update(V,R);return L.success&&await v(),L}catch(L){return{success:!1,error:String(L)}}}async function D(V){try{const R=await er().create(V);return R.success&&await v(),R}catch(R){return{success:!1,error:String(R)}}}async function H(V){try{const R=await er().delete(V);return R.success&&(t.value===V&&(t.value=null),await v()),R}catch(R){return{success:!1,error:String(R)}}}async function Q(V){try{const R=await er().importBuiltin(V);return R.success&&(await v(),await h()),R}catch(R){return{success:!1,error:String(R)}}}async function G(V){try{const R=await er().reimport(V);return R.success&&(await v(),await h()),R}catch(R){return{success:!1,error:String(R)}}}return{skills:e,activeSkillId:t,builtinCatalog:n,isLoaded:a,currentChatType:l,currentLocale:c,activeSkill:d,scopedSkills:p,compatibleSkills:m,groupedSkills:g,cloudCatalog:r,cloudLoading:s,cloudError:o,cloudCatalogWithStatus:y,setFilterContext:_,loadSkills:v,loadBuiltinCatalog:h,fetchCloudCatalog:k,importFromCloud:w,isCloudItemImported:A,activateSkill:M,getSkillConfig:S,updateSkill:P,createSkill:D,deleteSkill:H,importSkill:Q,reimportSkill:G}});async function uk(e){const{url:t,method:a="POST",headers:n={},body:r,signal:s,onEvent:o}=e,l=await ur(t,{method:a,headers:{"Content-Type":"application/json",...n},body:r!=null?JSON.stringify(r):void 0,signal:s});if(!l.ok){const p=await l.text().catch(()=>"");throw new Error(`SSE request failed: HTTP ${l.status} ${p}`)}if(!l.body)throw new Error("SSE response has no body");const c=l.body.getReader(),u=new TextDecoder;let d="",f="";for(;;){const{done:p,value:m}=await c.read();if(p)break;d+=u.decode(m,{stream:!0});const g=d.split(`
39
+ `);d=g.pop()||"";for(const y of g)y.startsWith("event: ")?f=y.slice(7).trim():y.startsWith("data: ")&&(o({event:f,data:y.slice(6)}),f="")}d.trim()&&d.startsWith("data: ")&&o({event:f,data:d.slice(6)})}function Q_e(){return{async chatStream(e,t,a){let n;try{return await uk({url:"/_web/ai/llm/chat-stream",body:{messages:e,options:t},onEvent:({data:r})=>{try{const s=JSON.parse(r);s.finishReason==="error"&&s.error&&(n=s.error),a?.(s)}catch{}}}),n?{success:!1,error:n}:{success:!0}}catch(r){const s=r instanceof Error?r.message:String(r);return{success:!1,error:n??s}}}}}const uo=new Map;function Of(){return{runStream(e,t){const a=new AbortController,n=`local_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;uo.set(n,{serverId:"",abortController:a});const r=new Promise(s=>{let o="";const l=[];let c=0,u,d=!1,f;uk({url:"/_web/ai/agent/stream",body:e,signal:a.signal,onEvent:({event:p,data:m})=>{try{const g=JSON.parse(m);if(p==="meta"){const _=uo.get(n);_&&(_.serverId=g.requestId??"");return}const y=g;switch(t?.(y),y.type){case"content":y.content&&(o+=y.content);break;case"tool_start":y.toolName&&l.push(y.toolName);break;case"status":y.status&&(c=y.status.round);break;case"done":y.usage&&(u=y.usage);break;case"error":d=!0,f=y.error;break}}catch{}}}).then(()=>{uo.delete(n),s({success:!d,result:{content:o,toolsUsed:l,toolRounds:c,totalUsage:u},...d&&f?{error:f}:{}})}).catch(p=>{uo.delete(n),a.signal.aborted?s({success:!1,result:{content:o,toolsUsed:l,toolRounds:c,aborted:!0}}):s({success:!1,error:{name:"FetchError",message:p.message??String(p),stack:null}})})});return{requestId:n,promise:r}},async abort(e){const t=uo.get(e);if(!t)return{success:!1,error:"Request not found"};if(t.abortController.abort(),t.serverId)try{const{post:a}=await Mt(async()=>{const{post:n}=await Promise.resolve().then(()=>lV);return{post:n}},void 0);await a("/ai/agent/abort",{requestId:t.serverId})}catch{}return uo.delete(e),{success:!0}}}}function Fbe(e){return e.desensitize&&!e.desensitizeRules.some(t=>t.builtin)}function Vbe(e){if(e.dataCleaning||e.mergeConsecutive||e.blacklistKeywords.length>0||e.denoise||e.desensitize||e.anonymizeNames)return{dataCleaning:e.dataCleaning,mergeConsecutive:e.mergeConsecutive,mergeWindowSeconds:e.mergeWindowSeconds,blacklistKeywords:[...e.blacklistKeywords],denoise:e.denoise,desensitize:e.desensitize,desensitizeRules:e.desensitizeRules.map(a=>({...a,locales:[...a.locales]})),anonymizeNames:e.anonymizeNames}}function hn(e){return e==="render_chart"}function Bbe(e,t,a){if(!e||!hn(e))return null;const n=e;return{type:"tool",tool:{name:n,displayName:n,status:"running",params:t,toolCallId:a,transient:!0}}}function dk(e,t,a){if(!Ua(e))return!1;const n=e;return n.type!=="tool"||!n.tool||n.tool.transient!==!0||n.tool.name!==t||a&&n.tool.toolCallId!==a?!1:hn(String(n.tool.name))}function zbe(e,t,a){let n=!1;const r=[...e];for(let s=r.length-1;s>=0;s--)if(dk(r[s],t,a)){r.splice(s,1),n=!0;break}return n?r:[...e]}function Ua(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Uy(e){return Ua(e)&&e.version===1&&Ua(e.spec)&&Ua(e.dataset)}function nm(e){if(!Ua(e))return[];const t=Ua(e.details)?e.details:e,a=[];if(Uy(t.chart)&&a.push(t.chart),Array.isArray(t.charts))for(const n of t.charts)Uy(n)&&a.push(n);return a}function fk(e){return{...e,dataset:{...e.dataset,rows:[]}}}function pk(e){return e.map(t=>({type:"chart",chart:fk(t)}))}function rm(e){return Array.isArray(e)?`[${e.map(rm).join(",")}]`:Ua(e)?`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${rm(e[t])}`).join(",")}}`:JSON.stringify(e)}function jy(e){const t=fk(e);return rm({spec:t.spec,columns:t.dataset.columns,data:t.data,rowCount:t.rowCount,truncated:t.truncated})}function Hbe(e,t){const a=jy(t);return e.some(n=>{if(!Ua(n))return!1;const r=n;return r.type==="chart"&&r.chart?jy(r.chart)===a:!1})}function Ube(e,t,a,n){const r=[...e];let s=-1;for(let u=r.length-1;u>=0;u--)if(dk(r[u],t,a)){s=u;break}const o=s>=0?r.filter((u,d)=>d!==s):r,l=n.filter(u=>!Hbe(o,u)),c=pk(l);return s>=0?(r.splice(s,1,...c),r):[...r,...c]}function jbe(e,t,a,n,r){if(n.length>0)return Ube(e,t,a,n);const s=zbe(e,t,a);return r?[...s,r]:s}function Z_e(e,t,a){const n=e[t];return!Ua(n)||n.type!=="error"||!Ua(n.error)||n.error.name!=="ChartRenderError"?!1:a?.isStreaming?!0:e.slice(t+1).some(r=>Ua(r)&&r.type==="chart")}function Wbe(e){return Ua(e)?typeof e.error=="string"?e.error:Ua(e.error)&&typeof e.error.message=="string"?e.error.message:Array.isArray(e.content)?e.content.map(t=>Ua(t)&&t.type==="text"&&typeof t.text=="string"?t.text:"").join(`
40
+ `).trim():null:null}function Wy(e,t){if(!hn(e)||nm(t).length>0)return null;const a=Wbe(t);if(!a)return null;const r=/^Error:\s*(.+)$/is.exec(a)?.[1]?.trim();return!r||/^Call get_schema before render_chart\b/i.test(r)?null:{type:"error",error:{name:"ChartRenderError",message:r,stack:null}}}function eu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Lf(e){return eu(e)&&e.version===1&&typeof e.query=="string"&&Array.isArray(e.groups)}function Ky(e){if(!eu(e))return null;const t=eu(e.details)?e.details:null;if(t&&Lf(t.evidence))return t.evidence;const a=eu(e.data)?e.data:null;return a&&Lf(a.evidence)?a.evidence:Lf(e.evidence)?e.evidence:null}function Kbe(e){return{type:"evidence",evidence:e}}function Gy(e){return JSON.parse(JSON.stringify(e))}function Rg(e){return JSON.parse(JSON.stringify(e))}function mk(e){return e?.type==="plan_draft"&&typeof e.text=="string"}function Gbe(e,t){const a=e.map(Rg),n=a[a.length-1];return mk(n)?n.text+=t:a.push({type:"plan_draft",version:1,status:"streaming",text:t}),a}function Ybe(e,t){const a=e.map(Rg);for(let n=a.length-1;n>=0;n--){const r=a[n];if(mk(r)){const s=r.text.trim();return a[n]={...Gy(t),...s?{displayText:s}:{}},a}}return a.push(Gy(t)),a}function Xbe(e){return e.filter(t=>t.type!=="plan_draft").map(Rg)}function Yy(e){if(!e)return;const t=JSON.parse(JSON.stringify(e));for(const a of t)a.type==="tool"&&delete a.tool.displayResult;return t}const gn="__draft__";function Jbe(e){return e?`${e.startTs}_${e.endTs}`:"all"}function Qbe(e){return`${e.sessionId}:${e.chatType}:${Jbe(e.timeFilter)}`}function sm(){return{promptTokens:0,completionTokens:0,totalTokens:0,cacheReadTokens:0,cacheWriteTokens:0}}function Xy(e){return{promptTokens:e.promptTokens??0,completionTokens:e.completionTokens??0,totalTokens:e.totalTokens??0,cacheReadTokens:e.cacheReadTokens??0,cacheWriteTokens:e.cacheWriteTokens??0}}function Ac(e){if(e&&typeof e=="object"){const t=e;return{name:typeof t.name=="string"?t.name:null,message:typeof t.message=="string"?t.message:"未知错误",stack:typeof t.stack=="string"?t.stack:null,statusCode:typeof t.statusCode=="number"?t.statusCode:null,url:typeof t.url=="string"?t.url:null,responseBody:typeof t.responseBody=="string"?t.responseBody:null,responseHeaders:t.responseHeaders&&typeof t.responseHeaders=="object"?t.responseHeaders:null,requestBody:typeof t.requestBody=="string"?t.requestBody:null,cause:typeof t.cause=="string"?t.cause:null,provider:typeof t.provider=="string"?t.provider:null,friendlyMessage:typeof t.friendlyMessage=="string"?t.friendlyMessage:null}}return{name:null,message:e?String(e):"未知错误",stack:null}}function Ic(e){return{id:e.id,role:e.role,content:e.content,timestamp:e.timestamp*1e3,parentId:e.parentId,contentBlocks:e.contentBlocks}}function om(e=null){return{messages:[],sourceMessages:[],currentKeywords:[],assistantId:e,loaded:!1}}function Zbe(e){const t=om(null);return{sessionId:e.sessionId,sessionName:e.sessionName,chatType:e.chatType,locale:e.locale,timeFilter:e.timeFilter,selectedAssistantId:null,messages:t.messages,sourceMessages:t.sourceMessages,currentKeywords:t.currentKeywords,isLoadingSource:!1,isAIThinking:!1,currentAIChatId:null,currentToolStatus:null,toolsUsedInCurrentRound:[],sessionTokenUsage:sm(),agentStatus:null,ownerInfo:void 0,ownerInfoInitialized:!1,isAborted:!1,currentRequestId:"",currentAgentRequestId:"",aiChatBuffers:{[gn]:t}}}function qf(e){return e.currentAIChatId??gn}const e1e=Wn("aiChatRuntime",()=>{const e=E({}),t=E(null),a=Id(),n=Ja(),r=Rr(),s=ck(),o=Nbe(),l=Wl(),{aiGlobalSettings:c}=aa(a);let u=!1;function d(O){return`${O}_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function f(O){const W=Qbe(O),j=e.value[W];if(j)return j.sessionName=O.sessionName,j.chatType=O.chatType,j.locale=O.locale,j.timeFilter=O.timeFilter,{chatKey:W,state:j};const J=Zbe(O);e.value[W]=J;const ne=e.value[W];return h(W),{chatKey:W,state:ne}}function p(O){return e.value[O]??null}function m(){return t.value?p(t.value.chatKey):null}function g(O,W,j=null){return O.aiChatBuffers[W]||(O.aiChatBuffers[W]=om(j)),O.aiChatBuffers[W]}function y(O,W){const j=O.currentAIChatId??gn,J=O.aiChatBuffers[j];J&&(J.sessionTokenUsage={...O.sessionTokenUsage});const ne=g(O,W);O.currentAIChatId=W===gn?null:W,O.messages=ne.messages,O.sourceMessages=ne.sourceMessages,O.currentKeywords=ne.currentKeywords,O.selectedAssistantId=ne.assistantId,O.sessionTokenUsage=ne.sessionTokenUsage?{...ne.sessionTokenUsage}:sm(),O.agentStatus=null}function _(O,W,j){const J=g(O,W);return O.aiChatBuffers[j]=J,W!==j&&delete O.aiChatBuffers[W],O.currentAIChatId===null&&W===gn&&(O.currentAIChatId=j),J}function v(O){const W=p(O);W&&(W.selectedAssistantId?s.selectAssistant(W.selectedAssistantId):s.clearSelection())}async function h(O){const W=p(O);if(!W)return;const J=n.sessions.find(ne=>ne.id===W.sessionId)?.ownerId;if(!J){W.ownerInfo=void 0,W.ownerInfoInitialized=!0;return}if(!(W.ownerInfoInitialized&&W.ownerInfo?.platformId===J))try{const U=(await Va().getMembers(W.sessionId)).find(q=>q.platformId===J);W.ownerInfo=U?{platformId:J,displayName:U.groupNickname||U.accountName||J}:{platformId:J,displayName:J},W.ownerInfoInitialized=!0}catch(ne){console.error("[AI] 获取 Owner 信息失败:",ne),W.ownerInfo=void 0,W.ownerInfoInitialized=!0}}function k(O,W,j,J=null){const ne=p(O);ne&&(t.value={requestId:j,chatKey:O,sessionId:ne.sessionId,sessionName:ne.sessionName,chatType:ne.chatType,aiChatId:J,questionPreview:W.trim().slice(0,80),startedAt:Date.now()})}function w(O,W){t.value&&t.value.chatKey===O&&(W&&t.value.requestId!==W||(t.value=null))}function A(O,W){t.value&&t.value.chatKey===O&&(t.value.aiChatId=W)}function M(O){return{phase:"preparing",round:0,toolsUsed:O.toolsUsedInCurrentRound.length,contextTokens:0,totalUsage:{...O.sessionTokenUsage},updatedAt:Date.now()}}function S(O,W,j){const J=O.agentStatus?{...O.agentStatus}:M(O);O.agentStatus={...J,...j,phase:W,updatedAt:Date.now()}}function P(O,W){const j=p(O);if(!j||j.isAIThinking)return!1;const J=g(j,qf(j),W);return J.assistantId=W,j.selectedAssistantId=W,s.selectAssistant(W),!0}async function D(O,W){const j=p(O);if(!j)return!1;try{const J=await an().getAIChat(W),ne=g(j,W,J?.assistantId??null);if(!ne.loaded){const[U,q]=await Promise.all([an().getMessages(W),an().getAIChatTokenUsage(W)]);ne.messages.splice(0,ne.messages.length,...U.map(oe=>Ic(oe))),ne.sourceMessages.splice(0,ne.sourceMessages.length),ne.currentKeywords.splice(0,ne.currentKeywords.length),ne.sessionTokenUsage=Xy(q),ne.loaded=!0}return ne.assistantId=J?.assistantId??ne.assistantId??null,y(j,W),v(O),!0}catch(J){return console.error("[AI] 加载对话历史失败:",J),!1}}function H(O,W){const j=p(O);if(!j)return!1;const J=W??gn;return j.aiChatBuffers[J]?(y(j,J),v(O),!0):!1}function Q(){return t.value?(u=!0,H(t.value.chatKey,t.value.aiChatId)):!1}async function G(O){if(u){u=!1;return}const W=p(O);if(!(!W||W.isAIThinking)){if(s.isLoaded||await s.loadAssistants(),!W.selectedAssistantId){const j=Hc(W.locale);P(O,j)}V(O)}}function V(O,W){const j=p(O);if(!j||j.isAIThinking)return!1;const J=om(j.selectedAssistantId);return j.aiChatBuffers[gn]=J,y(j,gn),j.currentToolStatus=null,j.toolsUsedInCurrentRound=[],j.isLoadingSource=!1,j.sessionTokenUsage=sm(),j.agentStatus=null,j.isAborted=!1,j.currentRequestId="",j.currentAgentRequestId="",W&&J.messages.push({id:d("welcome"),role:"assistant",content:W,timestamp:Date.now()}),!0}async function R(){}async function L(){}function z(O,W){const j=ae=>{const re=W();O.messages[re]={...O.messages[re],...ae}};return{updateAIMessage:j,appendTextToBlocks:ae=>{if(!ae)return;const re=W(),fe=O.messages[re].contentBlocks||[],ke=fe[fe.length-1];ae.trim().length===0&&(!ke||ke.type!=="text")||(ke&&ke.type==="text"?ke.text+=ae:fe.push({type:"text",text:ae}),j({contentBlocks:[...fe],content:O.messages[re].content+ae}))},appendThinkToBlocks:(ae,re,fe)=>{if(!ae&&fe===void 0)return;const ke=W(),Se=O.messages[ke].contentBlocks||[],we=re||"think",Ve=Se[Se.length-1];let Ie=Ve;if(Ve&&Ve.type==="think"&&Ve.tag===we)Ve.text+=ae;else if(ae.trim().length>0)Ie={type:"think",tag:we,text:ae},Se.push(Ie);else if(fe!==void 0)for(let Ee=Se.length-1;Ee>=0;Ee--){const Ce=Se[Ee];if(Ce.type==="think"&&Ce.tag===we){Ie=Ce;break}}fe!==void 0&&Ie&&Ie.type==="think"&&(Ie.durationMs=fe),j({contentBlocks:[...Se]})},appendChartsToBlocks:ae=>{if(ae.length===0)return;const re=W(),fe=O.messages[re].contentBlocks||[];fe.push(...pk(ae)),j({contentBlocks:[...fe]})},appendEvidenceToBlocks:ae=>{const re=W(),fe=O.messages[re].contentBlocks||[];fe.push(Kbe(ae)),j({contentBlocks:[...fe]})},appendPlanDraftToBlocks:ae=>{if(!ae)return;const re=W(),fe=O.messages[re].contentBlocks||[];j({contentBlocks:[...Gbe(fe,ae)]})},appendPlanToBlocks:ae=>{const re=W(),fe=O.messages[re].contentBlocks||[];j({contentBlocks:[...Ybe(fe,ae)]})},removePlanDraftsFromBlocks:()=>{const ae=W(),re=O.messages[ae].contentBlocks||[];j({contentBlocks:[...Xbe(re)]})},updatePlanBlockStatus:ae=>{const re=W(),fe=O.messages[re].contentBlocks||[];for(let ke=fe.length-1;ke>=0;ke--){const Se=fe[ke];if(Se.type==="plan"){Se.status=ae;break}}j({contentBlocks:[...fe]})},appendErrorToBlocks:ae=>{const re=W(),fe=O.messages[re].contentBlocks||[];fe.push({type:"error",error:ae}),j({contentBlocks:[...fe]})},addToolBlock:(ae,re,fe)=>{const ke=W(),Se=O.messages[ke].contentBlocks||[];Se.push({type:"tool",tool:{name:ae,displayName:ae,status:"running",params:re,toolCallId:fe}}),j({contentBlocks:[...Se]})},addRenderOnlyToolPendingBlock:(ae,re,fe)=>{const ke=Bbe(ae,re,fe);if(!ke)return;const Se=W(),we=O.messages[Se].contentBlocks||[];we.push(ke),j({contentBlocks:[...we]})},updateRenderOnlyToolResult:(ae,re,fe,ke)=>{const Se=W(),we=O.messages[Se].contentBlocks||[];j({contentBlocks:jbe(we,ae,re,fe,ke)})},updateToolBlockStatus:(ae,re,fe)=>{const ke=W(),Se=O.messages[ke].contentBlocks||[],we=Ie=>Ie.type==="tool"&&Ie.tool.status==="running";let Ve;if(fe?.toolCallId)for(let Ie=Se.length-1;Ie>=0;Ie--){const Ee=Se[Ie];if(we(Ee)&&Ee.tool.toolCallId===fe.toolCallId){Ve=Ee;break}}if(!Ve)for(let Ie=Se.length-1;Ie>=0;Ie--){const Ee=Se[Ie];if(we(Ee)&&Ee.tool.name===ae){Ve=Ee;break}}Ve&&(Ve.tool.status=re,fe?.result!==void 0&&(Ve.tool.result=fe.result),fe?.displayResult!==void 0&&(Ve.tool.displayResult=fe.displayResult),fe?.isError!==void 0&&(Ve.tool.isError=fe.isError)),j({contentBlocks:[...Se]})}}}async function le(O,W,j){const J=p(O);if(!J)return{success:!1,reason:"error"};if(!W.trim())return{success:!1,reason:"empty"};if(J.isAIThinking||t.value)return{success:!1,reason:"busy",activeTask:t.value};const ne=d("req"),U=qf(J);let q=U===gn?null:U;const oe=g(J,U,J.selectedAssistantId);let _e,me;oe.assistantId=J.selectedAssistantId,oe.loaded=!0,k(O,W,ne,q),v(O),h(O);const be=o.activeSkillId,B=o.activeSkill?.name,X=c.value.enableAutoSkill??!0,te=X?c.value.chartAutoMode??"suggest":"explicit",ee=(j?.mentionedMembers??[]).map(Me=>({memberId:Me.memberId,platformId:Me.platformId,displayName:Me.displayName,aliases:[...Me.aliases],mentionText:Me.mentionText}));J.isAIThinking=!0,J.isLoadingSource=!0,J.currentToolStatus=null,J.toolsUsedInCurrentRound=[],J.agentStatus=null,J.isAborted=!1,J.currentRequestId=ne,J.currentAgentRequestId="";try{const Me=await ga().hasConfig();if(J.isAborted)return w(O,ne),{success:!1,reason:"aborted"};if(J.currentRequestId!==ne)return w(O,ne),{success:!1,reason:"busy",activeTask:t.value};if(!Me)return oe.messages.push({id:d("error"),role:"assistant",content:"⚠️ 请先配置 AI 服务。点击左下角「设置」按钮前往「模型配置Tab」进行配置。",timestamp:Date.now()}),w(O,ne),{success:!1,reason:"no_config"};const ae={id:d("user"),role:"user",content:W,timestamp:Date.now(),toolCalls:[]};_e=ae,oe.messages.push(ae);const re={id:d("ai"),role:"assistant",content:"",timestamp:Date.now(),isStreaming:!0,contentBlocks:[]};be&&B&&re.contentBlocks.push({type:"skill",skillId:be,skillName:B}),oe.messages.push(re);let fe=oe.messages.length-1,ke=!1;const{updateAIMessage:Se,appendTextToBlocks:we,appendThinkToBlocks:Ve,appendChartsToBlocks:Ie,appendEvidenceToBlocks:Ee,appendPlanDraftToBlocks:Ce,appendPlanToBlocks:Oe,removePlanDraftsFromBlocks:Ae,updatePlanBlockStatus:Re,appendErrorToBlocks:Fe,addToolBlock:lt,addRenderOnlyToolPendingBlock:We,updateRenderOnlyToolResult:ft,updateToolBlockStatus:Ot}=z(oe,()=>fe),Or=oe.assistantId??Hc(J.locale);if(!q){const Ne=W.slice(0,50)+(W.length>50?"...":""),Xt=await an().createAIChat(J.sessionId,Ne,Or);if(J.isAborted)return Se({isStreaming:!1}),w(O,ne),{success:!1,reason:"aborted"};if(J.currentRequestId!==ne)return Se({isStreaming:!1}),w(O,ne),{success:!1,reason:"busy",activeTask:t.value};q=Xt.id,_(J,gn,Xt.id),oe.assistantId=Or,A(O,Xt.id)}const Lr={sessionId:J.sessionId,aiChatId:q,timeFilter:J.timeFilter?{startTs:J.timeFilter.startTs,endTs:J.timeFilter.endTs}:void 0,maxMessagesLimit:c.value.maxMessagesPerRequest,ownerInfo:J.ownerInfo?{platformId:J.ownerInfo.platformId,displayName:J.ownerInfo.displayName}:void 0,mentionedMembers:ee.length>0?ee:void 0,preprocessConfig:await ce(),searchContextBefore:c.value.searchContextBefore,searchContextAfter:c.value.searchContextAfter},{requestId:us,promise:Rd}=Of().runStream({userMessage:W,sessionId:J.sessionId,aiChatId:q,timeFilter:Lr.timeFilter,maxMessagesLimit:Lr.maxMessagesLimit,ownerInfo:Lr.ownerInfo,mentionedMembers:Lr.mentionedMembers,preprocessConfig:Lr.preprocessConfig,chatType:J.chatType,locale:J.locale,assistantId:Or,skillId:be,enableAutoSkill:be?void 0:X,chartAutoMode:be?void 0:te,compressionConfig:{enabled:c.value.contextCompression?.enabled??!1,tokenThresholdPercent:c.value.contextCompression?.tokenThresholdPercent??75,bufferSizePercent:c.value.contextCompression?.bufferSizePercent??20,maxToolResultPercent:c.value.contextCompression?.maxToolResultPercent??50},thinkingLevel:(()=>{const Ne=l.defaultAssistant;if(!(!Ne?.configId||!Ne?.modelId))return a.getThinkingLevel(Ne.configId,Ne.modelId)})()},Ne=>{if(!(J.isAborted||ne!==J.currentRequestId))switch(Ne.type){case"content":Ne.content&&(J.currentToolStatus=null,we(Ne.content));break;case"think":Ne.content?Ve(Ne.content,Ne.thinkTag):Ne.thinkDurationMs!==void 0&&Ve("",Ne.thinkTag,Ne.thinkDurationMs);break;case"tool_start":if(Ne.toolName){const Xt=Ne.toolParams;J.currentToolStatus={name:Ne.toolName,displayName:Ne.toolName,status:"running"},J.toolsUsedInCurrentRound.push(Ne.toolName),hn(Ne.toolName)?We(Ne.toolName,Xt,Ne.toolCallId):lt(Ne.toolName,Xt,Ne.toolCallId)}break;case"tool_result":if(Ne.toolName){const Xt=nm(Ne.toolResult),Ya=Wy(Ne.toolName,Ne.toolResult);hn(Ne.toolName)?ft(Ne.toolName,Ne.toolCallId,Xt,Ya):Ie(Xt);const Gl=Ky(Ne.toolResult);Gl&&Ee(Gl),Ya&&(hn(Ne.toolName)||Fe(Ya.error));const xi=Ya!==null||Ne.toolIsError===!0;if(J.currentToolStatus?.name===Ne.toolName&&(J.currentToolStatus={...J.currentToolStatus,status:xi?"error":"done"}),!hn(Ne.toolName)){const to=dy(Ne.toolResult);Ot(Ne.toolName,xi?"error":"done",{toolCallId:Ne.toolCallId,result:fy(to),displayResult:to,isError:Ne.toolIsError})}}J.isLoadingSource=!1;break;case"plan_delta":Ne.planDelta&&Ce(Ne.planDelta);break;case"plan":Ne.plan&&(Oe(Ne.plan),Re("executing"));break;case"plan_skipped":Ae();break;case"status":Ne.status&&(!J.agentStatus||Ne.status.updatedAt>=J.agentStatus.updatedAt)&&(J.agentStatus=Ne.status);break;case"compression_done":if(Ne.compressionResult){const Xt={id:`summary-${Date.now()}`,role:"summary",content:Ne.compressionResult.summaryContent,timestamp:Ne.compressionResult.timestamp},Ya=Math.max(0,oe.messages.length-1);oe.messages.splice(Ya,0,Xt),fe++}break;case"done":J.currentToolStatus=null,ke||Re("done"),Ne.usage&&(me={...Ne.usage},J.sessionTokenUsage={promptTokens:J.sessionTokenUsage.promptTokens+Ne.usage.promptTokens,completionTokens:J.sessionTokenUsage.completionTokens+Ne.usage.completionTokens,totalTokens:J.sessionTokenUsage.totalTokens+Ne.usage.totalTokens,cacheReadTokens:J.sessionTokenUsage.cacheReadTokens+Ne.usage.cacheReadTokens,cacheWriteTokens:J.sessionTokenUsage.cacheWriteTokens+Ne.usage.cacheWriteTokens}),S(J,"completed",Ne.usage?{totalUsage:Ne.usage}:void 0);break;case"error":if(Ae(),Re("skipped"),J.currentToolStatus&&(J.currentToolStatus={...J.currentToolStatus,status:"error"},Ot(J.currentToolStatus.name,"error")),!ke){ke=!0;const Xt=oe.messages[fe].contentBlocks||[];Xt.push({type:"error",error:Ac(Ne.error)}),Se({contentBlocks:[...Xt],isStreaming:!1})}S(J,"error");break}});J.currentAgentRequestId=us,k(O,W,us,q);const dn=await Rd;if(J.isAborted)return w(O,us),{success:!1,reason:"aborted"};if(ne!==J.currentRequestId)return w(O,us),{success:!1,reason:"busy",activeTask:t.value};if(dn.success&&dn.result){oe.messages[fe]={...oe.messages[fe],dataSource:{toolsUsed:dn.result.toolsUsed,toolRounds:dn.result.toolRounds},isStreaming:!1};const Ne=await K(q,ae,oe.messages[fe],me);Ne&&(Object.assign(ae,Ne.userMessage),oe.messages[fe]={...oe.messages[fe],...Ne.assistantMessage,isStreaming:!1})}else if(ke){const Ne=await K(q,ae,oe.messages[fe],me);Ne&&(Object.assign(ae,Ne.userMessage),oe.messages[fe]={...oe.messages[fe],...Ne.assistantMessage,isStreaming:!1})}else{const Ne=oe.messages[fe].contentBlocks||[];Ne.push({type:"error",error:Ac(dn.error)}),oe.messages[fe]={...oe.messages[fe],contentBlocks:[...Ne],isStreaming:!1};const Xt=await K(q,ae,oe.messages[fe],me);Xt&&(Object.assign(ae,Xt.userMessage),oe.messages[fe]={...oe.messages[fe],...Xt.assistantMessage,isStreaming:!1})}return{success:!0}}catch(Me){console.error("[AI] 处理失败:",Me),J.agentStatus=null;const ae=oe.messages[oe.messages.length-1];if(ae&&ae.role==="assistant"){const re={name:Me instanceof Error?Me.name:null,message:Me instanceof Error?Me.message:String(Me),stack:Me instanceof Error?Me.stack??null:null},fe=ae.contentBlocks||[];fe.push({type:"error",error:re}),ae.contentBlocks=[...fe],ae.isStreaming=!1;const ke=_e||oe.messages.findLast(Se=>Se.role==="user");ke&&await K(q,ke,ae,me)}return{success:!1,reason:"error"}}finally{J.isAIThinking=!1,J.isLoadingSource=!1,J.currentToolStatus=null,J.isAborted=!1,J.currentRequestId="",J.currentAgentRequestId="",w(O)}}async function K(O,W,j,J){try{if(!O)return null;const ne=await an().addMessage(O,"user",W.content),U=Yy(j.contentBlocks),q=await an().addMessage(O,"assistant",j.content,void 0,void 0,U,J);return{userMessage:Ic(ne),assistantMessage:Ic(q)}}catch(ne){return console.error("[AI] 保存对话失败:",ne),null}}async function ce(){const O=r.aiPreprocessConfig;return Fbe(O)&&await r.ensureDesensitizeRules(),Vbe(r.aiPreprocessConfig)}function Y(O){return O.trim().replace(/^[\s"'“”‘’([{<]+|[\s"'“”‘’)\]}>.,!?;:,。!?;:、]+$/g,"").toLocaleLowerCase()}async function ve(O,W){const j=new Set;for(const J of W.matchAll(/@([^\s@]+)/g)){const ne=Y(J[1]??"");ne&&j.add(ne)}if(j.size===0)return[];try{const J=await Va().getMembers(O.sessionId),ne=new Map;J.forEach(_e=>{const me=_e.groupNickname||_e.accountName||_e.platformId;ne.set(me,(ne.get(me)??0)+1)});const U=J.map(_e=>{const me=_e.groupNickname||_e.accountName||_e.platformId,be=(ne.get(me)??0)>1?`${me}·${_e.platformId}`:me,B=[..._e.aliases],X=[me,_e.groupNickname||"",_e.accountName||"",_e.platformId,be,...B].map(Y).filter(Boolean);return{memberId:_e.id,platformId:_e.platformId,displayName:me,aliases:B,mentionText:`@${be}`,lookupValues:X}}),q=[],oe=new Set;for(const _e of j){const me=U.find(be=>!oe.has(be.memberId)&&be.lookupValues.includes(_e));me&&(oe.add(me.memberId),q.push({memberId:me.memberId,platformId:me.platformId,displayName:me.displayName,aliases:me.aliases,mentionText:me.mentionText}))}return q}catch(J){return console.error("[AI] Failed to resolve mentioned members for edited message:",J),[]}}async function ie(O,W,j,J){const ne=p(O),U=j.trim();if(!ne||!ne.currentAIChatId)return{success:!1,reason:"error"};if(!U)return{success:!1,reason:"empty"};if(ne.isAIThinking||t.value)return{success:!1,reason:"busy",activeTask:t.value};const q=J?.overwriteSubsequent??!1,oe=g(ne,ne.currentAIChatId,ne.selectedAssistantId),_e=oe.messages.findIndex(be=>be.id===W),me=oe.messages[_e];return!me||me.role!=="user"||me.isStreaming?{success:!1,reason:"error"}:me.content.trim()===U?{success:!1,reason:"empty"}:q?ye(O,ne,oe,_e,me,U):de(O,ne,oe,_e,me,U)}async function ye(O,W,j,J,ne,U){try{return await ga().hasConfig()?W.isAborted?{success:!1,reason:"aborted"}:W.isAIThinking||t.value?{success:!1,reason:"busy",activeTask:t.value}:(await an().deleteMessagesFrom(W.currentAIChatId,ne.id),j.messages.splice(J,j.messages.length-J),le(O,U)):{success:!1,reason:"no_config"}}catch(q){return console.error("[AI] edit and overwrite failed:",q),{success:!1,reason:"error"}}}async function de(O,W,j,J,ne,U){const q=d("req");let oe,_e=!1;k(O,U,q,W.currentAIChatId),v(O),h(O),W.isAIThinking=!0,W.isLoadingSource=!0,W.currentToolStatus=null,W.toolsUsedInCurrentRound=[],W.agentStatus=null,W.isAborted=!1,W.currentRequestId=q,W.currentAgentRequestId="";const me=j.messages[J+1],be=me?.role==="assistant",B=be?j.messages.slice(J+2):j.messages.slice(J+1),X={id:d("ai"),role:"assistant",content:"",timestamp:Date.now(),isStreaming:!0,contentBlocks:[]},te=o.activeSkillId,ee=o.activeSkill?.name;te&&ee&&X.contentBlocks.push({type:"skill",skillId:te,skillName:ee});const Me={...ne,content:U},ae=be?2:1;j.messages.splice(J,ae,Me,X);const re=J+1,fe=()=>{j.messages.splice(J,j.messages.length-J,ne),be&&j.messages.splice(J+1,0,me),j.messages.push(...B)},{updateAIMessage:ke,appendTextToBlocks:Se,appendThinkToBlocks:we,appendChartsToBlocks:Ve,appendEvidenceToBlocks:Ie,appendPlanDraftToBlocks:Ee,appendPlanToBlocks:Ce,removePlanDraftsFromBlocks:Oe,updatePlanBlockStatus:Ae,appendErrorToBlocks:Re,addToolBlock:Fe,addRenderOnlyToolPendingBlock:lt,updateRenderOnlyToolResult:We,updateToolBlockStatus:ft}=z(j,()=>re);try{if(!await ga().hasConfig())return fe(),w(O,q),{success:!1,reason:"no_config"};const Or=j.assistantId??Hc(W.locale),Lr=await ve(W,U);if(W.isAborted)return fe(),w(O,q),{success:!1,reason:"aborted"};if(q!==W.currentRequestId)return fe(),w(O,q),{success:!1,reason:"busy",activeTask:t.value};const us=c.value.enableAutoSkill??!0,Rd=us?c.value.chartAutoMode??"suggest":"explicit",dn={sessionId:W.sessionId,aiChatId:W.currentAIChatId,historyLeafMessageId:ne.parentId??null,timeFilter:W.timeFilter?{startTs:W.timeFilter.startTs,endTs:W.timeFilter.endTs}:void 0,maxMessagesLimit:c.value.maxMessagesPerRequest,ownerInfo:W.ownerInfo?{platformId:W.ownerInfo.platformId,displayName:W.ownerInfo.displayName}:void 0,mentionedMembers:Lr.length>0?Lr:void 0,preprocessConfig:await ce(),searchContextBefore:c.value.searchContextBefore,searchContextAfter:c.value.searchContextAfter},{requestId:Ne,promise:Xt}=Of().runStream({userMessage:U,sessionId:W.sessionId,aiChatId:W.currentAIChatId,historyLeafMessageId:ne.parentId??null,timeFilter:dn.timeFilter,maxMessagesLimit:dn.maxMessagesLimit,ownerInfo:dn.ownerInfo,mentionedMembers:dn.mentionedMembers,preprocessConfig:dn.preprocessConfig,chatType:W.chatType,locale:W.locale,assistantId:Or,skillId:te,enableAutoSkill:te?void 0:us,chartAutoMode:te?void 0:Rd,compressionConfig:{enabled:c.value.contextCompression?.enabled??!1,tokenThresholdPercent:c.value.contextCompression?.tokenThresholdPercent??75,bufferSizePercent:c.value.contextCompression?.bufferSizePercent??20,maxToolResultPercent:c.value.contextCompression?.maxToolResultPercent??50},thinkingLevel:(()=>{const Qe=l.defaultAssistant;if(!(!Qe?.configId||!Qe?.modelId))return a.getThinkingLevel(Qe.configId,Qe.modelId)})()},Qe=>{if(!(W.isAborted||q!==W.currentRequestId))switch(Qe.type){case"content":W.currentToolStatus=null,Se(Qe.content||"");break;case"think":Qe.content?we(Qe.content,Qe.thinkTag):Qe.thinkDurationMs!==void 0&&we("",Qe.thinkTag,Qe.thinkDurationMs);break;case"tool_start":if(Qe.toolName){const qr=Qe.toolParams;W.currentToolStatus={name:Qe.toolName,displayName:Qe.toolName,status:"running"},W.toolsUsedInCurrentRound.push(Qe.toolName),hn(Qe.toolName)?lt(Qe.toolName,qr,Qe.toolCallId):Fe(Qe.toolName,qr,Qe.toolCallId)}break;case"tool_result":if(Qe.toolName){const qr=nm(Qe.toolResult),Yl=Wy(Qe.toolName,Qe.toolResult);hn(Qe.toolName)?We(Qe.toolName,Qe.toolCallId,qr,Yl):Ve(qr);const Lg=Ky(Qe.toolResult);if(Lg&&Ie(Lg),Yl&&(hn(Qe.toolName)||Re(Yl.error)),!hn(Qe.toolName)){const qg=dy(Qe.toolResult);ft(Qe.toolName,Yl!==null||Qe.toolIsError===!0?"error":"done",{toolCallId:Qe.toolCallId,result:fy(qg),displayResult:qg,isError:Qe.toolIsError})}}W.currentToolStatus=null,W.isLoadingSource=!1;break;case"plan_delta":Qe.planDelta&&Ee(Qe.planDelta);break;case"plan":Qe.plan&&(Ce(Qe.plan),Ae("executing"));break;case"plan_skipped":Oe();break;case"status":Qe.status&&(!W.agentStatus||Qe.status.updatedAt>=W.agentStatus.updatedAt)&&(W.agentStatus=Qe.status);break;case"done":W.currentToolStatus=null,_e||Ae("done"),Qe.usage&&(oe={...Qe.usage}),S(W,"completed",Qe.usage?{totalUsage:Qe.usage}:void 0);break;case"error":{Oe(),Ae("skipped"),_e=!0,W.currentToolStatus&&ft(W.currentToolStatus.name,"error");const qr=j.messages[re].contentBlocks||[];qr.push({type:"error",error:Ac(Qe.error)}),ke({contentBlocks:[...qr],isStreaming:!1}),S(W,"error");break}}});W.currentAgentRequestId=Ne,k(O,U,Ne,W.currentAIChatId);const Ya=await Xt;if(W.isAborted)return fe(),w(O,Ne),{success:!1,reason:"aborted"};if(q!==W.currentRequestId)return fe(),w(O,Ne),{success:!1,reason:"busy",activeTask:t.value};if(Ya.success&&Ya.result)ke({dataSource:{toolsUsed:Ya.result.toolsUsed,toolRounds:Ya.result.toolRounds},isStreaming:!1});else if(!_e){const Qe=j.messages[re].contentBlocks||[];Qe.push({type:"error",error:Ac(Ya.error)}),ke({contentBlocks:[...Qe],isStreaming:!1})}if(!Ya.success)return fe(),{success:!1,reason:"error"};await an().updateMessageContent(ne.id,U),be&&await an().deleteAndRelinkMessage(W.currentAIChatId,me.id);const Gl=Yy(j.messages[re].contentBlocks),xi=await an().insertMessageAfter(W.currentAIChatId,ne.id,"assistant",j.messages[re].content,Gl,oe);j.messages[re]={...Ic(xi),dataSource:j.messages[re].dataSource,isStreaming:!1},j.messages[J]={...j.messages[J],content:U};const to=re+1;return to<j.messages.length&&(j.messages[to]={...j.messages[to],parentId:xi.id}),j.sessionTokenUsage=Xy(await an().getAIChatTokenUsage(W.currentAIChatId)),W.sessionTokenUsage={...j.sessionTokenUsage},{success:!0}}catch(Ot){if(W.isAborted)return fe(),{success:!1,reason:"aborted"};console.error("[AI] edit and regenerate failed:",Ot);const Or=j.messages[re]?.contentBlocks||[];return Or.push({type:"error",error:{name:Ot instanceof Error?Ot.name:null,message:Ot instanceof Error?Ot.message:String(Ot),stack:Ot instanceof Error?Ot.stack??null:null}}),j.messages[re]&&ke({contentBlocks:[...Or],isStreaming:!1}),{success:!1,reason:"error"}}finally{W.isAIThinking=!1,W.isLoadingSource=!1,W.currentToolStatus=null,W.isAborted=!1,W.currentRequestId="",W.currentAgentRequestId="",w(O)}}async function he(O){const W=p(O);if(!W||!W.isAIThinking)return!1;W.isAborted=!0,W.isAIThinking=!1,W.isLoadingSource=!1,W.currentToolStatus=null,S(W,"aborted");const j=t.value?.chatKey===O?t.value.aiChatId??gn:qf(W),J=W.aiChatBuffers[j],ne=J?J.messages[J.messages.length-1]:void 0;if(ne&&ne.role==="assistant"&&ne.isStreaming&&(ne.isStreaming=!1,ne.content+=`
41
+
42
+ _(已停止生成)_`),W.currentAgentRequestId)try{await Of().abort(W.currentAgentRequestId)}catch(U){console.error("[AI] 中止 Agent 请求失败:",U)}return W.currentRequestId="",W.currentAgentRequestId="",w(O),!0}async function ge(){return t.value?he(t.value.chatKey):!1}return{sessionStates:e,activeTask:t,ensureSessionState:f,getSessionState:p,getActiveTaskState:m,applySessionAssistantSelection:v,selectAssistantForSession:P,loadAIChat:D,focusAIChat:H,focusActiveTaskAIChat:Q,resetToSelectorOnEnter:G,startNewAIChat:V,loadMoreSourceMessages:R,updateMaxMessages:L,sendMessage:le,editMessageAndRegenerate:ie,stopGeneration:he,stopActiveTask:ge}}),Og=document.createElement("canvas");Og.width=1;Og.height=1;const Jy=Og.getContext("2d",{willReadFrequently:!0});function t1e(e){if(!Jy)return null;const t=Jy;t.clearRect(0,0,1,1),t.fillStyle="rgba(0, 0, 0, 0)",t.fillRect(0,0,1,1);try{t.fillStyle=e}catch{return null}t.fillRect(0,0,1,1);const[a,n,r,s]=t.getImageData(0,0,1,1).data;return s===0?null:{r:a,g:n,b:r,a:s/255}}function Qy(e,t){const a=e.a+t.a*(1-e.a);return a<=0?{r:0,g:0,b:0,a:0}:{r:(e.r*e.a+t.r*t.a*(1-e.a))/a,g:(e.g*e.a+t.g*t.a*(1-e.a))/a,b:(e.b*e.a+t.b*t.a*(1-e.a))/a,a}}function Nf(e){return`rgb(${Math.round(e.r)}, ${Math.round(e.g)}, ${Math.round(e.b)})`}function a1e(e){const t={r:17,g:17,b:17,a:1};let a=e,n=null;for(;a;){const r=window.getComputedStyle(a).backgroundColor,s=t1e(r);if(s&&s.a>0&&(n=n?Qy(n,s):s,n.a>=.999))return Nf(n);a=a.parentElement}return Nf(n?Qy(n,t):t)}function n1e(e){return new Promise((t,a)=>{e.toBlob(n=>{n?t(n):a(new Error("Canvas PNG encoding returned an empty result"))},"image/png")})}function Ff(e){return new Promise((t,a)=>{const n=new FileReader;n.onload=()=>t(n.result),n.onerror=()=>a(n.error??new Error("Failed to serialize captured image")),n.readAsDataURL(e)})}async function r1e(e,t,a){const n=await e.toCanvas();let r=n;if(n.width>t){const s=t/n.width,o=document.createElement("canvas");o.width=Math.round(n.width*s),o.height=Math.round(n.height*s);const l=o.getContext("2d");if(!l)throw new Error("Failed to create capture resize context");l.fillStyle=a,l.fillRect(0,0,o.width,o.height),l.drawImage(n,0,0,o.width,o.height),r=o}return n1e(r)}async function ewe(e,t){const a=t?.maxExportWidth??2160,n=t?.minScale??1,r=t?.fullContent!==!1,s=t?.backgroundColor??a1e(e),o=r?e.scrollWidth:e.getBoundingClientRect().width;let l=Math.min(1,a/Math.max(1,o));l=Math.max(n,l);const c={scale:l,embedFonts:t?.embedFonts??!1,backgroundColor:s},u=await _k(e,c);try{const d=await r1e(u,a,s);return Ff(d)}catch{}try{const d=await u.toBlob({type:"png",backgroundColor:s});return Ff(d)}catch{}try{const d=await u.toPng({backgroundColor:s}),p=await(await fetch(d.src)).blob();return Ff(p)}catch(d){throw console.error("captureAsImageData: all export paths failed",d),new Error("Failed to capture image data")}}const s1e={slots:{root:"",header:"flex items-center justify-between",body:"flex flex-col space-y-4 pt-4 sm:flex-row sm:space-x-4 sm:space-y-0",heading:"flex-1 min-w-0 text-center",headingLabel:"font-medium block truncate p-1.5",grid:"w-full border-collapse select-none space-y-1 focus:outline-none",gridRow:"grid",gridWeekDaysRow:"mb-1 grid w-full grid-cols-7",gridBody:"grid",headCell:"rounded-md",headCellWeek:"rounded-md text-muted",cell:"relative text-center",cellTrigger:["m-0.5 relative flex items-center justify-center whitespace-nowrap focus-visible:outline-3 data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold","transition"],cellWeek:"relative text-center text-muted"},variants:{color:{primary:{headCell:"text-primary",cellTrigger:"outline-primary/25"},secondary:{headCell:"text-secondary",cellTrigger:"outline-secondary/25"},success:{headCell:"text-success",cellTrigger:"outline-success/25"},info:{headCell:"text-info",cellTrigger:"outline-info/25"},warning:{headCell:"text-warning",cellTrigger:"outline-warning/25"},error:{headCell:"text-error",cellTrigger:"outline-error/25"},neutral:{headCell:"text-highlighted",cellTrigger:"outline-inverted/25"}},variant:{solid:"",outline:"",soft:"",subtle:""},size:{xs:{headingLabel:"text-xs",cell:"text-xs",cellWeek:"text-xs",headCell:"text-[10px]",headCellWeek:"text-[10px]",body:"space-y-2 pt-2"},sm:{headingLabel:"text-xs",headCell:"text-xs",headCellWeek:"text-xs",cellWeek:"text-xs",cell:"text-xs"},md:{headingLabel:"text-sm",headCell:"text-xs",headCellWeek:"text-xs",cellWeek:"text-xs",cell:"text-sm"},lg:{headingLabel:"text-md",headCell:"text-md",headCellWeek:"text-md"},xl:{headingLabel:"text-lg",headCell:"text-lg",headCellWeek:"text-lg"}},view:{day:{gridRow:"grid-cols-7 place-items-center",cellTrigger:"rounded-full data-outside-view:text-muted"},month:{gridRow:"grid-cols-4",cellTrigger:"rounded-md"},year:{gridRow:"grid-cols-4",cellTrigger:"rounded-md"}},weekNumbers:{true:""}},compoundVariants:[{color:"primary",variant:"solid",class:{cellTrigger:"data-selected:bg-primary data-selected:text-inverted data-today:not-data-selected:text-primary data-highlighted:bg-primary/20 hover:not-data-selected:bg-primary/20"}},{color:"secondary",variant:"solid",class:{cellTrigger:"data-selected:bg-secondary data-selected:text-inverted data-today:not-data-selected:text-secondary data-highlighted:bg-secondary/20 hover:not-data-selected:bg-secondary/20"}},{color:"success",variant:"solid",class:{cellTrigger:"data-selected:bg-success data-selected:text-inverted data-today:not-data-selected:text-success data-highlighted:bg-success/20 hover:not-data-selected:bg-success/20"}},{color:"info",variant:"solid",class:{cellTrigger:"data-selected:bg-info data-selected:text-inverted data-today:not-data-selected:text-info data-highlighted:bg-info/20 hover:not-data-selected:bg-info/20"}},{color:"warning",variant:"solid",class:{cellTrigger:"data-selected:bg-warning data-selected:text-inverted data-today:not-data-selected:text-warning data-highlighted:bg-warning/20 hover:not-data-selected:bg-warning/20"}},{color:"error",variant:"solid",class:{cellTrigger:"data-selected:bg-error data-selected:text-inverted data-today:not-data-selected:text-error data-highlighted:bg-error/20 hover:not-data-selected:bg-error/20"}},{color:"primary",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-primary/50 data-selected:text-primary data-selected:focus-visible:ring-primary data-today:not-data-selected:text-primary data-highlighted:bg-primary/10 hover:not-data-selected:bg-primary/10"}},{color:"secondary",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-secondary/50 data-selected:text-secondary data-selected:focus-visible:ring-secondary data-today:not-data-selected:text-secondary data-highlighted:bg-secondary/10 hover:not-data-selected:bg-secondary/10"}},{color:"success",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-success/50 data-selected:text-success data-selected:focus-visible:ring-success data-today:not-data-selected:text-success data-highlighted:bg-success/10 hover:not-data-selected:bg-success/10"}},{color:"info",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-info/50 data-selected:text-info data-selected:focus-visible:ring-info data-today:not-data-selected:text-info data-highlighted:bg-info/10 hover:not-data-selected:bg-info/10"}},{color:"warning",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-warning/50 data-selected:text-warning data-selected:focus-visible:ring-warning data-today:not-data-selected:text-warning data-highlighted:bg-warning/10 hover:not-data-selected:bg-warning/10"}},{color:"error",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-error/50 data-selected:text-error data-selected:focus-visible:ring-error data-today:not-data-selected:text-error data-highlighted:bg-error/10 hover:not-data-selected:bg-error/10"}},{color:"primary",variant:"soft",class:{cellTrigger:"data-selected:bg-primary/10 data-selected:text-primary data-today:not-data-selected:text-primary data-highlighted:bg-primary/20 hover:not-data-selected:bg-primary/20"}},{color:"secondary",variant:"soft",class:{cellTrigger:"data-selected:bg-secondary/10 data-selected:text-secondary data-today:not-data-selected:text-secondary data-highlighted:bg-secondary/20 hover:not-data-selected:bg-secondary/20"}},{color:"success",variant:"soft",class:{cellTrigger:"data-selected:bg-success/10 data-selected:text-success data-today:not-data-selected:text-success data-highlighted:bg-success/20 hover:not-data-selected:bg-success/20"}},{color:"info",variant:"soft",class:{cellTrigger:"data-selected:bg-info/10 data-selected:text-info data-today:not-data-selected:text-info data-highlighted:bg-info/20 hover:not-data-selected:bg-info/20"}},{color:"warning",variant:"soft",class:{cellTrigger:"data-selected:bg-warning/10 data-selected:text-warning data-today:not-data-selected:text-warning data-highlighted:bg-warning/20 hover:not-data-selected:bg-warning/20"}},{color:"error",variant:"soft",class:{cellTrigger:"data-selected:bg-error/10 data-selected:text-error data-today:not-data-selected:text-error data-highlighted:bg-error/20 hover:not-data-selected:bg-error/20"}},{color:"primary",variant:"subtle",class:{cellTrigger:"data-selected:bg-primary/10 data-selected:text-primary data-selected:ring data-selected:ring-inset data-selected:ring-primary/25 data-selected:focus-visible:ring-primary data-today:not-data-selected:text-primary data-highlighted:bg-primary/20 hover:not-data-selected:bg-primary/20"}},{color:"secondary",variant:"subtle",class:{cellTrigger:"data-selected:bg-secondary/10 data-selected:text-secondary data-selected:ring data-selected:ring-inset data-selected:ring-secondary/25 data-selected:focus-visible:ring-secondary data-today:not-data-selected:text-secondary data-highlighted:bg-secondary/20 hover:not-data-selected:bg-secondary/20"}},{color:"success",variant:"subtle",class:{cellTrigger:"data-selected:bg-success/10 data-selected:text-success data-selected:ring data-selected:ring-inset data-selected:ring-success/25 data-selected:focus-visible:ring-success data-today:not-data-selected:text-success data-highlighted:bg-success/20 hover:not-data-selected:bg-success/20"}},{color:"info",variant:"subtle",class:{cellTrigger:"data-selected:bg-info/10 data-selected:text-info data-selected:ring data-selected:ring-inset data-selected:ring-info/25 data-selected:focus-visible:ring-info data-today:not-data-selected:text-info data-highlighted:bg-info/20 hover:not-data-selected:bg-info/20"}},{color:"warning",variant:"subtle",class:{cellTrigger:"data-selected:bg-warning/10 data-selected:text-warning data-selected:ring data-selected:ring-inset data-selected:ring-warning/25 data-selected:focus-visible:ring-warning data-today:not-data-selected:text-warning data-highlighted:bg-warning/20 hover:not-data-selected:bg-warning/20"}},{color:"error",variant:"subtle",class:{cellTrigger:"data-selected:bg-error/10 data-selected:text-error data-selected:ring data-selected:ring-inset data-selected:ring-error/25 data-selected:focus-visible:ring-error data-today:not-data-selected:text-error data-highlighted:bg-error/20 hover:not-data-selected:bg-error/20"}},{color:"neutral",variant:"solid",class:{cellTrigger:"data-selected:bg-inverted data-selected:text-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"}},{color:"neutral",variant:"outline",class:{cellTrigger:"data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:text-default data-selected:bg-default data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/10 hover:not-data-selected:bg-inverted/10"}},{color:"neutral",variant:"soft",class:{cellTrigger:"data-selected:bg-elevated data-selected:text-default data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"}},{color:"neutral",variant:"subtle",class:{cellTrigger:"data-selected:bg-elevated data-selected:text-default data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"}},{size:"xs",view:"day",class:{cellTrigger:"size-7"}},{size:"sm",view:"day",class:{cellTrigger:"size-7"}},{size:"md",view:"day",class:{cellTrigger:"size-8"}},{size:"lg",view:"day",class:{cellTrigger:"size-9 text-md"}},{size:"xl",view:"day",class:{cellTrigger:"size-10 text-lg"}},{size:"xs",view:["month","year"],class:{cellTrigger:"h-7 px-2"}},{size:"sm",view:["month","year"],class:{cellTrigger:"h-7 px-2"}},{size:"md",view:["month","year"],class:{cellTrigger:"h-8 px-3"}},{size:"lg",view:["month","year"],class:{cellTrigger:"h-9 px-4 text-md"}},{size:"xl",view:["month","year"],class:{cellTrigger:"h-10 px-5 text-lg"}},{view:"day",weekNumbers:!0,class:{gridRow:"grid-cols-8",gridWeekDaysRow:"grid-cols-8 [&>*:first-child]:col-start-2"}}],defaultVariants:{size:"md",color:"primary",variant:"solid",view:"day"}},o1e={__name:"Calendar",props:{as:{type:null,required:!1},type:{type:String,required:!1,default:"date"},nextYearIcon:{type:null,required:!1},nextYear:{type:Object,required:!1},nextMonthIcon:{type:null,required:!1},nextMonth:{type:Object,required:!1},prevYearIcon:{type:null,required:!1},prevYear:{type:Object,required:!1},prevMonthIcon:{type:null,required:!1},prevMonth:{type:Object,required:!1},viewControl:{type:[Boolean,Object],required:!1,default:!0},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},range:{type:Boolean,required:!1},multiple:{type:Boolean,required:!1},monthControls:{type:Boolean,required:!1,default:!0},yearControls:{type:Boolean,required:!1,default:!0},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},weekNumbers:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPlaceholder:{type:Object,required:!1},placeholder:{type:Object,required:!1},allowNonContiguousRanges:{type:Boolean,required:!1},pagedNavigation:{type:Boolean,required:!1},preventDeselect:{type:Boolean,required:!1},maximumDays:{type:Number,required:!1},weekStartsOn:{type:Number,required:!1},weekdayFormat:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!0},maxValue:{type:Object,required:!1},minValue:{type:Object,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1},disabled:{type:Boolean,required:!1},readonly:{type:Boolean,required:!1},initialFocus:{type:Boolean,required:!1},isDateDisabled:{type:Function,required:!1},isDateUnavailable:{type:Function,required:!1},isDateHighlightable:{type:Function,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1},fixedDate:{type:String,required:!1},isMonthDisabled:{type:Function,required:!1},isMonthUnavailable:{type:Function,required:!1},isYearDisabled:{type:Function,required:!1},isYearUnavailable:{type:Function,required:!1}},emits:["update:modelValue","update:placeholder","update:startValue","update:validModelValue"],setup(e,{emit:t}){const a=e,n=t,r=zt("calendar",a),{dir:s,t:o,locale:l}=js(),c=kt(),u=["day","month","year"],d=$(()=>r.type==="year"?"year":r.type==="month"?"month":"day"),f="year",p=E(d.value);Pe(()=>r.type,()=>{p.value=d.value});const m=$(()=>d.value!==f),g=$(()=>p.value===d.value);function y(ie){const ye=u.indexOf(d.value),de=u.indexOf(f);return u[Math.min(Math.max(u.indexOf(ie),ye),de)]}function _(ie){p.value=y(ie)}function v(){const ie=u.indexOf(f),ye=u.indexOf(p.value)>=ie?d.value:u[u.indexOf(p.value)+1];p.value=ye}function h(ie){if(Array.isArray(ie))return ie[0];if(ie){if("start"in ie||"end"in ie){const ye=ie;return ye.start??ye.end??void 0}return ie}}const k=pt(r.placeholder??h(r.modelValue)??h(r.defaultValue)??Ws(Mn()));Pe(()=>r.placeholder,ie=>{ie&&(k.value=ie)});function w(ie){k.value=ie,n("update:placeholder",ie)}function A(ie){if(g.value){n("update:modelValue",ie);return}const ye=h(ie);ye&&w(ye),_(u[u.indexOf(p.value)-1])}function M(ie,ye){return ye===-1?ie.subtract({years:1}):ie.add({years:1})}const S=$(()=>{const ie=r.range&&g.value;return p.value==="year"?ie?vF:hF:p.value==="month"?ie?pF:fF:r.range?gF:uF}),P=["type","placeholder","range","modelValue","defaultValue","color","variant","size","monthControls","yearControls","viewControl","class","ui"],D=["pagedNavigation","weekStartsOn","weekdayFormat","fixedWeeks","numberOfMonths","isDateDisabled","isDateUnavailable","isDateHighlightable","disableDaysOutsideCurrentView","maximumDays"],H=["isMonthDisabled","isMonthUnavailable"],Q=["isYearDisabled","isYearUnavailable"],G=["allowNonContiguousRanges","fixedDate"],V=Ma(Us(r,(ie,ye)=>P.includes(ye)||p.value!=="day"&&D.includes(ye)||p.value!=="month"&&H.includes(ye)||p.value!=="year"&&Q.includes(ye)||!g.value&&G.includes(ye)));function R(ie,ye){return p.value==="month"?{month:ie}:p.value==="year"?{year:ie}:{day:ie,month:ye}}const L=$(()=>r.nextYearIcon||(s.value==="rtl"?c.ui.icons.chevronDoubleLeft:c.ui.icons.chevronDoubleRight)),z=$(()=>r.nextMonthIcon||(s.value==="rtl"?c.ui.icons.chevronLeft:c.ui.icons.chevronRight)),le=$(()=>r.prevYearIcon||(s.value==="rtl"?c.ui.icons.chevronDoubleRight:c.ui.icons.chevronDoubleLeft)),K=$(()=>r.prevMonthIcon||(s.value==="rtl"?c.ui.icons.chevronRight:c.ui.icons.chevronLeft)),ce=$(()=>p.value==="day"?o("calendar.prevMonth"):o("calendar.prevYear")),Y=$(()=>p.value==="day"?o("calendar.nextMonth"):o("calendar.nextYear")),ve=$(()=>tt({extend:tt(s1e),...c.ui?.calendar||{}})({color:r.color,size:r.size,variant:r.variant,weekNumbers:r.weekNumbers,view:p.value}));return(ie,ye)=>(x(),N(i(S).Root,$e(i(V),{"model-value":g.value?i(r).modelValue:void 0,"default-value":g.value?i(r).defaultValue:void 0,placeholder:k.value,"data-slot":"root",class:ve.value.root({class:[i(r).ui?.root,i(r).class]}),"onUpdate:placeholder":w,"onUpdate:modelValue":A,"onUpdate:startValue":ye[0]||(ye[0]=de=>n("update:startValue",de)),"onUpdate:validModelValue":ye[1]||(ye[1]=de=>n("update:validModelValue",de))}),{default:T(({weekDays:de,grid:he,date:ge})=>[I(i(S).Header,{"data-slot":"header",class:xe(ve.value.header({class:i(r).ui?.header}))},{default:T(()=>[p.value==="day"&&i(r).yearControls?(x(),N(i(S).Prev,{key:0,"prev-page":O=>M(O,-1),"aria-label":i(o)("calendar.prevYear"),"as-child":""},{default:T(()=>[I(nt,$e({icon:le.value,size:i(r).size,color:"neutral",variant:"ghost"},i(r).prevYear),null,16,["icon","size"])]),_:1},8,["prev-page","aria-label"])):se("",!0),p.value!=="day"||i(r).monthControls?(x(),N(i(S).Prev,{key:1,"aria-label":ce.value,"as-child":""},{default:T(()=>[I(nt,$e({icon:K.value,size:i(r).size,color:"neutral",variant:"ghost"},i(r).prevMonth),null,16,["icon","size"])]),_:1},8,["aria-label"])):se("",!0),I(i(S).Heading,{"data-slot":"heading",class:xe(ve.value.heading({class:i(r).ui?.heading}))},{default:T(({headingValue:O})=>[Z(ie.$slots,"heading",{value:O,view:p.value,date:ge,setView:_,setPlaceholder:w},()=>[m.value&&i(r).viewControl?(x(),N(nt,$e({key:0,label:O,size:i(r).size,color:"neutral",variant:"ghost",block:""},typeof i(r).viewControl=="object"?i(r).viewControl:{},{onClick:v}),null,16,["label","size"])):(x(),F("span",{key:1,"data-slot":"headingLabel",class:xe(ve.value.headingLabel({class:i(r).ui?.headingLabel}))},C(O),3))])]),_:2},1032,["class"]),p.value!=="day"||i(r).monthControls?(x(),N(i(S).Next,{key:2,"aria-label":Y.value,"as-child":""},{default:T(()=>[I(nt,$e({icon:z.value,size:i(r).size,color:"neutral",variant:"ghost"},i(r).nextMonth),null,16,["icon","size"])]),_:1},8,["aria-label"])):se("",!0),p.value==="day"&&i(r).yearControls?(x(),N(i(S).Next,{key:3,"next-page":O=>M(O,1),"aria-label":i(o)("calendar.nextYear"),"as-child":""},{default:T(()=>[I(nt,$e({icon:L.value,size:i(r).size,color:"neutral",variant:"ghost"},i(r).nextYear),null,16,["icon","size"])]),_:1},8,["next-page","aria-label"])):se("",!0)]),_:2},1032,["class"]),b("div",{"data-slot":"body",class:xe(ve.value.body({class:i(r).ui?.body}))},[(x(!0),F(De,null,Ye(Array.isArray(he)?he:[he],O=>(x(),N(i(S).Grid,{key:O.value.toString(),"data-slot":"grid",class:xe(ve.value.grid({class:i(r).ui?.grid}))},{default:T(()=>["GridHead"in S.value?(x(),N(i(S).GridHead,{key:0},{default:T(()=>[I(i(S).GridRow,{"data-slot":"gridWeekDaysRow",class:xe(ve.value.gridWeekDaysRow({class:i(r).ui?.gridWeekDaysRow}))},{default:T(()=>[(x(!0),F(De,null,Ye(de,W=>(x(),N(i(S).HeadCell,{key:W,"data-slot":"headCell",class:xe(ve.value.headCell({class:i(r).ui?.headCell}))},{default:T(()=>[Z(ie.$slots,"week-day",{day:W},()=>[pe(C(W),1)])]),_:2},1032,["class"]))),128))]),_:2},1032,["class"])]),_:2},1024)):se("",!0),I(i(S).GridBody,{"data-slot":"gridBody",class:xe(ve.value.gridBody({class:i(r).ui?.gridBody}))},{default:T(()=>[(x(!0),F(De,null,Ye(O.rows,(W,j)=>(x(),N(i(S).GridRow,{key:`row-${j}`,"data-slot":"gridRow",class:xe(ve.value.gridRow({class:i(r).ui?.gridRow}))},{default:T(()=>[p.value==="day"&&i(r).weekNumbers&&W[0]?(x(),F("td",{key:0,role:"gridcell","data-slot":"cellWeek",class:xe(ve.value.cellWeek({class:i(r).ui?.cellWeek}))},C(i(kA)(W[0],i(r).locale??i(l).code)),3)):se("",!0),(x(!0),F(De,null,Ye(W,J=>(x(),N(i(S).Cell,{key:J.toString(),date:J,"data-slot":"cell",class:xe(ve.value.cell({class:i(r).ui?.cell}))},{default:T(()=>[I(i(S).CellTrigger,$e({ref_for:!0},R(J,O.value),{"data-slot":"cellTrigger",class:ve.value.cellTrigger({class:i(r).ui?.cellTrigger})}),{default:T(ne=>[p.value==="day"?Z(ie.$slots,"day",{key:0,day:J},()=>[pe(C(J.day),1)]):p.value==="month"?Z(ie.$slots,"month-cell",{key:1,month:J,selected:ne.selected,disabled:ne.disabled},()=>[pe(C(ne.monthValue),1)]):Z(ie.$slots,"year-cell",{key:2,year:J,selected:ne.selected,disabled:ne.disabled},()=>[pe(C(ne.yearValue),1)])]),_:2},1040,["class"])]),_:2},1032,["date","class"]))),128))]),_:2},1032,["class"]))),128))]),_:2},1032,["class"])]),_:2},1032,["class"]))),128))],2)]),_:3},16,["model-value","default-value","placeholder","class"]))}},i1e={key:0,class:"px-2 pb-2"},Zy=ue({__name:"DatePicker",props:{modelValue:{},placeholder:{default:""},clearable:{type:Boolean,default:!0},widthClass:{default:"w-32"},size:{default:"sm"}},emits:["update:modelValue"],setup(e,{emit:t}){const{t:a,locale:n}=ot(),r=e,s=t,o=E(!1),l=$(()=>n.value.startsWith("zh")?"zh-CN":n.value==="ja-JP"?"ja-JP":"en-US");function c(m){if(!m)return;const g=Ba(m);return new Nt(g.year(),g.month()+1,g.date())}function u(m){return m?`${m.year}-${String(m.month).padStart(2,"0")}-${String(m.day).padStart(2,"0")}`:""}const d=$({get:()=>c(r.modelValue),set:m=>{s("update:modelValue",u(m)),m&&(o.value=!1)}}),f=$(()=>r.modelValue?Ba(r.modelValue).format("YYYY/MM/DD"):"");function p(){s("update:modelValue",""),o.value=!1}return(m,g)=>{const y=nt,_=o1e,v=Pw;return x(),N(v,{open:o.value,"onUpdate:open":g[1]||(g[1]=h=>o.value=h),ui:{content:"z-[100]"}},{content:T(()=>[I(_,{modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=h=>d.value=h),"number-of-months":1,"fixed-weeks":!1,locale:l.value},null,8,["modelValue","locale"]),e.clearable?(x(),F("div",i1e,[I(y,{variant:"ghost",size:"xs",color:"neutral",class:"w-full",onClick:p},{default:T(()=>[pe(C(i(a)("common.datePicker.clearDate")),1)]),_:1})])):se("",!0)]),default:T(()=>[I(y,{label:f.value||e.placeholder||i(a)("common.datePicker.selectDate"),icon:"i-heroicons-calendar-days",variant:"outline",color:"neutral",size:e.size,class:xe([e.widthClass,"justify-start",{"text-gray-400":!f.value}])},null,8,["label","size","class"])]),_:1},8,["open"])}}});function gk(e){return e.groupNickname||e.accountName||e.platformId}function l1e(e){const t=gk(e),n=[e.aliases.filter(r=>r&&r!==t).join("、"),e.accountName,e.platformId].filter(r=>!!(r&&r!==t));return{id:e.id,label:t,secondary:n.join(" · "),messageCount:e.messageCount,avatar:e.avatar,member:e}}function c1e(e,t){const a=new Map;for(const n of e)a.set(n.id,n);for(const n of t)a.set(n.id,n);return[...a.values()]}function twe(e,t){return e==="group"||t>2}function eb(e){return typeof e!="string"?e:e.trim()||null}function u1e(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:"base"})}function awe(e,t,a){const n=t.trim().toLocaleLowerCase(),r=n?e.filter(l=>[l.accountName,l.groupNickname,l.platformId,...l.aliases].some(c=>c?.toLocaleLowerCase().includes(n))):e;if(a.field===null||a.direction===null)return[...r];const s=a.direction==="asc"?1:-1,o=a.field;return[...r].sort((l,c)=>{const u=eb(l[o]),d=eb(c[o]);return u===null&&d===null?l.id-c.id:u===null?1:d===null?-1:u1e(u,d)*s||l.id-c.id})}const d1e={class:"relative"},f1e={key:0,class:"absolute top-full left-0 z-[100] mt-1 w-80 rounded-md border border-gray-200 bg-white shadow-overlay dark:border-gray-800 dark:bg-gray-950"},p1e={key:0,class:"px-3 py-3 text-sm text-gray-500"},m1e={key:1,class:"px-3 py-3 text-sm text-gray-500"},g1e=["onClick"],h1e=["src","alt"],v1e={key:1,class:"flex h-7 w-7 shrink-0 items-center justify-center rounded bg-gray-200 text-xs font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-200"},y1e={class:"min-w-0 flex-1"},b1e={class:"truncate text-sm text-gray-800 dark:text-gray-100"},x1e={class:"truncate text-xs text-gray-500 dark:text-gray-400"},_1e={class:"shrink-0 text-xs text-gray-400"},w1e={key:2,class:"flex items-center justify-center gap-1 px-3 py-2 text-xs text-gray-400"},k1e=30,C1e=32,S1e=ue({__name:"MemberSearchSelect",props:{sessionId:{default:""},modelValue:{},memberName:{default:""},placeholder:{default:""},widthClass:{default:"w-40"}},emits:["update:modelValue","update:memberName","select","clear"],setup(e,{emit:t}){const{t:a}=ot(),n=e,r=t,s=E(!1),o=E(null),l=E(null),c=E(n.memberName),u=E([]),d=E(!1),f=E(0),p=E(0),m=E(0);let g=0;const y=$(()=>u.value.map(l1e)),_=$(()=>f.value>0&&f.value<p.value),v=$(()=>n.placeholder||a("common.memberSearchSelect.placeholder"));function h(){r("update:modelValue",null),r("update:memberName","")}async function k(H){if(!H&&(d.value||!_.value))return;if(!n.sessionId){u.value=[],f.value=0,p.value=0,m.value=0;return}const Q=H?1:f.value+1,G=++g;d.value=!0;try{const V=await Va().getMembersPaginated(n.sessionId,{page:Q,pageSize:k1e,search:c.value.trim(),sortOrder:"desc"});if(G!==g)return;u.value=H?V.items:c1e(u.value,V.items),f.value=V.page,p.value=V.totalPages,m.value=V.total}catch(V){console.error("Failed to load members for search select:",V),G===g&&H&&(u.value=[],f.value=0,p.value=0,m.value=0)}finally{G===g&&(d.value=!1)}}function w(){const H=l.value;if(!H||!_.value||d.value)return;H.scrollHeight-H.scrollTop-H.clientHeight<=C1e&&k(!1)}const A=X_(()=>{s.value&&k(!0)},250);function M(){n.modelValue!==null&&c.value!==n.memberName&&h(),c.value.trim()===""&&h(),A()}function S(){s.value=!0}zL(o,()=>{s.value=!1});function P(H){const Q=gk(H);c.value=Q,r("update:modelValue",H.id),r("update:memberName",Q),r("select",H),s.value=!1}function D(){c.value="",u.value=[],h(),r("clear"),s.value&&k(!0)}return Pe(()=>s.value,H=>{H&&k(!0)}),Pe(()=>n.memberName,H=>{(n.modelValue!==null||H==="")&&H!==c.value&&(c.value=H||"")}),Pe(()=>n.sessionId,()=>{c.value="",u.value=[],f.value=0,p.value=0,m.value=0,h()}),(H,Q)=>{const G=pa,V=Xe;return x(),F("div",{ref_key:"rootRef",ref:o,class:xe(["relative",e.widthClass])},[b("div",d1e,[I(G,{modelValue:c.value,"onUpdate:modelValue":[Q[0]||(Q[0]=R=>c.value=R),M],icon:"i-heroicons-user",placeholder:v.value,size:"sm",class:"w-full",disabled:!e.sessionId,onFocus:S,onClick:S,onKeydown:Q[1]||(Q[1]=ta(R=>s.value=!1,["escape"]))},null,8,["modelValue","placeholder","disabled"]),e.modelValue!==null||c.value?(x(),F("button",{key:0,type:"button",class:"absolute top-1/2 right-2 flex h-5 w-5 -translate-y-1/2 items-center justify-center rounded text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800 dark:hover:text-gray-200",onClick:ut(D,["stop"])},[I(V,{name:"i-heroicons-x-mark",class:"h-3.5 w-3.5"})])):se("",!0)]),s.value?(x(),F("div",f1e,[b("div",{ref_key:"listRef",ref:l,class:"max-h-80 overflow-y-auto py-1",onScroll:w},[d.value&&y.value.length===0?(x(),F("div",p1e,C(i(a)("common.loading")),1)):y.value.length===0?(x(),F("div",m1e,C(i(a)("common.noResults")),1)):se("",!0),(x(!0),F(De,null,Ye(y.value,R=>(x(),F("button",{key:R.id,type:"button",class:"flex w-full min-w-0 items-center gap-2 px-3 py-2 text-left hover:bg-gray-50 dark:hover:bg-gray-800",onClick:L=>P(R.member)},[R.avatar?(x(),F("img",{key:0,src:R.avatar,alt:R.label,class:"h-7 w-7 rounded object-cover"},null,8,h1e)):(x(),F("div",v1e,C(R.label.slice(0,1)),1)),b("div",y1e,[b("div",b1e,C(R.label),1),b("div",x1e,C(R.secondary||i(a)("common.memberSearchSelect.noSecondary")),1)]),b("span",_1e,C(R.messageCount),1)],8,g1e))),128)),d.value&&y.value.length>0?(x(),F("div",w1e,[I(V,{name:"i-heroicons-arrow-path",class:"h-3.5 w-3.5 animate-spin"}),b("span",null,C(i(a)("common.loading")),1)])):se("",!0)],544)])):se("",!0)],2)}}}),M1e={class:"border-b border-gray-200 px-4 py-3 dark:border-gray-800"},$1e={class:"flex items-center gap-3"},A1e={class:"flex items-center gap-2"},I1e={class:"mt-2 flex items-center gap-3"},T1e={class:"flex gap-2"},P1e=ue({__name:"FilterPanel",props:{query:{},sessionId:{}},emits:["apply","reset"],setup(e,{emit:t}){const{t:a}=ot(),n=e,r=t,s=E({messageId:"",memberId:null,memberName:"",keywords:"",startDate:"",endDate:""});Pe(()=>n.query,u=>{u&&(s.value={messageId:u.scrollToMessageId?.toString()||"",memberId:u.memberId??null,memberName:u.memberName||"",keywords:u.keywords?.join(", ")||"",startDate:u.startTs?Ba.unix(u.startTs).format("YYYY-MM-DD"):"",endDate:u.endTs?Ba.unix(u.endTs).format("YYYY-MM-DD"):""})},{immediate:!0});function o(){const u=s.value,d={},f=u.keywords&&u.keywords.trim();if(u.messageId&&!f){const p=parseInt(u.messageId,10);isNaN(p)||(d.scrollToMessageId=p)}if(u.memberId!==null&&(d.memberId=u.memberId,d.memberName=u.memberName),f){const p=u.keywords.split(/[,,]/).map(m=>m.trim()).filter(m=>m);p.length>0&&(d.keywords=p,d.highlightKeywords=p,s.value.messageId="")}u.startDate&&(d.startTs=Ba(u.startDate).startOf("day").unix()),u.endDate&&(d.endTs=Ba(u.endDate).endOf("day").unix()),r("apply",d)}function l(u){u.key==="Enter"&&(u.preventDefault(),o())}function c(){s.value={messageId:"",memberId:null,memberName:"",keywords:"",startDate:"",endDate:""},r("reset")}return(u,d)=>{const f=pa,p=nt;return x(),F("div",M1e,[b("div",$1e,[I(f,{modelValue:s.value.messageId,"onUpdate:modelValue":d[0]||(d[0]=m=>s.value.messageId=m),type:"number",placeholder:i(a)("records.filter.messageId"),size:"sm",class:"w-24"},null,8,["modelValue","placeholder"]),I(S1e,{modelValue:s.value.memberId,"onUpdate:modelValue":d[1]||(d[1]=m=>s.value.memberId=m),"member-name":s.value.memberName,"onUpdate:memberName":d[2]||(d[2]=m=>s.value.memberName=m),"session-id":e.sessionId,placeholder:i(a)("records.filter.memberPlaceholder"),"width-class":"w-36",onSelect:o,onClear:o},null,8,["modelValue","member-name","session-id","placeholder"]),b("div",A1e,[I(i(Zy),{modelValue:s.value.startDate,"onUpdate:modelValue":d[3]||(d[3]=m=>s.value.startDate=m),placeholder:i(a)("records.filter.startDate")},null,8,["modelValue","placeholder"]),d[6]||(d[6]=b("span",{class:"text-xs text-gray-400"},"~",-1)),I(i(Zy),{modelValue:s.value.endDate,"onUpdate:modelValue":d[4]||(d[4]=m=>s.value.endDate=m),placeholder:i(a)("records.filter.endDate")},null,8,["modelValue","placeholder"])])]),b("div",I1e,[I(f,{modelValue:s.value.keywords,"onUpdate:modelValue":d[5]||(d[5]=m=>s.value.keywords=m),placeholder:i(a)("records.filter.keywordsPlaceholder"),size:"sm",class:"flex-1",onKeydown:l},null,8,["modelValue","placeholder"]),b("div",T1e,[I(p,{color:"neutral",variant:"ghost",size:"sm",onClick:c},{default:T(()=>[pe(C(i(a)("records.filter.reset")),1)]),_:1}),I(p,{color:"primary",size:"sm",onClick:o},{default:T(()=>[pe(C(i(a)("records.filter.filter")),1)]),_:1})])])])}}}),hk=3,D1e=8,E1e=.35,R1e=.25,O1e=6,tb=32;function L1e(e){return e.replace(/\r\n?/g,`
43
+ `)}function q1e(e){let t=0,a=e.length;for(;t<a&&e[t].trim()==="";)t+=1;for(;a>t&&e[a-1].trim()==="";)a-=1;return e.slice(t,a)}function vk(e){const t=e.trim();if(!t)return!1;if(/^https?:\/\//i.test(t)&&t.length>=tb||/^(?:true|false|null|undefined|-?\d+)$/i.test(t)||/^[0-9a-f]{24,}$/i.test(t)||/^[a-z0-9_-]+_[a-z0-9_-]{8,}$/i.test(t)||/^[a-z0-9+/=_-]{24,}$/i.test(t)&&/[a-z]/i.test(t)&&/\d/.test(t)||!/\s/.test(t)&&t.length>=tb&&/^[\w+/=:%.-]+$/.test(t))return!0;const r=(t.match(/[\p{Script=Han}\p{Letter}]/gu)??[]).length/t.length;return t.length>=16&&r<.25}function N1e(e){return e.trim()===""?!0:/^\s+/.test(e)||e.includes(" ")}function F1e(e){return e.match(/<\/?[A-Za-z_][\w:.-]*(?:\s[^<>]*)?>/g)?.length??0}function V1e(e){const t=e.trim();return/^(?:<\?xml[\s\S]*?\?>\s*)?<[A-Za-z_][\w:.-]*(?:\s[^<>]*)?>/.test(t)?F1e(t)>=O1e:!1}function yk(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&amp;/g,"&")}function B1e(e){return e.replace(/<\?xml[\s\S]*?\?>/gi,`
44
+ `).replace(/<!--[\s\S]*?-->/g,`
45
+ `).replace(/<!\[CDATA\[([\s\S]*?)\]\]>/g,`
46
+ $1
47
+ `).replace(/<[^>]+>/g,`
48
+ `).split(`
49
+ `).map(a=>yk(a).trim()).filter(a=>a&&!vk(a)).slice(0,hk)}function z1e(e){const a=yk(e).match(/https?:\/\/[^\s<>"']+/gi)??[],n=new Set;for(const r of a)try{const s=new URL(r);(s.protocol==="http:"||s.protocol==="https:")&&n.add(s.toString())}catch{}return[...n]}function H1e(e){const t=q1e(L1e(e).split(`
50
+ `)),a=t.join(`
51
+ `),n=t.filter(f=>f.trim()!==""),r=V1e(a)?B1e(a):[],s=r.length>0?r:n.slice(0,hk).map(f=>f.trim());if(r.length>0)return{shouldCollapse:!0,normalizedContent:a,previewLines:s,hiddenLineCount:Math.max(n.length-s.length,0),linkUrls:z1e(a)};if(n.length<D1e)return{shouldCollapse:!1,normalizedContent:a,previewLines:s,hiddenLineCount:Math.max(n.length-s.length,0),linkUrls:[]};const o=n.filter(vk).length,l=t.filter(N1e).length,c=o/n.length,u=l/t.length;return{shouldCollapse:c>=E1e&&u>=R1e,normalizedContent:a,previewLines:s,hiddenLineCount:Math.max(n.length-s.length,0),linkUrls:[]}}const U1e=["src","alt"],j1e={key:1},W1e={key:0,class:"mb-2 border-l-2 border-pink-400 dark:border-pink-500 pl-2.5 py-1 text-xs text-gray-500 dark:text-gray-400 bg-gray-500/5 dark:bg-white/5 rounded-r"},K1e={class:"font-medium text-gray-600 dark:text-gray-300"},G1e={key:0,class:"ml-1 font-semibold text-gray-700 dark:text-gray-200"},Y1e={key:1,class:"mt-1 line-clamp-2 italic text-gray-500 dark:text-gray-400 leading-normal"},X1e=["innerHTML"],J1e={key:1,class:"chat-record-message-content mt-2 min-w-0 max-w-full list-disc space-y-1 pl-4 text-xs text-primary-600 dark:text-primary-400"},Q1e=["href"],Z1e=["title"],e2e="bg-gray-100/80 dark:bg-gray-800/80",t2e="bg-transparent text-inherit underline decoration-primary-500/80 underline-offset-4 dark:decoration-primary-400/80",a2e=ue({__name:"MessageItem",props:{message:{},isTarget:{type:Boolean},highlightKeywords:{},isFiltered:{type:Boolean}},emits:["view-context"],setup(e,{emit:t}){const{t:a}=ot(),n=e,r=Ja(),s=$(()=>{const h=r.currentSession?.ownerId;return h?n.message.senderPlatformId===h:!1}),o=$(()=>{const h=n.message.senderName||"";let k=0;for(let w=0;w<h.length;w++)k=h.charCodeAt(w)+((k<<5)-k);return Math.abs(k)%16}),l=[{avatar:"bg-rose-400 dark:bg-rose-500",name:"text-rose-600 dark:text-rose-400"},{avatar:"bg-pink-400 dark:bg-pink-500",name:"text-pink-600 dark:text-pink-400"},{avatar:"bg-fuchsia-400 dark:bg-fuchsia-500",name:"text-fuchsia-600 dark:text-fuchsia-400"},{avatar:"bg-purple-400 dark:bg-purple-500",name:"text-purple-600 dark:text-purple-400"},{avatar:"bg-violet-400 dark:bg-violet-500",name:"text-violet-600 dark:text-violet-400"},{avatar:"bg-indigo-400 dark:bg-indigo-500",name:"text-indigo-600 dark:text-indigo-400"},{avatar:"bg-blue-400 dark:bg-blue-500",name:"text-blue-600 dark:text-blue-400"},{avatar:"bg-sky-400 dark:bg-sky-500",name:"text-sky-600 dark:text-sky-400"},{avatar:"bg-cyan-400 dark:bg-cyan-500",name:"text-cyan-600 dark:text-cyan-400"},{avatar:"bg-teal-400 dark:bg-teal-500",name:"text-teal-600 dark:text-teal-400"},{avatar:"bg-emerald-400 dark:bg-emerald-500",name:"text-emerald-600 dark:text-emerald-400"},{avatar:"bg-green-400 dark:bg-green-500",name:"text-green-600 dark:text-green-400"},{avatar:"bg-lime-500 dark:bg-lime-600",name:"text-lime-600 dark:text-lime-400"},{avatar:"bg-amber-400 dark:bg-amber-500",name:"text-amber-600 dark:text-amber-400"},{avatar:"bg-orange-400 dark:bg-orange-500",name:"text-orange-600 dark:text-orange-400"},{avatar:"bg-red-400 dark:bg-red-500",name:"text-red-600 dark:text-red-400"}],c=$(()=>l[o.value]),u=$(()=>c.value.avatar),d=$(()=>c.value.name),f=E(!1),p=$(()=>H1e(n.message.content||"")),m=$(()=>{const h=p.value;return!h.shouldCollapse||f.value?h.normalizedContent:h.previewLines.join(`
52
+ `)});Pe(()=>[n.message.id,n.message.content],()=>{f.value=!1});const g=$(()=>{const h=n.message.senderName||"",k=n.message.senderAliases||[];return k.length>0?`${h}(${k[0]})`:h}),y=$(()=>{const h=n.message.senderName||"";if(!h)return"?";try{const w=[...new Intl.Segmenter("zh",{granularity:"grapheme"}).segment(h)];if(w.length>0)return w[0].segment}catch{const k=[...h];if(k.length>0){const w=k[0];return/^[a-zA-Z]$/.test(w)?w.toUpperCase():w}}return"?"});function _(h){return h.replace(/[&<>"']/g,k=>{switch(k){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#39;";default:return k}})}function v(h){const k=_(h),w=n.highlightKeywords?.map(S=>_(S)).filter(Boolean)??[];if(!w.length||!k)return k;const A=w.map(S=>S.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),M=new RegExp(`(${A})`,"gi");return k.replace(M,`<mark class="${t2e}">$1</mark>`)}return(h,k)=>{const w=Xe;return x(),F("div",{class:xe(["group px-4 py-2.5 transition-all duration-300",[e.isTarget?"bg-primary-500/5 dark:bg-primary-500/10":"hover:bg-gray-50/40 dark:hover:bg-gray-900/10"]])},[b("div",{class:xe(["flex gap-3",s.value?"flex-row-reverse":""])},[b("div",{class:xe(["flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-sm font-medium text-white overflow-hidden",e.message.senderAvatar?"":u.value])},[e.message.senderAvatar?(x(),F("img",{key:0,src:e.message.senderAvatar,alt:e.message.senderName,class:"h-full w-full object-cover"},null,8,U1e)):(x(),F("span",j1e,C(y.value),1))],2),b("div",{class:xe(["min-w-0 flex-1",s.value?"flex flex-col items-end":""])},[b("div",{class:xe(["mb-1 flex items-center gap-2",s.value?"flex-row-reverse":""])},[b("span",{class:xe(["text-sm font-medium",d.value])},C(g.value),3)],2),b("div",{class:xe(["flex min-w-0 max-w-[calc(100%-68px)] items-start gap-1",s.value?"flex-row-reverse":""])},[b("div",{class:xe(["relative min-w-0 max-w-full rounded-2xl border border-gray-100 px-3.5 py-2.5 transition-all duration-300 dark:border-gray-800/40",e2e])},[e.message.replyToMessageId?(x(),F("div",W1e,[b("span",K1e,C(i(a)("records.messageItem.replyTo")),1),e.message.replyToSenderName?(x(),F("span",G1e,C(e.message.replyToSenderName),1)):se("",!0),e.message.replyToContent?(x(),F("p",Y1e,C(e.message.replyToContent),1)):se("",!0)])):se("",!0),b("p",{class:"chat-record-message-content whitespace-pre-wrap break-all text-sm text-gray-700 dark:text-gray-200",innerHTML:v(m.value)},null,8,X1e),p.value.linkUrls.length?(x(),F("ul",J1e,[(x(!0),F(De,null,Ye(p.value.linkUrls,A=>(x(),F("li",{key:A,class:"min-w-0"},[b("a",{href:A,target:"_blank",rel:"noopener noreferrer",class:"block min-w-0 max-w-full truncate transition-colors hover:text-primary-700 dark:hover:text-primary-300",onClick:k[0]||(k[0]=ut(()=>{},["stop"]))},C(A),9,Q1e)]))),128))])):se("",!0),p.value.shouldCollapse?(x(),F("button",{key:2,type:"button",class:"mt-2 inline-flex items-center gap-1 text-xs font-medium text-gray-500 transition-colors select-none hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 cursor-pointer",onClick:k[1]||(k[1]=A=>f.value=!f.value)},[I(w,{name:f.value?"i-heroicons-chevron-up":"i-heroicons-chevron-down",class:"h-3.5 w-3.5"},null,8,["name"]),b("span",null,C(f.value?i(a)("records.messageItem.collapseMessyContent"):i(a)("records.messageItem.expandMessyContent")),1)])):se("",!0)]),e.isFiltered?(x(),F("button",{key:0,class:"mt-1 flex h-6 w-6 items-center justify-center rounded-lg opacity-0 transition-all duration-200 hover:bg-gray-100 dark:hover:bg-gray-800 hover:text-pink-500 dark:hover:text-pink-400 active:scale-95 group-hover:opacity-100 cursor-pointer",title:i(a)("records.messageItem.viewContext"),onClick:k[2]||(k[2]=A=>h.$emit("view-context",e.message.id))},[I(w,{name:"i-heroicons-chat-bubble-left-ellipsis",class:"h-4 w-4"})],8,Z1e)):se("",!0)],2)],2)],2)],2)}}});function bk(e,t){return e.sessionId?.trim()||t||null}function Vf(e,t){const a=t.sessionId?.trim();return a?{...e,sessionId:a}:e}const n2e={class:"flex h-full flex-col overflow-hidden"},r2e={key:0,class:"flex h-full items-center justify-center"},s2e={class:"text-center"},o2e={class:"mt-2 text-sm text-gray-500"},i2e={key:1,class:"flex h-full items-center justify-center"},l2e={class:"text-center"},c2e={class:"mt-2 text-sm text-gray-500"},u2e={class:"mt-1 text-xs text-gray-400"},d2e={key:0,class:"flex justify-center py-2"},f2e={key:0,class:"text-xs text-gray-400"},p2e={key:1,class:"text-xs text-gray-400"},m2e=["data-index"],g2e={key:0,class:"flex items-center justify-center py-2"},h2e={class:"flex items-center gap-2 text-xs text-gray-400"},v2e={key:1,class:"flex justify-center py-2"},y2e={key:0,class:"text-xs text-gray-400"},b2e={key:1,class:"text-xs text-gray-400"},x2e=300,ab=80,_2e=ue({__name:"MessageList",props:{query:{},externalMessages:{default:void 0},hitMessageIds:{default:()=>[]},externalScrollBehavior:{default:"top"}},emits:["count-change","visible-message-change","jump-to-message","reach-bottom","reach-top","message-timestamps-change"],setup(e,{expose:t,emit:a}){const{t:n}=ot(),r=e,s=a,o=Ja(),l=$(()=>bk(r.query,o.currentSessionId)),c=$(()=>!!r.externalMessages?.length),u=$(()=>{if(c.value)return!1;const de=r.query;return!!(de.memberId||de.keywords?.length)}),d=E([]),f=E(!1),p=E(!1),m=E(!1),g=E(!1),y=E(!1),_=E(0),v=E(null),h=E(null),k=Md($(()=>({count:d.value.length,getScrollElement:()=>v.value,estimateSize:()=>ab,overscan:10,getItemKey:de=>d.value[de]?.id??de}))),w=$(()=>k.value.getVirtualItems()),A=$(()=>k.value.getTotalSize());function M(de){return{filter:de.startTs||de.endTs?{startTs:de.startTs,endTs:de.endTs}:void 0,senderId:de.memberId,keywords:de.keywords?[...rt(de.keywords)]:void 0}}function S(de){return de.map(he=>({...he,replyToMessageId:he.replyToMessageId??null,replyToContent:he.replyToContent??null,replyToSenderName:he.replyToSenderName??null}))}let P=0;async function D(){if(c.value){const he=r.externalMessages.length,ge=P>0&&he>P;d.value=r.externalMessages,m.value=!1,g.value=!1,y.value=!1,s("count-change",d.value.length),P=he,await je(),r.externalScrollBehavior==="preserve"&&ge||H();return}const de=l.value;if(!de){d.value=[],s("count-change",0);return}f.value=!0,d.value=[],h.value=null;try{const he=rt(r.query),{filter:ge,senderId:O,keywords:W}=M(he),j=he.scrollToMessageId;if(j){const ne=co(),[U,q]=await Promise.all([ne.getMessagesBefore(de,j,50,ge,O,W),ne.getMessagesAfter(de,j,50,ge,O,W)]),oe=await ne.getMessageContext(de,j,0);d.value=S([...U.messages,...oe,...q.messages]),m.value=U.hasMore,g.value=q.hasMore,h.value=j}else if(W&&W.length>0||O!=null){y.value=!0,_.value=0;const ne=await co().searchMessages(de,W??[],ge,100,0,O);d.value=S(ne.messages),m.value=!1,_.value=ne.messages.length,g.value=_.value<ne.total,await je(),H()}else{y.value=!1,_.value=0;const ne=await co().getAllRecentMessages(de,ge,100);d.value=S(ne.messages),m.value=ne.messages.length>=100,g.value=!1,await je(),setTimeout(()=>{Q()},50)}s("count-change",d.value.length);const J=d.value.map(ne=>ne.timestamp);s("message-timestamps-change",J),h.value&&(await je(),setTimeout(()=>{h.value&&(R(h.value),h.value=null)},100))}catch(he){console.error("加载消息失败:",he),d.value=[],s("count-change",0)}finally{f.value=!1}}function H(){k.value.scrollToOffset(0)}function Q(){d.value.length!==0&&(k.value.scrollToIndex(d.value.length-1,{align:"end"}),requestAnimationFrame(()=>{const de=v.value;de&&(de.scrollTop=de.scrollHeight)}))}async function G(){if(p.value||!m.value||d.value.length===0)return;const de=l.value;if(!de)return;const he=d.value[0];if(he){p.value=!0;try{const ge=rt(r.query),{filter:O,senderId:W,keywords:j}=M(ge),J=await co().getMessagesBefore(de,he.id,50,O,W,j);if(J.messages.length>0){const ne=k.value.scrollOffset??0,U=[...S(J.messages),...d.value];d.value=U,await je();const oe=J.messages.length*ab;k.value.scrollToOffset(ne+oe),s("count-change",d.value.length),s("message-timestamps-change",d.value.map(_e=>_e.timestamp))}m.value=J.hasMore}catch(ge){console.error("加载更早消息失败:",ge)}finally{p.value=!1}}}async function V(){if(p.value||!g.value||d.value.length===0)return;const de=l.value;if(de){p.value=!0;try{const he=rt(r.query),{filter:ge,senderId:O,keywords:W}=M(he);if(y.value){const j=await co().searchMessages(de,W??[],ge,50,_.value,O);j.messages.length>0&&(d.value=[...d.value,...S(j.messages)],_.value+=j.messages.length,s("count-change",d.value.length),s("message-timestamps-change",d.value.map(J=>J.timestamp))),g.value=_.value<j.total}else{const j=d.value[d.value.length-1];if(!j)return;const J=await co().getMessagesAfter(de,j.id,50,ge,O,W);J.messages.length>0&&(d.value=[...d.value,...S(J.messages)],s("count-change",d.value.length),s("message-timestamps-change",d.value.map(ne=>ne.timestamp))),g.value=J.hasMore}}catch(he){console.error("加载更多消息失败:",he)}finally{p.value=!1}}}function R(de){const he=d.value.findIndex(ge=>ge.id===de);he!==-1&&k.value.scrollToIndex(he,{align:"center"})}function L(){const de=v.value;if(!de)return;const he=de.scrollHeight-de.scrollTop-de.clientHeight;c.value&&(de.scrollTop<50&&s("reach-top"),he<50&&s("reach-bottom")),!c.value&&!p.value&&(de.scrollTop<100&&m.value&&G(),he<100&&g.value&&V()),K()}let z=null,le=0;function K(){z||(z=setTimeout(()=>{z=null,ce()},150))}function ce(){const de=w.value;if(de.length===0)return;const he=Math.floor(de.length/2),ge=de[he];if(!ge)return;const O=d.value[ge.index];O&&O.id!==le&&(le=O.id,s("visible-message-change",{id:O.id,timestamp:O.timestamp}))}function Y(de){return c.value&&r.hitMessageIds?.length?r.hitMessageIds.includes(de):de===r.query.scrollToMessageId}function ve(de){const he=d.value[de];if(!he)return null;const ge=de>0?d.value[de-1]:null;if(!ge)return ie(he.timestamp);const O=he.timestamp,W=ge.timestamp,j=O-W,J=Ba.unix(O).startOf("day"),ne=Ba.unix(W).startOf("day");return!J.isSame(ne)||j>=x2e?ie(O):null}function ie(de){const he=Ba.unix(de),ge=Ba().startOf("day");return he.isSame(ge,"day")?he.format("HH:mm"):he.format("YYYY-MM-DD HH:mm")}function ye(de){de&&k.value.measureElement(de)}return Pe(()=>r.query,()=>{c.value||D()},{deep:!0}),Pe(()=>r.externalMessages,()=>{c.value&&D()},{deep:!0,immediate:!0}),Ft(()=>{z&&(clearTimeout(z),z=null)}),t({refresh:D,scrollToMessage:R}),(de,he)=>{const ge=Xe;return x(),F("div",n2e,[f.value?(x(),F("div",r2e,[b("div",s2e,[I(ge,{name:"i-heroicons-arrow-path",class:"h-8 w-8 animate-spin text-gray-400"}),b("p",o2e,C(i(n)("records.messageList.loading")),1)])])):d.value.length===0?(x(),F("div",i2e,[b("div",l2e,[I(ge,{name:"i-heroicons-chat-bubble-left-right",class:"h-12 w-12 text-gray-300 dark:text-gray-600"}),b("p",c2e,C(i(n)("records.messageList.noMessages")),1),b("p",u2e,C(i(n)("records.messageList.tryAdjustFilter")),1)])])):(x(),F("div",{key:2,ref_key:"scrollContainerRef",ref:v,class:"h-full overflow-y-auto",onScroll:L},[m.value?(x(),F("div",d2e,[p.value?(x(),F("span",f2e,[I(ge,{name:"i-heroicons-arrow-path",class:"mr-1 inline h-3 w-3 animate-spin"}),pe(" "+C(i(n)("records.messageList.loadingMore")),1)])):(x(),F("span",p2e,C(i(n)("records.messageList.scrollUpForMore")),1))])):se("",!0),b("div",{class:"relative w-full",style:Tt({height:`${A.value}px`})},[(x(!0),F(De,null,Ye(w.value,O=>(x(),F("div",{key:String(O.key),ref_for:!0,ref:W=>ye(W),class:"absolute left-0 top-0 w-full",style:Tt({transform:`translateY(${O.start}px)`}),"data-index":O.index},[ve(O.index)?(x(),F("div",g2e,[b("div",h2e,[he[1]||(he[1]=b("div",{class:"h-px w-8 bg-gray-200 dark:bg-gray-700"},null,-1)),b("span",null,C(ve(O.index)),1),he[2]||(he[2]=b("div",{class:"h-px w-8 bg-gray-200 dark:bg-gray-700"},null,-1))])])):se("",!0),I(a2e,{"data-message-id":d.value[O.index]?.id,message:d.value[O.index],"is-target":Y(d.value[O.index]?.id??0),"highlight-keywords":e.query.highlightKeywords,"is-filtered":u.value,onViewContext:he[0]||(he[0]=W=>s("jump-to-message",W))},null,8,["data-message-id","message","is-target","highlight-keywords","is-filtered"])],12,m2e))),128))],4),g.value?(x(),F("div",v2e,[p.value?(x(),F("span",y2e,[I(ge,{name:"i-heroicons-arrow-path",class:"mr-1 inline h-3 w-3 animate-spin"}),pe(" "+C(i(n)("records.messageList.loadingMore")),1)])):(x(),F("span",b2e,C(i(n)("records.messageList.scrollDownForMore")),1))])):se("",!0)],544))])}}}),w2e={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},k2e={__name:"Card",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){const t=e,a=fa(),n=zt("card",t),r=kt(),s=$(()=>tt({extend:tt(w2e),...r.ui?.card||{}})({variant:n.variant}));return(o,l)=>(x(),N(i(Te),{as:i(n).as,"data-slot":"root",class:xe(s.value.root({class:[i(n).ui?.root,i(n).class]}))},{default:T(()=>[a.header||i(n).title||a.title||i(n).description||a.description?(x(),F("div",{key:0,"data-slot":"header",class:xe(s.value.header({class:i(n).ui?.header}))},[Z(o.$slots,"header",{},()=>[i(n).title||a.title?(x(),F("div",{key:0,"data-slot":"title",class:xe(s.value.title({class:i(n).ui?.title}))},[Z(o.$slots,"title",{},()=>[pe(C(i(n).title),1)])],2)):se("",!0),i(n).description||a.description?(x(),F("div",{key:1,"data-slot":"description",class:xe(s.value.description({class:i(n).ui?.description}))},[Z(o.$slots,"description",{},()=>[pe(C(i(n).description),1)])],2)):se("",!0)])],2)):se("",!0),a.default?(x(),F("div",{key:1,"data-slot":"body",class:xe(s.value.body({class:i(n).ui?.body}))},[Z(o.$slots,"default")],2)):se("",!0),a.footer?(x(),F("div",{key:2,"data-slot":"footer",class:xe(s.value.footer({class:i(n).ui?.footer}))},[Z(o.$slots,"footer")],2)):se("",!0)]),_:3},8,["as","class"]))}},C2e={slots:{root:"relative flex items-center select-none touch-none",track:"relative bg-accented overflow-hidden rounded-full grow",range:"absolute rounded-full",thumb:"rounded-full bg-default ring-2 focus-visible:outline-3 focus-visible:outline-offset-2"},variants:{color:{primary:{range:"bg-primary",thumb:"ring-primary outline-primary/25"},secondary:{range:"bg-secondary",thumb:"ring-secondary outline-secondary/25"},success:{range:"bg-success",thumb:"ring-success outline-success/25"},info:{range:"bg-info",thumb:"ring-info outline-info/25"},warning:{range:"bg-warning",thumb:"ring-warning outline-warning/25"},error:{range:"bg-error",thumb:"ring-error outline-error/25"},neutral:{range:"bg-inverted",thumb:"ring-inverted outline-inverted/25"}},size:{xs:{thumb:"size-3"},sm:{thumb:"size-3.5"},md:{thumb:"size-4"},lg:{thumb:"size-4.5"},xl:{thumb:"size-5"}},orientation:{horizontal:{root:"w-full",range:"h-full"},vertical:{root:"flex-col h-full",range:"w-full"}},disabled:{true:{root:"opacity-75 cursor-not-allowed"}}},compoundVariants:[{orientation:"horizontal",size:"xs",class:{track:"h-[6px]"}},{orientation:"horizontal",size:"sm",class:{track:"h-[7px]"}},{orientation:"horizontal",size:"md",class:{track:"h-[8px]"}},{orientation:"horizontal",size:"lg",class:{track:"h-[9px]"}},{orientation:"horizontal",size:"xl",class:{track:"h-[10px]"}},{orientation:"vertical",size:"xs",class:{track:"w-[6px]"}},{orientation:"vertical",size:"sm",class:{track:"w-[7px]"}},{orientation:"vertical",size:"md",class:{track:"w-[8px]"}},{orientation:"vertical",size:"lg",class:{track:"w-[9px]"}},{orientation:"vertical",size:"xl",class:{track:"w-[10px]"}}],defaultVariants:{size:"md",color:"primary"}},S2e={__name:"Slider",props:wr({as:{type:null,required:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},tooltip:{type:[Boolean,Object],required:!1},defaultValue:{type:[Number,Array],required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},name:{type:String,required:!1},disabled:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},minStepsBetweenThumbs:{type:Number,required:!1}},{modelValue:{type:null},modelModifiers:{}}),emits:wr(["change"],["update:modelValue"]),setup(e,{emit:t}){const a=e,n=t,r=zt("slider",a),s=Tl(e,"modelValue"),o=kt(),l=Ma(xa(r,"as","orientation","min","max","step","minStepsBetweenThumbs","inverted"),n),{id:c,emitFormChange:u,emitFormInput:d,size:f,color:p,name:m,disabled:g,ariaAttrs:y}=gi(a),_=$(()=>typeof r.defaultValue=="number"?[r.defaultValue]:r.defaultValue),v=$({get(){return typeof s.value=="number"?[s.value]:s.value??_.value},set(A){s.value=A?.length!==1?A:A[0]}}),h=$(()=>v.value?.length??1),k=$(()=>tt({extend:tt(C2e),...o.ui?.slider||{}})({disabled:g.value,size:f.value??r.size,color:p.value??r.color,orientation:r.orientation}));function w(A){const M=new Event("change",{target:{value:A}});n("change",M),u()}return(A,M)=>(x(),N(i(XT),$e({...i(l),...i(y)},{id:i(c),modelValue:v.value,"onUpdate:modelValue":[M[0]||(M[0]=S=>v.value=S),M[1]||(M[1]=S=>i(d)())],name:i(m),disabled:i(g),"data-slot":"root",class:k.value.root({class:[i(r).ui?.root,i(r).class]}),"default-value":_.value,onValueCommit:w}),{default:T(()=>[I(i(rP),{"data-slot":"track",class:xe(k.value.track({class:i(r).ui?.track}))},{default:T(()=>[I(i(ZT),{"data-slot":"range",class:xe(k.value.range({class:i(r).ui?.range}))},null,8,["class"])]),_:1},8,["class"]),(x(!0),F(De,null,Ye(h.value,S=>(x(),F(De,{key:S},[i(r).tooltip?(x(),N(hi,$e({key:0,text:h.value>1?String(v.value?.[S-1]):String(v.value),"disable-closing-trigger":""},{ref_for:!0},typeof i(r).tooltip=="object"?i(r).tooltip:{}),{default:T(()=>[I(i(n0),{"data-slot":"thumb",class:xe(k.value.thumb({class:i(r).ui?.thumb})),"aria-label":h.value===1?"Thumb":`Thumb ${S} of ${h.value}`},null,8,["class","aria-label"])]),_:2},1040,["text"])):(x(),N(i(n0),{key:1,"data-slot":"thumb",class:xe(k.value.thumb({class:i(r).ui?.thumb})),"aria-label":h.value===1?"Thumb":`Thumb ${S} of ${h.value}`},null,8,["class","aria-label"]))],64))),128))]),_:1},16,["id","modelValue","name","disabled","class","default-value"]))}};function M2e(e){e.value=!0}function $2e(e,t,a,n){return[e,t,a,!1,n]}const A2e={class:"flex items-center justify-between"},I2e={class:"text-lg font-semibold"},T2e={class:"space-y-4"},P2e={class:"flex gap-2 border-b border-gray-200 dark:border-gray-700 pb-3"},D2e={key:0},E2e={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},R2e={class:"space-y-3"},O2e={class:"flex items-center gap-4"},L2e={class:"text-lg font-semibold text-primary-600 dark:text-primary-400 min-w-[4rem] text-right"},q2e={class:"text-xs text-gray-500 flex justify-between"},N2e={key:0},F2e={key:1},V2e={class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},B2e={class:"flex flex-wrap gap-2"},z2e={key:0,class:"mt-3 flex items-center gap-2"},H2e={key:2,class:"text-sm text-gray-600 dark:text-gray-400"},U2e={key:0,class:"text-gray-500"},j2e={key:0,class:"text-green-600 dark:text-green-400"},W2e={key:2,class:"text-gray-400"},K2e={key:0,class:"mt-1 font-medium"},G2e={key:1,class:"mt-1 text-gray-400"},Y2e={key:1,class:"text-gray-400"},X2e={key:3,class:"flex items-center gap-2 text-sm text-gray-500"},J2e={key:4,class:"flex items-center gap-2 text-sm text-gray-500"},Q2e={key:5,class:"space-y-2"},Z2e={class:"flex items-center justify-between text-sm"},exe={key:1,class:"h-2 w-full rounded-full bg-green-500"},txe={class:"flex items-center gap-2"},axe={class:"flex-1 font-medium"},nxe={key:0,class:"pl-6 text-xs text-gray-600 dark:text-gray-400 line-clamp-2"},rxe={key:1,class:"pl-6 text-xs text-red-500"},sxe={key:2,class:"pl-6 text-xs text-gray-400 italic"},oxe={key:7,class:"flex items-center gap-4 text-sm"},ixe={class:"text-green-600 dark:text-green-400"},lxe={key:0,class:"text-red-600 dark:text-red-400"},cxe={key:1,class:"text-gray-500"},uxe={class:"flex justify-end gap-2"},dxe=ue({__name:"BatchSummaryModal",props:{open:{type:Boolean},sessionId:{}},emits:["update:open","completed"],setup(e,{emit:t}){const a=e,n=t,{t:r,locale:s}=ot(),o=$({get:()=>a.open,set:Y=>n("update:open",Y)}),l=E("range"),c=E(50),u=E(0),d=E("today"),f=E(""),p=E(""),m=E([]),g=E(!1),y=E(!1),_=E(0),v=E(0),h=E([]),k=E(!1);function w(Y){return Y.includes("少于3条")||Y.includes("less than 3")||Y.includes("无需生成摘要")}const A=E(null),M=$(()=>{const Y=new Date,ve=new Date(Y.getFullYear(),Y.getMonth(),Y.getDate());switch(d.value){case"today":return{start:ve.getTime(),end:Y.getTime()};case"yesterday":{const ie=new Date(ve);return ie.setDate(ie.getDate()-1),{start:ie.getTime(),end:ve.getTime()-1}}case"week":{const ie=new Date(ve);return ie.setDate(ie.getDate()-7),{start:ie.getTime(),end:Y.getTime()}}case"month":{const ie=new Date(ve);return ie.setMonth(ie.getMonth()-1),{start:ie.getTime(),end:Y.getTime()}}case"custom":if(f.value&&p.value){const ie=new Date(f.value),ye=new Date(p.value);return{start:ie.getTime(),end:new Date(ye.getTime()+1440*60*1e3-1).getTime()}}return null;default:return null}}),S=E({}),P=E(!1),D=$(()=>m.value.filter(Y=>Y.summary?!1:S.value[Y.id]?.canGenerate!==!1)),H=$(()=>m.value.filter(Y=>Y.summary).length),Q=$(()=>m.value.filter(Y=>Y.summary?!1:S.value[Y.id]?.canGenerate===!1).length),G=$(()=>v.value===0?100:Math.round(_.value/v.value*100)),V=$(()=>{const Y=h.value.filter(ye=>ye.status==="success").length,ve=h.value.filter(ye=>ye.status==="failed").length,ie=h.value.filter(ye=>ye.status==="skipped").length;return{success:Y,failed:ve,skipped:ie}});async function R(){g.value=!0,S.value={};try{if(l.value==="range"){const Y=await Sa().getSessions(a.sessionId);u.value=Y.length;const ve=Math.ceil(Y.length*(c.value/100));m.value=Y.slice(-ve)}else{if(!M.value){m.value=[];return}const Y=Math.floor(M.value.start/1e3),ve=Math.floor(M.value.end/1e3);m.value=await Sa().getByTimeRange(a.sessionId,Y,ve)}m.value.length>0&&await L()}catch(Y){console.error("查询会话失败:",Y),m.value=[]}finally{g.value=!1}}async function L(){const Y=m.value.filter(ve=>!ve.summary).map(ve=>ve.id);if(Y.length!==0){P.value=!0;try{S.value=await Sa().checkCanGenerateSummary(a.sessionId,Y)}catch(ve){console.error("检查会话摘要失败:",ve)}finally{P.value=!1}}}const z=X_(()=>{R()},300);Pe(()=>[l.value,d.value,f.value,p.value],()=>{(l.value==="range"||d.value!=="custom"||f.value&&p.value)&&R()},{immediate:!0}),Pe(()=>c.value,()=>{l.value==="range"&&z()}),Pe(()=>a.open,Y=>{Y&&(y.value=!1,_.value=0,h.value=[],k.value=!1,R())});async function le(){const Y=[...D.value];if(Y.length!==0){y.value=!0,k.value=!1,_.value=0,v.value=Y.length,h.value=[];try{for(const ve of Y){if(k.value)break;try{const ie=await Sa().generateSummary(a.sessionId,ve.id,s.value,!1,$g());if(ie.success){h.value.push({id:ve.id,status:"success",summary:ie.summary||""});const ye=m.value.findIndex(de=>de.id===ve.id);ye!==-1&&(m.value[ye].summary=ie.summary||"")}else ie.error&&w(ie.error)?h.value.push({id:ve.id,status:"skipped",message:ie.error}):h.value.push({id:ve.id,status:"failed",message:ie.error})}catch(ie){h.value.push({id:ve.id,status:"failed",message:String(ie)})}_.value++,await je(),A.value&&(A.value.scrollTop=A.value.scrollHeight)}}finally{y.value=!1}V.value.success>0&&n("completed")}}function K(){M2e(k)}function ce(){y.value&&(k.value=!0),n("update:open",!1)}return(Y,ve)=>{const ie=nt,ye=S2e,de=pa,he=Xe,ge=pg,O=k2e,W=$a;return x(),N(W,{open:o.value,"onUpdate:open":ve[5]||(ve[5]=j=>o.value=j),ui:{overlay:"z-[10001]",content:"z-[10001]"}},{content:T(()=>[I(O,null,{header:T(()=>[b("div",A2e,[b("h3",I2e,C(i(r)("records.batchSummary.title","批量生成摘要")),1),I(ie,{color:"neutral",variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:ce})])]),footer:T(()=>[b("div",uxe,[I(ie,{color:"neutral",variant:"outline",disabled:y.value,onClick:ce},{default:T(()=>[pe(C(i(r)("common.close","关闭")),1)]),_:1},8,["disabled"]),y.value?(x(),N(ie,{key:1,color:"error",onClick:K},{default:T(()=>[pe(C(i(r)("records.batchSummary.stop","停止")),1)]),_:1})):(x(),N(ie,{key:0,color:"primary",disabled:D.value.length===0||g.value,onClick:le},{default:T(()=>[pe(C(i(r)("records.batchSummary.start","开始生成")),1)]),_:1},8,["disabled"]))])]),default:T(()=>[b("div",T2e,[b("div",P2e,[I(ie,{color:l.value==="range"?"primary":"neutral",variant:l.value==="range"?"solid":"ghost",size:"sm",disabled:y.value,onClick:ve[0]||(ve[0]=j=>l.value="range")},{default:T(()=>[pe(C(i(r)("records.batchSummary.byRange","按范围")),1)]),_:1},8,["color","variant","disabled"]),I(ie,{color:l.value==="time"?"primary":"neutral",variant:l.value==="time"?"solid":"ghost",size:"sm",disabled:y.value,onClick:ve[1]||(ve[1]=j=>l.value="time")},{default:T(()=>[pe(C(i(r)("records.batchSummary.byTime","按时间")),1)]),_:1},8,["color","variant","disabled"])]),l.value==="range"?(x(),F("div",D2e,[b("label",E2e,C(i(r)("records.batchSummary.selectRange","选择范围")),1),b("div",R2e,[b("div",O2e,[I(ye,{modelValue:c.value,"onUpdate:modelValue":ve[2]||(ve[2]=j=>c.value=j),min:1,max:100,step:1,disabled:y.value,class:"flex-1"},null,8,["modelValue","disabled"]),b("span",L2e,C(c.value)+"% ",1)]),b("div",q2e,[b("span",null,C(i(r)("records.batchSummary.rangeStart","最早")),1),u.value>0?(x(),F("span",N2e,C(i(r)("records.batchSummary.rangeInfo","约"))+" "+C(Math.ceil(u.value*c.value/100))+" / "+C(u.value)+" "+C(i(r)("records.batchSummary.sessionsUnit","个会话")),1)):se("",!0),b("span",null,C(i(r)("records.batchSummary.rangeEnd","最近")),1)])])])):l.value==="time"?(x(),F("div",F2e,[b("label",V2e,C(i(r)("records.batchSummary.timeRange","选择时间范围")),1),b("div",B2e,[(x(!0),F(De,null,Ye([{key:"today",label:i(r)("records.batchSummary.today","今天")},{key:"yesterday",label:i(r)("records.batchSummary.yesterday","昨天")},{key:"week",label:i(r)("records.batchSummary.week","最近7天")},{key:"month",label:i(r)("records.batchSummary.month","最近30天")},{key:"custom",label:i(r)("records.batchSummary.custom","自定义")}],j=>(x(),N(ie,{key:j.key,color:d.value===j.key?"primary":"neutral",variant:d.value===j.key?"solid":"outline",size:"sm",disabled:y.value,onClick:J=>d.value=j.key},{default:T(()=>[pe(C(j.label),1)]),_:2},1032,["color","variant","disabled","onClick"]))),128))]),d.value==="custom"?(x(),F("div",z2e,[I(de,{modelValue:f.value,"onUpdate:modelValue":ve[3]||(ve[3]=j=>f.value=j),type:"date",disabled:y.value,size:"sm"},null,8,["modelValue","disabled"]),ve[6]||(ve[6]=b("span",{class:"text-gray-500"},"—",-1)),I(de,{modelValue:p.value,"onUpdate:modelValue":ve[4]||(ve[4]=j=>p.value=j),type:"date",disabled:y.value,size:"sm"},null,8,["modelValue","disabled"])])):se("",!0)])):se("",!0),!g.value&&!P.value?(x(),F("div",H2e,[m.value.length>0?(x(),F(De,{key:0},[b("p",null,[pe(C(i(r)("records.batchSummary.found","找到"))+" "+C(m.value.length)+" "+C(i(r)("records.batchSummary.sessionsUnit","个会话"))+" ",1),H.value>0||Q.value>0?(x(),F("span",U2e,[ve[7]||(ve[7]=pe(" ( ",-1)),H.value>0?(x(),F("span",j2e,C(H.value)+" "+C(i(r)("records.batchSummary.hasSummary","个已有摘要")),1)):se("",!0),H.value>0&&Q.value>0?(x(),F(De,{key:1},[pe(",")],64)):se("",!0),Q.value>0?(x(),F("span",W2e,C(Q.value)+" "+C(i(r)("records.batchSummary.tooFewMessages","个消息太少")),1)):se("",!0),ve[8]||(ve[8]=pe(" ) ",-1))])):se("",!0)]),D.value.length>0?(x(),F("p",K2e,C(i(r)("records.batchSummary.pending","待生成:"))+" "+C(D.value.length)+" "+C(i(r)("records.batchSummary.unit","个")),1)):(x(),F("p",G2e,C(i(r)("records.batchSummary.noPending","没有可生成的会话")),1))],64)):(x(),F("p",Y2e,C(i(r)("records.batchSummary.noSessions","该时间范围内没有会话")),1))])):P.value?(x(),F("div",X2e,[I(he,{name:"i-heroicons-arrow-path",class:"animate-spin"}),pe(" "+C(i(r)("records.batchSummary.checking","检查中...")),1)])):(x(),F("div",J2e,[I(he,{name:"i-heroicons-arrow-path",class:"animate-spin"}),pe(" "+C(i(r)("records.batchSummary.loading","加载中...")),1)])),y.value||h.value.length>0?(x(),F("div",Q2e,[b("div",Z2e,[b("span",null,C(i(r)("records.batchSummary.progress","进度")),1),b("span",null,C(_.value)+" / "+C(v.value||D.value.length),1)]),y.value?(x(),N(ge,{key:0,value:G.value},null,8,["value"])):(x(),F("div",exe))])):se("",!0),h.value.length>0?(x(),F("div",{key:6,ref_key:"resultsContainer",ref:A,class:"max-h-64 overflow-y-auto rounded border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50"},[(x(!0),F(De,null,Ye(h.value,j=>(x(),F("div",{key:j.id,class:"flex flex-col gap-1 px-3 py-2 text-sm border-b border-gray-200 dark:border-gray-700 last:border-b-0"},[b("div",txe,[I(he,{name:j.status==="success"?"i-heroicons-check-circle":j.status==="skipped"?"i-heroicons-minus-circle":"i-heroicons-x-circle",class:xe(["flex-shrink-0",{"text-green-500":j.status==="success","text-gray-400":j.status==="skipped","text-red-500":j.status==="failed"}])},null,8,["name","class"]),b("span",axe,C(i(r)("records.batchSummary.session","会话"))+" #"+C(j.id),1),b("span",{class:xe(["flex-shrink-0 text-xs",{"text-green-600 dark:text-green-400":j.status==="success","text-gray-500":j.status==="skipped","text-red-600 dark:text-red-400":j.status==="failed"}])},C(j.status==="success"?i(r)("records.batchSummary.statusSuccess","成功"):j.status==="skipped"?i(r)("records.batchSummary.statusSkipped","跳过"):i(r)("records.batchSummary.statusFailed","失败")),3)]),j.summary?(x(),F("div",nxe,C(j.summary),1)):j.status==="failed"&&j.message?(x(),F("div",rxe,C(j.message),1)):j.status==="skipped"?(x(),F("div",sxe,C(i(r)("records.batchSummary.tooFewMessages","消息数量太少")),1)):se("",!0)]))),128))],512)):se("",!0),!y.value&&h.value.length>0?(x(),F("div",oxe,[b("span",ixe,[I(he,{name:"i-heroicons-check-circle",class:"mr-1"}),pe(" "+C(i(r)("records.batchSummary.success","成功:"))+" "+C(V.value.success),1)]),V.value.failed>0?(x(),F("span",lxe,[I(he,{name:"i-heroicons-x-circle",class:"mr-1"}),pe(" "+C(i(r)("records.batchSummary.failed","失败:"))+" "+C(V.value.failed),1)])):se("",!0),V.value.skipped>0?(x(),F("span",cxe,[I(he,{name:"i-heroicons-minus-circle",class:"mr-1"}),pe(" "+C(i(r)("records.batchSummary.skipped","跳过:"))+" "+C(V.value.skipped),1)])):se("",!0)])):se("",!0)])]),_:1})]),_:1},8,["open"])}}}),fxe={key:0,class:"flex h-full w-10 flex-col items-center border-r border-gray-200 bg-gray-50 py-2 dark:border-gray-700 dark:bg-page-dark/50"},pxe={class:"mt-2 flex flex-1 items-center"},mxe={class:"vertical-text text-xs text-gray-400"},gxe={key:1,class:"flex h-full w-56 flex-col border-r border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-page-dark/50"},hxe={class:"flex items-center justify-between border-b border-gray-200 px-2 py-1.5 dark:border-gray-700"},vxe={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},yxe={class:"flex items-center gap-0.5"},bxe={key:0,class:"flex flex-1 items-center justify-center"},xxe={key:1,class:"flex flex-1 items-center justify-center p-2"},_xe={class:"text-xs text-gray-400"},wxe={key:0,class:"flex w-full items-center gap-1 px-2 py-1"},kxe={class:"text-xs font-medium text-gray-700 dark:text-gray-200"},Cxe={class:"text-xs text-gray-400"},Sxe={key:1,class:"px-1.5 py-0.5"},Mxe=["onClick"],$xe={class:"truncate"},Axe={class:"min-w-0 flex-1"},Ixe={class:"min-w-0"},Txe={class:"line-clamp-2 min-w-0 text-xs font-normal leading-snug text-gray-500 dark:text-gray-400"},Pxe={class:"font-medium"},Dxe={class:"ml-1"},Exe={class:"max-w-sm whitespace-pre-wrap text-sm leading-relaxed font-normal"},Rxe={key:1,class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Oxe={key:0,class:"mt-0.5 flex min-w-0 items-center"},Lxe=["onClick"],qxe={class:"truncate"},Nxe={key:1,class:"min-w-0 flex-1 truncate text-xs italic text-gray-300 dark:text-gray-600"},Fxe=28,Vxe=52,Bxe=ue({__name:"SessionTimeline",props:{sessionId:{},activeSessionId:{},collapsed:{type:Boolean},filterStartTs:{},filterEndTs:{},filterMatchedSessionIds:{}},emits:["select","update:collapsed"],setup(e,{emit:t}){const a=e,n=t,{t:r,locale:s}=ot(),o=Dd(),l=E([]),c=E(!0),u=E(null),d=E(new Set),f=E(!1),p=$({get:()=>a.collapsed??!1,set:V=>n("update:collapsed",V)}),m=$(()=>{let V=l.value;return V.length===0?[]:(a.filterMatchedSessionIds&&a.filterMatchedSessionIds.size>0?V=V.filter(R=>a.filterMatchedSessionIds.has(R.id)):(a.filterStartTs||a.filterEndTs)&&(V=V.filter(R=>{const L=R.startTs,z=R.endTs;return!(a.filterStartTs&&z<a.filterStartTs||a.filterEndTs&&L>a.filterEndTs)})),V)}),g=$(()=>{const V=m.value;if(V.length===0)return[];const R=[],L=new Map;for(const le of V){const K=A(le.startTs);let ce=L.get(K);ce||(ce={label:k(le.startTs),sessions:[]},L.set(K,ce)),ce.sessions.push(le)}const z=Array.from(L.entries()).sort((le,K)=>le[0].localeCompare(K[0]));for(const[le,K]of z){R.push({type:"date",date:le,label:K.label,count:K.sessions.length});const ce=K.sessions.sort((Y,ve)=>Y.startTs-ve.startTs);for(const Y of ce)R.push({type:"session",session:Y})}return R});function y(V){const R=["bg-pink-50 dark:bg-pink-950/30 text-pink-500 dark:text-pink-400","bg-blue-50 dark:bg-blue-950/30 text-blue-500 dark:text-blue-400","bg-emerald-50 dark:bg-emerald-950/30 text-emerald-500 dark:text-emerald-400","bg-violet-50 dark:bg-violet-950/30 text-violet-500 dark:text-violet-400","bg-amber-50 dark:bg-amber-950/30 text-amber-500 dark:text-amber-400"];return R[V%R.length]}const _=Md($(()=>({count:g.value.length,getScrollElement:()=>u.value,estimateSize:V=>g.value[V]?.type==="date"?Fxe:Vxe,overscan:10,getItemKey:V=>{const R=g.value[V];return R?R.type==="date"?`date-${R.date}`:`session-${R.session.id}`:V}}))),v=$(()=>_.value.getVirtualItems()),h=$(()=>_.value.getTotalSize());function k(V){return new Date(V*1e3).toLocaleDateString("zh-CN",{month:"2-digit",day:"2-digit"})}function w(V){return new Date(V*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}function A(V){const R=new Date(V*1e3);return`${R.getFullYear()}-${String(R.getMonth()+1).padStart(2,"0")}-${String(R.getDate()).padStart(2,"0")}`}async function M(){if(a.sessionId){c.value=!0;try{const V=await Sa().getSessions(a.sessionId);l.value=V}catch(V){console.error("加载会话列表失败:",V)}finally{c.value=!1}await je(),setTimeout(()=>{a.activeSessionId?P(a.activeSessionId):S()},50)}}function S(){g.value.length>0&&_.value.scrollToIndex(g.value.length-1,{align:"end"})}function P(V,R="auto"){const L=g.value.findIndex(z=>z.type==="session"&&z.session.id===V);L!==-1&&_.value.scrollToIndex(L,{align:"center",behavior:R})}function D(V){n("select",V.id,V.firstMessageId)}async function H(V,R){if(R.stopPropagation(),R.preventDefault(),console.log("[SessionTimeline] 开始生成摘要:",V.id,a.sessionId),d.value.has(V.id)){console.log("[SessionTimeline] 已在生成中,跳过");return}d.value.add(V.id),console.log("[SessionTimeline] 正在生成中的会话:",Array.from(d.value));try{console.log("[SessionTimeline] 调用 IPC...");const L=await Sa().generateSummary(...$2e(a.sessionId,V.id,s.value,$g()));if(console.log("[SessionTimeline] IPC 返回:",L),L.success&&L.summary){const z=l.value.findIndex(le=>le.id===V.id);z!==-1&&(l.value[z]={...l.value[z],summary:L.summary})}else o.fail(r("records.summaryFailed","摘要生成失败"),{description:L.error||r("records.summaryUnknownError","未知错误")})}catch(L){o.fail(r("records.summaryFailed","摘要生成失败"),{description:String(L)})}finally{d.value.delete(V.id),console.log("[SessionTimeline] 生成完成")}}function Q(V){return d.value.has(V)}function G(V){V&&_.value.measureElement(V)}return Pe(()=>a.activeSessionId,V=>{V&&P(V,"smooth")}),Pe(()=>a.sessionId,()=>{M()},{immediate:!0}),(V,R)=>{const L=nt,z=hi,le=Xe;return x(),F(De,null,[p.value?(x(),F("div",fxe,[I(L,{icon:"i-heroicons-chevron-right",variant:"ghost",size:"xs",onClick:R[0]||(R[0]=K=>p.value=!1)}),b("div",pxe,[b("span",mxe,C(i(r)("records.timeline.timeline")),1)])])):(x(),F("div",gxe,[b("div",hxe,[b("span",vxe,C(i(r)("records.timeline.timeline")),1),b("div",yxe,[I(z,{text:i(r)("records.batchSummary.title")},{default:T(()=>[I(L,{icon:"i-heroicons-sparkles",variant:"ghost",size:"xs",onClick:R[1]||(R[1]=K=>f.value=!0)},{default:T(()=>[pe(C(i(r)("records.batchSummary.trigger")),1)]),_:1})]),_:1},8,["text"]),I(L,{icon:"i-heroicons-chevron-left",variant:"ghost",size:"xs",onClick:R[2]||(R[2]=K=>p.value=!0)})])]),c.value?(x(),F("div",bxe,[I(le,{name:"i-heroicons-arrow-path",class:"h-4 w-4 animate-spin text-gray-400"})])):l.value.length===0?(x(),F("div",xxe,[b("span",_xe,C(i(r)("records.timeline.noSessions")),1)])):(x(),F("div",{key:2,ref_key:"scrollContainerRef",ref:u,class:"flex-1 overflow-y-auto py-1"},[b("div",{class:"relative w-full",style:Tt({height:`${h.value}px`})},[(x(!0),F(De,null,Ye(v.value,K=>(x(),F("div",{key:String(K.key),ref_for:!0,ref:ce=>G(ce),class:"absolute left-0 top-0 w-full",style:Tt({transform:`translateY(${K.start}px)`})},[g.value[K.index]?.type==="date"?(x(),F("div",wxe,[b("span",kxe,C(g.value[K.index].label),1),b("span",Cxe," ("+C(g.value[K.index].count)+") ",1)])):g.value[K.index]?.type==="session"?(x(),F("div",Sxe,[b("button",{class:xe(["group relative flex h-12 w-full items-center gap-2.5 rounded-xl p-1.5 pl-2.5 text-left transition-all duration-200",[e.activeSessionId===g.value[K.index].session.id?"bg-pink-500/5 dark:bg-pink-500/10":"hover:bg-gray-100 dark:hover:bg-gray-800/60"]]),onClick:ce=>D(g.value[K.index].session)},[b("div",{class:xe(["absolute left-0 top-1/2 -translate-y-1/2 w-1 rounded-r-md transition-all duration-200",[e.activeSessionId===g.value[K.index].session.id?"h-5 bg-pink-500 dark:bg-pink-400 opacity-100":"h-0 bg-pink-500/40 dark:bg-pink-400/40 group-hover:h-3 group-hover:opacity-100 opacity-0"]])},null,2),b("div",{class:xe(["flex h-7 w-7 shrink-0 items-center justify-center rounded-lg px-1 font-mono text-[10px] font-semibold transition-colors",y(g.value[K.index].session.id)])},[b("span",$xe,C(g.value[K.index].session.messageCount),1)],2),b("div",Axe,[b("div",Ixe,[g.value[K.index].session.summary?(x(),N(z,{key:0,content:{side:"right",align:"start"},ui:{content:"z-[10001] h-auto max-h-80 overflow-y-auto"}},{content:T(()=>[b("div",Exe,C(g.value[K.index].session.summary),1)]),default:T(()=>[b("span",Txe,[b("span",Pxe,C(w(g.value[K.index].session.startTs)),1),b("span",Dxe,C(g.value[K.index].session.summary),1)])]),_:2},1024)):(x(),F("span",Rxe,C(w(g.value[K.index].session.startTs)),1))]),g.value[K.index].session.summary?se("",!0):(x(),F("div",Oxe,[g.value[K.index].session.messageCount>=3?(x(),F("span",{key:0,class:"flex min-w-0 cursor-pointer items-center gap-1 text-xs text-gray-400 hover:text-pink-500 dark:text-gray-500 dark:hover:text-pink-400",onClick:ce=>H(g.value[K.index].session,ce)},[Q(g.value[K.index].session.id)?(x(),N(le,{key:0,name:"i-heroicons-arrow-path",class:"h-3 w-3 shrink-0 animate-spin"})):(x(),N(le,{key:1,name:"i-heroicons-sparkles",class:"h-3 w-3 shrink-0"})),b("span",qxe,C(i(r)("records.timeline.generateSummary")),1)],8,Lxe)):(x(),F("span",Nxe,C(i(r)("records.timeline.tooFewMessages")),1))]))])],10,Mxe)])):se("",!0)],4))),128))],4)],512))])),I(dxe,{open:f.value,"onUpdate:open":R[3]||(R[3]=K=>f.value=K),"session-id":e.sessionId,onCompleted:M},null,8,["open","session-id"])],64)}}}),zxe=cs(Bxe,[["__scopeId","data-v-e29f4984"]]),Hxe={"data-vaul-no-drag":"",class:"chat-record-drawer-content flex h-full w-[750px] flex-col bg-white dark:bg-page-dark",style:{"-webkit-app-region":"no-drag"}},Uxe={class:"text-lg font-semibold text-gray-900 dark:text-white"},jxe={class:"flex min-h-0 flex-1"},Wxe={class:"min-h-0 min-w-0 flex-1"},Kxe={key:0,class:"shrink-0 border-t border-gray-200 px-4 py-2 dark:border-gray-800"},Gxe={class:"text-xs text-gray-500"},Yxe=ue({__name:"ChatRecordDrawer",setup(e){const{t}=ot(),a=Er(),n=Ja(),{currentSessionId:r}=aa(n),s=E(!1);Ke(()=>{s.value=navigator.platform.toLowerCase().includes("win")});const o=E(null),l=E({}),c=$(()=>bk(l.value,r.value)),u=E(0),d=E(!1),f=E(void 0),p=E([]),m=E(void 0);function g(M){l.value=Vf(M,l.value)}function y(){l.value=Vf({},l.value),m.value=void 0}function _(M){u.value=M}function v(M){if(!l.value.keywords?.length||!p.value.length){m.value=void 0;return}const S=new Set;for(const P of M)for(const D of p.value)if(P>=D.startTs&&P<=D.endTs){S.add(D.id);break}m.value=S.size>0?S:void 0}function h(M){if(!p.value.length)return;let S;for(const P of p.value)if(M.timestamp>=P.startTs&&M.timestamp<=P.endTs){S=P;break}if(!S)for(const P of p.value)if(P.firstMessageId<=M.id)S=P;else break;S&&S.id!==f.value&&(f.value=S.id)}function k(M,S){f.value=M,l.value={...l.value,scrollToMessageId:S}}function w(M){l.value=Vf({scrollToMessageId:M},l.value)}async function A(){const M=c.value;if(M)try{const S=await Sa().getSessions(M);p.value=S.map(P=>({id:P.id,startTs:P.startTs,endTs:P.endTs,firstMessageId:P.firstMessageId}))}catch{p.value=[]}}return Pe(()=>a.showChatRecordDrawer,async M=>{if(M){const S=rt(a.chatRecordQuery);l.value=S?{...S}:{},await A(),p.value.length>0&&(f.value=p.value[p.value.length-1].id),await je(),o.value?.refresh()}else l.value={},u.value=0,f.value=void 0,p.value=[]}),(M,S)=>{const P=nt,D=Rbe;return x(),N(D,{open:i(a).showChatRecordDrawer,"onUpdate:open":S[2]||(S[2]=H=>i(a).showChatRecordDrawer=H),direction:"right",handle:!1,"handle-only":"",ui:{content:"z-50"}},{content:T(()=>[b("div",Hxe,[b("div",{class:xe(["flex items-center justify-between border-b border-gray-200 px-4 dark:border-gray-800",s.value?"pt-10 pb-3":"py-3"])},[b("h3",Uxe,C(i(t)("records.drawer.title")),1),I(P,{icon:"i-heroicons-x-mark",color:"neutral",variant:"ghost",size:"sm",onClick:S[0]||(S[0]=H=>i(a).closeChatRecordDrawer())})],2),I(P1e,{query:l.value,"session-id":c.value||void 0,onApply:g,onReset:y},null,8,["query","session-id"]),b("div",jxe,[c.value?(x(),N(zxe,{key:0,collapsed:d.value,"onUpdate:collapsed":S[1]||(S[1]=H=>d.value=H),"session-id":c.value,"active-session-id":f.value,"filter-start-ts":l.value.startTs,"filter-end-ts":l.value.endTs,"filter-matched-session-ids":m.value,onSelect:k},null,8,["collapsed","session-id","active-session-id","filter-start-ts","filter-end-ts","filter-matched-session-ids"])):se("",!0),b("div",Wxe,[I(_2e,{ref_key:"messageListRef",ref:o,query:l.value,onCountChange:_,onVisibleMessageChange:h,onJumpToMessage:w,onMessageTimestampsChange:v},null,8,["query"])])]),u.value>0?(x(),F("div",Kxe,[b("span",Gxe,C(i(t)("records.drawer.loadedCount",{count:u.value})),1)])):se("",!0)])]),_:1},8,["open"])}}}),Xxe=cs(Yxe,[["__scopeId","data-v-ff78f555"]]),Jxe={key:0,class:"pointer-events-auto fixed right-4 bottom-[88px] z-40"},Qxe=["title"],Zxe={class:"flex h-6.5 w-6.5 shrink-0 items-center justify-center rounded-full bg-white text-primary-600 shadow-[0_2px_8px_rgba(255,255,255,0.28)]"},e_e={class:"text-[11px] font-medium text-white"},t_e=ue({__name:"GlobalTaskBar",setup(e){const{t}=ot(),a=Ol(),n=Rl(),r=e1e(),{activeTask:s}=aa(r),o=$(()=>r.getActiveTaskState()),l=$(()=>{if(!s.value)return!1;const u=s.value.chatType==="group"?"group-chat":"private-chat";return a.name===u&&String(a.params.id??"")===s.value.sessionId&&a.query.tab==="ai-chat"?(o.value?.currentAIChatId??null)!==(s.value.aiChatId??null):!0});async function c(){s.value&&(r.focusActiveTaskAIChat(),await n.push({name:s.value.chatType==="group"?"group-chat":"private-chat",params:{id:s.value.sessionId},query:{tab:"ai-chat"}}))}return(u,d)=>{const f=Xe;return x(),N(Sm,{name:"task-bar-fade"},{default:T(()=>[l.value?(x(),F("div",Jxe,[b("button",{class:"group flex h-9 items-center gap-1.5 overflow-hidden rounded-full bg-primary-500 px-2 shadow-[0_10px_24px_rgba(15,23,42,0.12)] transition-all hover:-translate-y-0.5 hover:bg-primary-600 hover:shadow-[0_16px_32px_rgba(15,23,42,0.16)] dark:bg-primary-500 dark:hover:bg-primary-400",title:`${i(t)("ai.chat.backgroundTask.return")} · ${i(s)?.sessionName??""}`,onClick:c},[b("div",Zxe,[I(f,{name:"i-heroicons-sparkles",class:"h-3 w-3 animate-pulse"})]),b("span",e_e,C(i(t)("ai.chat.backgroundTask.runningShort")),1)],8,Qxe)])):se("",!0)]),_:1})}}}),a_e=cs(t_e,[["__scopeId","data-v-996544a9"]]),n_e={class:"no-capture flex w-28 flex-col items-center rounded-l-xl border border-r-0 border-amber-200/60 bg-white p-3 shadow-overlay dark:border-amber-500/10 dark:bg-page-dark"},r_e={class:"flex w-full flex-col items-center gap-3"},s_e={class:"whitespace-nowrap"},o_e=ue({__name:"DebugToolsPanel",setup(e){const t=Rr(),a=tq(),n=VL(a),r=E(!1);let s=null;const o=$(()=>r.value);function l(){s&&(clearTimeout(s),s=null),r.value=!0}function c(){s=setTimeout(()=>{r.value=!1},200)}const u=$({get:()=>t.locale,set:f=>t.setLocale(f)}),d=Ag.map(f=>({label:f.nativeName,value:f.code}));return(f,p)=>{const m=Xe,g=eo;return x(),F("div",{class:"fixed right-0 top-[70%] z-40",onMouseenter:l,onMouseleave:c},[b("div",{class:xe(["h-10 w-6 cursor-pointer items-center justify-center rounded-l-lg border border-r-0 border-amber-300/50 bg-amber-50 text-amber-500 shadow-sm transition-opacity duration-200 hover:bg-amber-100 dark:border-amber-500/30 dark:bg-amber-950 dark:text-amber-400 dark:hover:bg-amber-900",o.value?"pointer-events-none flex opacity-0":"flex opacity-100"])},[I(m,{name:"i-heroicons-bug-ant",class:"h-3.5 w-3.5"})],2),b("div",{class:xe(["absolute right-0 top-0 transition-all duration-250 ease-in-out",o.value?"translate-x-0 opacity-100":"pointer-events-none translate-x-full opacity-0"])},[b("div",n_e,[p[2]||(p[2]=b("div",{class:"mb-2"},[b("span",{class:"px-0.5 text-[9px] font-bold uppercase tracking-widest text-amber-500 dark:text-amber-400"}," Debug ")],-1)),b("div",r_e,[b("button",{class:"group flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium text-gray-600 transition-all hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-white/5 dark:hover:text-white",onClick:p[0]||(p[0]=y=>i(n)())},[I(m,{name:i(a)?"i-heroicons-moon-solid":"i-heroicons-sun-solid",class:xe(["h-3.5 w-3.5 transition-colors",i(a)?"text-indigo-400":"text-amber-400"])},null,8,["name","class"]),b("span",s_e,C(i(a)?"Dark":"Light"),1)]),I(g,{modelValue:u.value,"onUpdate:modelValue":p[1]||(p[1]=y=>u.value=y),items:i(d),content:!1,orientation:"vertical",size:"xs"},null,8,["modelValue","items"])])])],2)],32)}}}),xk=new Map;let im=null,Bf=null,Eo={};function i_e(){if(!im||Object.keys(Eo).length===0)return;const e={...Eo};Eo={},im(e).catch(t=>{console.warn("[BackendPersist] Save failed:",t)})}function nb(){Bf&&clearTimeout(Bf),Bf=setTimeout(i_e,500)}function l_e(e,t){if(t.serialize){Object.assign(Eo,t.serialize(e)),nb();return}const a={};for(const n of t.pick)a[n]=JSON.parse(JSON.stringify(e[n]));t.key?Eo[t.key]=a:Object.assign(Eo,a),nb()}function c_e(e){im=e}function u_e(e){for(const[,{store:t,config:a}]of xk){const n=a.key?e[a.key]:e;if(!n||typeof n!="object")continue;const r={};for(const s of a.pick){const o=n[s];o!==void 0&&(r[s]=o)}Object.keys(r).length>0&&t.$patch(r)}}const d_e=({store:e,options:t})=>{const a=t.backendPersist;if(a){xk.set(e.$id,{store:e,config:a});for(const n of a.pick)Pe(()=>e.$state[n],()=>l_e(e.$state,a),{deep:!0})}};let rb=!1;async function f_e(){if(rb)return;rb=!0;const e=jc();try{const[t,a,n]=await Promise.all([e.getPreferences(),e.getUiConfig(),e.getLocale()]);mV(a);const r=Rr();a.default_session_tab&&(r.defaultSessionTab=a.default_session_tab),n&&r.$patch({locale:n}),u_e(t)}catch(t){console.warn("[PreferencesSync] Failed to load from backend, keeping default state:",t)}c_e(t=>e.savePreferences(t)),p_e(e)}function p_e(e){const t=Rr();Pe(()=>t.defaultSessionTab,a=>{e.saveUiConfig({default_session_tab:a}).catch(n=>{console.warn("[PreferencesSync] Failed to save ui config:",n)})}),Pe(()=>hy().session_gap_threshold,a=>{e.saveUiConfig({session_gap_threshold:a}).catch(n=>{console.warn("[PreferencesSync] Failed to save ui config:",n)})}),Pe(()=>hy().summary_strategy,a=>{e.saveUiConfig({summary_strategy:a}).catch(n=>{console.warn("[PreferencesSync] Failed to save ui config:",n)})}),Pe(()=>t.locale,a=>{e.saveLocale(a).catch(n=>{console.warn("[PreferencesSync] Failed to save locale:",n)})})}function m_e(e){return Array.isArray(e)?e.join(","):e}function g_e(e){const t=e.matched[0]?.path??"";if(!t)return"";const a=Object.entries(e.params).filter(([n])=>t.includes(`:${n}`)).sort(([n],[r])=>n.localeCompare(r)).map(([,n])=>m_e(n));return a.length>0?`${t}:${a.join("&")}`:t}function h_e(e,t){!e||e.open===t||(t?e.showModal():e.close())}function v_e(e){const t=E(!e),a=$(()=>e),n=$(()=>!e);function r(){t.value=!0}function s(l){}function o(l){h_e(l,a.value)}return{isBootstrapMaskVisible:a,isApplicationInteractive:n,markLockScreenReady:r,syncBootstrapMask:o,updateLockState:s}}class y_e extends Error{constructor(t){super(`Missing browser capabilities: ${t.join(", ")}`),this.missing=t,this.name="UnsupportedBrowserCapabilitiesError"}}async function b_e(e){await e.initializeServices();let t=null;if(e.capabilities.usesBrowserRuntime){if(!e.checkBrowserCapabilities)throw new Error("Browser capability checker is required");if(t=await e.checkBrowserCapabilities(),!t.supported)throw new y_e(t.missing)}if(e.capabilities.loadsPreferences){if(!e.initializeLocale)throw new Error("Locale initialization port is required");await e.initializePreferences(),await e.initializeLocale()}if(e.capabilities.initializesLlm){if(!e.initializeLlm)throw new Error("LLM initialization port is required");await e.initializeLlm()}await e.loadSessions();let a=null;if(e.capabilities.listensForPullResults){if(!e.listenForPullResults)throw new Error("Pull result listener is required");a=e.listenForPullResults()}return{browserCapabilities:t,stopListeningForPullResults:a}}const x_e={class:"relative flex h-screen w-full overflow-hidden bg-page-bg dark:bg-page-dark"},__e={key:0,class:"flex h-full w-full items-center justify-center"},w_e={key:0,class:"flex flex-col items-center justify-center gap-3 text-center"},k_e={class:"text-sm text-gray-700 dark:text-gray-300"},C_e={class:"max-w-sm text-xs text-gray-500"},S_e={key:1,class:"flex flex-col items-center justify-center text-center"},M_e={class:"mt-2 text-sm text-gray-500"},$_e={class:"relative flex-1 overflow-hidden"},A_e=["aria-label"],I_e=ue({__name:"App",setup(e){const a=_5(()=>Mt(()=>import("./DataDirCleanupNotice--ee1dY0d.js"),__vite__mapDeps([12,1]))),{t:n}=ot(),r=Ja(),s=Er(),o=Rr(),l=Wl(),c=Dg(),u=Eg(),{isInitialized:d}=aa(r),f=Ol(),p=Rl(),{isBootstrapMaskVisible:m,isApplicationInteractive:g,markLockScreenReady:y,syncBootstrapMask:_,updateLockState:v}=v_e(jt),h=$(()=>Po.requiresAuth&&f.name==="login"),k=$(()=>g_e(f)),w=E(null),A=E(null),M=gg({emitAuto:!0,initialValue:"light"}),S={delayDuration:100},P={position:"top-center",progress:!1,duration:2e3};let D=!1,H=null;async function Q(){if(!(D||d.value)){D=!0,w.value=null;try{const V=await b_e({capabilities:Po,initializeServices:()=>cV(),initializePreferences:()=>f_e(),initializeLocale:()=>o.initLocale(),initializeLlm:()=>l.init(),loadSessions:()=>r.loadSessions(),listenForPullResults:()=>u.listenPullResult()});H??=V.stopListeningForPullResults,sn().trackDailyActive(o.locale).catch(()=>{})}catch(V){console.error("App initialization failed:",V),w.value=V instanceof Error?V.message:String(V)}finally{D=!1}}}function G(V){if(!g.value)return;if((navigator.platform.toLowerCase().includes("mac")?V.metaKey:V.ctrlKey)&&V.key===","){V.preventDefault(),V.stopPropagation(),s.showSettings||s.openSettings();return}}return Pe(h,V=>{V||Q()}),Pe(M,V=>{},{immediate:!0}),Pe(m,()=>_(A.value),{flush:"post"}),Ke(async()=>{_(A.value),window.addEventListener("keydown",G);const V=navigator.platform.toLowerCase();if(V.includes("win")?document.documentElement.classList.add("platform-windows"):V.includes("linux")&&document.documentElement.classList.add("platform-linux"),Po.usesCliWebHttp){let R=!1;Ew({getToken:()=>c.token,on401:()=>{if(R||p.currentRoute.value.name==="login")return;R=!0,c.markRequiresAuth(),c.logout();const z=p.currentRoute.value.fullPath,le=z.startsWith("/login")?"/":z;p.push({name:"login",query:{redirect:le}}).finally(()=>{R=!1})}})}h.value||await Q()}),Ft(()=>{window.removeEventListener("keydown",G),H?.(),H=null}),(V,R)=>{const L=A5("router-view"),z=Xe,le=nt,K=$L;return x(),N(K,{tooltip:S,toaster:P},{default:T(()=>[h.value?(x(),N(L,{key:0})):(x(),F(De,{key:1},[I(lF),b("div",x_e,[i(d)?(x(),F(De,{key:1},[I(pB,{"backend-features":!0}),b("main",$_e,[I(L,null,{default:T(({Component:ce})=>[I(Sm,{name:"page-fade",mode:"out-in"},{default:T(()=>[(x(),N(sa(ce),{key:k.value}))]),_:2},1024)]),_:1})]),i(o).debugMode?(x(),N(o_e,{key:0})):se("",!0)],64)):(x(),F("div",__e,[w.value?(x(),F("div",w_e,[I(z,{name:"i-heroicons-exclamation-triangle",class:"h-8 w-8 text-red-500"}),b("p",k_e,C(i(n)("common.initFailed")),1),b("p",C_e,C(w.value),1),I(le,{size:"sm",color:"primary",variant:"soft",onClick:Q},{default:T(()=>[pe(C(i(n)("common.retry")),1)]),_:1})])):(x(),F("div",S_e,[I(z,{name:"i-heroicons-arrow-path",class:"h-8 w-8 animate-spin text-pink-500"}),b("p",M_e,C(i(n)("common.initializing")),1)]))]))])],64)),I(_B,{open:i(s).showScreenCaptureModal,"image-data":i(s).screenCaptureImage,"onUpdate:open":R[0]||(R[0]=ce=>ce?null:i(s).closeScreenCaptureModal())},null,8,["open","image-data"]),I(cbe),I(i(Xxe)),I(a_e),!h.value&&i(d)?(x(),N(i(a),{key:2})):se("",!0),i(jt)?(x(),N(i(null),{key:3,onReady:i(y),onLockStateChange:i(v)},null,8,["onReady","onLockStateChange"])):se("",!0),i(jt)?(x(),N(Hu,{key:4,to:"body"},[b("dialog",{ref_key:"bootstrapDialogRef",ref:A,"aria-label":i(n)("common.initializing"),"aria-busy":"true",class:"pointer-events-auto m-0 h-screen max-h-none w-screen max-w-none border-0 bg-white p-0 outline-none backdrop:bg-white dark:bg-page-dark dark:backdrop:bg-page-dark",tabindex:"-1",onCancel:R[1]||(R[1]=ut(()=>{},["prevent"]))},null,40,A_e)])):se("",!0)]),_:1})}}}),T_e=cs(I_e,[["__scopeId","data-v-1a03d917"]]);function P_e(e){return e.requiresAuth?e.isPublic?null:e.authRequired&&!e.isAuthenticated?{name:"login",query:{redirect:e.fullPath}}:null:e.routeName==="login"?{name:"home"}:null}const D_e=[{path:"/login",name:"login",component:()=>Mt(()=>import("./index-B7R74Yp7.js"),__vite__mapDeps([13,14,1])),meta:{public:!0}},{path:"/",name:"home",component:()=>Mt(()=>import("./index-DGtDxRCd.js"),__vite__mapDeps([15,16,1,17]))},{path:"/group-chat/:id",name:"group-chat",component:()=>Mt(()=>import("./index-gpTDI3sq.js"),__vite__mapDeps([18,19,16,14,20,21,22,23,24,25,26,27,28,29,1,30]))},{path:"/private-chat/:id",name:"private-chat",component:()=>Mt(()=>import("./index-ByQSR8Bj.js"),__vite__mapDeps([31,19,16,14,20,21,22,23,24,25,26,27,28,29,1,32]))},{path:"/insight",component:()=>Mt(()=>import("./index-DzQT-qXF.js"),__vite__mapDeps([33,27,28,26,23,34,1,35])),redirect:{name:"insight-annual-summary"},children:[{path:"annual-summary",name:"insight-annual-summary",component:()=>Mt(()=>import("./index-D8Q3U-6e.js"),__vite__mapDeps([36,25,34,20,21,22,23,14,24,1]))},{path:"time-investment",name:"insight-time-investment",component:()=>Mt(()=>import("./index-5UdyJtVU.js"),__vite__mapDeps([37,1]))},{path:"relationship-changes",name:"insight-relationship-changes",component:()=>Mt(()=>import("./index-DtlTo3nt.js"),__vite__mapDeps([38,1]))}]},{path:"/people",component:()=>Mt(()=>import("./index-BGiTw98l.js"),__vite__mapDeps([39,27,28,40,1,41])),redirect:{name:"people-contacts"},children:[{path:"contacts",name:"people-contacts",component:()=>Mt(()=>import("./index-Ba21yU86.js"),__vite__mapDeps([42,14,25,40,1,43]))},{path:"relationships",name:"people-relationships",component:()=>Mt(()=>import("./index-CPZYydbc.js").then(e=>e.i),__vite__mapDeps([44,25,40]))}]}],Ed=qM({routes:D_e,history:hM()});Ed.beforeEach((e,t,a)=>{const n=Dg(),r=P_e({requiresAuth:Po.requiresAuth,routeName:e.name,fullPath:e.fullPath,isPublic:e.meta.public===!0,authRequired:n.requiresAuth,isAuthenticated:n.isAuthenticated});return r?a(r):a()});Ed.afterEach(e=>{document.body.id=`page-${e.name}`});function E_e(){requestIdleCallback(()=>{Mt(()=>import("./index-gpTDI3sq.js"),__vite__mapDeps([18,19,16,14,20,21,22,23,24,25,26,27,28,29,1,30])),Mt(()=>import("./index-ByQSR8Bj.js"),__vite__mapDeps([31,19,16,14,20,21,22,23,24,25,26,27,28,29,1,32])),Mt(()=>import("./index-Ba21yU86.js"),__vite__mapDeps([42,14,25,40,1,43]))})}Ed.isReady().then(E_e);const Ei=new Map,sb=1e4;function R_e(e){const t=Date.now(),a=Ei.get(e);if(a!==void 0&&t-a<sb)return!1;if(Ei.set(e,t),Ei.size>100)for(const[n,r]of Ei)t-r>=sb&&Ei.delete(n);return!0}function lm(e,t){if(!e)return;const a=`${e}::${t?.split(`
53
+ `)[1]??""}`;R_e(a)&&qs("/logs/report",{level:"error",message:e,stack:t,url:typeof location<"u"?location.href:void 0}).catch(()=>{})}function O_e(){window.addEventListener("error",e=>{lm(e.message||String(e.error),e.error?.stack)}),window.addEventListener("unhandledrejection",e=>{const t=e.reason;lm(t instanceof Error?t.message:`Unhandled rejection: ${String(t)}`,t instanceof Error?t.stack:void 0)})}async function L_e(e={}){O_e(),await e.beforeMount?.();const t=HC(T_e);t.config.errorHandler=(n,r,s)=>{const o=n instanceof Error?n:new Error(String(n));console.error(o,s),lm(o.message,o.stack)};const a=KS();a.use(n3),a.use(d_e),t.use(a),t.use(Ed),t.use(UM),t.use(Ad),t.mount("#app")}L_e().catch(e=>{console.error("ChatLab startup failed",e)});export{Ye as $,ot as A,Er as B,Ke as C,jr as D,N as E,T as F,i as G,nt as H,pe as I,$a as J,Hw as K,Zy as L,Va as M,eV as N,Ft as O,Tt as P,SV as Q,Il as R,at as S,Ln as T,Sm as U,sa as V,LM as W,Ol as X,cs as Y,De as Z,Xe as _,$ as a,ewe as a$,Tl as a0,d5 as a1,LC as a2,Dd as a3,Ja as a4,rt as a5,an as a6,fa as a7,zt as a8,j_e as a9,tq as aA,Rr as aB,rme as aC,jc as aD,Ag as aE,MB as aF,gy as aG,pg as aH,Pw as aI,Is as aJ,Sa as aK,KL as aL,V_e as aM,sn as aN,J_e as aO,X_e as aP,lk as aQ,jt as aR,yy as aS,A5 as aT,bi as aU,gg as aV,Id as aW,xF as aX,yi as aY,N_e as aZ,G_e as a_,Uu as aa,U_e as ab,Ep as ac,Te as ad,tt as ae,kt as af,dL as ag,w0 as ah,Dg as ai,pa as aj,Td as ak,ut as al,Rl as am,je as an,Ht as ao,aa as ap,Hs as aq,ta as ar,Tw as as,eo as at,_5 as au,Mt as av,K_e as aw,Md as ax,AV as ay,hi as az,E as b,mi as b$,$e as b0,es as b1,st as b2,dt as b3,Ga as b4,Ym as b5,cn as b6,ht as b7,dd as b8,ia as b9,ud as bA,ai as bB,Fl as bC,He as bD,Vl as bE,Ka as bF,un as bG,Ge as bH,Gs as bI,z_e as bJ,xv as bK,$t as bL,e1e as bM,_t as bN,aV as bO,ga as bP,Q_e as bQ,js as bR,Ma as bS,xa as bT,Qs as bU,gi as bV,Ul as bW,h2 as bX,el as bY,Mr as bZ,z_ as b_,Nl as ba,l2 as bb,TI as bc,Wa as bd,Kn as be,m2 as bf,m5 as bg,u$ as bh,da as bi,Le as bj,F_e as bk,Rm as bl,Qo as bm,jf as bn,H_e as bo,AI as bp,Yt as bq,LA as br,kr as bs,ni as bt,Rt as bu,ri as bv,sd as bw,Gm as bx,cd as by,$n as bz,F as c,wr as c0,_d as c1,Qh as c2,za as c3,w2 as c4,C4 as c5,k2 as c6,B_e as c7,Z_e as c8,Nbe as c9,Wl as ca,ck as cb,Hc as cc,b2 as cd,W_e as ce,Ze as cf,Wn as cg,Ope as ch,Lpe as ci,twe as cj,awe as ck,qw as cl,jw as cm,Bw as cn,Y_e as co,ue as d,Ba as e,b as f,I as g,se as h,Ct as i,Ki as j,oV as k,iV as l,qs as m,xe as n,x as o,on as p,Ow as q,Z as r,pt as s,C as t,rV as u,sV as v,Pe as w,ur as x,An as y,lm as z};